全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
6627 2
2018-02-14
我正在做一个关于人口出生率的时间序列分析,碰到一些问题,做出了时序图,做了简单移动平均平滑化处理、季节性分解,做到简单指数平滑和Holt两参数指数平滑,出现了下面的问题:#简单指数平滑
x$forecasts<-HoltWinters(x,beta=F,gamma=F)
x$forecasts
plot(x$forecasts)

运行出来是这样的:
> x$forecasts<-HoltWinters(x,beta=F,gamma=F)
Warning message:
In x$forecasts <- HoltWinters(x, beta = F, gamma = F) :
  把公式左手强迫变成串列
> x$forecasts
Holt-Winters exponential smoothing without trend and without seasonal component.

Call:
HoltWinters(x = x, beta = F, gamma = F)

Smoothing parameters:
alpha: 0.9999339
beta : FALSE
gamma: FALSE

Coefficients:
      [,1]
a 8.000026
> plot(x$forecasts)

Holt两参指数平滑:
#Holt两参指数平滑
x.fit<-HoltWinters(x,gamma=F)
x.fit
plot(x.fit)
运行出现了错误:

> x.fit<-HoltWinters(x,gamma=F)
Error in x[2L] - x[1L] : 二进列运算符中有非数值参数
> x.fit

Call:
arima(x = x, order = c(0, 1, 2), method = "ML")

Coefficients:
          ma1      ma2
      -0.1099  -0.3618
s.e.   0.0798   0.0781

sigma^2 estimated as 0.02391:  log likelihood = 60.29,  aic = -114.57
> plot(x.fit)

有大佬给解答一下吗
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-2-14 13:25:54
没有完全搞懂发生了什么,猜想是这样:
变量x本来是一个ts的对象,但赋值语句"x$forecasts<-HoltWinters(x,beta=F,gamma=F)"强行要给变量x增加一个"forecasts"的部分,于是x被强制变成了list,这也是红色的警告字试图告诉你的。
接下来,你运行"x.fit<-HoltWinters(x,gamma=F)",注意啊,这时x很可能已经是一个list了,当然函数HoltWinters()就一脸懵逼了,大概是这个样子,只能向你吐槽:“你喂给我的数据是什么玩意儿啊!”
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-2-18 14:27:51
同一个数据,在做一阶差分的时候出现了:
复制代码

最后这句“二进列运算符中有非数值参数”是什么意思?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群