通貨オプション入門

カーブフィッティングについてわかりやすく解説

カーブフィッティングについてわかりやすく解説
EA

LabVIEW​における​カーブ​フィット​モデル​と​方法​の​概要

カーブ​フィット​の​目的​は、i=0, 1, 2,​…, n–​1​の​場合​の​データ(xi, yi)​に対して、Wで​重み付け​さ​れ​た​残​差​を​最小​化​する​よう​な​関数f(x)​を​求める​こと​です。​関数f(x)​は、​最小​化​する​こと​です。​残​差​が​少ない​という​こと​は​つまり​良く​近似​でき​て​いる​という​こと​です。​幾何​学的​な​表現​を​すると、​カーブ​フィット​は、i=0, 1, 2,​…, n–​1​の​場合​の​データ(xi, yi)​に​合う​よう​な​曲線y=f(x)​を​見つける​こと​です。

  • 線形​フィット​VI
  • 指数​フィット​VI
  • 累乗​フィット​VI
  • ガ​ウ​ス​ピーク​フィット​VI
  • 対数​フィット​VI

これらの​VI​は、​データセット​(データ​値​の​集合)​に対して​異なる​種類​の​カーブ​フィット​モデル​を​使用​し​ます。​これらの​VI​を​使用​する​ため​の​詳細​について​は、LabVIEW​の​ヘルプを​参照​し​て​くだ​さい。​次​の​グラフ​は、​LabVIEW​で​作成​できる、​さまざま​な​フィット​モデル​の​例​です。

図​1. カーブフィッティングについてわかりやすく解説 LabVIEW​の​カーブ​フィット​モデル

LabVIEWの​カーブ​フィット​の​モデル​に​は​全て、重み付け​が​あり​ます。重み付け​の​デフォルト​値​は​1​です。​この​場合、​全て​の​データ​サンプル​値​が、​フィット​の​結果​に​同じ​影響​を​受け​ます。​場合​によって​は、​ノイズ​など​の​外部​要素​の​せい​で、​データセット​に​外れ​値​が​あり​ます。​データ​サンプル​値​と​同じ​重み付け​で​外れ​値​を​計算​した​場合、​フィット​の​結果​に​悪影響​が​出​ます。​したがって、​重み​を​0​に​設定​した​り​し​て、​外れ​値​の​重み​を​調節​する​こと​によって、​この​種​の​影響​を​排除​する​こと​が​でき​ます。

カーブ​フィット​の​方法

カーブ​フィット​の​方法​に​は​いくつか​の​種類​が​あり、​それぞれ​異​な​っ​た​方法​で、​入力​データ​を​評価​し​て、​カーブ​フィット​モデル​の​パラメータ​を​求め​ます​各​方法​ごと​に、​近似​した​曲線​を​求める​際、​残​差​の​評価​に対する​独自​の​基準​が​あり​ます。​各​方法​の​基準​を​理解​する​こと​によって、​最も​適切​な​方法​を​選択​し、​曲線​を​近似​する​こと​が​でき​ます。​LabVIEW​では、​最小​二乗​法​(LS)、​最小​絶対​残​差​法​(LAR)、​または​二重​平方​近似​法​を​線形​フィット、​指数​フィット、​累乗​フィット、​ガ​ウ​ス​ピーク​フィット、​または​対数​フィット​VI​に​適用​し​て、​関数f(x)​を​求め​ます。

最小​二乗​法​では、​次​の​式​に従い、​残​差​を​最小​化​する​こと​によって、f(x)​を​求め​ます。

最小​絶対​残​差​法​では、​次​の​式​に従い、​残​差​を​最小​化​する​こと​によって、f(x)​を​求め​ます。

二重​平​方法​では、​次​の​フローチャート​に​示し​た​よう​な​反復​プロセス​を​使用​してf(x)​を​求め、​最小​二乗​法​で​使用​する​の​と​同じ​式​を​用​い​て​残​差​を​計算​し​ます。​二重​平​方法​では、​反復kから​開始​する​データ​を​計算​し​ます。

図​2. 二重​平方​フローチャート

