楼主: 李昕垚
8958 3

[问答] R时间序列TSA包eacf [推广有奖]

  • 0关注
  • 0粉丝

硕士生

3%

还不是VIP/贵宾

-

威望
0
论坛币
8268 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
4849 点
帖子
122
精华
0
在线时间
111 小时
注册时间
2012-5-1
最后登录
2019-4-29

楼主
李昕垚 发表于 2014-6-11 11:51:56 |AI写论文
2论坛币
  1. library(TSA)
  2. x=c(1944,1369,3707,3577,3460,2626,2846,2933,3163,2015,2359,2649,1162,1579,3817)
  3. x1=ts(x,frequency=12,start=c(2013,1))
  4. eacf(x1)
复制代码
eacf()最后会报错,Error in AA %*% t(X) : requires numeric/complex matrix/vector arguments。这是怎么回事呢?

关键词:eacf 时间序列 ACF TSA Frequency frequency complex library matrix Error

沙发
DM小菜鸟 发表于 2014-12-9 16:24:41
x1是下面的内容,估计你已经看出来了:

           Jan    Feb    Mar    Apr    May   Jun   Jul    Aug   Sep   Oct   Nov   Dec
2013 1944 1369 3707 3577 3460 2626 2846 2933 3163 2015 2359 2649
2014 1162 1579 3817


报错提示这个是“需要数值/复数矩阵/矢量参数的错误”。
原始数据不能直接扔进来,R一般都会被处理成虚拟变量或者哑变量,但是ts不处理,就直接报错了。
而且你这里是8个singularity,函数最大的AR秩默认值是7。

藤椅
chenanzhi 发表于 2015-9-9 12:25:01
请问楼主知道怎么解决了吗 求告知啊TT

板凳
dingdinglbj 发表于 2020-6-1 09:26:00
数据量不够,导致AR和MA部分阶数上去后缺少足够的数据,你可以手动将AR和MA的最高阶数调整一下,比如ar.max=3, ma.max=3
计算出来的eacf矩阵就是:
AR/MA
  0 1 2 3
0 o o o o
1 o o o o
2 o o o o
3 o o o o

具体代码是这个:eacf(x1, ar.max = 3, ma.max = 3)
也许调整成其他的参数也可以,但是似乎两个阶数和大于等于7就不行了

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 23:48