MLによる単純時系列予測

2374 ワード

時系列予測は、主に予測を作成する複雑さを追加する時間成分のために、機械学習の分野内の興味深いサブトピックです.過去一ヶ月間、私はそれがとても好きになりました、そして、私が学んだ最も良いもののうちの1つは標準的な監督された機械学習アルゴリズムが予測をするために時系列に適用されることができるということです.このプロセスは標準のMLプロセスと全く似ています.例外的には、データを構造体の構造を維持するための特定の方法を構築しなければなりません.

環境を設定するために、私はアナコンダを使用することをお勧めします、それはデファクト環境マネージャの一種のデータサイエンスを行うときです.しかし、もしあなたのシステムにPythonだけを持っていれば、それだけで十分です.bashやgit bashのようなUnixのようなシェルで利用できる端末もあると仮定します.

アナコンダがあなたのシステムで利用可能であるならば、

システムにアナコンダがない場合は、Python 3.3 +をインストールしてください.

今すぐあなたのローカルJupyterサーバーを起動し、新鮮なノートブックを開くことによって、次のを開始することができますインストール環境がインストールされました.


このほとんどのチュートリアルでは、最も一般的な単変量時系列データセットのいずれかを使用しているでしょう、あなたはおそらく既に見てきた、メルボルン、オーストラリア、1986年から1990年までの毎日最低温度.データは、あなたが推測したかもしれないとして、メルボルン、オーストラリアで10年のコース上で毎日最低温度を構成しています.GATHUBリポジトリからパンダを使ってデータを取得します.次のURLでは、データを見つけることができます.




我々のデータフレームは、2つの列、1 , 466 , 9914 , 1 , 445 , 7914センチメートル、行方不明の値、3650の観測(1年365)から構成されている.データは次のように入力されます.
唐辛子
私たちがdatetimeindexに変換するストリングとしての49457914
唐辛子
float 64としての1 . 5,466,914のカラム.
唐辛子


これが時系列であるので、我々が完全にデータをプロットしなかったならば、我々は休むでしょう.また、データを検査し、自己相関があるかどうかを確認します.


過去10年間の温度のプロットは、正弦波のように温度が振動することを示している.私たちの圧延標準偏差では、我々は時間の経過として分散して成長しないことを示す.これは確かにSarimaモデルのための最適データセットであるでしょうが、それは我々がここにいるものではありません.

これは我々のチュートリアルのcruxです、そして、本質的に我々は温度を予測するために回帰(RF regressor albeitを使用して)をしています.開始するには、時間の遅れ、時間の機能などのいくつかの機能を作成し、我々のモデルに時間構造を組み込む.パイプラインを作りたいと思っていますが、データをもっと簡単にするために.
作成する機能:
- 1 , 566 , 917円
ローリング30日平均気温
月経平均気温平均値
─嘉慶喜年間
1年2 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3
今日の気温(私たちが予測しているもの)
唐辛子

私たちの現在の時間のステップは、45457914キロ、私たちが予測される次の日の気温は、43457914キロです.私たちのモデルは、我々はまた、週と月の機能を作成した時間を認識するために、遅れ値と圧延の平均を含めた.次に、私たちのデータをテストとトレーニングセットに分けてトレーニングを行い、データを検証します.しかし、時系列データで作業しているので、厳密な依存関係がありますので、データを分割してシャッフルできません.
我々のデータは、我々のデータの最後の30 %が私たちのテストデータとして使用される70 - 30の分割を使用して分割し、最初の70 %は私たちのトレーニングのためです.

クロスバリデーションを行うことができないので、SkLearnからタイムシリーズスプリットクラスを使用します.私たちの選択肢は、すべてのデータに私たちのモデルを訓練し、モデルの選択を行うために複数のメトリックを使用する必要があります任意のモデルの選択を行うときに現実的に情報の基準を使用することです.


ここでは、いくつかのクロスバリデーションを行った後にRMSEスコアを持っていますが、それは特別なものではありませんが、時系列データセットに標準MLツールセットを適用できることを確認します.我々のCVから、我々は我々のモデルがおよそ2.5度オフであるのを見ることができます.




私たちのモデルによる予測を見て、我々は誰もすぐに天気予報を伝えることはありません.しかし、これはあなたの時間シリーズに標準的なマシン学習アルゴリズムを適用する方法の主要な例です.