最小​二乗​法、​最小​絶対​残​差​法、​および​二重​平​方法がf(x)​を​異​な​っ​た​方法​で​計算​する​ため、​データセット​に​応​じ​て​使用​する​方法​を​選ぶ​必要​が​あり​ます。​例えば、​最小​絶対​残​差​法​および​二重​平​方法​は、​ロ​バスト​な​(ノイズ​など​の​外乱​に​影響​さ​れ​にくい)​近似​方法​です。​外れ​値​が​データセット​に​ある​場合、​これら​を​使う​の​が​よい​で​しょう。​続​い​て、​最小​二乗​法、​最小​絶対​残​差​法、​二重​平​方法​の​計算​方法​を​見​てい​き​ま​しょう。

最小​二乗法

Ax = b

ここでAは​行列​で、xbは​ベクトル​です。Axbは、​この​式​の​残​差​を​表​し​ます。

E(x) = (Ax-b) T (Ax-b) = x T A T Ax-2b T Ax+b T b

二乗​誤差E(x)​を​最小​化​する​に​は、​上記​の​関数​を​微分​した​もの​が、​結果​を​0​に​なる​場合​を​考え​ます。

E’(x) = 0

2A T Ax-2A T b = 0

A T Ax =A T b

x = (A T A) -1 A T b

最小​二乗​法​は、​二乗​誤差​の​最小​化​と​ガウス​分布​ノイズ​を​持つ​データ​の​処理​によってxを​算出​し​ます。​ノイズ​が​ガウス​分布​では​ない​場合​(例えば、​データ​に​外れ​値​が​ある​場合​など)、​最小​二乗​法​は​適​し​てい​ま​せん。​最小​絶対​残​差​法​メソッド、​二重​平​方法​など、​別の近似方法を使用すれば、​非​ガウス​分布​の​ノイズ​を​含む​データ​を​処理​でき​ます。

最小​絶対​残​差法

二重​平​方法

カーブ​フィット​方法​の​比較

図​1. 3​つ​の​方法​に​要する​時間

カーブフィッティングについてわかりやすく解説
フィット​メソッド 最小​二乗法 最小​絶対​残​差法 二重​平​方法
時間​(μ​秒) 3.5 30 60

図​3. 3​つ​の​近似​方法​の​間​で​の​比較

近似​曲線​から​離れ​た​ところ​に​ある​データ​サンプル​値​が​外れ​値​です。​上記​の​図​では、​(2, 17)、​(20, カーブフィッティングについてわかりやすく解説 29)、​および​(21, 31)​に​位置​する​データ​サンプル​値​は​外れ​値​と​見なす​こと​が​でき​ます。​この​結果​から、​外れ​値​の​影響​が、​最小​絶対​残​差​法​および​二重​平​方法​と​比べ​て​最小​二乗​法​に​大​きく​及​んで​いる​こと​が​わか​り​ます。

LabVIEW​カーブ​フィット​モデル

  • 生成​多項式​VI
  • 一般​LS​線形​VI
  • 3​次​スプライン​フィット​VI

一般​多項式​フィット

次​の​図​は、​3​次​多項式​を​使用​し​て​零点​を​通る​近似​曲線​を​示し​てい​ます。​f(x)​が​y=0​を​通過​する​の​が​およそ​(0.3, 0)、​(1, 0)、​および​(1.5, 0)​の​あたり​だ​という​こと​が​わか​り​ます。

図​4. 一般​多項式​モデル

この​VI​は​次​の​式​を​使用​し​て​平均​二乗​誤差​(MSE:Mean Square Error)​を​計算​し​ます。

一般​多項式​フィットVI​を​使用​する​際、​最初に多項式​の​次数を​設定​する​必要​が​あり​ます。多項式の次数が高ければ、良い近似ができるとは限らず、​解​の​発散​の​原因​に​なり​ます。​ほとんど​の​アプリケーション​では、​10​次​以下​の​多項式​で​の​要件​を​満たす​こと​が​でき​ます。多項式​次数の​デフォルト​値​は​2​です。

この​VI​に​は、係数​制約の​入力​が​あり​ます。​多項式​係数​の​正確​な​数値​を​知​って​いる​場合、​この​値​を​設定​する​こと​が​でき​ます。​この​入力​を​設定​する​こと​によって、​VI​は、​正確​な​数値​により​近い​係数​を​算出​する​こと​が​でき​ます。

一般​LS​線形​VI

観測​行列​の​構築

一般​LS​線形​フィット​VI​を​使用​する​際、​観測​行列H.​を​構築​する​必要​が​あり​ます。​例えば、​次​の​式​は、​トランスデューサ​から​の​データ​を​使用​し​て​モデル​を​定義​し​ます。

