0

我有一个函数,我给它添加了噪音,然后对其进行平滑以获得回归线。如何在 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。

4

1 回答 1

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
于 2013-01-08T18:37:09.393 回答