最新R语言局部多项式回归拟合LOESS回归案例分析报告 附代码数据Word文件下载.docx

上传人:b****3 文档编号:14782542 上传时间:2022-10-24 格式:DOCX 页数:14 大小:66.20KB
下载 相关 举报
最新R语言局部多项式回归拟合LOESS回归案例分析报告 附代码数据Word文件下载.docx_第1页
第1页 / 共14页
最新R语言局部多项式回归拟合LOESS回归案例分析报告 附代码数据Word文件下载.docx_第2页
第2页 / 共14页
最新R语言局部多项式回归拟合LOESS回归案例分析报告 附代码数据Word文件下载.docx_第3页
第3页 / 共14页
最新R语言局部多项式回归拟合LOESS回归案例分析报告 附代码数据Word文件下载.docx_第4页
第4页 / 共14页
最新R语言局部多项式回归拟合LOESS回归案例分析报告 附代码数据Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

最新R语言局部多项式回归拟合LOESS回归案例分析报告 附代码数据Word文件下载.docx

《最新R语言局部多项式回归拟合LOESS回归案例分析报告 附代码数据Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新R语言局部多项式回归拟合LOESS回归案例分析报告 附代码数据Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

最新R语言局部多项式回归拟合LOESS回归案例分析报告 附代码数据Word文件下载.docx

它控制平滑的程度。

所以,值越大span,拟合曲线越平滑。

在没有解释变量的情况下,预测变量可以仅仅是从1到观察次数的指数。

如果有其他解释变量可用,也可以使用它们(最多4个)。

例子

对于这个例子,我们将尝试根据数据包中的数据集,对失业的中位数时间进行局部回归和平滑处理。

我们只考虑这个分析的前80行,因此在下面的图表中更容易观察平滑的程度。

economicsggplot2

data(economics,package="

ggplot2"

)#loaddata

economics$index<

-1:

nrow(economics)#createindexvariable

economics<

-economics[1:

80,]#retail80rowsforbettergraphicalunderstanding

loessMod10<

-loess(uempmed~index,data=economics,span=0.10)#10%smoothingspan

loessMod25<

-loess(uempmed~index,data=economics,span=0.25)#25%smoothingspan

loessMod50<

-loess(uempmed~index,data=economics,span=0.50)#50%smoothingspan

预测LOESS

#getsmoothedoutput

smoothed10<

-predict(loessMod10)

smoothed25<

-predict(loessMod25)

smoothed50<

-predict(loessMod50)

从上图可以看出,随着跨度的增加,曲线的平滑度也随之增加。

#Plotitplot(economics$uempmed,x=economics$date,type="

l"

main="

LoessSmoothingandPrediction"

xlab="

Date"

ylab="

Unemployment(Median)"

)lines(smoothed10,x=economics$date,col="

red"

)lines(smoothed25,x=economics$date,col="

green"

)lines(smoothed50,x=economics$date,col="

blue"

寻找最佳的平滑范围

随着平滑span度的变化,拟合曲线的精度也会发生变化。

如果你的意图是最小化错误,那么optim()可以用它来找到span最小化平方误差和(SSE)的值。

对于这种情况,从图形上直观的看,较低的上证指数可能会在较低的价值下实现span,但对于更具挑战性的情况,optimizing跨度可能有所帮助。

为了实现optim(),我们定义了计算SSE的函数。

需要一个错误处理机制来解决span产生非数字的非常低的值和情况。

模拟退火方法(SANN)在这里实现,以找到span最小的SSE。

该par参数指定的第一个值span处optim()开始搜索。

#definefunctionthatreturnstheSSE

calcSSE<

-function(x){

loessMod<

-try(loess(uempmed~index,data=economics,span=x),silent=T)

res<

-try(loessMod$residuals,silent=T)

if(class(res)!

="

try-error"

){

if((sum(res,na.rm=T)>

0)){

sse<

-sum(res^2)

}

}else{

-99999

return(sse)

}#RunoptimtofindspanthatgivesminSSE,startingat0.5optim(par=c(0.5),calcSSE,method="

SANN"

)#>

$par#>

[1]0.05433545#>

#>

$value#>

[1]3.85753e-28#>

$counts#>

functiongradient#>

10000NA#>

$convergence#>

[1]0#>

$message#>

NULL

对于这种情况,最好的span结果是0.05433SSE和最小的SSE 

3.85e-28。

LOESS回归是用来平滑易变的时间序列的最常见的方法。

这是一种非参数方法,其中最小二乘回归在局部子集中执行,这使得它成为平滑任何数值向量的合适候选者。

代码为剧情

#Plotitplot(economics$uempmed,x=economics$date,type="

eco

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1