観測​行列Hを​構築​する​ため、Hの​各​列​の​値​は​独立​関数、​または​ベクトルx​の​個々​の​値xiに​等​しく​な​って​い​ます。​次​の​式​では、​上記​の​式​を​使用​し​て、​100​個のxの​値​を​含む​データセット​に対する​観測​行列Hを​定義​し​ます。

H a = y

3​次​スプライン​フィット​VI

3​次​スプライン​フィット​VI​では、​次​の​式​の​値​を​最小​化​する​こと​によって、​データセット(xi, yi)​を​近似​し​ます。

ただし、pバランス​パラメータと​し​ます。

バランス​パラメータ入力pが​0​の​場合、​3​次​スプライン​モデル​は​線形​モデル​に​等​しく​なり​ます。バランス​パラメータ入力pが​1​の​場合、​フィット​メソッド​は​3​次​スプライン​補間​に​等​しく​なり​ます。​近似​曲線​が​観測​値​に​近く​なり、​平滑​化​さ​れる​ため​に​は、pが​[0, カーブフィッティングについてわかりやすく解説 1]​の​範囲​内​に​ある​必要​が​あり​ます。pが​より​0​に​近い​場合、​近似​曲線​は​より​スムーズ​に、​すなわち​平滑​化​さ​れ​ます。pが​より​1​に​近い​場合、​近似​曲線​は​より​観測​値​に​近く​なり​ます。​次​の​図​は、pの​値​が​異なる​場合​の​近似​の​結果​を​示し​てい​ます。

図​5. 3​次​スプライン​モデル

上記​の​図​から、pが​1.0​の​場合、​近似​曲線​は​観測​データ​に​最も​近く​なる​こと​が​わか​り​ます。pが​0.0​の​場合、​近似​曲線​は​最も​平滑​化​さ​れ​ます​が、​この​曲線​は​いかなる​データ​ポイント​とも​重​なら​ない​場合​が​あり​ます。

非線形​カーブ​フィット

非線形​レーベンバーグ・​マル​カート​メソッド​は、​最も​一般​的​な​曲線​近似​の​方法​で、ya0, a1, a2, …, akと​線形​関係​で​ある​必要​が​ありま​せん。​非線形​レーベンバーグ・​マル​カート​メソッド​を​使用​し​て、​線形​または​非線形​な​曲線​に​近似​させる​こと​が​でき​ます。​しかし、​この​メソッド​の​最も​一般​的​な​適用​は、​非線形​な​曲線​に​近似​させる​こと​です。​一般​的​な​線形​近似​は、​線形​な​曲線​に​近似​する​の​に​適​し​て​いる​から​です。

図​7. 外れ​値​を​削除​VI

フィット​(近似)​の​適合度

フィット​の​適合​度​VI​は、​フィット​の​結果​を​評価​し、​残​差​二乗​和​(SSE:Sum of Squares Error)、​R​二乗​誤差​(R 2 )、​二乗​平均​平方根​誤差​(RMSE:Root Mean Squared Error)​を​フィット​の​結果​に​基​づ​い​て​計算​し​ます。​これらの​3​つ​の​統計​値​は、​近似​モデル​が​元​の​データセット​に​どれ​だけ​一致​し​て​いるか​を​表​し​ます。​次​の​式​は​それぞれ​SSE​と​RMSE​を​表​し​てい​ます。

ここでDOFは​自由​度​です。

信頼​区間​および​予測​区間

最小​二乗​法​の​関数​形式x = (A T A) -1 A T bを​使用​し​て、​次​の​式​に従って​データ​を​フィット​させる​こと​が​でき​ます。

ここ​ではa = [a0 a1] T です。

また、y = [y0 y1 … yn-1] T です。

パラメータa0およびa1の​共​分散​行列​は​次​の​式​の​よう​に​書き直す​こと​が​でき​ます。

ここでJは​ヤコビ​行列​です。

mは​パラメータ​の​個数、

nは​データ​サンプル​の​個数​です。

上記​の​式​で、​パラメータmは​2​です。​i​番目のC, Ciiの​対​角​要素​は​パラメータai, の​分散​です。

ここ​で、 は​確率 におけるnmの​自由​度​の​ステューデント​t​逆累積分布関数と呼ばれ、 は​パラメータaiの​標準偏差​で、に​等​しく​なり​ます。

ここ​では、diagi(A)​は​行列Aの​i​番目​の​対​角​要素​を​意味​し​ます。​上記​の​方程式​では、​行列(JCJ) T は、​行列Aを​表​し​ます。

