2012-08-30 18 views

Respuesta

48

Sí, la hay. Si hay un link function que relaciona el predictor lineal con el valor esperado de la respuesta (como log para regresión de Poisson o logit para regresión logística), predict devuelve los valores ajustados antes de se aplica el inverso de la función de enlace (para devolver el datos a la misma escala que la variable de respuesta), y fitted lo muestra después de se aplica.

Por ejemplo:

x = rnorm(10) 
y = rpois(10, exp(x)) 
m = glm(y ~ x, family="poisson") 

print(fitted(m)) 
#   1   2   3   4   5   6   7   8 
# 0.3668989 0.6083009 0.4677463 0.8685777 0.8047078 0.6116263 0.5688551 0.4909217 
#   9  10 
# 0.5583372 0.6540281 
print(predict(m)) 
#   1   2   3   4   5   6   7 
# -1.0026690 -0.4970857 -0.7598292 -0.1408982 -0.2172761 -0.4916338 -0.5641295 
#   8   9   10 
# -0.7114706 -0.5827923 -0.4246050 
print(all.equal(log(fitted(m)), predict(m))) 
# [1] TRUE 

Esto significa que para los modelos creados por regresión lineal (lm), no hay ninguna diferencia entre fitted y predict.

En términos prácticos, esto significa que si desea comparar el ajuste con los datos originales, debe usar fitted.

+13

buena respuesta hasta ahora como va, pero puede usar 'predict (m, type =" response ")' para obtener predicciones en la escala original (respuesta), y como @GregSnow señala a continuación, 'predict' tiene opciones adicionales (dependiendo del caso)) La versión de desarrollo de 'lme4', en r-forge, * does * tiene un método' predict() '. –

16

La función fitted devuelve los valores de y-hat asociados con los datos utilizados para adaptarse al modelo. La función predict devuelve predicciones para un nuevo conjunto de variables de predicción. Si no especifica un nuevo conjunto de variables de predicción, utilizará los datos originales de forma predeterminada dando los mismos resultados que fitted para algunos modelos, pero si desea predecir un nuevo conjunto de valores, entonces necesita predict. La función predict a menudo también tiene opciones para qué tipo de predicción regresar, el predictor lineal, la predicción transformada en la escala de respuesta, la categoría más probable, la contribución de cada término en el modelo, etc.

Cuestiones relacionadas