Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ロジスティック回帰の考え方・使い方 - TokyoR #33

186,947 views

Published on

Published in: Technology
  • オッズ比 ⇒ 「他と比べて確率がx倍」 を表す指標 ?  オッズ比とリスク比を混同されていませんか? オッズ比は「起こる確率の比」を表すものではありません。また、重要度の指標としては有意確率では無くオッズ比を使うべきかと…。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • 遅ればせながらですが、以下ご指摘を修正・反映し、再度UPしました。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • @undefined 脚注で補足打っておきます。coef=0である確率と書くのが正確ですね。
    冒頭で対象を初心者としており、各変数がrandom valiableの話をするのはどうかな?との迷いはありました。
    (ただ、確率的な話をするにあたり、random valiableのことから逃げるのはどうなのか、とも思うのですが。)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • @undefined 確かに、読み返してみると、何言ってるかよくわかりませんね。。。元原稿ほじくり返した際に修正します。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • オッズ比は,「自然対数eの係数乗」でもよいですが,普通に exp(Estimate) でよろしいのでは?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

ロジスティック回帰の考え方・使い方 - TokyoR #33

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

×