【发布时间】:2020-12-02 14:35:12
【问题描述】:
我正在比较 arima_model 和 ar_model 的结果。这是我无法理解的:
- 为什么结果系数不同?是因为估计方法吗? (fit() 的方法属性的不同设置不会给出相同的结果)
- 获得系数并回测拟合结果后,我匹配 AR(1) 但不匹配 ARIMA(1)。为什么?
- ARIMA 在这个最简单的环境中真正做了什么,它不应该能够重现 AR 吗?
import pandas_datareader as pdr
import datetime
aapl = pdr.get_data_yahoo('AAPL', start=datetime.datetime(2006,1,1), end=datetime.datetime(2020,6,30))
aapl = aapl.resample('M').mean()
aapl['close_pct_change'] = aapl['Close'].pct_change()
from statsmodels.tsa.arima_model import ARIMA
mod = ARIMA(aapl['close_pct_change'][1:], order=(1,0,0))
res1 = mod.fit(method='mle')
print(res1.summary())
from statsmodels.tsa.ar_model import AutoReg, ar_select_order
mod = AutoReg(aapl['close_pct_change'][1:], 1)
res2 = mod.fit()
print(res2.summary())
fitted_check1 = res1.params[0] + res1.params[1]*aapl['close_pct_change'][1:].shift(1)
print(fitted_check1[1:] - res1.fittedvalues)
fitted_check2 = res2.params[0] + res2.params[1]*aapl['close_pct_change'][1:].shift(1)
print(fitted_check2[1:] - res2.fittedvalues)
【问题讨论】:
标签: python statistics time-series statsmodels