次​の​図​は、​同じ​データセット​に対する信頼​区間の​グラフと予測​区間の​グラフ​それぞれ​の​例​を​示し​てい​ます。

図​9. 信頼​区間​と​予測​区間

信頼​区間グラフ​から​は、​信頼​区間​の​幅​が​狭い​こと​が​わか​り​ます。​小さな​信頼​区間​は、​本当​の​カーブ​に​近い​近似​曲線​で​ある​こと​を​示し​てい​ます。予測​区間グラフ​から​は、​次​の​計測​実験​の​各​データ​サンプル​が、​95%​の​確率​で​予測​区間​内​に​入る​こと​を​結論​付ける​こと​が​でき​ます。

アプリケーション例

例えば、​温度​計​で–​50ºC​~​90ºC​の​間​を​計測​する​実験​を​検討​し​て​み​ま​しょう。T1は​計測​した​温度、T2は​周辺​温度、Teは​計測​誤差​(ここ​ではTe=T1-T2が​成​り​立​って​いる)​と​仮定​し​ます。–​50ºC​~​90ºC​の​計測​可能​な​範囲​内​で​異なる​温度​を​計測​すると、​次​の​よう​な​データ​表​が​出来上がり​ます。

表​2. 周辺​温度​と​計測​した​温度​の​読み取り

周辺​温度 計測​した​温度 周辺​温度 計測​した​温度 周辺​温度 計測​した​温度
-43.1377 -42.9375 0.769446 0.5625 45.68797 45.5625
-39.3466 -39.25 5.831063 5.625 50.56738 50.5
-34.2368 -34.125 10.84934 10.625 55.58933 55.5625
-29.0969 -29.0625 15.79473 15.5625 60.51409 60.5625
-24.1398 -24.125 20.カーブフィッティングについてわかりやすく解説 79082 20.5625 65.35461 65.4375
-19.2454 -19.3125 25.70361 25.5 70.カーブフィッティングについてわかりやすく解説 54241 70.6875
-14.0779 -14.1875 30.74484 30.5625 75.40949 75.625
-9.10834 -9.25 35.60317 35.4375 80.41012 80.75
-4.08784 -4.25 40.57861 40.4375 85.26303 85.6875

図​10. 一般​多項式​フィット​VI​を​使用​した​誤差​関数​VI​の​ブロック​ダイ​ア​グラム

11. 一般​多項式​フィット​を​使用​し​て​誤差​曲線​を​近似

Baseline Wandering​の​除去

信号​の​集録​中、​信号​は​低​周波数​ノイズ​と​混​ざ​り​合う​こと​が​あり、​これ​が​Baseline Wandering​に​つながり​ます。​Baseline Wandering​は、​信号​の​品質​に​影響​する​ため、​次​の​試行​に​も​影響​が​及び​ます。​Baseline Wandering​を​除去​する​ため、​カーブ​フィット​を​使用​し​て、​元​の​信号​から​信号​の​傾向​を​取得​し、​抽出​する​こと​が​でき​ます。

次​の​図​に​示す​とおり、​人間​の​呼吸​を​計測​する​ECG​信号​に​Baseline Wandering​を​見つける​こと​が​でき​ます。​一般​多項式​フィット​VI​を​使用​し​て​信号​の​傾向​を​取得​し​て​から、​元​の​信号​から​Baseline Wandering​を​見​つけ​て​除去​する​こと​によって、​信号​の​トレンド​除去​を​行い​ます。​残​っ​た​信号​は​減算​さ​れ​た​信号​です。

12. 一般​多項式​フィット​VI​を​使用​し​て​Baseline Wandering​を​除去​する

上記​の​グラフ​から、​一般​多項式​フィット​VI​を​使用​する​こと​によって​Baseline Wandering​を​抑え​られる​こと​が​わか​り​ます。​この​例​では、​曲線​近似​を​使用​し​て​Baseline Wandering​を​除去​する​ほうが、​ウェーブレット​解析​など、​他の​メソッド​を​使用​する​より​も​迅速​で​簡単​です。

エッジ​抽出

