AR样本外预测Python Statsmodels

AR样本外预测Python Statsmodels,python,pandas,forecasting,statsmodels,Python,Pandas,Forecasting,Statsmodels,我想使用训练模型中的参数来预测使用statsmodels的测试模型上的值 我的代码: import pandas as pd import numpy as np import statsmodels.api as sm #Generate data index = pd.date_range('2000-1-1', periods=200, freq='M') df = pd.DataFrame({'data':np.random.random(200)}, index=index) df_

我想使用训练模型中的参数来预测使用statsmodels的测试模型上的值

我的代码:

import pandas as pd
import numpy as np
import statsmodels.api as sm

#Generate data
index = pd.date_range('2000-1-1', periods=200, freq='M')
df = pd.DataFrame({'data':np.random.random(200)}, index=index)
df_train = df[df.index < df.index[100]]
df_test = df

#Set up model
mod_train = sm.tsa.AR(df_train)
res_train = mod_train.fit(max_lag=20,trend='nc')
params_train = res_train.params
mod_test = sm.tsa.AR(df_test)

#Use parameters to predict test data
mod_test.predict(params_train,start = df.index[100],dynamic=False)
将熊猫作为pd导入
将numpy作为np导入
将statsmodels.api作为sm导入
#生成数据
索引=pd.日期范围('2000-1-1',周期=200,频率=M')
df=pd.DataFrame({'data':np.random.random(200)},index=index)
df_列=df[df.index
错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-309-a6eb40a5ff54> in <module>()
      9 params_train = res_train.params
     10 mod_test = sm.tsa.AR(df_test)
---> 11 mod_test.predict(params_train,start = df.index[100],dynamic=False)

C:\Anaconda\lib\site-packages\statsmodels\tsa\ar_model.pyc in predict(self, params, start, end, dynamic)
    198             raise ValueError("end is before start")
    199 
--> 200         k_ar = self.k_ar
    201         k_trend = self.k_trend
    202         method = self.method

AttributeError: 'AR' object has no attribute 'k_ar'
---------------------------------------------------------------------------
AttributeError回溯(最近一次呼叫上次)
在()
9 params\U train=res\U train.params
10模块测试=标准tsa.AR(df测试)
--->11模块测试预测(参数列车,启动=测向指数[100],动态=假)
C:\Anaconda\lib\site packages\statsmodels\tsa\ar_model.pyc in predict(self、params、start、end、dynamic)
198提升值错误(“结束在开始之前”)
199
-->200千卡=self.k千卡
201 k_趋势=自我k_趋势
202 method=self.method
AttributeError:“AR”对象没有属性“k_AR”

有人能提出一个解决办法吗?我对其他模块也持开放态度。谢谢

为什么不直接使用
res\u train
对象进行预测? 请参见下面对我有效的示例:

import pandas as pd
import numpy as np
import statsmodels.api as sm

#Generate data
index = pd.date_range("2000-1-1", periods=200, freq="M")
df = pd.DataFrame({"data": np.random.random(200)}, index=index)
df_train, df_test = df.iloc[:100], df.iloc[100:]

# Set up model
mod_train = sm.tsa.AR(df_train)
res_train = mod_train.fit(max_lag=20, trend="nc")
print("Lag: %d" % res_train.k_ar)
print("Coeffs: %s" % res_train.params)

res_train.predict(start=df_test.index[0], end=df_test.index[-1], dynamic=False)

文档建议调用
AR
的方法来自
statsmodels.tsa.AR\u model.AR(…)
。你试过了吗?谢谢,但是“AttributeError:‘module’对象没有属性‘ar_model’”,你成功地让它工作了吗?