我正在比较auto-ARIMA与R(forecast包)和Python(pmdarima包)的结果。我得到的一个问题是,当d不为零时,R和Python中残差的长度是不同的。例如,在下面显示的代码中,在R中,残差的长度与时间序列数据的长度相同,但在python中,它是时间序列数据的长度减去d。此外,我还看到R与python之间的顺序发生了重大变化。造成差异的原因是什么?你知道吗
R
library(forecast)
set.seed(250)
ts1 = arima.sim(list(order = c(1,1,0), ar = 0.7), n = 200)
set.seed(270)
ts2 = arima.sim(list(order = c(1,2,0), ar = 0.7), n = 200)
my_fit1 <- auto.arima(ts1, stepwise = FALSE)
resid1 = as.numeric(residuals(my_fit1))
my_fit2 <- auto.arima(ts2, stepwise = FALSE)
resid2 = as.numeric(residuals(my_fit2))
#to use with Python
ts1 = data.frame(ts1 = ts1)
write.csv(ts1, 'ts1.csv', row.names = F)
ts2 = data.frame(ts2 = ts2)
write.csv(ts2, 'ts2.csv', row.names = F)
Python
import pandas as pd
from pmdarima.arima import auto_arima
ts1 = pd.read_csv('ts1.csv')
ts2 = pd.read_csv('ts2.csv')
my_fit1 = auto_arima(y = ts1.ts1,
start_p=1,
start_q=1,
max_p=3,
max_q=3,
seasonal=False,
d = None,
error_action='ignore',
suppress_warnings=True,
stepwise=False)
my_fit2 = auto_arima(y = ts2.ts2,
start_p=1,
start_q=1,
max_p=3,
max_q=3,
seasonal=False,
d = None,
error_action='ignore',
suppress_warnings=True,
stepwise=False)
目前没有回答
相关问题 更多 >
编程相关推荐