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は行列で、xとbはベクトルです。Ax–bは、この式の残差を表します。
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の場合、近似曲線は最も平滑化されますが、この曲線はいかなるデータポイントとも重ならない場合があります。
非線形カーブフィット
非線形レーベンバーグ・マルカートメソッドは、最も一般的な曲線近似の方法で、yがa0, 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, の分散です。
ここで、 は確率 におけるn–mの自由度のステューデント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
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 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)の値をどう判断するか
決定係数 (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 )をはじめとして、専門用語は小難しい印象を与えるものばかりです。そうした背景もあって統計や機械学習の世界に足を踏み入れることに、最初は中々ハードルが高いと感じてしまう人も多いかもしれません。しかし一つ一つを紐解いていけば、わからない苦痛がわかる喜びへ、わかるが興味へ、そして面白さへと変わっていくものでしょう。
コメント