30 秒間隔のレコードを含むデータ セットを取得しました。時系列モジュールの ARMA 関数を使用して予測予測を実行しようとしています。データのプライバシーのため、ランダム データを使用してエラーを再現しました
import numpy as np
from pandas import *
import statsmodels.api as sm
data = np.random.rand(100000)
data_index = date_range('2013-5-26', periods = len(data), freq='30s')
data = np.array(data)
data_series = Series(data, index = data_index)
model = sm.tsa.ARMA(data_series,(1,0)).fit()
私のパッケージのバージョン:
Python バージョン 2.7.3 pandas バージョン
0.11.0
statsmodels バージョン 0.5.0
主なエラーメッセージは次のとおりです(一部省略)。
ValueError Traceback (most recent call last)
<ipython-input-24-0f57c74f0fc9> in <module>()
6 data = np.array(data)
7 data_series = Series(data, index = data_index)
----> 8 model = sm.tsa.ARMA(data_series,(1,0)).fit()
...........
...........
ValueError: freq 30S not understood
ARMA は pandas によって生成された日付形式をサポートしていないようです。date_range の freq オプションを削除すると、年が pandas の制限をはるかに超えるため、このコマンドは大きなシリーズでは機能しません。
とにかく移動するには?ありがとう
更新: data_series.values を使用しても問題ありませんが、次は予測を行う方法を教えてください。私のdata_indexは[2013-05-26 00:00:00、...、2013-06-29 17:19:30]からのものです
prediction = model.predict('2013-05-26 00:00:00', '2013-06-29 17:19:30', dynamic=False)
それでもエラーが発生する
predict = model.predict() を通過してシーケンス全体の予測を生成できることはわかっていますが、一致させることはできますが、全体的にはそれほど便利ではありません。