首页
学习
活动
专区
圈层
工具
发布

R:计算MSE
EN

Stack Overflow用户
提问于 2013-01-08 22:48:38
回答 1查看 13.2K关注 0票数 0

我有一个函数,我给它添加了噪声,然后对它进行了平滑,得到了一条回归线。如何在30个等间距的点上找到原始函数和回归线之间的均方误差?

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

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

代码语言:javascript
复制
> 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了。

EN

回答 1

Stack Overflow用户

发布于 2013-01-09 02:37:09

这样如何:

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14219472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档