Foro de debate

mean squared prediction error en R

mean squared prediction error en R

de Antonio Perez -
Número de respuestas: 7
Hola a todos, estoy tratando de encontrar un paquete que me permita calcular el mean squared prediction error. Hasta ahora para los intervalos de prediccion estaba utilizando predict().

Gracias de antemano.
En respuesta a Antonio Perez

Re: mean squared prediction error en R

de Alba Victoria Olivares Nadal -
¿Has probado con el paquete forecast? No sé si te servirá para lo que quieres, pero puedes probar...
En respuesta a Alba Victoria Olivares Nadal

Re: mean squared prediction error en R

de Antonio Perez -
Hola muchas gracias por la respuesta, debería haber sido más específico. Estoy haciendo una predicción con un modelo de regresión lineal usando predict(lm()) pero no veo que en el resumen de resultados aparezca nada relacionado con el error de predicción  cuadrático medio.
En respuesta a Antonio Perez

Re: mean squared prediction error en R

de Usuario eliminado -
Viendo la definición en la wikipedia http://en.wikipedia.org/wiki/Mean_squared_error podrías construirte tu propia función, parece que no es más que la suma al cuadrado de los valores predichos menos los observados , dividida por el número de datos. Vamos, la variabilidad explicada. No sé si al hacer anova(fit.lm) te saldrá el valor o si no.

sum(fitted.values(fit.lm) - datos$y)^2) /nrow(datos)

Saludos
En respuesta a Usuario eliminado

Re: mean squared prediction error en R

de Usuario eliminado -
Creo que me faltaba un paréntesis. De todas formas con la función anova sobre el objeto lm te devuelve la suma de cuadrados de los residuos, el Mean Sq que calcula es dividiendo por los grados de libertad (df de Residuals). Si quieres , tal como viene en la definición, divide por el número de observaciones..

Saludos.
En respuesta a Usuario eliminado

Re: mean squared prediction error en R

de Antonio Perez -
Muchas gracias Jose Luis! técnicamente es muy parecido a lo que trato de hacer. Estoy haciendo una predicción para una sola observación en una regresión lineal simple pero conceptualmente estoy algo liado a la hora de calcular el MSPE

Seria este en wikipedia

http://en.wikipedia.org/wiki/Mean_squared_prediction_error

En respuesta a Antonio Perez

Re: mean squared prediction error en R

de Antonio Perez -
Gracias a todos al final lo he resuelto con un cálculo manual en R ya que era muy sencillo pero creo que trataré de hacer la fórmula que proponía Jose Luis y la postearé.
En respuesta a Antonio Perez

Re: mean squared prediction error en R

de Antonio Perez -
Asumiendo que los datos están en el data.frame "DF" y que el dato usado para la prediccion esta en "newdata" he usado:

MSPE=anova(fitted.model)["Residuals", "Sum Sq"]/(nrow(DF)-ncol(DF))*
  (1+1/nrow(DF)+(newdata-mean(DF[,2]))^2/(var(DF[,2])*(nrow(DF)-1)))