狠狠撸
Submit Search
ロジスティック回帰の考え方?使い方 - TokyoR #33
?
147 likes
?
281,957 views
horihorio
Follow
1 of 40
Download now
Downloaded 600 times
More Related Content
ロジスティック回帰の考え方?使い方 - TokyoR #33
1.
ロジスティック回帰の 考え方?使い方 TokyoR #33 2013/8/31 @horihorio
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 … … … … …
5.
紹介しないこと 4 / 392013/8/31
ロジスティック回帰の考え方?使い方 1. Rの色々な操作 2. 数学、統計学の理論 ! 別の本や資料を見て下さい !
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. モデル検証
9.
8 / 392013/8/31
ロジスティック回帰の考え方?使い方 1.ロジスティック回帰で良いの?
10.
欲しい結果:DMに反応する確率(0~1) DMの発送って? ご存知:線形回帰モデル ? 入力:性別、年齢、購買履歴、… ? 出力:購入額、とか 0~1でない なんか違う… 9
/ 392013/8/31 ロジスティック回帰の考え方?使い方
11.
欲しい結果:DMに反応する確率(0~1) DMの発送って? 線形回帰モデル ? 入力:性別、年齢、購買履歴、… ? 出力:購入額 ロジスティック回帰モデル ?
入力:性別、年齢、購買履歴、… ? 出力: DMに反応する確率 ?0.5以上(例えば)はDMに反応、と考える 0~1の値 10 / 392013/8/31 ロジスティック回帰の考え方?使い方 こっち
12.
○×とに分類したい ? 識別モデル ただ、識別モデルって他にもある 他にも方法はある 代表的なところ ?
ロジスティック回帰 ? 決定木 ? ランダムフォレスト ? ニューラルネット ? SVM (Support Vector Machine) などなど 11 / 392013/8/31 ロジスティック回帰の考え方?使い方
13.
判断基準は色々山ほど。万能な基準はない。 どのモデルを選べばいいの? ? 当たるか? ?高度な技術?は精度UP、分かりやすさはDOWN… ? いつも同じ結果が出るか? ?毎回違う結果が出るモデルも… ?
データ加工の手間は? ?前処理が 相当必要~ほぼ不要 までイロイロ ? モデルが解釈出来る/し易いか? ?ブラックボックスなモデルもあり ? チューニングの余地があるか? ?「チューニング出来ないモデルが散々な結果」への恐怖… 12 / 392013/8/31 ロジスティック回帰の考え方?使い方
14.
ビジネスならば:「説明する相手を考える」 提案する基準 ※出典:私の独断と偏見 13 / 392013/8/31
ロジスティック回帰の考え方?使い方 モデル 技術が ある 相手は… 技術が ない 相手は… 結果の 要因 追求 分析 工数 ロジスティック回帰 正面勝負か 分かる気も 可能 大 決定木 恥ずかしくネw よく分かる? えw 小 ランダムフォレスト 忙しかった? 結果だけなら よーく 分かった 難しい 小 ニューラル ネットワーク 結果が欲し かったのね 無理 小~中 SVM 好きですね… 難しい 中
15.
結果に至った理由が知りたい場合 私がロジスティック回帰を選ぶ場合 14 / 392013/8/31
ロジスティック回帰の考え方?使い方 モデル 技術が ある 相手は… 技術が ない 相手は… 結果の 要因 追求 分析 工数 ロジスティック回帰 正面勝負か 分かる気も 可能 大 決定木 恥ずかしくネw よく分かる? えw 小 ランダムフォレスト 忙しかった? 結果だけなら よーく 分かった 難しい 小 ニューラル ネットワーク 結果が欲し かったのね 無理 小~中 SVM 好きですね… 難しい 中 ココに注目
16.
15 / 392013/8/31
ロジスティック回帰の考え方?使い方 2.ロジスティック回帰の仕上がり図
17.
※普段は、もう少し分かりやすく&マトモに書きます… 最低限伝えるメッセージ 説明の例 16 / 392013/8/31
ロジスティック回帰の考え方?使い方 重要度 採用変数 有意確率 オッズ比 1 年収_百万 0.1% 1.12 2 年齢_50代 0.5% 0.82 3 性別_女性 1.2% 1.32 … … … … - 切片 0.3% -
18.
説明の例 ※普段は、もう少し分かりやすく&マトモに書きます… 17 / 392013/8/31
ロジスティック回帰の考え方?使い方 重要度 採用変数 有意確率 オッズ比 1 年収_百万 0.1% 1.12 2 年齢_50代 0.5% 0.82 3 性別_女性 1.2% 1.32 … … … … - 切片 0.3% - 有意確率の 小さい順 係数が本来はゼロ (つまり意味なし) である確率 (その他比で) 確率が…倍になる 最低限伝えるメッセージ
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) の値
20.
色々変数が採用されているけど、 上位にある程、重要なファクターです ってのは、割合話がしやすい気が。 解説は他の資料を! 有意確率って? 19 / 392013/8/31
ロジスティック回帰の考え方?使い方 重要度 採用変数 有意確率 オッズ比 1 年収_百万 0.1% 1.12 2 年齢_50代 0.5% 0.82 3 性別_女性 1.2% 1.32 … … … … - 切片 0.3% -
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% -
22.
普通にコマンド打つだけだと: 例えば100変数入れると、 効かない変数でも、何かの値が出る その結果: 90代のDM反応率が53.2倍だぜ! ( ?Д?)????!!! ##### 有意確率が87.3%ですが…
##### などなど…な雑談で、会議が迷走&紛糾の予感。 【少々脱線】 21 / 392013/8/31 ロジスティック回帰の考え方?使い方
23.
なにしてるの? 1. 信用できる(有意確率が低い)変数を1つずつ追加 2. 追加するものが無くなったら、そこで打ち止め ※色々バリエーションはあるけど、省略 とすると、100変数のうち 信用出来る変数のみのモデルが完成 ###
で、会議の紛糾が回避出来る。 Rでの方法: step, stepAIC を調べて下さい。 なので ステップワイズ変数選択を推奨 【少々脱線】 22 / 392013/8/31 ロジスティック回帰の考え方?使い方
24.
23 / 392013/8/31
ロジスティック回帰の考え方?使い方 3.結果の検証方法
25.
24 / 392013/8/31
ロジスティック回帰の考え方?使い方 自動車の作り方 モデルの作り方 を何回も、行きつ戻りつ、繰り返す。 1. 設計する 2. 車を作る 3. 機器で検査 4. テストコースで検査 1. 設計する 2. モデルを作る 3. 検証データで検査 4. 実ビジネスで検査 モノの作り方 再掲 ココの話
26.
方法1.データを構築用?検証用に分割(数字は一例です) モデル投入データで精度を出すのは(ある意味)簡単 大事なのは、投入以外のデータで検査すること 作り方の3. 検証データで検査 25 /
392013/8/31 ロジスティック回帰の考え方?使い方 構築データ:80% 検証データ:20% 精度 比較 時間
27.
方法2.あえて最新データを使わない 作り方の3. 検証データで検査 26 /
392013/8/31 ロジスティック回帰の考え方?使い方 時間 構築データ 検証 データ 精度比較
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値 ? 不適当 ? 悪くないけどベストでない な場合も多々。 統計知識、データ抽出?加工技術、業界?業務知識 等々の総合力勝負だったり。
30.
必要なもの例 1. 統計的知識 2. データ抽出?加工技術 3.
業界?業務知識 4. 各利害関係者との折衝能力 ビジネスの状況によりけり。おもいっきり難しい。 作り方の4. 実ビジネスで検査 29 / 392013/8/31 ロジスティック回帰の考え方?使い方
31.
30 / 392013/8/31
ロジスティック回帰の考え方?使い方 4.データ加工方法の例
32.
言いたいこと 31 / 392013/8/31
ロジスティック回帰の考え方?使い方 ? 精度を出すコツは、データの前処理 ? 回帰モデルは特にデータ加工が命 その一端を紹介します。 ※詳細はノウハウの塊 ほぼ開示されない 私もゴニョゴニョ
33.
列「会員加入申込」は、 Web、郵送、電話、その他 のどれかがある そのまま投入すると、面倒くさい話が発生。 1. カテゴリ変数の扱い 32
/ 392013/8/31 ロジスティック回帰の考え方?使い方 採用変数 有意確率 オッズ比 会員加入申込. Web 0.3% 1.47 会員加入申込. 郵送 2.4% 0.69 会員加入申込. 電話 13.3% 0.92 会員加入申込. その他 65.2% 1.00 基準が選べない怪しいのが混入
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倍が 見たいので非投入
36.
非常に大変。無加工だとこうなる 2. 曲線傾向の扱い方 35 /
392013/8/31 ロジスティック回帰の考え方?使い方 年齢 DM反応率 モデル 推定結果 実際の 年齢別反応率 ※実際は直線でないが…
37.
どう切るのか? どこを基準にするのか? ? 業務の理解、ヒヤリング力のお話な ※注:これは初心者向け 対応な気が ?
20歳未満 ? 20代 … ? 60代 ? 70歳以上 推奨法:ビンニングをして、カテゴリ変数の扱いで ? 各カテゴリはx倍、で曲線傾向を表現 2. 曲線傾向の扱い方 36 / 392013/8/31 ロジスティック回帰の考え方?使い方 これを基準に
38.
? 外れ値の対応、処理 ? 数値のスケール(例:金額は百万単位) ?
変換(例:対数、ルート、log) ? (30代等の)特定のカテゴリのみに効く変数の扱い ? オッズ比が1以上/以下 に納得感があるか …まだまだ挙げればキリナイです キッチリ回帰モデルをするのは大変 by ワタシの実感 その他の考慮事項 37 / 392013/8/31 ロジスティック回帰の考え方?使い方
39.
38 / 392013/8/31
ロジスティック回帰の考え方?使い方 まとめ
40.
というか、言いたかったこと 39 / 392013/8/31
ロジスティック回帰の考え方?使い方 ビジネスの場合 ? 分析して儲かる ? 相手が納得する が大前提。 で ? 2度の翻訳の妥当性 ? 「1から2」&「AからB」の両方が妥当か の両方を詰めるのは大変、だけど面白いです。 1. ビジネスの問題を A) 数学の問題に翻訳し B) 問題を数学的に解いて 2. 再度ビジネス世界に翻訳
Download