2015年8月26日水曜日

分析モデル評価:Accuracy が正しくない時

Accuracy とは「正確さ」と訳され「どれほど正しいのか」を表す指標であり、一般的にも感覚的にも理解できる。データ分析でも重要な指標ではあるが、この指標だけで分析モデルの評価をすることはできない。
Accuracy をこの Confusion Matrix から算出すると

 Accuracy = (True Positive + True Negative) / Total
                    = (500 + 300) / 1,000 = 0.8

80% となる。

分析モデル評価について、Overfitting などここでも度々投稿しているが、今回は Foster Provost, Tom Fawcett著「Data Science for Business」の「第8章 Visualizing Model Performance」を元にした、分析モデルの評価を視覚的に表す方法を示す。


注意:ROC曲線、AUC、Lift曲線などの説明はここでは割愛した、別の投稿で記す予定。
ROC曲線Lift曲線については投稿済み 2015年8月28日)


Accuracy と AUC

ここでは the 2009 KDD Cup data mining competition のデータを利用。
KDD Cup とは「Knowledge Discovery and Data Mining Cup」で、データマイニング能力を競うもの。

データは電話会社の契約更新に関する約47,000件で、7%が解約(positive)で93%が継続(netative)。分析モデルのポイントは解約の予測。以下、本書の別の章に紹介されている、契約者の属性とツリーモデル。


左は Table 8-1. Accuracy values of four classifiers trained and tested on the complete KDD Cup 2009 churn problem 、4つつのモデルで分析した結果の Accuracy を示している。

Naive Bayes の低さが目立つが、問題は他の3つが「高すぎる」ことk-Nearest Neighbor は 100% で、完全に overfitting になっている(100% の予測なんて不可能)。

一方、以下は ten-fold cross-validation(説明は割愛)による、AccuracyAUC 。
Naive Bayes は前回の 76% からほとんど変化がない(ここでは「変化がないこと」は良いこと)反面、100% だった k-Nearest Neighbor93.0% に減少。それでも、Naive Bayes を除く 3つのモデルの Accuracy は依然として高い。

ところが、AUC は Naive Bayes が最も良い値。AUC0.5 とは「ランダム」で「positivenegative の判断をしないモデル」で、「1」は完璧な分類を意味する。

高い Accuracy 値については
One of the reasons accuracy is a poor metric is that it is misleading when datasets are skewed, which this one is (93% negatives and 7% positives). P.225
つまり、Accuracy がダメな指標となるのは、今回のデータのように 7% の positive 率という「skewed 偏っている」場合に起こり易い。

以下の左は Naive Bayes(高い AUC、低い Accuracy)、右は k-NN(低い AUC、高い Accuracy)のそれぞれの Confusion Matrix
Accuracy を改めて算出すると

 > (127+3518)/(327+4366) # Native Bayes
 [1] 0.7766887
 > (3+4351)/(327+4366) # k-NN
 [1] 0.9277648

k-NNpositive の判断件数が少なく、その結果「誤りの件数が少ない」。かたや Naive Byes では positive の判断件数が多く、その結果「誤り件数が多い」。このことから、先に示した「skewed しているデータの分析で、Accuracy が良い指標にならない理由」が、直感的に分かる。

また、Naive Bayes の方が positive を正しく当てた件数が多い点は重要。つまり「多くの解約者を予測」できたことを示す。これは Accuracy の値だけでは、見落とされる点。


視覚化:Lift曲線と期待利益曲線

左は ROC 曲線

Tree と NB( Native Bayes の略記)の二つの分析が、「原点から傾き 1 の直線(ランダム)」を上まってカーブしている。先に示したように AUC はそれぞれ 0.614±0.014, 0.632±0.019 

ROC 曲線より視覚的に理解が容易なのは、次の Lift 曲線
ランダムの場合は常に Lift = 1軸はスコアの高い順のインスタンスで、スコアが下がるに従って Lift 値も下がる。ここでも TreeNB が高い Lift 値を示している。

オレンジの矢印は、TreeNB が交差している点で、上位約25%のスコア地点。つまり、上位25%のスコアでは Tree、それ以降のスコアでは NB が優れていることが分かる。

モデルの優位性は Lift 曲線で分かったが、モデルから予測される利益は示されていない。そこで、経費を$3、 売上を$30、利益を $27 (= 30 - 3) とした場合が次のグラフ、Tree モデルによるスコア上位20%をターゲットにして最大利益が期待できることが分かる。
次は、経費はそのままで、売上を$39にして利益を $36 (= 39 - 3) にした場合のグラフ。
最大利益が、NBモデルによる上位35%地点に変わっている。

この二つのグラフで、Tree と NB の交差地点は25%地点で変化はない。つまり、経費と売上額の設定により期待利益が変わる。

こうやって期待利益を加えることで、冒頭のROC曲線に比較して、モデルの違いが一般的にも劇的に分かりやすくなった。データ分析者が、特定の業種や企業の経費や売上額を把握や予測するのは困難だが、今回のように幾つかの仮定の上でグラフ化してのモデル評価には優れた点が多い。特に、データ分析の知識が乏しい関係者へには、分かりやすいものとなるだろう。

0 件のコメント:

コメントを投稿