SPSS Modeler ヒモトク

ブログで学ぶSPSS_Modeler #09- 分析のキホン、分割表を制覇する!

記事をシェアする:

 

IBMの西澤です。Modelerを使った人材育成プロジェクトを担当しています。

 

ご存じの方もいらっしゃると思いますが、今年1月に統計学者デイヴィッド・コックス卿が他界されました。享年97歳。ロジスティック回帰の生みの親でもあり、Cox回帰やBox-Cox変換など、そのお名前から命名された分析手法やデータ加工方法など、多くの偉業を残されました。

 

私個人としては、面識があるわけではありませんが、分析プロジェクトの中で多変量解析手法の説明を行う時などは、コックス卿のお写真をお借りして「最高齢の統計学者」と(まるでご本人を知っているかのように!)お話させていただくこともありました。思い返すと、自分が学んできた道を振り返る時間にもなっていたのかもしれません。

心からご冥福をお祈りいたします。

 

今回のブログは基本に立ち戻り、分割表のハナシからスタートします。分割表とはクロス集計表のことです。情報を分割することで見えてくるさまざまな数値の見方について、ご紹介します。

 

 

 2つのカテゴリ変数の関係性をヒモトク

私たちがクロス集計表を学ぶのは、小学校高学年の頃です。今は時代が変わっているので、もっと早く学んだよ、という方もいらっしゃるかもしれません。

 

以下の左図では、2つのカテゴリ変数にフォーカスしています。顧客の利用しているサービス種類を記録している「顧客カテゴリ」変数には4つのサービスがあります。前月に解約したかどうかを記録している「前月の解約」変数には2つのカテゴリがあります。この2つの変数をクロス集計したのが右図です。セルの度数と周辺度数(「行および列合計を含める」オプションを選択)を出力しています。

 

 

 

周辺度数が異なっているので、セルの度数からは何も判断できませんね。セルのパーセンテージを追加してみます。下図は、行方向と列方向のパーセンテージを追加した結果です。

 

まずは、行パーセントから、読んでみましょう。ここでは、解約したカテゴリに注目してみましょう。正しく読めますか?

行パーセントは、行方向に足し合わせると100になる数字ですから、下図で示しているように、行カテゴリ間で偏り・違いがあるのかな?と見ていきます。どうでしょうか?カテゴリ間で偏りがありそうですね。

 

 

つぎに、列パーセントを見てみましょう。

列パーセントは、列方向に足し合わせると100になる数字ですから、下図で示しているように、列カテゴリ間で偏りがあるのかな?と見ていきます。この図の例では、枠の色が同じ列パーセント同士を比較します。違う色と比較するのはNGです。

 

行パーセントと列パーセント、正しい方向で読んでこそ、データの特徴を理解できますね。この例では「トータルサービス」と「ベーシックサービス」は解約率が高そうだ、「E-サービス」はあまり違いがなさそうだ、「プラスサービス」は解約率が低そうだ、となります。

 

 

正しく読めましたか?データ分析に関する研修を担当していると、行パーセントと列パーセントの読み方を理解していないのだな、と思える質問をいただくことがあります。その最たるものが、「解約した人だけのデータで分析したほうが良いのではないですか?」というもの。解約していない人と比べるからこそ、解約した人の特徴が明らかになるのですね。

 

分類モデルの評価指標をヒモトク

混合行列は過去のブログにも何度か取り上げられています。

混合行列の考え方は、過去ブログ(Western Digital®の小杉さんの記事)を参照ください)。

https://www.ibm.com/blogs/solutions/jp-ja/modeler-tips-04/

 

精度分析ノードで再現率、適合率を計算する方法は、過去ブログ(株式会社AITの林さんの記事)を参照ください。

https://www.ibm.com/blogs/solutions/jp-ja/spssmodeler-push-node-23/

 

下の例で適合率と再現率をクロス集計表で算出してみました(ここでは前月の解約「はい」のカテゴリに注目しています)。行パーセントの86.496 が再現率(Recall)、列パーセントの82.292 が適合率(Precision)です。

 

 

この数字をどのように理解して使っていったらよいでしょうか?

 

「前月の解約」変数の分布は以下のようになっています。1が解約を示す「はい」のカテゴリです。

 

 

再現率は、行パーセントになるわけですから、行方向に足し合わせて100になる数字ですね。この場合の行方向の合計は、37+237=274 となります。その実際に解約した人に対して、解約すると予測できた人の割合となります。

