【发布时间】:2014-08-02 01:45:23
【问题描述】:
我正在尝试使用 AR 模型对我的时间序列数据进行建模。
这是我正在使用的代码。
# Compute AR-model (data is a python list of number)
model = AR(data)
result = model.fit()
plt.plot(data, 'b-', label='data')
plt.plot(range(result.k_ar, len(data)), result.fittedvalues, 'r-')
plt.show()
我已经成功地使用result.k_ar 获得了p 值,使用result.params 获得了参数,使用result.sigma2 获得了epsilon 项。问题是我找不到获得 c (常数)项的方法。这是我编写的用于比较结果的代码。
# Plot
fit = []
for t in range(result.k_ar, len(data)):
value = 0
for i in range(1, result.k_ar+1):
value += result.params[i-1] * data[t - i]
fit.append(value)
plt.plot(data, 'b-', label='data')
plt.plot(range(result.k_ar, len(data)), fit, 'r-', label='fit')
plt.plot(range(result.k_ar, len(data)), result.fittedvalues, 'r-')
plt.show()
我的结果和来自result.fittedvalues 的结果证实了我很明显在模型中添加了一些常数项。谢谢。
【问题讨论】:
标签: python time-series statsmodels