予測アルゴリズムの実装方法

Predictor algorithms tutorial

予測アルゴリズムを実装します。予測アルゴリズムを使うためには、時系列ごとのラベル(バケットインデックス)とデータのセットが必要になります。ここでは300ステップで3周期となるsine波を用意します。

python
import numpy as np

rows = 300
sine_wave={}

for i in range(rows):
    angle = (i * np.pi) / 50.0
    sine_value = np.sin(angle)
    sine_wave[i]=round(sine_value,2)
print(sine_wave)
図5-5

出力は以下の通りです。

ライブラリをインポートし、エンコーダー・SP・TMを定義します。

Predictor() のステップ数を定義します。

predictor.learn(ステップ数, アクティブセル, バケットインデックス) でステップ順にアクティブセルとバケットインデックスを学習します。

predictor.infer( アクティブセル) によりバケットインデックスの推測(尤度)が算出されるので、尤度が一番高いバケットインデックスの値を抽出すれば予測値が得られます。

ここでは1ステップ先から5ステップ先までの予測値をひとつの辞書型に格納します。

図5-6

予測値をプロットすると図5-6のようになります。推測となる尤度のグラフを可視化してみます。

図5-7

このように分類器がアクティブセルの表現をもとに最も近いバケットインデックスを推測します。

最終更新