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問題の設定をします。
- Training Data
訓練データに用いる数値をLoadしてください。
- Validation Data
テストデータに用いる数値をLoadしてください。
- Normalization Reset
Normalizationボタンを押すとTraining Dataを正規化します。ここでいう正規化とはTraining Data内のデータのうち最大のものを1最小のものを0とすることです。Resetボタンを押すともとのデータに戻すことができます。
- Functions
GPの非終端記号としてどういう関数を使うかを決めます。使いたい関 数にチェックを入れてください。
- Constants
GPの終端記号として使う定数値の設定です。値の範囲と刻みを入力し てください。
Populations
GPに使うパラメータの設定です。
- Number of Population
集団の数を設定します。集団ごとに違うパラメータで進化させることが可能です。
- Population Size
個体数を設定します。
- Generation
何世代進化させるかを決めます。
- Selection Method
戦略を決定します。戦略にはルーレット方式(Proportional) トーナメント方式(Tournament)ランダムの3つがあり、オプションとしてエリート戦略をとるかどうかを選択することが出来ます。
- Restriction on Genes
遺伝子に許される最大長を決めます。
- Rate of GP Operations
交叉(Crossover)や突然変異(Mutation)一点交叉(One-point Crossover)の起こる確率を決めます。
- Initial Ratio of the Nodes
初期状態の各ノードに関数が入る確率と終端記号(定数・変数)が入る確率を決めます。
Results
結果を示します。
左側にはその世代で最も優秀な個体の適合度や遺伝子長、全個体の平均遺伝子長、そして訓練の結果と予測のデータが一番左下のOutputに出力され それぞれのデータはリアルタイムに表示されます。右上は最も適合度が高い個体の関数を表します。この関数は上で説明したf(t-1,t-2,t-3,t-4,t-5)のことです。右下 はGPにより出来上がった関数で描かれる予測値と学習の結果をともに表示します。各グラフはダブルクリックすると大きく表示させることができます。Window Sizeはここで変えることができます。どんな数値を入れたらどのように変わるか試してみてください。