SPSS Modeler ノードリファレンス 5-9 ロジスティック回帰

# 5-9 ロジスティック回帰ノード[モデル作成タブ]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855260/7917ee9a-fa04-c69c-2fc8-1af9f49a0898.png)

# 1.ノードの目的
カテゴリ型データを事象が起こる確率から予測するモデルを作成します。ロジスティック回帰は、回帰分析の一種です。

# 2.解説動画(60秒)

<iframe width="560" height="315" src="https://www.youtube.com/embed/Vvr81wpA-TU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

# 3.クイックスタート
製品に同梱されているサンプルストリームteleco_churn.strを開きます。このストリームのシナリオは、競合他社に顧客を奪われることに懸念を抱いている電気通信プロバイダーを想定しています。サービス使用量データからどの顧客が他のプロバイダーに移りそうか(自社の契約を解約しそうか)を予測して、提案のカスタマイズを行い、できるだけ多くの顧客を維持したいという狙いです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855260/d365472d-5374-7619-0e94-842065c72738.png)

使用するデータには、顧客の属性情報(年齢、婚姻状況、性別、世帯人数など)や商品の利用状況(無料通話、設備、長距離通話など)と解約状況があります。

データ型ノードでは、「解約」フィールドのロールが「対象」で、それ以外はすべて「入力」となっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855260/3a02632c-53af-9db2-9600-71cddd9d5873.png)

モデル作成パレットのロジスティック回帰ノードをデータ型ノードに接続します。ロジスティック回帰ノードの編集ダイアログで、プロシージャーを二項式に、方法を変数増加ステップワイズ法に設定します。
プロシージャーの二項式は、対象フィールドのカテゴリの数が２つの場合に選択ができます。その場合、多項式でも二項式でも予測結果は同じですが、二項式のほうがアウトプットがシンプルで読み解きしやすいのでお勧めです。
方法では、変数選択の仕方を選ぶことができます。選択肢は、強制投入法、変数増加ステップワイズ法、変数減少ステップワイズ法の3つになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855260/4ca332c3-6ae9-a369-1e77-7eb1db315280.png)

実行して生成されたモデルナゲットに、出力パレットの精度分析ノードを接続します。一致行列と評価メトリックスを選択して実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855260/e90e2e26-31b2-5389-806b-e44d9887434d.png)

AUCが0.724で解約の検出力は、一般的な基準値0.7を超えています。では、モデルナゲットを参照して解読してみます。方程式中の変数テーブルのExp(B)（エクスポネンシャルビー）は、オッズ比で、入力フィールドが１単位変化したときの対象フィールドに対する影響(リスク)を意味します。たとえば、他の条件は同じで、性別が０(男性)から１(女性)になると解約のリスクは0.376倍になります。つまり、リスクは下がります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855260/4e2991b0-6ef4-4df3-0dc1-a1eb88ff0a37.png)

# 4.Tips
ところで、今回のシナリオは解約を予測して、提案のカスタマイズを行い、できるだけ多くの顧客を維持したいということでした。そこで、サンプルストリームteleco_churn.strでは、モデルを改善すべく、特徴量選択ノードを使って、解約に対して統計的に影響があるフィールドを選別し、加えて欠損値があるフィールドは平均値で置き換えるなどの穴埋めを行ってからロジスティック回帰モデルを作成しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855260/9eab5ab7-7534-53e4-a6ee-6d098f99d765.png)

精度分析の結果を見るとAUCが0.809と向上しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855260/936e78b1-ab28-364c-0536-a8dc18f54c21.png)

方程式中の変数テーブルでは、コールカードの利用が解約リスクを1.9倍にも高めていることがわかりました。コールカードの利用者にはすぐにでも別の提案を検討する必要がありそうです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855260/5364e6c3-ce79-5c94-eaf1-717cbf40562f.png)

ぜひ、5.参考情報のチュートリアルも合わせてご覧ください。

# 5.参考情報
## チュートリアル
■二項ロジスティック
https://www.ibm.com/docs/ja/spss-modeler/18.3.0?topic=tutorial-telecommunications-churn-binomial-logistic-regression
■多項ロジスティック
https://www.ibm.com/docs/ja/spss-modeler/18.3.0?topic=tutorial-classifying-telecommunications-customers-multinomial-logistic-regression#example_telco_custcat

## 利用データ
SPSS Modeler 同梱のtelco.sav

## ノードのヘルプ
https://www.ibm.com/docs/ja/spss-modeler/18.3.0?topic=models-logistic-node

## SPSS Modelerノードのリファレンス
https://qiita.com/416nishimaki/items/503037195081d3323eee