高山流水分享 http://blog.sciencenet.cn/u/friendpine 走在科学路上的一位无名侠客,只是静静的走着.........

博文

R中的平滑曲线函数

已有 27917 次阅读 2009-10-20 22:11 |个人分类:统计学与R语言学习|系统分类:科研笔记

最近需要做一个平滑曲线的处理,就是把对散点图进行拟合,给出一条最佳的拟合曲线,而且该曲线应该是平滑的。
于是去R中寻找相应的函数 ,发现smooth.Pspline()可以做这件事情(http://www.stat.wisc.edu/~xie/smooth_spline_tutorial.html)。用法如下:
smooth.Pspline(x, y, w=rep(1, length(x)), norder=2, df=norder + 2,
 spar=0, method=1)

x就是自变量,必须是严格递增的;另外一个函数smooth.spline()不要求这个
严格的条件
y就是因变量

w是每个点的权重,默认值是每个点的权重都为1,可以认为指定某些点的权重,
从而增大某些点在拟合过程中的作用

norder 是曲线的级数,norder=2对应拟合3次方的曲线。这个值我不是很清楚

df 自由度。当method=2的时候决定曲线的平滑程度。d=1对应直线,d越小越
平滑,当d很大的时候就变成折线图了。

spar 当method=1的时候决定曲线的平滑程度。spar=0对应散点图的折线图。
它的值越大曲线越平滑.

cv 决定用ordinary cross-validation(true) 还是generalized cross-validation

method 决定曲线的平滑程度。
method1 取决于spar的大小
method2 取决于df 的大小

method3 adjusts `spar' so that the generalized cross-validation criterion is
minimized

method4 adjusts `spar' so that the ordinary cross-validation criterion is minimized

method3和method4 都涉及到交叉验证参数的最小化。当spar为正值的时候它可以作为初始值,
否则系统自动产生初始值。

method3和method4都不依赖于spar和df的变动。




https://wap.sciencenet.cn/blog-54276-263895.html

上一篇:博士生怎样选择课题?
下一篇:R语言中的机器学习
收藏 IP: .*| 热度|

0

发表评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-1 07:51

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部