デジタル​画像​処理​において​は、​物体​の​形状​を​判定​し​て​から、​その​形状​の​エッジ​を​検出​し、​抽出​する​必要​が​生じる​こと​が​よく​あり​ます。​この処理をエッジ抽出と呼びます。​照明​不足​や​過剰​な​照明​といった​悪条件​の​下​では、​不完全​な​エッジ​や​ぼや​けた​エッジ​を​抽出​し​て​しまう​場合​が​あり​ます。​物体​の​エッジが正則​曲線の​場合、​曲線​近似​は​最初​の​エッジ​を​処理​する​の​に​便利​です。

高い勝率を編み出してしまう「カーブフィッティング」っていったい何?【バイナリーオプション】

カーブフィッティング

カーブフィッティング

このデータの結果がこちら↓

これをじゃあどうするか、というところなのですが、
まずボリンジャーバンドの偏差シグマを1→3にします。
(シグナル回数を極端に減らすため)

カーブフィッティング

そして再計算した結果がこちら↓

この結果を見てみると例えばハイエントリーのMT4時間の3:00を見ると、
シグナル数20回、11回勝って9回負け。勝率55%になっています。
12時とかだと45.5%だと。

この結果を見ると「だったら勝率低いところエントリーしないで、高いところエントリーすればいいんじゃないの?」と思うと思います。

そこから、「勝率70%以下のところ全部エントリーしなければいい!」と仮説を立て、70%以下の勝率はエントリーを省いていきます…。

カーブフィッティング

どんどん表がスカスカになっていく・・・

カーブフィッティング

なんと勝率83.70%の神手法が爆誕してしまいました!!!笑

カーブフィッティング

このように過去の相場って言うのは簡単にいじることが出来るんですね。
そして バックテストの内容によって勝率への信頼度はものすごく変わるという事もわかっていただけたのではないでしょうか。

なので、勝率○○%と謳っている手法があったとしても、 どうやってバックテストをとったのか?! ということに目を向けたほうがいいんですよね。

カーブフィッティングについての考え方

EA

EAを開発・修正していると、 カーブフィッティング(過剰最適化) というフレーズを見たり聞いたりします。日本語に直訳すると「曲線あてはめ」という事で?な感じですが、要はEAをテストデータ(ヒストリカルデータ)にどんどん当てはめて過去データに対して成績を上げていくといった行為になります。

カーブフィッティングとは

①根拠の無い過去の結果で最適化する

自分用にEAを作っている方であればこんな最適化はしないと思います。 日付や月単位でのピンポイント修正は、カーブフィッティングになりやすいという認識 です。

②一見根拠があるが実は根拠が無い手法で最適化する

カーブフィッティングを回避していくために

フォワードテストをする

バックテストする(できるだけ長い期間で)

バックテストする(色んな種類のヒストリカルデータで)

バックテストする(スプレッドを変えて)

バックテストする(ビジュアルモードで)

バックテストする(ナンピンはせずに)

MT4を2つ以上同時に起動しテスト効率を上げる方法

MT4を2つ以上同時に起動することで、複数のEAを同時にバックテストする方法について記載します。ファイルコピーばかりなので簡単です。 私の場合、1回のバックテストが10分近くかかるので、この方法は結構有効です。 フォルダをコピ.

EAのバックテストを日本円(カーブフィッティングについてわかりやすく解説 JPY)で行う方法

MT4でヒストリカルデータを取り込む方法(DUKASCOPY)

EAのバックテストの最適化方法

MT4でEAのバックテストの機能の一つである、最適化の方法です。 最適化とは? 最適化とは、バックテストをする際に自分で設定した値の範囲内で連続してテストを行ってくれる機能です。 例えば、EA作成の際に移動平均線の値.

MT4でヒストリカルデータを取り込む方法(メタクオーツ)

MT4でヒストリカルデータ(過去のチャート)を取り込む(超シンプルな)方法について記載します。 外為ファイネストのMT4だと「ダウンロード」ボタンが使える!※別の業者でFXTFのMT4だとダウンロードがうまくできませんでした FX.

電気化学測定 概説

SP-50e


直流分極測定を網羅した低価格ポテンショ/ガルバノスタット SP-50e

2-2. 電気化学インピーダンス測定(交流インピーダンス法)
(EIS測定:Electrochemical Impedance Spectroscopy)

  • セルに与えるダメージが少ない(非破壊測定)
  • 測定時間が短い
  • 得られる情報量が多い

3.電気化学測定に必要な計測器

3-1. ポテンショ/ガルバノスタット(P/Gスタット)

  • P/Gスタットを選定する際に重要となる仕様は主に以下のとおりです。
  • 最大制御電圧範囲
  • 電圧測定レンジ
  • 最大電流値と最小分解能
  • 電圧・電流確度
  • 三電極電位モニターの可否
  • EIS測定の可否とその周波数範囲

