R:计算MSE

时间:2013-01-08 14:48:38

标签: r regression mse

我有一个功能,我已经添加了噪音,然后对其进行平滑以获得回归线。如何在30个等间距点找到原始函数和回归线之间的MSE?

或者,我如何给R一个x值并在回归线上得到y值?

这是我的问题的缩小版本:

> test<- function(m) {3*m^2+7*m+2}  
> r=rnorm(10)  
> m=1:10/10  
> plot(test(m)+r)  
> lines(smooth.spline(1:10,test(m)+r),col="red")  

所以我在10个等间隔点得到了真实的函数值,即test(m)。我只需要一种方法来提取这10个点的smooth.spline值,然后我应该能够计算出MSE。

1 个答案:

答案 0 :(得分:2)

怎么样:

y <- test(m)+r
y.pred <- predict(smooth.spline(1:10,y))$y
mean((y-y.pred)^2)        ## variance (could mult by n/(n-r) for an unbiased estimate)
mean((test(m)-y.pred)^2)  ## MSE