LGPC for Time Series Prediction

LGPCによる時系列予測シミュレータです

What's Time Series Prediction?

LGPC for Time Series Predictionは過去のデータの学習から将来のデータを予測するものです。

ここでいう学習というのは窓(Window size)というものを用い、たとえば窓のサイズが5の場合1から5の各データから次にどのようなデータがくるかを予測させ、そこで得られたデータと実データとの差の合計が訓練を終えたときに一番小さくなるようにさせることです。

窓サイズが5で訓練データが50の場合を数式で説明すると以下のようになります。

上式のfitnessが最小になるように学習させます。ただし、xt'は時刻tにおける予測値です。

訓練データにおける学習が終わった後、予測はfitnessが最小となったときの


を用いて求めることができます。

Problem Configuration

Time Series Prediction問題の設定をします。

訓練データに用いる数値をLoadしてください。

テストデータに用いる数値をLoadしてください。

Normalizationボタンを押すとTraining Dataを正規化します。ここでいう正規化とはTraining Data内のデータのうち最大のものを1最小のものを0とすることです。Resetボタンを押すともとのデータに戻すことができます。

GPの非終端記号としてどういう関数を使うかを決めます。使いたい関 数にチェックを入れてください。

GPの終端記号として使う定数値の設定です。値の範囲と刻みを入力し てください。

Populations

GPに使うパラメータの設定です。

集団の数を設定します。集団ごとに違うパラメータで進化させることが可能です。

個体数を設定します。

何世代進化させるかを決めます。

戦略を決定します。戦略にはルーレット方式(Proportional) トーナメント方式(Tournament)ランダムの3つがあり、オプションとしてエリート戦略をとるかどうかを選択することが出来ます。

遺伝子に許される最大長を決めます。

交叉(Crossover)や突然変異(Mutation)一点交叉(One-point Crossover)の起こる確率を決めます。

初期状態の各ノードに関数が入る確率と終端記号(定数・変数)が入る確率を決めます。

Results

結果を示します。

左側にはその世代で最も優秀な個体の適合度や遺伝子長、全個体の平均遺伝子長、そして訓練の結果と予測のデータが一番左下のOutputに出力され それぞれのデータはリアルタイムに表示されます。右上は最も適合度が高い個体の関数を表します。この関数は上で説明したf(t-1,t-2,t-3,t-4,t-5)のことです。右下 はGPにより出来上がった関数で描かれる予測値と学習の結果をともに表示します。各グラフはダブルクリックすると大きく表示させることができます。Window Sizeはここで変えることができます。どんな数値を入れたらどのように変わるか試してみてください。