最適化指標¶
最適化指標ドロップダウンから使用できる全ての指標と短い説明を次の表に示します。表の下のセクションでは、インターネットの情報に基づく詳細な説明を示します。
加重指標の場合、加重はスマートダウンサンプリングおよび高度なオプションの加重パラメーターの値の指定に基づきます。これによって、評価指標の計算において、それらのウェイトが考慮されるようになります。使用する指標はプロジェクトタイプに応じて異なります。プロジェクトタイプは、R(連続値)、C(二値分類)、またはM(多クラス)です。
ヒント
スコアリングモデルでDataRobotが選択する指標は、通常、最良の選択オプションです。指標の変更は高度な機能なので、指標およびその背後にあるアルゴリズムが十分に理解されている場合にのみ推奨されます。
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
正解率 | 正解率 | サブセットに対する精度を計算します。サンプルに対して予測されたラベルのセットは、y_trueのラベルの対応するセットに完全に一致する必要があります。 | 二値分類、多クラス |
AUC/加重AUC | ROC曲線の下の領域 | 正例と負例に対する識別能を算出します。多クラス分類の場合、AUCは各クラスについてone-vs-allで計算された後にクラスの出現頻度に基づいた加重平均を行います。 | 二値分類、多クラス |
PR曲線の下の領域 | PR(プレシジョン–リコール)曲線の下の領域 | プレシジョン-リコール曲線下の領域の近似。陽性的中率とリコールを1つのスコアにまとめます。不均衡なターゲットに適しています。 | 二値分類 |
均衡正解率 | 均衡正解率 | クラスごとにone-vs-allで計算された精度の平均 | 多クラス |
FVE Binomial/加重FVE Binomial | 説明された分散の割合 | 二項分布のフィッティングに基づいて尤離度を測定します。 | 二値分類 |
FVE Gamma/加重FVE Gamma | 説明された分散の割合 | Gamma Devianceの場合 | 連続値 |
FVE多項/加重FVE多項 | 説明された分散の割合 | 多項分布のフィッティングに基づいて尤離度を測定します。 | 多クラス |
FVE Poisson/加重FVE Poisson | 説明された分散の割合 | Poisson Devianceの場合 | 連続値 |
FVE Tweedie/加重FVE Tweedie | 説明された分散の割合 | Tweedie Devianceの場合 | 連続値 |
Gamma Deviance/加重Gamma Deviance | Gamma Deviance | ターゲットがひずみ、Gamma分布している場合に予測された平均値の不正確性を測定します。 | 連続値 |
ジニ/加重ジニ | ジニ係数 | ランク付けの能力を測定します。 | 連続値、二値分類 |
正規化ジニ/加重正規化ジニ | 正規化ジニ係数 | ランク付けの能力を測定します。 | 連続値、二値分類 |
KS | Kolmogorov-Smirnov | 2つのノンパラメトリック分布の間の最大距離を測定します。二値分類子の格付けに使用されるKSは、True PositiveとFalse Positive分布の間の乖離度に基づいてモデルを評価します。KS値はROC曲線に表示されます。 | 二値分類 |
LogLoss/加重LogLoss | 対数損失 | 予測された確率の不正確性を測定します。 | 二値分類、多クラス |
MAE/加重MAE* | 平均絶対誤差 | 予測された中央値値の不正確性を測定します。 | 連続値 |
MAPE/加重MAPE | 平均絶対パーセント誤差 | 平均値のパーセント不正確性を測定します。 | 連続値 |
MASE | 平均絶対スケール誤差 | ベースラインモデルに関する相対パフォーマンスを測定します。 | 連続値(時系列のみ) |
最大MCC/加重最大MCC | 最大マシューズ相関係数 | 予測クラスラベルと実測クラスラベルの間のマシューズ相関係数の最大値を測定します。 | 二値分類 |
Poisson Deviance/加重Poisson Deviance | Poisson尤離度 | カウントデータの予測された平均値の不正確性を測定します。 | 連続値 |
R二乗/加重R二乗 | R二乗 | モデルで説明される結果の合計変動の割合を測定します。 | 連続値 |
Rate@Top5% | Rate@Top5% | 最上位5%の最高予測の応答率。 | 二値分類 |
Rate@Top10% | Rate@Top10% | 最上位10%の最高予測の応答率。 | 二値分類 |
Rate@TopTenth% | Rate@TopTenth% | 最上位0.1%の最高予測の応答率。 | 二値分類 |
RMSE/加重RMSE | 二乗平均平方根誤差 | ターゲットが正規分布している場合の予測された平均値の不正確性を測定します。 | 連続値、二値分類 |
RMSLE/加重RMSLE* | 対数二乗平均平方根誤差 | ターゲットがひずみ、正規対数分布している場合の予測された平均値の不正確性を測定します。 | 連続値 |
SMAPE/加重SMAPE | 対称平均絶対パーセント誤差 | 平均値のパーセント誤差(制限付き)を測定します。 | 連続値 |
合成AUC | 曲線の下の合成領域 | AUCを計算します。 | 教師なし |
Theil's U | Henri Theil's U Index of Inequality | ベースラインモデルに関する相対パフォーマンスを測定します。 | 連続値(時系列のみ) |
Tweedie Deviance/加重Tweedie Deviance | Tweedie Deviance | ターゲットがゼロ過剰でひずんでいる場合の予測された平均値の不正確性を測定します。 | 連続値 |
* これらの指標は平均値に対して最適化されないので、(平均値を表示する)リフトチャートの結果は、それを指標として使用するほとんどのモデルにおいて誤解を招くものになります。
DataRobotの指標¶
このセクションでは、DataRobotの最適化指標について詳細に説明します。
備考
DataRobotの最適化指標とEureqaエラー指標には、いくつかの類似点があります。しかし、指標式が別の形で表現される場合があります。たとえば、予測がy^
と表される場合とf(x)
と表される場合があります。これは両方とも正しい表示で、ニュアンスとして、y^
は過程にかかわらず一般的な予測を示し、f(x)
は基となる方程式を表すことのある関数を示します。
正解率/均衡正解率¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
正解率 | 正解率 | サブセットに対する精度を計算します。サンプルに対して予測されたラベルのセットは、y_trueのラベルの対応するセットに完全に一致する必要があります。 | 二値分類、多クラス |
均衡正解率 | 均衡正解率 | クラスごとにone-vs-allで計算された精度の平均 | 多クラス |
精度指標は分類問題に適用され、指定したしきい値に基づいて、すべての予測の総数に対する正しい予測の総数の割合を取得します。True Positives(TP)およびTrue Negatives(TN)が正しい予測で、False Positives(FP)およびFalse Negatives(FN)が間違った予測です。以下に式を示します。
多クラスで使用する場合、均衡正解率では、各クラスの正しく予測されたクラスが計算されます。この場合、Negative予測に割り当てられるクラスが複数存在するのでTrue Negativesはありません。代わりに、指標では、すべての予測の総数に対する正しい予測の総数の割合が使用されます。このスタックオーバーフローの例は、3つのクラス(A
、B
、およびC
)が存在する場合の方程式は
「均衡正解率 = (TP_A + TP_B + TP_C) / Total prediction count
(上記のイメージにおいては(30 + 60 + 80) / 300
)」となります。
加重の使用:混同行列の各セルは、そのセル内のサンプルの重みの合計になります。加重がない場合、暗黙の重みは1なので、重みの合計は観測値の数でもあります。
バランスの悪いデータセットでは精度のパフォーマンスが低下します。たとえば、95のNegativeと5つのPositiveサンプルがある場合、すべてのサンプルをNegativeとして分類すると精度スコアは0.95になります。均衡正解率(bACC)を使用すると、True PositivesおよびTrue Negativesの予測をそれぞれPositiveおよびNegativeのサンプルの数で正規化し、その合計を2で割ることによって、この問題が解決されます。これは、次の方程式と同等です。
Approximate Median Significance(使用非推奨)¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
AMS@15%tsh | Approximate Median Significance | 15%のしきい値で推定有意の中央値を測定します。 | 二値分類 |
AMS@opt_tsh | Approximate Median Significance | 最適なしきい値で推定有意の中央値を測定します。 | 二値分類 |
Approximate Median Significance(AMS)指標では、二値分類問題の2つのクラスが「シグナル」(True Positives)と「バックグラウンド」(False Positives)として区別されます。この指標は、ヒッグス粒子を確認したATLASの実験(Kaggleコンペティション)で広く注目されました。
シグナルイベントの確率は、通常、バックグラウンドイベントの確率よりも数桁低いので、シグナルおよびバックグラウンドのサンプルは、通常、バランスの取れた分類問題となるように正規化されます。次に、この再加重サンプルで実数値判別関数がトレーニングされ、加重分類誤差が最小化されます。シグナル領域は判別式値を特定のしきい値で区切ることによって定義されます。このしきい値は、統計検定の感度を最大化するために、提供されたセットで最適化されることがあります。
分類子(g
)および(正)によって選択された n 個の観測イベントでは、g
発見の(Gaussian)意義はおおよその標準偏差になります。ここで、
はバックグラウンド観測値の予期値で、
はシグナル観測値の予期値です。
つまり、は、
g
をトレーニングするためのの目的関数を示唆します。しかし、これは、実際には希な
s << b and b >> 1
の場合にのみ有効です。この範囲の目的関数の動作を改善するために、AMS目的関数は次によって定義されています。
s``b
(シグナル)、(バックグラウンド)の場合:正規化されていないTrue PositivesおよびFalse Positivesのレートは、それぞれ10に等しい定数に設定された正則化項です。
分類子は、シミュレートされたバックグラウンドおよびシグナルイベントでトレーニングされます。AMS(s
およびb
)は、それぞれ選択領域におけるシグナルおよびバックグラウンド加重の合計で、目的は選択されたイベントの加重の関数です。イベントの自然な(以前の)確率とシミュレーターによって適用される機器的確率の間の不一致を修正するために、各イベントの加重がシミュレーターによって生成されます。サンプルを再正規化してバランスの取れた分類が生成された後、この再加重サンプルで実数値判別関数がトレーニングされ、加重分類誤差が最小化されます。シグナル領域は判別式値を特定のしきい値で区切ることによって定義されます。このしきい値は、統計検定の感度を最大化するために、提供されたセットで最適化されます。
AUC/加重AUC¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
AUC/加重AUC | ROC曲線の下の領域 | 正例と負例に対する識別能を算出します。多クラス分類の場合、AUCは各クラスについてone-vs-allで計算された後にクラスの出現頻度に基づいた加重平均を行います。 | 二値分類、多クラス |
ROC曲線のAUCは、分類問題のパフォーマンス指標です。ROCは確率曲線で、AUCは可分性の程度や指標を表します。指標範囲は0~1で、モデルでクラスを区別することのできる能力を示します。AUCが高いほど、モデルでのNegative(0を0として判別)およびPositive(1を1として判別)の予測が高くなります。ROC曲線は、可能な各しきい値においてY軸の真陽性率 (感度)とX軸の偽陽性率(真陰性率)がどれだけ異なるかを示します。
多クラスモデルでは、「1対すべて」の方法論を使用して n 個のクラスに対して n 個のAUC/ROC曲線をプロットできます。たとえば、X
、Z
、およびZ
という名前の3つのクラスがある場合、X
とX
から区別されたY
に1つのROCがあり、Z
とX
から区別されたY
に別のROCがあります。さらに、Z
とY
から区別されたY
に3番目のROCがあります。ROC曲線とROC領域を多クラスまたは多ラベル分類に拡張するには、出力を二値化する必要があります。
ラベルごとに1つのROC曲線を描画できますが、ラベルインジケーター行列の各要素を二値予測と見なしたROC曲線を描画することもできます。これは、各ラベルの分類に均等な加重を加えるマクロ平均化です。
PR曲線の下の領域¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
PR曲線の下の領域 | PR(プレシジョン–リコール)曲線の下の領域 | プレシジョン-リコール曲線下の領域の近似。陽性的中率とリコールを1つのスコアにまとめます。不均衡なターゲットに適しています。 | 二値分類 |
プレシジョン-リコール(PR)曲線は、モデルの陽性的中率とさまざまな確率しきい値でのリコールとの間のトレードオフを示します。プレシジョンとは、Positiveと予測された中でのTrue Positives (真陽性)の割合です(TP / (TP + FP)
)。リコールは、実際にPositiveのケースの中でPositiveと予測されたケースの割合です(TP/ (TP + FN)
)。
PR曲線の下の領域は常に正確に計算できるとは限らないため、前のしきい値からのリコールの改善によって加重された、各しきい値でのプレシジョンの加重平均の平均が使用されます。
PR曲線の下の領域は、マイノリティークラスが対象の「Positive」クラスである不均衡クラスの問題に非常に適しています(そのようにエンコードされていることが重要です)。陽性的中率とリコールは両方ともPositiveクラス抽出に関する情報のサマリーを提供し、True Negatives(真陰性)からの通知は行われません。
領域の補完とは対照的に、上記のアプローチを使用することの相対的なメリットの詳細については、以下を参照してください。
尤離度指標¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
Gamma Deviance/ 加重Gamma Deviance | Gamma Deviance | ターゲットがひずみ、Gamma分布している場合に予測された平均値の不正確性を測定します。 | 連続値 |
Poisson Deviance/加重Poisson Deviance | Poisson尤離度 | カウントデータの予測された平均値の不正確性を測定します。 | 連続値 |
Tweedie Deviance/加重Tweedie Deviance | Tweedie Deviance | ターゲットがゼロ過剰でひずんでいる場合の予測された平均値の不正確性を測定します。 | 連続値 |
尤離度は、モデルのフィッティングのよさ(モデルがデータにどれだけフィッティングしているか)の指標です。技術的には、これはフィッティングした予測モデルと、観測値の完全なモデル(飽和モデル)との比較です。通常、これは対数尤度関数(最大尤推定から決定されたパラメーター)の2倍として定義されます。したがって、尤離度は、フィッティングしたモデルと飽和モデルの間の尤度差として定義されます。その後、尤離度は常に0以上になります(0は適合が完璧である場合にのみ出現します)。
尤離度指標は、Generalized Linear Modelの原則に基づきます。したがって、尤離度は、ターゲット値と予測値の誤差のある種の測定です。この場合の予測値は、で示されるリンク関数を介して実行されます。リンク関数としては、線形モデルの予測を0~1の確率に変換するためにロジスティック回帰で使用されるロジット関数が挙げられます。つまり、各尤離度方程式は、ターゲットデータに適用可能と見なされる分散のタイプで機能することを意図した誤差指標です。
たとえば、ターゲットが正規分布の場合は、二乗誤差の合計が使用されます。
およびPythonの実装:np.sum((y - pred) ** 2)
この場合、逸脱度指数は二乗誤差の合計です。
データが一方に偏っているGamma分布の場合(顧客の店舗滞在時間の分布などで右すそが長い場合など)、尤離度は次のようになります。
Python: 2 * np.mean(-np.log(y / pred) + (y - pred) / pred)
対象が予測数または発生数であるPoisson分布の場合、関数は次のようになります。
Python: 2 * np.mean(y * np.log(y / pred) - (y - pred))
Tweedieの場合、関数は少し複雑になります。Tweedie Devianceは、ターゲットにTweedie分布があると仮定し、モデルがデータにどれだけ適合するかを測定します。Tweedieは、比較的多くの0があり、残りは連続値であるゼロ過剰の回帰問題で一般的に使用されます。乖離の値が小さいほどモデルの精度が高くなります。Tweedie Devianceは非常に複雑な指標なので、FVE(説明された尤離度の割合)Tweedieを使用してモデルを説明する方が簡単な場合があります。この指標はR^2と同等ですが、正規分布ではなくTweedie分布用です。1のスコアは完全な説明です。
Tweedie Devianceでは、正規、Poisson、Gammaを始めとするさまざまな分布を区別することを意図しています。これには、ゼロが大半であり、その他の値で連続的になるPoissonとGammaの混合分布のクラス(ゼロ過剰分布など)が含まれます。この場合、関数は次のようになります。
Python: 2 * np.mean((y ** (2-p)) / ((1-p) * (2-p)) - (y * (pred ** (1-p))) / (1-p) + (pred ** (2-p)) / (2-p))
ここで、パラメーターp
は各分布を区別する指標値です。たとえば、0は正規分布で、1はPoisson分布、1.5はTweedie、そして2はGamma分布です。
これらの指標スコアの解釈はあまり直感的ではありません。y
およびpred
の値はターゲットの単位(ドルなど)ですが、上述のとおり、ログ関数とスケーリングにより解釈は複雑になります。
これは、加重乗数を使用することにより加重尤離度関数に変換できます。たとえば、Poissonの場合は次のようになります。
備考
いくつかの計算でのログ関数と予測の分母が原因で、これが機能するのは正の応答だけです。したがって、予測は厳密に正の(max(pred, 1e-8))
になり、実測値は乖離度関数に応じて、負でない(max(y, 0))
または厳密に正の(max(y, 1e-8))
になります。
FVE尤離度指標¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
FVE Binomial/加重FVE Binomial | 説明された分散の割合 | 二項分布のフィッティングに基づいて尤離度を測定します。 | 二値分類 |
FVE Gamma/加重FVE Gamma | 説明された分散の割合 | Gamma Devianceの場合 | 連続値 |
FVE多項/加重FVE多項 | 説明された分散の割合 | 多項分布のフィッティングに基づいて尤離度を測定します。 | 多クラス |
FVE Poisson/加重FVE Poisson | 説明された分散の割合 | Poisson Devianceの場合 | 連続値 |
FVE Tweedie/加重FVE Tweedie | 説明された分散の割合 | Tweedie Devianceの場合 | 連続値 |
FVEは、「Fraction of deviance explained」を意味します。これは、総尤離度(誤差)のうちモデルでキャプチャされた部分を示します。これは次のように定義されます。
Residual Deviance(残差尤離度)は、上記に示す尤離度指標です。Null Deviance(Null尤離度)は、「最悪」なモデル(予測なしで適合したモデル)と完璧なモデルの間の尤離度です(しかしその他のモデルが過剰適合することがあります。モデルが平均モデルよりも劣っている場合、これはNegativeになります)。Null Deviance(Null尤離度)は、予測子 X1...Xk
を追加することによってモデルがどれだけ向上したかを比較する際に使用されます。これはR2統計と同じ方法で行うことができ、従ってR2と同じようになります。
1 - (deviance(fitted logistic, saturated model) /
deviance(null model, saturated model))
従って、説明された分散の割合の分数は、従来の線形回帰モデルのR二乗値に等しくなります。しかし、従来のR二乗値とは異なり、指数型回帰モデルに一般化されます。差分をNull Deviance(Null逸脱度)でスケールすることによって、FVEの値は0~1になりますが、常にそうであるとは限りません。モデルでの応答の予測が悪く、新しい観測値および交差検定済みアウトオブサンプルデータが大きく異なる場合に0以下になることがあります。
多クラスプロジェクトの場合、FVE多項式ではloss = logloss(act, pred)
およびloss_avg = logloss(act, act_avg)
が計算されます。
act_avg
はワンホットエンコードされた「実測」データです。- 各クラス(列)は
N
個のデータポイントで平均化されます。
基本的に、act_avg
は、各クラスに属するデータの割合(%)を含むリストです。FVEは1 - loss / loss_avg
によって計算されます。
ジニ係数¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
ジニ/加重ジニ | ジニ係数 | ランク付けの能力を測定します。 | 連続値、二値分類 |
正規化ジニ/加重正規化ジニ | 正規化ジニ係数 | ランク付けの能力を測定します。 | 連続値、二値分類 |
機械学習では、ジニ係数またはジニ指数は、予測を正確にランク付けするモデルの能力を測定します。ジニは実質的にAUCと同じですが、-1~1のスケールです(0はランダム分類子のスコアです)。正規化ジニが1の場合、モデルは入力を完璧にランク付けします。ジニは、予測値自体ではなく、予測のランク付けを重視する場合に役立ちます。
ジニは0~1の正規化された値の割合として定義されます。(分子は後述するローレンツ曲線と45度の均等分布線の間の面積です。)
したがって、ジニ係数は、下側の三角形の面積で除算された青い面積として定義されます。
ジニ係数は、均等分布線の下の面積(定義により0.5)からローレンツ曲線の下の面積を引いたものを均等分布線の下の面積で割ったものに等しくなります。つまり、ローレンツ曲線と均等分布線の間の面積の2倍です。したがって、45度の線は均等分布を表します。ジニ係数は、均等分布線とローレンツ曲線の間の面積(A
)と均等分布線の下のすべての面積(A + B
)の割合と考えることができます。したがって、次のことが言えます。
Gini = A / (A + B)
ジニ係数は2A
と1 − 2B
にも等しいです。これはA + B = 0.5
という事実に基づきます(軸のスケールは0から1です)。
ジニ係数は、受信者動作特性(ROC)曲線とその対角線の間の面積の2倍としても定義できます。この場合、パフォーマンスのAUC(ROC曲線下の面積)測定はAUC = (G + 1)/2
によって示されるか、2 * AUC-1
として要因に含められます。
ジニ係数の目的はAUCを正規化することなので、ランダムな分類子のスコアは0で、完璧な分類子のスコアは1です。最後に、ジニ係数スコアの範囲は[-1, 1]ですが、実際には0が下限です。完全な45度線とローレンツ曲線を統合して同じジニ値を得ることもできますが、先に説明した方法の方が簡単です。
経済学の分野では、ジニ係数は、国民の所得分布を統計的に表す尺度で、不平等を表す尺度として最も広く使用されています。0のジニ係数は完全な平等を表し、すべての値は同じになります(全員の所得額が同じである場合など)。このコンテキストでは、1のジニ係数(100%)はすべての値の中での最大の不平等を表します(大勢の中ですべての所得または使用が1人にだけ集中し、その他全員の所得や使用がゼロの場合、ジニ係数は限りなく1に近くなります)。一部の人の全体に対する貢献がNegativeの場合(所得がマイナスの場合など)、1よりも大きい値が発生することがあります。この経済学の例を使用すると、ローレンツ曲線は、人口パーセンタイルを所得ごとに水平軸にプロットし、累積所得を直線軸にプロットすることによって所得分布を示します。正規化ジニ係数は、理論的最大値を使用してスコアを調整するので、最大スコアは1になります。スコアは正規化されるので、値をランク付けできるようなもの同士のジニ係数値を比較することが可能です。たとえば、国別の経済格差はジニ係数で評価するのが一般的で、国のランク付けに使用されます
ランク | 国 | 家計所得の分布 — ジニ係数 | 情報の日付 |
---|---|---|---|
1 | レソト | 63.2 | 1995 |
2 | 南アフリカ | 62.5 | 2013年推測。 |
3 | ミクロネシア連邦 | 61.1 | 2013年推測。 |
4 | ハイチ | 60.8 | 2012 |
5 | ボツワナ | 60.5 | 2009 |
機械学習のコンテキストでのジニ係数指標の使用例としては、個々のサンプルではなく、実測値と予測値を使用してジニ係数を計算することが考えられます。上記の例では国内人口の個々の所得のサンプルからジニ係数を生成した場合、ローレンツ曲線は所得の累積合計ごとの人口割合の関数になります。機械学習のコンテキストでは、実測値と予測値からジニ係数を生成できます。実測地と予測値をペアにして、予測値でソートするアプローチが考えられます。この場合、ローレンツ曲線は、実測値の累積合計(クラス1値の1のある時点までの合計)ごとの予測値の関数です。次に、上記の方程式の1つを使用してジニを計算します。
具体例については、ブラジルの保険会社Porto Seguro社のSafe Driverに関するKaggleコンペティションおよびその説明を参照してください。
Kolmogorov–Smirnov(KS)¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
KS | Kolmogorov-Smirnov | 2つのノンパラメトリック分布の間の最大距離を測定します。二値分類子の格付けに使用されるKSは、True PositiveとFalse Positive分布の間の乖離度に基づいてモデルを評価します。KS値はROC曲線に表示されます。 | 二値分類 |
KS(Kolmogorov-Smirnov)チャートは、分類モデルのパフォーマンスを測定します。具体的に言うと、KSは、Positive分布とNegative分布の分離度の指標です。スコアによってグループが2つに分割され、1つのグループにすべてのPositiveが含まれ、もう一方のグループにすべてのNegativeが含まれる場合、KSは100になります。一方、モデルでPositiveとNegativeを区別できない場合、母集団からランダムにケースを選択した場合と同じ結果になります。その場合、KSは0になります。ほとんどの分類モデルでは、KSは0~100の値です。値が高いほど、モデルにおけるPositiveケースとNegativeケースの分離のパフォーマンスが優れています。
二値分類に関するこの論文では、KSは、2つのデータクラス(この目的では2つのサンプルを意味するものとしてKS2と呼ばれます)に関してスコアによって生成される累積分布関数(CDF)間の距離を測定する分類子の判別能力を評価する相違指標として使用されています。両方の目的における通常の指標は、CDF間の垂直方向の最大差 (MVD)です(MaxKS)。これはスコア範囲やスケールは変わらないため、分類器同士の比較に適しています。MVDは、X軸上の1点における2つの曲線の間の垂直距離です。Max_KSは、この距離が最大となる単一の点です。
LogLoss/加重LogLoss¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
LogLoss/ 加重LogLoss | 対数損失 | 予測された確率の不正確性を測定します。 | 二値分類、多クラス |
クロスエントロピーLoss(Log Loss)は、出力が0~1の間の確率値である分類モデルのパフォーマンスを測定します。LogLossは、予測された確率が実測値から乖離するにしたがって増加します。例えば、実測の観測値ラベルが1のときに0.12の確率の予測である場合、または実測観測値ラベルが0のときに0.91が予測された場合、結果は「不良」で、誤分類の確率よりも真のラベル値に近い高いLoss値になります。完璧なモデルのLogLossは0になります。
上のグラフは、真の観測値(true = 1)が与えられたときにLoss値が取りうる範囲を示します。予測された確率が1に近くなると、LogLossはゆっくりと減少します。しかし、予測確率が減少すると、LogLossは急激に増加します。LogLossでは両方のタイプの誤差にペナルティが科せられますが、信頼度が高く 間違っている予測に対して特にペナルティが科せられます。
クロスエントロピーとLogLossはコンテキストに応じて若干異なりますが、機械学習では、0~1の誤差率を計算する場合、解決する対象は同じです。
二値分類では、方程式は次のようになります。
-(ylog(p) + (1 - y)log(1 - p))
ここで、p
はy
の予測値です。
多クラスと同様に、観測値の各クラス予測のLogLoss値の合計を取ります。
これは、クラスに加重を加えることによって加重Loss関数に変換できます。
MAE/加重MAE¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
MAE/加重MAE | 平均絶対誤差 | 予測された中央値値の不正確性を測定します。 | 連続値 |
DataRobotでは、中央値を使用して絶対偏差を測定する「MAE」指標が実装されています。これは、より精度の高い絶対偏差(絶対誤差)の計算です。これは、絶対誤差に関する損失関数の最適化において、派生した最良値は系列の中央値であるという事実に基づいています。
その理由を考察します。まず最適な値に要約したい数値の系列(予測値x1,x2,…,xn
)があるとします。これを単一の数値(s
)に要約する場合、どのようにs
を選択すれば予測値(x1,x2,…,xn
)を効果的に要約できるでしょうか。個々のxi
について、xi
とs
の間の誤差偏差を、提案されたs
の値の品質の合計として1つに集計します。この集計を実行するには、個々のxi
の偏差を合計した結果E
を求めます。
最小誤差になるようにs
を解くと、損失関数E
は平均値ではなく中央値に最適化されます。同様に、平方誤差の損失関数の最良値は平均値に最適化されます。したがって、これは平均平方誤差になります。
MAEは「平均絶対誤差」の略ですが、MAEは中央値を正しく予測するためにモデルを最適化します。これは、RMSEが「二乗平均平方根誤差」であることと似ていますが、平均を正確に予測するために最適化しています(平均を二乗しているわけではありません)。
DataRobotでは、MAEに最適化する場合に興味深い不一致が見られます。ほとんどのインサイトでは平均値がレポートされます。したがって、モデルでは、分布の各ポイントにおいて過小予測または過大予測が行われるので、すべてのリフトチャートは「オフ」に見えます。リフトチャートでは平均値が計算されますが、MAEは中央値に最適化されます。
これは、観測値に加重を加えることによって加重LogLoss関数に変換できます。
残念ながら統計学の文献では、平均値周辺の平均絶対偏差(MAD)と平均絶対誤差(DataRobotでは「MAE」と表記)は、頭文字をとって両方ともMADと表記されることがあり、表記が統一されていません。通常これらの値は大きく異なる可能性があるため、混乱を招く恐れがあります。
MAPE/加重MAPE¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
MAPE/加重MAPE | 平均絶対パーセント誤差 | 平均値のパーセント不正確性を測定します。 | 連続値 |
MAEには、誤差の相対サイズが常に明らかでないという問題があり、大きい誤差と小さい誤差を見分けることが困難なことがあります。この問題に対処するために、平均絶対誤差をパーセントで求めます。平均絶対パーセント誤差(MAPE)を使用すると、さまざまなスケールでさまざまな系列の予測を比較できます。たとえば、2つの店舗の販売量が異なる場合でも、1つの店舗の販売予測の精度を同じような別の店舗の販売予測と比較することができます。
MASE¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
MASE | 平均絶対スケール誤差 | ベースラインモデルに関する相対パフォーマンスを測定します。 | 連続値(時系列のみ) |
MASEは予測の精度の指標で、ナイーブベースラインモデルに対するモデルの比較(ベールラインモデルに対するMAEのシンプルな比率)です。MASEには、相対的な精度ゲインの観点から容易に解釈および説明できるという利点があるので、モデルを比較する際に推奨されます。DataRobot時系列プロジェクトでは、ベースラインモデルは、最長の周期性に一致する最新の値を使用するモデルです。プロジェクトには異なる周期性のある複数のナイーブ予測がある場合がありますが、DataRobotは最長のナイーブ予測を使用してMASEスコアを計算します。
ここで、a
は対象のモデルで、b
はナイーブベースラインモデルです。
最大MCC/加重最大MCC¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
最大MCC/加重最大MCC | 最大マシューズ相関係数 | 予測クラスラベルと実測クラスラベルの間のマシューズ相関係数の最大値を測定します。 | 二値分類 |
マシューズ相関係数は二値分類の均衡指標で、混同行列の4つの象限すべてが考慮されています。これは次のように計算されます。
各パラメーターについて説明します。
結果 | 説明 |
---|---|
True Positive(TP) | モデルが陽性と正しく分類されている場合。 |
False Positive(FP) | モデルが陽性と誤って分類されている場合。 |
True Negative(TN) | モデルが陰性と正しく分類されている場合。 |
False Negative(FN) | モデルが陰性と誤って分類されている場合。 |
値の範囲は[-1, 1]で、1が完璧な予測を表します。
混同行列のエントリーは予測しきい値に依存するので、DataRobotでは、可能な予測しきい値よりもMCCの最大値が優先されます。
R二乗(R2)/加重R二乗¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
R二乗/加重R二乗 | R二乗 | モデルで説明される結果の合計変動の割合を測定します。 | 連続値 |
R二乗は、予実の精度(データが予実連続値線にどれだけ近いか)の統計的指標です。R二乗は、決定係数(重連続値分析の重決定係数)とも呼ばれます。分散の説明が示すように、R二乗は、線形モデルで説明される目的変数の偏差のパーセンテージです。R二乗は一般的に0~100%です。0%は、平均値の周辺の応答データのいずれの変動もモデルで説明されないことを示します。100%は、平均値の周辺の応答データのすべての変動がモデルで説明されることを示します。
結果が負のR値になることがあります。その場合、モデルの予測は平均値よりも悪いことを示します。この状況は、問題のあるトレーニングデータなどが原因で発生することがあります。時間認識プロジェクトの場合、時間の経過に伴う平均値の変化が原因で、R二乗の結果が負の値になる可能性が高くなります。高い平均周期でモデルをトレーニングし、低い平均周期でテストした場合、結果が大きな負のR二乗値になることがあります。(ランダムサンプリングでパーティション分割を行った場合、トレーニングおよびテストセットのターゲット平均値は大体同じなので、負のR二乗値が発生する可能性は低くなります。)一般的に、負のR二乗値のモデルは回避することをお勧めします。
ここで、SS_res
は残差平方和です。
SS_tot
は全平方和です(データの分散に比例します)。
加重R二乗の場合、SS_res
は次のようになります。
SS_tot
は次のようになります。
R二乗の主な制限:
-
R二乗では、係数推定および予測がバイアスされているかどうかが判断できないので、残差プロットを評価する必要があります。
-
R二乗は人為的に高くすることができるので、独立した特徴量をモデルに多く追加するだけでR二乗の値を増加させることができます。つまり、独立した特徴量が追加されることでR二乗が減少することはありません。このような特徴量は重要ではなく、モデルにとって全く意味のない場合があります。
-
R二乗は、連続値モデルが適切であるかどうかを示しません。良好なモデルでもR二乗の値が低い場合があり、データに適合しないモデルでR二乗の値が高い場合もあります。その結果、R二乗値を解釈する際には注意が必要です。
R二乗値が低い場合でも、必ずしもモデルの適合性が悪いわけではありません。分野によっては、全体的にR二乗の値が低くなることがあります。たとえば、心理学など、人の行動を予測しようとする分野では、R二乗の値は一般的に50%以下です。この理由は、人の行動は物理的プロセスなどに比べて予測が困難であるからです。
同様に、R二乗の値が高い場合でもモデルの適合性が高くない場合があります。高いR二乗の値は、必ずしもモデルの適合性が高いことを示すものではありません。たとえば、適合線プロットが良好なフィッティングを示し、高いR二乗を表すように見える場合でも、残差プロットは体形的に過大な予測または過小な予測を示し、高いバイアスが確認されることがあります。
DataRobotでは、アウトオブサンプルデータが計算され、特徴量を追加すると値が増加する、またはR2を非線形技法に適用できないなどの従来の批評が緩和されます。アウトオブサンプルデータはRMSEのスケールされたバージョンとして扱われ、平均モデル(R2 = 0)との比較を行い、そのパフォーマンスが優れているか(R2 > 0)劣っているか(R2 < 0)を判断できます。
Rate@Top10%, Rate@Top5%, Rate@TopTenth%¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
Rate@Top5% | Rate@Top5% | 最上位5%の最高予測の応答率。 | 二値分類 |
Rate@Top10% | Rate@Top10% | 最上位10%の最高予測の応答率。 | 二値分類 |
Rate@TopTenth% | Rate@TopTenth% | 最上位0.1%の最高予測の応答率。 | 二値分類 |
Rate@Top5%、Rate@Top10%、およびRate@TopTenth%は、分類モデルの精度の指標で、最も高い予測の上位5%、上位10%、および上位0.1%の精度の計算です。たとえば、次のような昇順に並べられた100の予測を考えてみます:[05, .08, .11, .12, .14 … .87, .89, .91, .93, .94]。しきい値が0.87以下である場合、0.87から0.94までの上位5%の予測はPositiveクラス(1)に割り当てられます。上位5%の実測値が[1, 1, 0, 1, 1]である場合、Rate@Top5%の精度指標は80%になります。
RMSE、加重RMSE、およびRMSLE、加重RMSLE¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
RMSE/ 加重RMSE | 二乗平均平方根誤差 | ターゲットが正規分布している場合の予測された平均値の不正確性を測定します。 | 連続値、二値分類 |
RMSLE/ 加重RMSLE* | 対数二乗平均平方根誤差 | ターゲットがひずみ、正規対数分布している場合の予測された平均値の不正確性を測定します。 | 連続値 |
二乗平均平方根誤差(RMSE)は、実測値と予測値の違いを取るという点でMADに似た精度の指標です。しかし、RMSEでは、絶対値を適用するのではなく、差分が二乗され、平方根が求められます。
したがって、RMSEは常に非負で、0の値はデータに対して完全にフィッティングしていることを示します。一般的に、RMSEが低いモデルは、RMSEが高いモデルよりもモデルの適合性は高くなります。しかし、タイプの異なるデータの比較の場合、指標は使用された数値のスケールに依存するので、これは該当しません。
RMSEは二乗誤差の平均の平方根です。RMSEの各誤差の影響は、二乗誤差のサイズに比例します。したがって、誤差が大きい場合、RMSEに対して偏った大きい影響が生じます。その結果として、RMSEは外れ値に対する感度が高くなります。
対数二乗平方誤差(RMSLE)は、ゼロの自然対数を取ることを避けるために、自然対数を取る前に実測値と予測値の両方に1を加えます。したがって、実測値または予測値に0の値の要素がある場合でも関数を使用できます。ここで問題となるのは、実測値と予測値の間のパーセント差分だけです。たとえば、P = 1000でA = 500の場合の誤差は、P = 100000でA = 50000の場合とほぼ同じになります。
これは、加重乗数を使用することにより加重関数に変換できます。
備考
RMSLEの場合、多くのモデルブループリントログではターゲットが変換され、RMSEに最適化されます。これは、RMSLEへの最適化と同等です。その場合、モデルの構築情報には、「log transformed response」と表示されます。
SMAPE/加重SMAPE¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
SMAPE/加重SMAPE | 対称平均絶対パーセント誤差 | 平均値のパーセント誤差(制限付き)を測定します。 | 連続値 |
平均絶対パーセント誤差[(MAPE)を使用すると、さまざまなスケールでさまざまな系列の予測を比較できます。しかし、ゼロ値がある場合MAPEは使用できず、MAPEにはパーセンテージエラーの上限がありません。そのような場合、対称平均絶対パーセント誤差(SMAPE)を使用することをお勧めします。SMAPEには上限と下限があり、その結果は0%から200%の間の値になるので、統計的な値の比較が容易になります。これは、ゼロの値が存在するデータで使用する場合も適切な関数です。したがって、Actual = Forecast = 0
の行では、すべての行の合計前に0/0 = NaN
がゼロで置き換えられます。
Theil's U¶
表示 | 完全な名前 | 説明 | プロジェクトタイプ |
---|---|---|---|
Theil's U | Henri Theil's U Index of Inequality | ベースラインモデルに関する相対パフォーマンスを測定します。 | 連続値(時系列のみ) |
Theil's U(MASEに類似)は、ナイーブモデル(予測に対して最長の周期性に一致する最新の値を使用するモデル)の予測に相対的に、予測の精度を評価する指標です。プロジェクトには異なる周期性のある複数のナイーブ予測がある場合がありますが、DataRobotは最長のナイーブ予測を使用してTheil’s Uスコアを計算します。ナイーブモデルに対する予測モデルの比較は、この2つのモデルの比率の関数です。1よりも大きい値はナイーブモデルよりも劣ったモデルを示し、1よりも小さい値はナイーブモデルよりも優れたモデルを示します。
要約すると次のようになります。
-
予測モデルの相対誤差(予測値F — 実測値A)を、前の期間の実測値でスケーリングしたもの。
-
ナイーブモデルの実測値 — 前の期間の実測値を、前の期間の実測値でスケーリングしたもの。
これは大きい誤差にペナルティを科すために二乗されます。
Thiel’s Uの最後の計算では、予測モデルとナイーブモデルのそれぞれの二乗誤差の合計の比率の平方根が求められます。