言い換えると、本当の解約を、予測モデルでどれくらい予測(再現)できたか、という数字ですね。分母は、実測値。

仮に、予測モデルが、今回のケースすべてを解約と予測したとします。その場合の再現率は、100%です。「ちょっと待てよ」と思いますね。そうです、外れが72%以上あるわけですから、再現率だけではモデルの評価はできません。

 

では、適合率はどうでしょうか?列パーセントなので、51+237=288 が分母になります。予測モデルが解約と予測した数です。それに対して、実際の解約がどれくらいだったかを示す比率です。分母は予測値。

仮に、予測モデルが10ケースしか「解約」を予測しなかったとします。実際の解約と照合すると、その10ケースすべてが実際に解約していました。この場合、適合率は100%です。これも「ちょっと待てよ」と思いますね。10ケース以外は予測を外しているのですから、適合率だけではモデルの評価はできません。

 

再現率と適合率は、トレードオフの関係です。予測モデルが、ポジティブクラス(この例では解約「はい」)の予測を、バンバン出すと、再現率は高くなりますし、予測モデルが、ポジティブクラスの予測をあまり出さないと、適合率は高くなる傾向があります。万能な性能指標はないので、分析結果に対する仮説(予測モデルはアグレッシブになっていないか?もしくは、コンサバティブになりすぎていないか)を、さまざまな指標を使って紐解いていくことが大切です。

再現率と適合率からの調和平均であるF1スコアを使って、モデルを評価するという方法もあります。F1スコアの計算方法については、過去ブログ(Western Digital®の小杉さんの記事)をご参照ください。

 

 まとめ

今回は、分析の基本である「分割表」の読み方から、分類モデルの性能評価指標としてよく使われる再現率、適合率の考えをご紹介しました。分析結果を説明する際に、さらっと使われているけど、あまり理解されていないのではないかと、私が勝手に思っていただけかもしれませんが、知識の再確認などにお役立ていただけると嬉しいです。最後までお読みくださり、有難うございました。

 

ここで、皆様に残念なお知らせを申し上げます。

SPSS Modeler ヒモトクシリーズに寄稿くださいましたWestern Digital®の小杉さんが、2022年1月に他界されました。Clementineの頃からのSPSSユーザー様でした。国境を越えて、業界を超えて、Modelerの魅力を広く発信してくださいました。

SPSS担当者一同、謹んでお悔やみ申し上げますとともに、心からご冥福をお祈りいたします。

 

さて次回はIBMの斉藤明日香さんが「異常検知の自動化!CADSの設定を動画でご紹介」を執筆。並行連載の「身近な疑問をヒモトク」ではIBMの藤岡さんが「新規感染者数予測のような時系列データ予測を最速で実現する!」を書いてくださる予定です。どちらもお楽しみに。

 

→SPSS Modelerの詳細についてはこちら

→これまでのSPSS Modelerブログ連載のバックナンバーはこちらから

→SPSS Modelerノードリファレンス(機能解説)はこちらから

→ SPSS Modeler 逆引きストリーム集(データ加工)

 

 

 

西澤 英子

日本アイ・ビー・エム株式会社

データサイエンスサービス

Software Service Consultant

 

 

 

More SPSS Modeler ヒモトク stories

ブログで学ぶSPSS_Modeler #12- 時系列データを扱う「シーケンス関数」をおさらいしよう!後編

Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...

この記事は前編から続きです。   ブログで学ぶSPSS_Modeler #12- 時系列データを扱う「シーケンス関数」をおさらいしよう! 前編はこちら→https://www.ibm.com/blogs/solution ...続きを読む


身近な疑問をヒモトク#11-流行りのソーシャルリスニング!SNSのデータってどうやって活用するの?

Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...

みなさん、こんにちは。日立ソリューションズ東日本の柴田です。 SPSSやCognosなどIBM製品を活用したデータサイエンティストとして、お客様の課題解決に向けた支援を9年ほど担当しています。近年では、テキストデータの活 ...続きを読む


ブログで学ぶSPSS_Modeler #11- 時系列データを扱う「シーケンス関数」をおさらいしよう!前編

Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...

  皆様こんにちは。株式会社AITの林と申します。前回の登場からはや2年。時が過ぎるのは早いですね。 弊社はIBM製品の販売、導入、サポートを主な業務とするビジネスパートナーです。 私は2年前と変わらずSPSS ...続きを読む