Python 3.x statsmodels AutoReg.predict的开始/结束参数的含义

Python 3.x statsmodels AutoReg.predict的开始/结束参数的含义,python-3.x,time-series,statsmodels,Python 3.x,Time Series,Statsmodels,我意识到以前有人问过这个问题,但解决方案与新的statsmodel版本(0.12)不相关 我在pandas中有这个数据集,数据帧的名称是train: date value 2017-01-09 0.331836 2017-01-10 0.330815 2017-01-11 0.329794 2017-01-12 0.328773 2017-01-13 0.327752 ... ... 2020-05-29 0.254081 2020-05-30 0.26

我意识到以前有人问过这个问题,但解决方案与新的
statsmodel
版本(0.12)不相关

我在
pandas
中有这个数据集,数据帧的名称是
train

date         value  
2017-01-09  0.331836
2017-01-10  0.330815
2017-01-11  0.329794
2017-01-12  0.328773
2017-01-13  0.327752
...     ...
2020-05-29  0.254081
2020-05-30  0.267420
2020-05-31  0.280758
2020-06-01  0.294097
2020-06-02  0.309384
日期列是索引,我的最晚日期是2020-06-02。我希望从我的最后一个日期得到14天的预测,即2020-06-03(包括)到2020-06-16(包括)期间的预测。我不确定我是否正确理解开始和结束参数

from statsmodels.tsa.ar_model import AutoReg,ar_select_order
f = 14
mod = ar_select_order(train[y_col].ravel(), maxlag=15)
AutoRegfit = AutoReg(train[y_col].ravel(), trend='c', lags=mod.ar_lags).fit()
AutoRegfit.predict(start=len(train),end=len(train)+f-1,dynamic=False)

>>> array([0.32489822, 0.34010067, 0.35508626, 0.36968769, 0.38416325,
       0.39825263, 0.41186002, 0.42501389, 0.43766567, 0.44985079,
       0.46153405, 0.47270074, 0.48336156, 0.49351065])
这看起来还可以,但是,这是否意味着第一个预测(0.32489822)属于2020-06-03或2020-06-02?因为在python中,通常在指定范围时,会包含第一个值,而不包含最后一个值

文件中说:

第一个预测是启动

这是否意味着
start
参数应该是
len(train)+1
,而不是
len(train)

此处没有设置
start=len(train)
。请注意,在此上下文中,Python中的索引从0开始。因此,熊猫系列的最后一个可用索引将是
len(train)-1

验证这一点的简单方法是将
.predict()
中的预测与手动计算的预测进行比较。因为我无法访问您的数据,所以我将用来自的太阳黑子示例来说明它。在这里,我们估计以下自回归模型

import statsmodels.api as sm
from statsmodels.tsa.ar_model import AutoReg
data = sm.datasets.sunspots.load_pandas().data['SUNACTIVITY']
res = AutoReg(data, lags=[1, 11, 12]).fit()
使用
.predict()
预测明年的价值

print(res.predict(start=len(data), end=len(data)))
>>> 35.964103
这与手动计算的预测相同

print(sum(res.params * [1, *data.iloc[[-1, -11, -12]]]))
>>> 35.964103

谢谢,这意味着如果我想要预测天数,那么我应该声明:
start=len(数据)
end=len(数据)+f-1
-1
是因为
end
包含