Foro de debate

mean squared prediction error en R

mean squared prediction error en R

by Antonio Perez -
Number of replies: 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.
In reply to Antonio Perez

Re: mean squared prediction error en R

by Alba Victoria Olivares Nadal -
¿Has probado con el paquete forecast? No sé si te servirá para lo que quieres, pero puedes probar...
In reply to Alba Victoria Olivares Nadal

Re: mean squared prediction error en R

by 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.
In reply to Antonio Perez

Re: mean squared prediction error en R

by Deleted user -
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
In reply to Deleted user

Re: mean squared prediction error en R

by Deleted user -
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.
In reply to Deleted user

Re: mean squared prediction error en R

by 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

In reply to Antonio Perez

Re: mean squared prediction error en R

by 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é.
In reply to Antonio Perez

Re: mean squared prediction error en R

by 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)))