では以前、私たちは同じKNNと線形回帰を見つけ、パフォーマンスが特に良好ではない、パフォーマンスの時系列を見てみましょう
時系列予測方法は、定量的に予測するために、所属する回帰予測法の一種であり、基本的な原理は、物事の発展、過去の統計分析の時系列データの使用の継続を認める一方で、ことを示唆している物事の開発動向、一方、完全にトレンド予測のために、適切な処分のための歴史的な統計分析のためのデータ、およびデータを使用して、ランダムな変動の影響を排除するために、偶発ランダムに起因する要因を考慮に入れて。
自動ARIMA
ARIMAは非常に人気の時系列予測の統計的手法です。ARIMAモデルは、過去の値を使用して、将来の値を予測します。ARIMA三つの重要なパラメータがあります。
-
P(過去の値を予測するのに使用される値)
-
Q(過去の値は、将来の予測誤差を予測します)
-
D(差動配列)
ARIMAパラメータの最適化は、多くの時間を要します。したがって、我々は自動的に最小誤差(P、Q、D)最良の組み合わせを選択し、自動ARIMAを使用します。
あなたが自動選択エラーを使用しない場合、あなたは差分データ、マッピングを計算することができますし、手動で、サイズのPDQを選択し、あなたがこの方向に興味があるなら、私はあまりここでは、小さなウィンドウやメッセージの下にすることができ、一つの方法を差し込み導入を行います。
#インポートライブラリ
pyramid.arimaインポートauto_arimaから
インデックス#で並べ替え
データ= df.sort_index(昇順=真、軸= 0)
#除算トレーニングセット、テストセット
電車=データ[:987]
有効=データ[987:]
#近いこの列のデータの2つのセットを削除し、2行目は非常に明確な気持ちは知ってても無駄ではない兄のメッセージエリアアリアドネを
訓練=電車[「閉じます」]
検証=有効[「閉じます」]
#モデル(自動選択パラメータ)
モデル= auto_arima(トレーニング、start_p = 1、start_q = 1、max_p = 3、max_q = 3、M = 12、start_P = 0、季節= trueの場合、D = 1、D = 1、トレース=真、ERROR_ACTION = '無視」、suppress_warnings =真)
model.fit(トレーニング)
#予測
予測= model.predict(n_periods = 248)
予測= pd.DataFrame(予報、インデックス= valid.index、列= [ '予測'])
結果
#計算RMS
RMS = np.sqrt(np.mean(np.power((np.array(有効[ '閉じる']) - np.array(予報[ '予測']))、2)))
#以下の二つの行動の結果、実行されない場合があります
RMS
44.954584993246954
#plot近い、近いの訓練を描画し、予測値をテスト
plt.plot(電車[ '閉じます'])
plt.plot(有効[ '閉じます'])
plt.plot(予報[ '予測'])
推論
我々は先に見たように、自動ARIMAモデルは、時系列モデルを理解するために、過去のデータを使用しています。シリーズの成長傾向をキャプチャするために、モデルをこれらの値を使用。
この技術を用いて予測がより良い達成するためにモデルを機械学習の前回予想よりもあるが、これらの予測は、まだ実際の値からは程遠いですが。
図から明らかなように、モデルのシーケンスは、トレンドをキャプチャするが、それは季節の影響を無視します。