5月12日
実務で活かしたい人のための実践的ベイズ統計モデリングハンズオン
https://ml-for-experts.connpass.com/event/127987/
を聞いてきたので、内容メモメモ
・Google Colaboratoryが便利
Googleドライブ→その他→Colaboratory
Notebookで開く GITHUB(他人のNotebookも)
今日の学習目標
・統計モデリングは何か
・ベイズ統計
・何回かやってみる
具体的な課題
・広告効果の推定:バナー広告のA/Bテスト
主な参考資料Pythonで体験するベイズ推論
PyMCによるMCMC入門
・自己紹介
チョコボールの秘密を解明している人
・資料はセミナー終了後に公開
ソースはGithub https://github.com/tok41/SeminarBayes
(クレジットつけていただけると・・・)
・統計モデリング
統計の手法を使ってシステムを記述/理解/説明
→AIの基礎
・統計モデリングの活用の段階
クラス分類
(1)データの確率密度関数の推論(推論段階)→こっちに重きを置かれている
(2)分類(決定段階)
統計モデリング
・統計学の手法→確率密度関数
正規分布と家庭
データからパラメータ(平均と分散)
評価、活用
・なぜ、確率密度関数なのか
計測には誤差が生じる
コストなどの問題ですべての情報を使えない
・考え方
平均と分散の推定
最尤推定(点推定):予測はY%
ベイズ推定(分布推定):予測値はX%~Y%の間
・ベイズ的考え方のメリット
チョコボールを10個買ってエンゼルが1個も出ない
最尤推定 0%→過適合
ベイズ推定 まだ出ていない→事前分布で正則化
→データが潤沢にあれば、どうでもいい問題。
異常発生率
効果測定
※ポイントはデータが少ない時
・ハンズオン
クリックされる確率:数%未満
特にバナー広告のABテスト
問題設定
・バナー広告のA/Bテスト
効果をクリック率でみる
仮定、モデル設定
・クリックイベント:i.i.d(独立同分布)確率Θ
→ベルヌーイ分布(3つだと、多項分布
確率分布の選び方
李さん
0以上で試行回数あり:2項分布、ベルヌーイ分布
0以上、上限なし:ポアソン分布
連続
範囲ー∞~∞ 正規分布、t分布
範0~∞ ガンマ分布
状態の差:回帰モデル
個人差 混合モデルGLMM,階層モデル
参考:データ解析のための統計モデリング入門
モデリング:抽象化
・データの生成
真のクリック率の設定
シミュレーション()
stats.bernoulli(p=p_a_true).rvs(size=N_a)
最尤推定→頻度
・尤度関数を最大化するΘ→平均になる
ベイズ推定
・ベイズの定理
手元にあるデータから、クリック確率を求める
→尤度と事前分布の積
尤度と事前分布はともに関数→解析的に計算できないことも
計算可能な事前分布を選ぶ(共役事前分布)
近似計算
変分法
ラプラス近似
MCMC
・共役事前分布
尤度と事前分布を書けてもおなじかたち
→事後b8運否はβ分布
・事前分布
何も情報ないときは一様分布
MCMC
Pymc3で計算
AB分布の差を確認
→差の分布:わからないことがわかる(0のライン)
・ベイズ的A/Bテスト
効果の見積もり
CTRの増加の見積もり
期待収益の見積もり
※このときに、平均値をいれてしまうとよくない
→事後分布のばらつきを考慮する
サンプル間の増加率の割合を見る:差を取って、割合にする
rift_posterior = (trace_banner['theta'][:, 1] - trace_banner['theta'][:, 0])/trace_banner['theta'][:, 0]
20%以上→そのところで積分を取る
・期待収益の見積もり
商品の成約率→多項分布・共役事前分布ディリクレ分布
クリック確率
期待収益:
インプレッション → クリック → コンバージョン
p(click|imp) p(cv|click)
・ベイズ推定
分布の形で出てくる→期待値で報告、範囲で報告、中央値を出す?
分布:データのあいまいさ
・データモデルは簡単なものから複雑なものへ
(いきなり複雑なものからやると、無駄になることも)
・緑本「データ解析のための統計モデリング入門」久保拓弥
MCMCとかも載ってる
実務で活かしたい人のための実践的ベイズ統計モデリングハンズオン
https://ml-for-experts.connpass.com/event/127987/
を聞いてきたので、内容メモメモ
・Google Colaboratoryが便利
Googleドライブ→その他→Colaboratory
Notebookで開く GITHUB(他人のNotebookも)
今日の学習目標
・統計モデリングは何か
・ベイズ統計
・何回かやってみる
具体的な課題
・広告効果の推定:バナー広告のA/Bテスト
主な参考資料Pythonで体験するベイズ推論
PyMCによるMCMC入門
・自己紹介
チョコボールの秘密を解明している人
・資料はセミナー終了後に公開
ソースはGithub https://github.com/tok41/SeminarBayes
(クレジットつけていただけると・・・)
・統計モデリング
統計の手法を使ってシステムを記述/理解/説明
→AIの基礎
・統計モデリングの活用の段階
クラス分類
(1)データの確率密度関数の推論(推論段階)→こっちに重きを置かれている
(2)分類(決定段階)
統計モデリング
・統計学の手法→確率密度関数
正規分布と家庭
データからパラメータ(平均と分散)
評価、活用
・なぜ、確率密度関数なのか
計測には誤差が生じる
コストなどの問題ですべての情報を使えない
・考え方
平均と分散の推定
最尤推定(点推定):予測はY%
ベイズ推定(分布推定):予測値はX%~Y%の間
・ベイズ的考え方のメリット
チョコボールを10個買ってエンゼルが1個も出ない
最尤推定 0%→過適合
ベイズ推定 まだ出ていない→事前分布で正則化
→データが潤沢にあれば、どうでもいい問題。
異常発生率
効果測定
※ポイントはデータが少ない時
・ハンズオン
クリックされる確率:数%未満
特にバナー広告のABテスト
問題設定
・バナー広告のA/Bテスト
効果をクリック率でみる
仮定、モデル設定
・クリックイベント:i.i.d(独立同分布)確率Θ
→ベルヌーイ分布(3つだと、多項分布
確率分布の選び方
李さん
0以上で試行回数あり:2項分布、ベルヌーイ分布
0以上、上限なし:ポアソン分布
連続
範囲ー∞~∞ 正規分布、t分布
範0~∞ ガンマ分布
状態の差:回帰モデル
個人差 混合モデルGLMM,階層モデル
参考:データ解析のための統計モデリング入門
モデリング:抽象化
・データの生成
真のクリック率の設定
シミュレーション()
stats.bernoulli(p=p_a_true).rvs(size=N_a)
最尤推定→頻度
・尤度関数を最大化するΘ→平均になる
ベイズ推定
・ベイズの定理
手元にあるデータから、クリック確率を求める
→尤度と事前分布の積
尤度と事前分布はともに関数→解析的に計算できないことも
計算可能な事前分布を選ぶ(共役事前分布)
近似計算
変分法
ラプラス近似
MCMC
・共役事前分布
尤度と事前分布を書けてもおなじかたち
→事後b8運否はβ分布
・事前分布
何も情報ないときは一様分布
MCMC
Pymc3で計算
AB分布の差を確認
→差の分布:わからないことがわかる(0のライン)
・ベイズ的A/Bテスト
効果の見積もり
CTRの増加の見積もり
期待収益の見積もり
※このときに、平均値をいれてしまうとよくない
→事後分布のばらつきを考慮する
サンプル間の増加率の割合を見る:差を取って、割合にする
rift_posterior = (trace_banner['theta'][:, 1] - trace_banner['theta'][:, 0])/trace_banner['theta'][:, 0]
20%以上→そのところで積分を取る
・期待収益の見積もり
商品の成約率→多項分布・共役事前分布ディリクレ分布
クリック確率
期待収益:
インプレッション → クリック → コンバージョン
p(click|imp) p(cv|click)
・ベイズ推定
分布の形で出てくる→期待値で報告、範囲で報告、中央値を出す?
分布:データのあいまいさ
・データモデルは簡単なものから複雑なものへ
(いきなり複雑なものからやると、無駄になることも)
・緑本「データ解析のための統計モデリング入門」久保拓弥
MCMCとかも載ってる