Successfully reported this slideshow.
Your SlideShare is downloading. ×

100人のための統計解析 和食レストラン編

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 28 Ad

More Related Content

Advertisement

100人のための統計解析 和食レストラン編

  1. 1. 100人のための統計解析 和食レストラン編 2014.04.19 @berobero11 第38回R勉強会@東京(#TokyoR)
  2. 2. • Excel で 重回帰 する本 • 問題設定 と サンプルデータ が Good
  3. 3. 第2章 和食レストラン 過去3か月に来店経験ある人に対して, 平日夜の利用に関するアンケートデータ(1000人分) 調査 ID 年齢 性別 家族構成 CM イメージ 来店 回数 利用 金額 定食 麺 丼 デザート サイド メニュー ソフト ドリンク お酒 5 54 女性 未婚 3 0 0 1 0 1 0 0 0 0 9 46 女性 未婚 2 0 0 1 0 0 0 0 0 0 11 27 女性 未婚 3 0 0 1 1 0 0 0 1 0 12 35 女性 未婚 3 1 2200 1 0 1 0 0 1 0 … … … … … … … … … … … … … … 908 33 男性 既婚(子供なし) 3 0 0 1 1 1 0 0 0 0 965 35 男性 既婚(子供なし) 3 6 700 1 1 1 0 0 0 1 979 46 男性 既婚(子供なし) 4 1 2000 1 1 0 0 1 0 1 987 34 男性 既婚(子供なし) 3 0 0 1 1 1 0 0 0 0 昼夜問わず メニュー注文経験 1来店あたりの 典型的な利用金額 平日夜の来店回数
  4. 4. 書籍の手法&結論 CMイメージ お酒 年齢 定食 女性 • 来店回数×利用金額 を 総利用金額 と定義し, 応答変数 として重回帰 • Rでは以下と同じ – lm( 総利用金額 ~ 年齢 + 性別 + 既婚(子供なし) + 既婚(子供あり) + CMイメージ + 定食 + 麺 + 丼 + デザート + サイドメニュー + ソフトドリンク + アルコール, data=d) • 結論: 総利用金額upするには,
  5. 5. • まず可視化! • 統計モデリングのススメ 1 2 100人のための統計解析
  6. 6. • まず可視化! • 統計モデリングのススメ 1 2
  7. 7. はじめは 散布図行列 • corrplot {corrplot} – キレイ 散布図が表示できない • pairs {graphics} – インストール不要 相関係数出すにはカスタム必要 • ggpairs {GGally} – キレイ {ggplot2}に慣れが必要 ☺ ☹ ☺ ☹ ☺ ☹
  8. 8. corrplot {corrplot}
  9. 9. pairs {graphics}
  10. 10. ggpairs {GGally}
  11. 11. ggpairs {GGally}
  12. 12. • まず可視化! • 統計モデリングのススメ 1 2
  13. 13. 教科書 通称: 久保本, 久保緑本, 久保岩波本 訂正情報: http://hosho.ees.hokudai.ac.jp/~kubo/ce/IwanamiBookErrata.html
  14. 14. 重回帰の 前提条件に 注意 [久保本 3章 図3.9より引用] 平均値がマイナス?? バラつきが正規分布?? だいぶマシ!
  15. 15. [来店回数][利用金額]の分布 来店回数 カウント 利用金額/100 カウント
  16. 16. 来店0を混ぜた 重回帰の功罪 1回も夜間に来店したことがなくても – 常連になりそうな人 – 1回あたりの利用金額が大きそうな人 はいるはず そこで
  17. 17.  Zero-Inflated Poisson 分布に従うと考える 夜間の来店の可能性 と 常連度 を分離する 一人一人の行動を見たときに,
  18. 18. dZIP {gamlss.dist} を使いました
  19. 19. 年齢, 性別, … 来店回数 利用金額 来店回数 利用金額
  20. 20. Rだけでは柔軟なモデリングが難しい {R2WinBUGS}+ WinBUGS {rstan}+ Stan
  21. 21. 計算時間 来店回数 × 利用金額 の RMSE (円) 個体差なしモデル 6 min (Stan) 4607 個体差ありモデル 60 min (Stan) 1272 (参考) 重回帰 lm() < 1 s 4623 予測値 (円) 誤差 (円) 以降では 個体差なしモデル を紹介
  22. 22. BUGSコードの例 Zero-Inflated Poisson 回帰 結果の分かりやすさのため θ ⇔ 1 -θにして実装しています
  23. 23. キックするRコード txt読み込んでゴニョゴニョ dataをセット parameterをセット 推定させる (MCMCサンプリング)
  24. 24. 結果 | 推定値は分布で得られる
  25. 25. 結果 | 回帰係数 • 夜間に来店する確率 up: – 年齢 CMイメージ 女性 定食 • 常連度 up: – 年齢 デザート CMイメージ 女性 • 1来店あたりの利用金額 up: – 既婚(子供なし) 女性 既婚(子供あり) お酒 年齢
  26. 26. 結果 | 推定値の間の関係 常連度 と 1来店あたりの利用金額 は 負の相関
  27. 27. • まず可視化! • 統計モデリングのススメ 1 2 どうしてそういう図になったかよく考える 重回帰では得られない知見がいっぱい
  28. 28. 参考URL (予定含む) • 散布図行列のRコードと説明 – http://heartruptcy.blog.fc2.com/blog-entry-147.html • BUGSコード, Stanコードと説明 – http://heartruptcy.blog.fc2.com/blog-entry-148.html

×