3-2. 周波数応答アナライザ(FRA:Frequency Response Analyzer)

周波数応答アナライザ(以下、FRA)は、EIS測定時に使用される装置です。
最近ではP/Gスタットにオプションとして組み込まれている装置も多く存在します。
FRAは、EIS測定においてP/Gスタットが印加した微小な電圧信号とセルから得られた電流信号などからインピーダンスを算出します。
算出方法は2種類あり、Single Sine Correlation法(単一正弦波相関法)とMulti Sine Correlation法です。

  • Single Sine Correlation法:
    一つの周波数の交流信号を印加し、その応答からインピーダンスを測定する手法。
    印加する信号を基本波として応答信号をピックアップしている為、対ノイズ性に優れた高精度な測定手法です。
  • Multi Sine Correlation法:
    複数の周波数を合わせた信号を印加し、その応答信号をフーリエ変換することで各周波数情報に分離することで各周波数のインピーダンスを算出する手法。

Single Sine Correlation法とMulti Sine Correlation法の比較をまとめます。
Single Sine Correlation法は測定精度が高い手法である為、一般的によく用いられます。他方、Multi Sine Correlation法は測定時間が短いという利点があります。

良い点 悪い点
Single Sine Correlation法 測定精度が高い 測定時間が長い
Multi Sine Correlation法 測定時間が短い 測定精度が落ちる

Bio-Logic社製のP/Gスタットは、すべてのモデルにおいてSingle Sine Correlation法、Multi Sine Correlation法のどちらも使用可能です。
またP/Gスタットを使用しなくてもインピーダンス測定のできる電流変換器内蔵のFRA(Bio-Logic社製 MTZ-35型インピーダンスアナライザ)があり、分極制御を必要としないサンプル(固体電解質、絶縁膜、液体、半導体など)の測定はFRA単体で行うことができます。MTZ-35型インピーダンスアナライザでは、高周波数側35MHzまでのインピーダンス測定が可能です。

3-3. 電流アンプ

セルの反応性が小さく、微小な応答電流を測定する際は電流アンプを使用します。 電流アンプは微小な電流信号を電圧信号に変換・増幅しています。
電流アンプを選定するときの注意点は、電流アンプの周波数応答によってインピーダンス計測をするときの高周波域が制限されてしまうことです。周波数特性が明確な装置を選ばれることをお勧めします。

4.電気化学測定システム構成例

電気化学測定システムとは、ポテンショ/ガルバノスタットと周波数応答アナライザー(FRA)を組み合わせて、サイクリックボルタンメトリー(CV)などの直流分極測定や交流インピーダンス測定(EIS測定)等を容易に実行できるシステムです。 システムは、Windows PC上から専用のソフトウェア(EC-Lab、ZView)で制御、データ解析されます。これらのソフトウェアは複数の電気化学測定を組み合わせたシーケンス測定や、等価回路モデルを用いたフィッティングなどの詳細なデータ解析なども行うことができます。 更に恒温槽や加熱炉などと組み合わせて、温度変調と電気化学測定を自動化させることも可能です。


東陽テクニカでは電気化学測定システムをさらに拡張する自社製ソフトウェアを多数開発しています。

決定係数R2って何?は今日でお終い!3分でわかるR二乗とは

学ぶことが大事だというイメージ

線を引くイメージ

早速決定係数(R 2 )にふれていくのですが、理解を深めるためには「回帰」という言葉を先に押さえておく必要があります。そこでまず「回帰」の意味から整理していきましょう。

つっちー

この回帰という言葉、調べて見るといろんな言葉で表現されており、統計の分野から見たときの説明と、機械学習の分野から見たときの説明では少し表現が違っているように見受けられたので念のため両方記載しておきます。ただ本質的には同じものを指しています。

<参考>統計と機械学習の違い
現代の機械学習は統計的機械学習と呼ばれるほど統計と機械学習では重なる部分が多いですが、二つは学問の目的が大きく違うと言われています。統計はデータの「説明」に重きを置いており、機械学習はデータの「予測」に重きを置いているようです。そのため統計ではなぜこの現象が起こったのか?を正確に説明することが求められ、一方機械学習では、手元に無い未知のデーから結果をうまく予測できるか?について重視されます。

線を引くイメージ

統計から見た「回帰」

