機械学習(AI)線形回帰予測

機械学習(AI)線形回帰予測概要

機械学習(AI)線形回帰を利用して豪ドル/円のレートを予測したいと思います。
気温や株式の価格のような連続したデ-タがある時、 これを数式で表現できると将来の値を予測するようなことができます。
Python を使用して多項式フィッティングを行うと、数値変化を関数化することができます。
例えば5次式で表すと仮定すると 多項式
のように書くことができます。
この時 a0~a5 の値を決めることができれば、数値変化を関数化することができます。
これを実現してくれるのが、Python の Numpy の中にある polyfit 関数です。
この関数の使うにはまずは
Python を始める
pandas を使う
Python 多項式フィッティング
の各項を読み理解する必要がありますが、面倒な方は読み飛ばして下さい。
基本的なことは上記内容を読んでいただくとわかると思います。
ここで使用しているファイル内容は、上記、Python 多項式フィッティング で紹介している polyfit-4 とほぼ同じです。

予測データファイル

95個の終値から次週5日間の終わり値を予測します。
具体的には、2019/7/29~12/6日の95個の終値から次週12/9~13日の終値を 予測します。
7/29~12/6日の値は Excel ファイルとして準備しました。
CHART-190729-1206-1213.xlsx
をクリックすると PC にエクセルがインスト-ルされていれば xlsx ファイルを開くことができるはずです。
通常ボップアップが開くのですが開かなければ、今開いている画面の一番下を見てください。
エクセルファイルが顔を出しているはずです。
Python 予測ファイルを自分で作成して試したい方は、右クリックして、このファイル名を
CHART-190729-1206-1213.xlsx
とし、
‪C:\ユ-ザ-\ユ-ザ名\panda\file
フォルダをあらかじめ作成しておき、ここに、保存します。
保存のしかた等よく分からない方は pandas を使う
以下を読んで下さい。
結構大変です。
12/6~12/13日のデータは答合せのために使い、予測には使いません。

Python 多項式フィッティング次数

上記ファイルの 95個の終値の実績値の形をざっくり見ると、
極大値が2個、極小値が3個
とみることができます。

ざっくり終値

よって、次数 N は
N = 2 + 3 + 1
 = 6
としています。
次数の決め方の詳細は 多項式フィッティング polyfit ファイル実行結果
を参照して下さい。

polyfit-4 からの改善点

Python 多項式フィッティング での大きな問題点としては データがある部分のフィッティングにのみに引っ張られて データがない予測したい部分はいい加減になってしまうことです。
要するにフィッティングさえできれば満足してしまうのです。
よって予測精度が落ちてしまいます。
そこで、シンプルな予測値をあらかじめ設定することによりこの問題を回避します。
今回採用したのは
N日足の終値は、次のN日足の終値に引き継がれる
と予測する考えです。
具体的に説明すると、最後の実績値、今回の場合12/6日の終値aは、
翌日(b=12/7)の予測終値であり
2日足の終値にもなっているので、
(b+1 = 12/8)日の予測終値にもなっています。
よって、N日足の終値になっている終値aは、
b ~ (b+4)日の予測終値になります。
この予測終値aを12/9~13日に仮に設定してフィッティングすることにより予測精度を高めます。
もっと具体的に書くと
12/6 実績終値 74.256円
12/9 予測終値 74.256円
 = 12/6  1日足終値
12/10 予測終値 74.256円
 = 12/5-6 2日足終値
12/11 予測終値 74.256円
 = 12/4-6 3日足終値
12/12 予測終値 74.256円
 = 12/3-6 4日足終値
12/13 予測終値 74.256円
 = 12/2-6 5日足終値
とします。

これで、機械学習(AI)線形回帰予測概要の説明は完了です。
引き続き、線形回帰予測ファイルを作成していきます。
長くなりましたのでここで一旦切りたいと思います。


機械学習(AI)線形回帰予測ファイル作成 に進む

GoDollar に戻る