Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
main.pdf
Search
konumaru
November 25, 2020
Technology
0
290
main.pdf
konumaru
November 25, 2020
Tweet
Share
More Decks by konumaru
See All by konumaru
Cursor × Marp 勉強会
konumaru
3
1.3k
レコメンドエンジンを Figma で爆速 UX リサーチ
konumaru
0
8.3k
7日で学んだ強化学習
konumaru
0
250
AutoML 使ってみた
konumaru
0
180
Other Decks in Technology
See All in Technology
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1.1k
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
450
BPaaSにおける人と協働する前提のAIエージェント-AWS登壇資料
kentarofujii
0
140
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
200
エラーとアクセシビリティ
schktjm
1
1.3k
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
260
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
250
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
570
2025年夏 コーディングエージェントを統べる者
nwiizo
0
170
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
430
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.4k
Thoughts on Productivity
jonyablonski
70
4.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building Applications with DynamoDB
mza
96
6.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Building Adaptive Systems
keathley
43
2.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Docker and Python
trallard
45
3.6k
Transcript
バイアスのあるデータをIPWで補正してUplift Modeingを やってみた 1
⾃⼰紹介 ⼩沼 塁, @knmr_u 職業とか趣味とか 機械学習エンジニア PMに鞍替え中 kaggle, 銅 1
(だけ) 2
話す内容 テーマ バイアスのあるデータを IPW で補正して Uplift Modeing をやってみたよ TL;DR Uplift
Moddeling で介⼊効果を最⼤化できるよ バイアスのあるデータでも Uplift Modeling ができたよ ただし、傾向スコアをあまり信じすぎるのは危ないよ 3
参考資料 仕事で始める機械学習 岩波データサイエンス vol.03 4
実装について ⾃作ライブラリ pycalf を作りました 今回の実装については上記のライブラリにまとまっています 5
ToC . Uplift Modeling による介⼊効果の最⼤化 . Uplift Modeling の弱点 .
IPW (Inverse Probability Weighting) とは . IPW で Uplift Modeling の弱点を補填 . バイアスを補填した Uplift Modeling の結果 . IPW (傾向スコア) の弱点 . おまけ 6
Uplift Modeling による介⼊効果の最⼤化 7
Uplift Modeling の⽬的 何らかのマーケティング施策を想 定する 右図のような四象限を仮定する Uplift Modeling では、介⼊するこ とでCVする群である「説得可能」
を⾒つける 8
ABテストを通じたUplift Modelingの⼿順(1/7) ABテストを⾏い、以下のデータを取得する X: 特徴量, Z: 介⼊有無 (0 or 1),
Y: CV有無 (0 or 1) 9
ABテストを通じたUplift Modelingの⼿順(2/7) Z==0, Z==1 でデータを分ける つまり介⼊有無でデータを分割する 10
ABテストを通じたUplift Modelingの⼿順(3/7) Z==0, Z==1 ごとのモデルを作成 11
ABテストを通じたUplift Modelingの⼿順(4/7) 同様の検証データに対して作成したモデで予測 12
ABテストを通じたUplift Modelingの⼿順(5/7) 予測値からUplift Score と Lift を取得 Uplift_Score = treat_proba/control_proba
Lift = treat_proba − control_proba 13
ABテストを通じたUplift Modelingの⼿順(6/7) AUUC でモデルの評価を⾏う ⻘い線が介⼊した場合 左からUpliftScoreが⾼い順に介⼊効果を積み 上げている 曲線が下ぶれてくるあたりから天邪⻤が含ま れてくる 14
ABテストを通じたUplift Modelingの⼿順(7/7) UpliftScoreでソートしたLiftの累積和が最⼤ 値になるポイントを介⼊閾値に決定 AUUCの横軸をデータ数からUpliftScoreに変 える UpliftScore = 1.1 あたりが最も介⼊効果が⾼
いことがわかる 15
Uplift Modeling の弱点 ABテストを⾏ったデータが必要ということ (システム構成が複雑だとか?ユースケースあるの?とかは置いてといて) 16
Uplift Modeling が仮定していること ABテストのより得られた反実仮想のデータを学習する 17
バイアスをIPWで補正 介⼊有無により特徴量に偏りが⽣じる場合、反実仮想のデータが⼿に⼊らない そこで、IPWを使えばバイアスを補填できるのではないか と考えた 18
IPW (Inverse Probability Weighting) とは 介⼊有無を学習したモデルの予測値が傾向スコア 傾向スコアを逆確率変換したものを重みとする これをIPWと呼ぶ IPWは介⼊が必然である個体を軽く、介⼊が偶然である個体を重く扱う 上記のような処理をすることでデータの偏りを調整する
19
傾向スコアの求め⽅ 特徴量から介⼊有無を予測するモデルを作成 そのモデルの予測値を傾向スコアとする イメージ図 20
IPWのイメージ図 引⽤: 医学統計セミナー アドバンスコース 統計的因果推論と傾向スコア 21
IPW で Uplift Modeling の弱点を補填 ⽴ち戻ると、 バイアスのあるデータで Uplift Modeling がしたい
しかし、Uplift Modelig はRCTのような反実仮想を想定したデータが必要 バイアスがあってもIPWによる補正で反実仮想を想定したデータを⽤意できるのではな いか 22
重み付けモデルのイメージ図 移⾏の⼿順は通常のUplift Modelingと同じ 23
バイアスを補填した Uplift Modeling の結果 それっぽいAUUCが出てくることが確認できた。 曲線のガタツキはデータ量によるものなのでデータが少ないときは注意が必要 詳しい実装はこちら 24
IPWの弱点 分類精度が⾼すぎる場合、以下のような ことが起こる 極端な重み付け 同質のデータが存在しない 詳しくは 岩波DS vol.03 で 25
積み残し モデルの検証が不⼗分 意図した振る舞いなのかを検証するのが困難で、 ABテストの場合とバイアスがある場合のモデルの⽐較をしたいが単純には⽐較でき ない 検証の⽅法についてを真⾯⽬に考える必要がある 26
まとめ Uplift Moddeling で介⼊効果を最⼤化できるよ 介⼊することでCVする「説得可能」なセグメントを⾒つけることができる バイアスのあるデータでも Uplift Modeling ができたよ IPWをsample_weightに設定することで反実仮想を仮定することができる
ただし、傾向スコアをあまり信じすぎるのは危ないよ 傾向スコアが極端な値を取っていないか、ある程度重なりがあるか確認する必要が ある 27
おまけ 実装はpycalfのexampleにあります 傾向スコアを利⽤しない⼿法として Uber が開発していた causalML がある meta-learner や causal-tree
といった⼿法が使われている(らしい) causalML の調査資料についてはこれ 28
おわり 29