ロジスティック回帰の考え方・使い方 - TokyoR #33
- 2. 自己紹介
1 / 392013/8/31
• Twitter ID: @horihorio
• お仕事: 分析コンサルタント
• 興味: 統計色々/DB/R/Finance/金融業/会計
• 過去の発表: ここ
• 最近の出来事
• 金融業以外の分析にも進出
• だが何故か証券アナリストを取った
• 優秀な人のマネジメントっぽい事を
• 息子が1歳になった
ロジスティック回帰の考え方・使い方
- 3. 今回の想定ケース
2 / 392013/8/31 ロジスティック回帰の考え方・使い方
• 旅行代理店勤務
マーケティング部所属3年目
• 「Rによるやさしい統計学」で
Rの操作、線形回帰に慣れた
• 上司(超文系)に
「いつもツアーの案内DM送っているけど、
もっと上手い送り方って考えてくれない?」
と言われた。どうしよう…
- 4. 紹介すること
3 / 392013/8/31 ロジスティック回帰の考え方・使い方
データ: customers
でロジスティック回帰
glm(hit ~ sex + age + income + (略)
, data = customers
, family = binomial (link = "logit") )
をする前に考えること の一部です。
hit sex age income …
0 Female 32 520 …
1 Male 24 340 …
0 Male 39 580 …
…
…
…
…
- 6. モノの作り方
5 / 392013/8/31 ロジスティック回帰の考え方・使い方
自動車の作り方
を何回も、行きつ戻りつ、繰り返す。
出典:門外漢の妄想
1. 設計する
2. 車を作る
3. 機器で検査
4. テストコースで検査
- 7. 6 / 392013/8/31 ロジスティック回帰の考え方・使い方
自動車の作り方 モデルの作り方
を何回も、行きつ戻りつ、繰り返す。
1. 設計する
2. 車を作る
3. 機器で検査
4. テストコースで検査
1. 設計する
2. モデルを作る
3. 検証データで検査
4. 実ビジネスで検査
モノの作り方
- 8. アジェンダ
7 / 392013/8/31 ロジスティック回帰の考え方・使い方
1 ロジスティック回帰で良いの?
• その他の方法もない?
• 相手はどんな方ですか?
2 ロジスティック回帰の仕上がり図
• 仕上がりから逆算して考えてみると
3 結果の検証方法
• モデルをつくったら、きちんと検査を
4 データ加工方法の例
• 回帰モデルは加工が大変デス…
その一旦を紹介します
作り方1.
モデル設計
作り方1.
モデル設計
作り方2.
モデル作成
作り方3. 4.
モデル検証
- 15. 結果に至った理由が知りたい場合
私がロジスティック回帰を選ぶ場合
14 / 392013/8/31 ロジスティック回帰の考え方・使い方
モデル
技術が
ある
相手は…
技術が
ない
相手は…
結果の
要因
追求
分析
工数
ロジスティック回帰 正面勝負か 分かる気も 可能 大
決定木 恥ずかしくネw よく分かる♪ えw 小
ランダムフォレスト 忙しかった?
結果だけなら
よーく
分かった
難しい 小
ニューラル
ネットワーク
結果が欲し
かったのね
無理 小~中
SVM 好きですね… 難しい 中
ココに注目
- 19. R出力との対応
18 / 392013/8/31 ロジスティック回帰の考え方・使い方
重要度 採用変数 有意確率 オッズ比
1 年収_百万 0.1% 1.12
2 年齢_50代 0.5% 0.82
3 性別_女性 1.2% 1.32
…
…
…
…
- 切片 0.3% -
結果のsummaryの抜粋
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.978 … … 0.003
sex_femail 0.278 … … 0.012
age_50th -0.198 … … 0.005
income 0.113 … … 0.001
…
exp(Estimate)
の値
- 21. だけど一応、軽く解説:
オッズ比 ⇒ 「他と比べて確率がx倍」 を表す指標
【右上図での解釈例】
• カテゴリー変数の場合
女性ならば(対男性比で)DM反応率が1.32倍増加
• 連続変数の場合
年収が100万円増えると、DM反応率が1.12倍増加
解説は他の資料を!
オッズ比って?
20 / 392013/8/31 ロジスティック回帰の考え方・使い方
重要度 採用変数 有意確率 オッズ比
1 年収_百万 0.1% 1.12
2 年齢_50代 0.5% 0.82
3 性別_女性 1.2% 1.32
…
…
…
…
- 切片 0.3% -
- 25. 24 / 392013/8/31 ロジスティック回帰の考え方・使い方
自動車の作り方 モデルの作り方
を何回も、行きつ戻りつ、繰り返す。
1. 設計する
2. 車を作る
3. 機器で検査
4. テストコースで検査
1. 設計する
2. モデルを作る
3. 検証データで検査
4. 実ビジネスで検査
モノの作り方 再掲
ココの話
- 28. 方法3.クロス・バリデーション
※これも一例です
作り方の3. 検証データで検査
27 / 392013/8/31 ロジスティック回帰の考え方・使い方
No.1 #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 ⇒ 精度1
No.2 #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 ⇒ 精度2
No.3 #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 ⇒ 精度3
…
…
…
No.10 #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 ⇒ 精度10
構築データ 検証データ
構築データの
精度と比較
- 29. 作り方の3. 検証データで検査
28 / 392013/8/31 ロジスティック回帰の考え方・使い方
で問題: 精度検証ってなに?
杓子定規な基準はない。
教科書にありがち: CAP図、AR値
• 不適当
• 悪くないけどベストでない
な場合も多々。
統計知識、データ抽出・加工技術、業界・業務知識
等々の総合力勝負だったり。
- 32. 言いたいこと
31 / 392013/8/31 ロジスティック回帰の考え方・使い方
• 精度を出すコツは、データの前処理
• 回帰モデルは特にデータ加工が命
その一端を紹介します。
※詳細はノウハウの塊
ほぼ開示されない
私もゴニョゴニョ
- 34. • 会員加入申込_Web: Webならば1、非該当は0
• 会員加入申込_郵送: 郵送ならば1、非該当は0
• 会員加入申込_電話: 電話ならば1、非該当は0
• 会員加入申込_その他:その他ならば1、非該当は0
例えば、caretパッケージの dummyVars が便利
対応法:(1)各々の変数を作る
1. カテゴリ変数の扱い
33 / 392013/8/31 ロジスティック回帰の考え方・使い方
- 35. • 会員加入申込_Web: Webならば1、非該当は0
• 会員加入申込_郵送: 郵送ならば1、非該当は0
• 会員加入申込_電話: 電話ならば1、非該当は0
• 会員加入申込_その他:その他ならば1、非該当は0
何を基準にすれば良い?
⇒ 業務の理解、ヒヤリング力のお話な
対応法:(2)基準としたい変数以外でステップワイズ
1. カテゴリ変数の扱い
34 / 392013/8/31 ロジスティック回帰の考え方・使い方
郵送比でxx倍が
見たいので非投入
- 38. • 外れ値の対応、処理
• 数値のスケール(例:金額は百万単位)
• 変換(例:対数、ルート、log)
• (30代等の)特定のカテゴリのみに効く変数の扱い
• オッズ比が1以上/以下 に納得感があるか
…まだまだ挙げればキリナイです
キッチリ回帰モデルをするのは大変
by ワタシの実感
その他の考慮事項
37 / 392013/8/31 ロジスティック回帰の考え方・使い方
- 40. というか、言いたかったこと
39 / 392013/8/31 ロジスティック回帰の考え方・使い方
ビジネスの場合
• 分析して儲かる
• 相手が納得する
が大前提。
で
• 2度の翻訳の妥当性
• 「1から2」&「AからB」の両方が妥当か
の両方を詰めるのは大変、だけど面白いです。
1. ビジネスの問題を
A) 数学の問題に翻訳し
B) 問題を数学的に解いて
2. 再度ビジネス世界に翻訳