类型错误:predict() 缺少 1 个必需的位置参数:在 ARMAX 模型中预测值时缺少 'params'



这是我的代码,我在这里安装模型

model_armax = ARIMA(df.productivity, exog = df[['calories_burnt', 'fat_level', 'distance_walked', 'steps',
'weight', 'water', 'time_to_bed', 'wakeup_time', 'bedtime',
'asleep', 'sleep_periods', 'sports_total_time', 'food_quality',
'food_quantity', 'alcohol', 'energy', 'meditation',
'mood', 'stress', 'soreness', 'fitness', 'engagement',
'exploration']], order = (3,0,3))
results_armax = model_armax.fit(disp = 0)

这是预测/预测未来趋势的代码

df_armax_forecast = model_armax.predict(start = '2020-02-22', end = '2020-07-01', 
exog = df_test[['calories_burnt', 'fat_level', 'distance_walked', 'steps',
'weight', 'water', 'time_to_bed', 'wakeup_time', 'bedtime',
'asleep', 'sleep_periods', 'sports_total_time', 'food_quality',
'food_quantity', 'alcohol', 'energy', 'meditation',
'mood', 'stress', 'soreness', 'fitness', 'engagement',
'exploration']])

这是错误跟踪

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-177-dc09c88b9c6f> in <module>
5                                                           'food_quantity', 'alcohol', 'energy', 'meditation',
6                                                           'mood', 'stress', 'soreness', 'fitness', 'engagement',
----> 7                                                           'exploration']])
TypeError: predict() missing 1 required positional argument: 'params'

您应该使用results_armax.predict而不是model_armax.predict。ARMA模型的预测函数要求您说出参数。拟合的ARMA模型结果的预测函数已经拟合了参数。

请参阅文档中的论点差异:

  • https://www.statsmodels.org/dev/generated/statsmodels.tsa.arima_model.ARMAResults.predict.html#statsmodels.tsa.arima_model.ARMAResults.predict
  • https://www.statsmodels.org/dev/generated/statsmodels.tsa.arima_model.ARMA.predict.html#statsmodels.tsa.arima_model.ARMA.predict

最新更新