FXを機械学習!〜単回帰分析〜

こんにちは!

今日からFXのデータを使って色々なアルゴリズムを試してみた結果を記事にしていきたいと思います。

 

初回は線形回帰の基礎の基礎、単回帰分析です。

回帰分析というのはざっくりいうと数値を予測するアルゴリズムです。

その中で最もシンプルなのが単回帰分析です。

 

予測したい数値データのことを目的変数と言います。

予測のために使うデータ説明変数と言います。

 

単回帰分析は目的変数1つ、説明変数1つの簡単な線形回帰分析です。

 

今回は

目的変数→円/ドル

説明変数→先月の円/ドル

として単回帰分析してみました。

 

まずはpandasでcsvを読み込みます。

f:id:ois-blog:20191127111559p:plain

FXデータ

 

1月前のデータを準備します。

f:id:ois-blog:20191127111659p:plain

データ加工後

 

この時点で散布図を書くと下のようにほぼ直線状にデータが並んでいますね。

これは単回帰分析でもそこそこの成果が期待できそうです。

※単回帰分析は直線の予測グラフです

f:id:ois-blog:20191127111847p:plain

先月データと当月データの散布図

 

そして単回帰分析を実行してみました。

予測のグラフは

 

y=w_0+w_1x

 

で表されます。w0やw1は重みと言って、この重みをデータから学習します

単回帰分析を実行したところ、

 

w_0=2.6093959201067203

w_1=0.975487319458586

 

となりました。

 

予測グラフを図示してみましょう。

f:id:ois-blog:20191127113102p:plain

予測グラフ

オレンジの直線が単回帰分析でもとめた予測グラフです。

データによくフィットしていますね。

 

ちなみに線形回帰の精度には平均二乗誤差(MSE)がよく使われます。

今回のMSEは、

f:id:ois-blog:20191127113310p:plain

MSE

この数値でした。

悪くはない結果だと思います。

 

以上、単回帰分析でした!