
Photo by
akanemachi
FXを機械学習!〜単回帰分析〜
こんにちは!
今日からFXのデータを使って色々なアルゴリズムを試してみた結果を記事にしていきたいと思います。
初回は線形回帰の基礎の基礎、単回帰分析です。
回帰分析というのはざっくりいうと数値を予測するアルゴリズムです。
その中で最もシンプルなのが単回帰分析です。
予測したい数値データのことを目的変数と言います。
予測のために使うデータを説明変数と言います。
単回帰分析は目的変数1つ、説明変数1つの簡単な線形回帰分析です。
今回は
目的変数→円/ドル
説明変数→先月の円/ドル
として単回帰分析してみました。
まずはpandasでcsvを読み込みます。

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

この時点で散布図を書くと下のようにほぼ直線状にデータが並んでいますね。
これは単回帰分析でもそこそこの成果が期待できそうです。
※単回帰分析は直線の予測グラフです

そして単回帰分析を実行してみました。
予測のグラフは
y=w0+w1x
で表されます。w0やw1は重みと言って、この重みをデータから学習します。
単回帰分析を実行したところ、
w0=2.6093959201067203
w1=0.975487319458586となりました。
予測グラフを図示してみましょう。

オレンジの直線が単回帰分析でもとめた予測グラフです。
データによくフィットしていますね。
ちなみに線形回帰の精度には平均二乗誤差(MSE)がよく使われます。
今回のMSEは、

この数値でした。
悪くはない結果だと思います。
以上、単回帰分析でした!