首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >R语言自适应平滑样条回归分析

R语言自适应平滑样条回归分析

原创
作者头像
拓端
修改2020-10-22 10:15:16
修改2020-10-22 10:15:16
1.6K0
举报
文章被收录于专栏:拓端tecdat拓端tecdat

原文链接:http://tecdat.cn/?p=14854

一种类型的平滑称为样条平滑。柔性金属(通常是铅),可以用作绘制平滑曲线的参考。将选择一组点(称为结),然后将样条线压在特定的x,y点,然后弯曲以通过下一个点,依此类推。由于金属的柔韧性,此过程将生成通过这些点的平滑曲线。

在数学上,可以通过选择结点并使用(通常是三次)回归来估计结之间的点,并使用演算来确保每条单独的回归线连接在一起时曲线都平滑,从而重现该过程。平滑的程度由参数控制,通常在0和1之间的范围内。

为了说明,我们考虑由来自1910至2004年的小麦产量数据集 。

生成数据图,并叠加样条曲线平滑度。

代码语言:javascript
复制
> plot(wheat$year,wheat$production)
> lines(smooth.spline(wheat$year,wheat$production))

结果如下:

应用的平滑量 由参数 spar 控制 。我们检查效果:

代码语言:javascript
复制
sapply(spars,plotfn)

该图显示如下:

自适应平滑算法

尽管大多数平滑器需要指定带宽,数据部分或平滑级别,但超级平滑的不同之处在于它可以自行解决这些问题。因此,它是需要平滑处理而无需任何用户干预的情况的绝佳选择。Supersmoother通过执行许多简单的局部回归平滑来工作,并且在每个x值处,它使用这些平滑来确定要使用的最佳y值。在R中,可通过 supsmu 函数获得 超级平滑器。

为了说明这一点,考虑汽车数据。以下几行产生了 重量 与 MPG的关系图,并叠加了一条超平滑线。

该图显示如下:

带有面板的平滑算法

在使用点阵图形时,我们已经看到了 panel.lmline 的使用 ,它在点阵图的每个面板中显示最佳回归线。可以使用类似的函数 panel.loess 在图的每个面板中叠加局部加权回归平滑器。作为简单说明,考虑内置的 Orange 数据集,其中包含有关几棵橙树的年龄和周长的信息。首先,让我们看一幅具有最佳回归线平滑度的图,该图叠加在 每 棵树的年龄 与 周长图上 :

要创建相同的图,但要使用 panel.loess 函数,可以使用以下代码:

代码语言:javascript
复制
> xyplot(circumference~age|Tree, 
+        ...)})

如果 您想让它更平滑,可以使用 panel.lines 函数直接绘制它:

代码语言:javascript
复制
> xyplot(circumference~age|Tree, 
+   ,...)})


参考文献

1.用SPSS估计HLM层次线性模型模型

2.R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)

3.基于R语言的lmer混合线性回归模型

4.R语言Gibbs抽样的贝叶斯简单线性回归仿真分析

5.在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析

6.使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM

7.R语言中的岭回归、套索回归、主成分回归:线性模型选择和正则化

8.R语言用线性回归模型预测空气质量臭氧数据

9.R语言分层线性模型案例

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原文链接:http://tecdat.cn/?p=14854
    • 一种类型的平滑称为样条平滑。柔性金属(通常是铅),可以用作绘制平滑曲线的参考。将选择一组点(称为结),然后将样条线压在特定的x,y点,然后弯曲以通过下一个点,依此类推。由于金属的柔韧性,此过程将生成通过这些点的平滑曲线。
  • 自适应平滑算法
  • 带有面板的平滑算法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档