アナリティクスの「サバイバル・フォレスト」を紹介します。
例えばサブクリプション型のビジネスにおける顧客のキャンセルについて考えるときは、「サービスをキャンセルするかどうか」ではなく、「どれくらいの期間でキャンセルが発生したのか」が重要です。
そこで、生存分析のアルゴリズムの1つのサバイバルフォレストを使うと、下記の質問に答えられます。
サバイバル・フォレストのモデルを作成するためには、**1行が1観察対象(例:1行が1顧客)**となっているデータが必要です。
また、以下の情報も列に必要です。
今回はサンプルデータとして、Netflixのような動画視聴のサブスクリプション・サービスのデータを使用していきます。
このデータは1行が1顧客のデータで、列には顧客のコンテンツの視聴時間や、主な利用デバイス、サービスが提供する機能の利用状況、年齢や性別などの属性を表す列があります。
今回は顧客のある時点での生存確率を予測するサバイバル・フォレストのモデルを作成します。
サバイバル・フォレストのモデルを作成するときは、アナリティクス・ビューからタイプに「ランダム・フォレスト」を選択し、以下の項目に先程、紹介した列を選択し実行します。
サバイバル・フォレストを実行すると、予測モデルを解釈するための複数のタブが表示されます。
変数重要度タブでは、どの変数が生存曲線の傾きと、より相関が強いのか、予測する時により重要なのかを調べられます。
重要度の値が大きいほど、生存曲線の傾きと相関が強いということになります。
変数重要度の詳しい説明については、こちらの「機械学習モデル - 変数重要度の仕組みと解釈」のセミナーをご覧下さい。
予測タブでは、それぞれの変数の値が変わると、「生存状態(イベント)の割合がどのように変わるのかがわかります。
このとき利用される生存期間は、「生存状態」が「TRUE」の観察対象の生存期間の平均値です。従って、今回のデータでは、「サービスの利用を開始してから7ヶ月後のキャンセル率」が可視化されます。
また、実際のデータから計算された実測値はグレー色で、予測結果が青色で表示されます。
生存曲線タブでは、予測される生存曲線が予測変数によってどう変化するのかがわかります。
サマリタブでは、この予測モデルの評価を確認できます。
時点AUCは、ある時点におけるチャーンのTRUE/FALSEをこのモデルでどれだけ上手く分けられているかの指標で、0.5から1の間の値を取ります。1に近ければ近いほど、モデルがデータのTRUE/FALSEを上手く分けられていることを示します。
今回は、AUCが0.82と1に近いため、このモデルを使うとTRUEとFALSEをある程度は分けられていそうです。
作成したサバイバル・フォレストのモデルを使うと、今日を起点にしたときに1カ月後の各観察対象(例: 顧客)の生存確率を予測できます。
また、各観察対象(例: 顧客)の生存確率が50%になる「日付」も予測できます。
サバイバル・フォレストに関する参考資料は下記をご覧ください。
予測タブの実測値はそれぞれの予測変数のデータタイプによって表示が異なります。 詳しくはこちらのノートをご覧ください。
予測値のチャートはPartial Dependence Plot(PDP)と呼ばれるもので、注目している変数の値を変化させたときに、予測結果がどう変わるかを可視化したチャートとなります。詳しくはこちらのノートをご覧ください。
「予測に使用する生存期間」のデフォルト値は観察対象の生存期間の平均値ですが、プロパティの「予測に使用する生存期間」から変更できます。
プロパティの「予測に使用する生存率のしきい値」から変更できます。しきい値のデフォルトは0.5になっており、0.5以上の場合はTRUEと予測し、0.5よりも小さい場合はFALSEと予測します。
決まりのようなものはないのですが、予測において、何を重視したいかによってどの指標を重視するかを決めていただければよいかと思います。
例えば、一年後のように、特定の時点までにイベントが発生するのかどうかを予測することが重要であれば、1年後の「時点AUC」を見ていただくのがよいと思います。
どの時点ということに関係なく、イベントが発生しやすそうなほうから観察対象(例:顧客、従業員、など)にランク付けすることが重要なのであれば、「一致係数」をみていただくのがよいと思います。