为什么 SAS 和 R 给出不同的 ARIMA 输出

  • 本文关键字:ARIMA 输出 SAS r sas
  • 更新时间 :
  • 英文 :


我在SAS和R中使用回归器构建ARIMA模型,但是模型的结果完全不同,我无法弄清楚为什么两个包给出不同的输出。

以下是 SAS 代码

proc ARIMA data=TSDATA;
identify var=LOG_Sale
crosscorr=(
Log_Var1
Log_Var2
Log_Var3)
nlag=12 ALPHA=0.05  WHITENOISE = IGNOREMISS SCAN;
run;
estimate q=(4)(10)
input=
( Log_Var1
Log_Var2
Log_Var3)
method=ml plot ;
run;

以下是 R 代码:

finalmodel <- arima (LOG_Sale, order=c(0, 0, 4), seasonal=list  (order=c(0, 0, 1),period=10),include.mean = TRUE, xreg=xinput,fixed=c(0,0,0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA),
                     method="ML")
summary(finalmodel)

如您所见,该模型包括 MA(4((10( 和 3 个回归量,我定义了一个矩阵 xinput 以包含三个回归量 (Log_Var1,Log_Var2,Log_Var3(。

两个输出(SAS 和 R(中的系数完全不同,我不知道为什么,如果您能指出 R 代码中的问题,请帮助我,因为我认为 SAS 代码非常典型,应该是正确的,但我是 R 的新手,我想 R 代码可能是错误的......

谢谢。

数据是典型的每周时间序列数据日期Log_Var1 Log_Var2 Log_Var311 年 1 月 3 日 13.47487027 8.65886635 9.09649955610-1月-11 14.1688108 9.182043773 9.09649955617-1月-11 14.3192497 9.175024027 9.09649955624-1月-11 14.54051181 9.1902397 9.09649955631-1月-11 14.33370089 9.1902397 9.0964995567-二月-11 13.76581591 9.431962767 9.32632178614-二月-11 14.09526221 9.29844282 9.32632178621-二月-11 14.61994905 9.29844282 9.32632178628-二月-11 14.94652204 8.700680735 9.3263217867-三月-11 14.71066636 9.026056892 9.348993004

从 SAS 代码中可以看出,该模型是具有三个输入序列的 ARIMA(0,0,4((0,0,10(,它在 SAS 中是向前的,但我阅读了许多 R 材料,我找不到任何有用的文档和示例来展示如何使用外部回归器构建具有特定高阶 p、q 或 P,Q(子集 ARIMA(的 ARIMA。你在这里看到的 R 代码实际上在 R 中工作,输出看起来不错,但系数与 SAS 中的输出不同,所以我想 R 中的 ARIMA 算法可能与 SAS 不同,但两者都使用 ML 方法......

所以关键是如果模型是ARIMA(0,0,4((0,0,10(,R代码是否正确,需要注意的是q=(4((10(,它只有4和10,而不是从1到4,也不是从1到10,这只是子集阶。谢谢。

最新更新