我有一个函数,我给它添加了噪声,然后对它进行了平滑,得到了一条回归线。如何在30个等间距的点上找到原始函数和回归线之间的均方误差?
或者,我如何给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个点的MSE值,然后我就可以计算smooth.spline了。
发布于 2013-01-09 02:37:09
这样如何:
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) ## MSEhttps://stackoverflow.com/questions/14219472
复制相似问题