回帰とは、求めたいものが売上や気温などの連続値であるときに、データの傾向やパターンを表現する数式を当てはめることです。

機械学習から見た「回帰」

「回帰」とは、正解となる数値と入力データの組み合わせでデータに潜むパターンや傾向を見つけ、手元に無い未知のデータから売上や気温などの連続値を予測することです

<イメージ例> 自分が飲食店を経営しているとして、手元にはこれまでの日毎の売上とその日の気温を記録してきたデータがあるとする。売上をy、気温をxとすれば、「売上yとその日の気温はxだったという組み合わせ」から、データの傾向はy=ax+bで表現できそうだ!明日気温が●度だからこの数式を使って明日の 売上を予測しよう!・・・というのが回帰です。

「ボールはともだち こわくないよ」ならぬ ”カーブフィッティングについてわかりやすく解説 「線形回帰」と「平均二乗誤差」はともだち こわくないよ”なんて言えたら爽快ですよね。これら専門的な単語は理解するのが難しいですが、仕事でAI(機械学習)を実装しようとするなら「知らないです」ではいけません。そこで今回はこの2つの単語について整理していきます。

決定係数(R2)とは

R

つっちー

本章からいよいよ決定係数(R 2 )について触れていきます!

そして今回のテーマである決定係数(R 2 )とは、

回帰によって導いたモデルの当てはまりの良さを表現する値で、モデルによって予測した値が実際の値とどの程度一致しているかを表現する評価指標です。

回帰直線のイメージ

こうしたモデルによる予測が実際の値に比べてどのくらい当たっているのか(どれだけズレが小さいか)を客観的に示す指標が決定係数(R 2 )です。

決定係数(R 2 )は普通0〜1の範囲の値をとり、値が大きいほどモデルが適切にデータを表現できている(線を引けている)ことを意味し、小さいほど適切にデータを表現できていないことを意味します。

具体的にはモデルの予測値と実際の値のズレ(誤差)が小さいほど決定係数 (R 2 ) は1に近づき、1では完全に一致(引いた線(モデル)の上に完全にデータが乗っている)しします。逆に予測値と実際の値のズレ(誤差)が大きいほど決定係数 (R 2 ) は小さくなり、予測が当たっていない状態を示します。なので決定係数(R 2 )の大小からモデルの良し悪しを判断できるというわけです。

※決定係数 (R 2 )が負の値をとる場合も時にありますが、そのような時はわざと予測を外すモデルになっていると判断できます。

決定係数(R2)は説明変数が目的変数をどれくらい説明できるかを表す

算数のイメージ

決定係数(R 2 )の説明を調べていると、「決定係数(R 2 )は説明変数(独立変数)が目的変数(従属変数)をどれくらい説明できるかを表す値です 」なんていう難しい説明も見られます。

    カーブフィッティングについてわかりやすく解説
  • 求めたいものを目的変数(従属変数)
  • 求めたいものに作用する変数を説明変数(独立変数)

データの傾向、パターンを上手く捉えられたモデルであればあるほど、モデルによって実際の値に近いyをxで説明できます。なので、「決定係数は、説明変数(独立変数)x が目的変数(従属変数)y をどれくらい説明できるかを表す値です」と言われているんですね。

サイコロの目を6分の1で予測→R2=0、100%的中→R2=1

サイコロのイメージ

また、別の角度から見てみると、決定係数(R 2 値)は常に平均値を出力する回帰モデルに比べて、相対的にどのくらい性能が良いかを表しているとも言えます。難しい表現ですが、これはサイコロを例に考えてみましょう。

サイコロをころころと転がした場合、各目が出る確率は6分の1ですよね。サイコロをふって出る目が何かを予測しようとした場合、モデルによる予測精度が6分の1なら決定係数(R 2 )は0になり、次に出る目を完全に予測できる時には決定係数(R 2 )は1となります。

つまり決定係数(R 2 )は、自然に起こる確率よりもどれだけ高い確率でモデルが結果を導けているか、ということがわかる指標とも言えます。

つっちー

ここまで様々決定係数(R 2 )について見てきましたが、回帰モデルを評価するには決定係数(R 2 )が最も直感的な基準だと言われています。

決定係数(R2)の値をどう判断するか

0~1のイメージ

決定係数 (R 2 )は普通 0〜 1の範囲の値をとることは前述しました。

