使用Statsmodels VAR预测时间序列时遇到ValueError

我在尝试使用我的月度数据集预测未来的数值(数据按每年的12个月的第一天汇总),但遇到了以下问题:

ValueWarning: 已提供日期索引,但它没有关联的频率信息,因此在预测等操作时将被忽略。

我在Google和StackOverflow上搜索了很久,但没有找到相关的讨论和足够好的解决方案。

这是我数据框的前13行:

            Occupancy rate  Average Price     RevPARDate                                                2013-01-01        0.579026     105.289497  60.9653322013-02-01        0.637415     109.396682  69.7310702013-03-01        0.714847     117.840534  84.2379012013-04-01        0.716446     122.765139  87.9545932013-05-01        0.771097     105.461387  81.3209852013-06-01        0.768777     115.252163  88.6032622013-07-01        0.677020      81.824781  55.3969872013-08-01        0.673639      72.489988  48.8321102013-09-01        0.783291     125.034417  97.9382962013-10-01        0.779694     118.724648  92.5689022013-11-01        0.771430     113.322446  87.4203662013-12-01        0.680166     100.950857  68.6633882014-01-01        0.573320     102.881633  58.984090

这是我尝试进行的非常基本的拟合操作:

model = VAR(df)results = model.fit(2)results.forecast(df.values[-2:], 5)results.summary()

我认为我需要为数据框设置某种频率属性。我尝试过使用df.asfreq(‘M’),但这只是打乱了我的数据。


回答:

我不清楚您使用的模型是什么,但很可能是由于时间序列中的缺失值或freq不匹配导致的(月初的freqMS)。

所以我认为,您可以使用pd.date_range创建一个新的时间序列,然后用创建的时间序列重新索引数据框。

如果输入的数据框是:

In [10]: dfOut[10]:            0  12018-01-01  2  12018-03-01  0  0

那么我们可以创建一个新的时间序列:

In [12]: index = pd.date_range(start=df.index.min(), end=df.index.max(), freq='MS')In [13]: indexOut[13]: DatetimeIndex(['2018-01-01', '2018-02-01', '2018-03-01'], dtype='datetime64[ns]', freq='MS')

然后重新索引数据框

In [14]: df.reindex(index)Out[14]:            0    12018-01-01  2.0  1.02018-02-01  NaN  NaN2018-03-01  0.0  0.0

此外,我们还可以用一些合适的值填充数据框中的Nan值,以满足模型训练的需求。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注