データサイエンティストとして現在活躍されている方から僕が以前直接聞いた話ですが、決定係数( R 2 )を判断する大体の目安としては下記があるようです。(ただ人によって様々な見方があります)

<決定係数(R 2 値)の判断目安>

  • 0.6以下:モデルとして意味なしていない(全然予測できてない)
  • 0.8以上:すごい良いモデルができた!よくやりました!※ただ0.8以下の数値であってもデータ同士の関連性が存在する場合もあるので一つの指標としてみるべき。
  • 0.9以上:大丈夫?過学習してないか?

<参考>決定係数(R2)の数式

決定係数の数式

誤 1- カーブフィッティングについてわかりやすく解説 Sum_i (予測値_i – 実測値_i)^2 / Sum_i(予測値_i – 実測値の平均値)^2

回帰モデルの評価をする際、決定係数(R2)だけを見ていてはいけない

注意のイメージ

回帰モデルの評価する際には、決定係数だけを見て判断していてはいけません。決定係数( R 2 )の値を見るだけでなく、モデルそのものの汎化性能を見る必要があります。なぜなら前述したように決定係数( R 2 )が高くても未知のデータに対する予測が低ければ、それは汎化性能があるとは言えず過学習に陥っていることになるからです。

「ボールはともだち こわくないよ」ならぬ ”「線形回帰」と「平均二乗誤差」はともだち こわくないよ”なんて言えたら爽快ですよね。これら専門的な単語は理解するのが難しいですが、仕事でAI(機械学習)を実装しようとするなら「知らないです」ではいけません。そこで今回はこの2つの単語について整理していきます。

決定係数( R 2 )は平均二乗誤差(MSE)の尺度を取り直した一つの姿です。R2値=1のとき、モデルはMSE=0で完全に適合することになります。

自由度調整済み決定係数

調整のイメージ

決定係数(R 2 )とは別に「自由度調整済み決定係数」というものもあり、中には聞いたことのある方もいるかもしれません。

こちらは決定係数(R 2 )が説明変数(独立変数)の数が多くなるにつれて大きくなるという欠点を補うためのものです。自由度とはパラメータと思えばわかりやすいでしょう。説明変数(独立変数)の数で調整した決定係数( カーブフィッティングについてわかりやすく解説 R 2 )を、自由度調整済み決定係数と呼びます。

例えば「道端で出会った500組の夫婦に聞き取り調査を行った」とします。聞き取り調査によって得られたデータを利用して愛の深さを予測できる回帰モデルを作成し、その回帰モデルを利用して決定係数( R 2 )を算出したとします。

夫婦のイメージ

ここで冷静に考えてみると、作成した回帰モデルはあくまで「たまたま道端で出会った夫婦500組」に対して予測が当たるように作られたものですよね。この作成したモデルを、仮に国内全ての夫婦を対象として利用してみたとすれば予測結果は悪くなるでしょう。なぜなら、500組のデータの傾向と国内全ての夫婦データのそれは異なるはずからです。

そのため、500組の夫婦の聞き取りデータから導いたモデルの決定係数( R 2 )を国内全ての夫婦を対象としたものとして考えようとすれば、モデルによる予測の当てはまりの良さを本来よりも高く評価していることになってしまいます。

こうした問題が起こるので、あくまで「国内全体を対象」としたモデルの評価を見積れるように決定係数の値に調整を加えたものが「自由度調整済み決定係数」です。決定係数の値を修正するのにデータ数と説明変数の個数から求められる「自由度」という数字を用いているため「自由度調整済み決定係数」と呼ばれているんですね。

さて、今回は頭を悩ませがちな決定係数( R 2 )について一つずつ整理してきました。

  • 決定係数( R 2 )とは、回帰によって導いたモデルの当てはまりの良さを表現する値で、モデルによって予測した値が実際の値とどの程度一致しているかを判断する評価指標である
  • 決定係数( R 2 )は値が大きければ大きいほど良いが決定係数だけでなくモデルそのものの汎化性能を見る必要がある
  • 決定係数と自由度調整済み決定係数がわかる場合は、後者を利用すると良い

決定係数( R 2 )をはじめとして、専門用語は小難しい印象を与えるものばかりです。そうした背景もあって統計や機械学習の世界に足を踏み入れることに、最初は中々ハードルが高いと感じてしまう人も多いかもしれません。しかし一つ一つを紐解いていけば、わからない苦痛がわかる喜びへ、わかるが興味へ、そして面白さへと変わっていくものでしょう。

関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次
閉じる