🗒️
24/08/26 ~ 24/09/01 Weekly Report
はじめに
この一週間に学んだ内容や私生活について、備忘録として残していこうと思います。
Input
Books
Pythonで学ぶ効果検証入門
1.-
4章 Difference in Differencesを用いて効果検証を行う
-
DID(差分の差分法): 施策実施の前後の違いを捉える
- 実務ではA/Bテストなしで分析をしなければならない状況は多い
- 意図的な介入によって作られたわけではないデータのことを観察データと呼ぶ
- 観察データを用いた分析のことを、観察データ分析と呼ぶ
- **Difference in Differences(DID:差分の差分法)**は観察データ分析の一つ
-
DIDの基本的な発想: 施策の実施には「施策実施前の群」「施策実施後の群」の2つと、「施策の実施対象である群」「施策の実施対象でない群」の2つの合計4つの状況を生む。DIDは、施策効果を取り巻く4つの状況を全て利用する分析手法である。
- DIDは4つの状況を生かして「トリートメント群に施策が行われなかった場合のアウトカム」という反実仮想を構成し、試作効果の分析を行おうとする。
- 施策の実施後、施策効果は時間の経過とともに変わっていく可能性がある。このケースを考慮し、多期間のデータを用いて施策効果を時点ごとに考えていく分析方法をイベントスタディと呼ぶ。
- 複数回の施策を行なった場合: 施策を行うのは一度きりとは限らず、複数回にわたって行うことがある。施策を複数回行う場合でも2次元配置固定効果による施策効果分析は可能だが、結果の解釈には十分注意を払う必要がある。
-
DID(差分の差分法): 施策実施の前後の違いを捉える
A/Bテスト実践ガイド 真のデータドリブンへ至る信用できる実験とは
2.-
第2章 実験の実行と分析 ~ 一連の流れの例 ~
この章では、オンラインでのコントロール実験(A/Bテスト*1)の実施方法について、一連の流れに沿って解説しています。- 実験のセットアップ: 実験を行う前に、まず何を達成したいのか、どのような変更を加えたいのかを明確にする必要がある。 この章では、購入確認ページにクーポンコード入力欄を追加することで、ユーザーあたりの収益を向上させるという例を用いて説明している。
- 仮説検定: 実験の目的を明確にした上で、検証可能な具体的な仮説を立てる必要がある。 この仮説は、**「購入確認ページにクーポンコード入力欄を追加すると、購入プロセスを開始するユーザーの1ユーザーあたりの収益が低下する」**のように、明確で測定可能なものでなければならない。
- 実験デザイン: 仮説に基づき、実験デザインを決定する。 具体的には、ランダム化単位(ユーザー、ページ、セッションなど)、分析対象、必要なサンプルサイズ、実験期間などを決める。
- 実験の実施とデータの収集: 実験デザインに従って実験を実施し、必要なデータを収集する。 このためには、ユーザーの行動をログデータとして取得するための計測装置と、実験の設定や実験群への割り当てを行うためのインフラストラクチャが必要となる。
- 結果を解釈する: データ収集後、実験が適切に実行されたかを確認するために、結果の解釈を行う。 この際、ガードレールメトリクス(不変性メトリクス)を用いて、実験結果を無効にするようなバグがないかを確認する。
- 結果からの意思決定: 解釈結果に基づき、変更を本番環境に適用するか否かといった意思決定を行う。 この際、統計的有意性だけでなく、実用的な有意性も考慮することが重要。
-
第3章 トワイマンの法則と実験の信用性
この章では、実験結果の信頼性を低下させる可能性のある、よくある落とし穴やバイアスについて解説しています。- 統計結果の誤った解釈: 実験結果を解釈する際には、統計的な有意差と実用的な有意差を区別することが重要。 また、データの収集方法や分析方法によって、結果が歪められる可能性もあるため注意が必要。
- 信頼区間: 統計的有意性を判断する際には、信頼区間を考慮することが重要。 信頼区間とは、真の値が含まれている確率が高い範囲を指す。
- 内的妥当性への脅威: 実験結果の信頼性を低下させる要因として、様々な内的妥当性への脅威が存在する。 例えば、履歴効果(実験期間中に発生した外部要因による影響)、成熟効果(時間の経過に伴う自然な変化による影響)、テスト効果(実験対象が実験だと認識することによる影響)などがある。
- 外部妥当性の扱い: 実験結果を一般化するためには、外部妥当性を考慮する必要がある。 つまり、実験対象となったユーザーや状況が、実際のユーザーや状況を代表しているかどうかを確認する必要がある。
- その他のバイアス: 上記以外にも、セグメントの違いによるバイアスや、シンプソンのパラドックスといった、実験結果の解釈を複雑にする可能性のある要素についても解説している。
- 健全な懐疑主義の奨励: 実験結果を解釈する際には、常に健全な懐疑主義を持つことが重要。 すべての実験が完璧に設計され、実行されるとは限らないため、結果を鵜呑みにせず、批判的に検討する必要がある。
-
第4章 実験のプラットフォームと文化
この章では、実験を組織全体で成功させるために必要なプラットフォームと文化について解説しています。- 実験成熟度モデル: 組織における実験の成熟度を、クロールフェーズ、ウォークフェーズ、ランフェーズ、フライフェーズの4段階で示している。 各フェーズは、実験の実施頻度や、実験に対する組織の考え方によって区別される。
- 組織文化: 実験を成功させるためには、データに基づいた意思決定を行う文化を醸成することが重要。 これには、共通の目標設定、メトリクスへの注力、失敗を許容する文化などが含まれる。
- インフラストラクチャとツール: 大規模な実験を行うためには、適切なインフラストラクチャとツールが必要となる。 これには、実験の設定や管理、データの収集と分析、結果の可視化などを支援するツールが含まれる。
- 実験プラットフォーム: 実験プラットフォームは、実験の実施を効率化し、信頼性を高めるために重要な役割を果たす。 この章では、実験プラットフォームのアーキテクチャや、必要な機能について解説している。
- 同時実験: 複数のオンラインコントロール実験を同時に行う方法として、シングルレイヤー法とオーバーラップ法が紹介されている。 オーバーラップ法では、各ユーザーが同時に複数の実験に参加できるため、より多くの実験を効率的に実行できる。
Blogs
- Novel explainable Clustering method: Recursive Embedding and Clustering - The Introduction and its Application
- dbt Python model × Snowparkで外部APIのデータを取得する
- uv から始まる Python 開発環境構築
- エンジニアリングマネージャーが紐解く、事業視点から組織文化まで、包括的アプローチの探求
-
10X の推薦を作るチームと ML platform
10X社の推薦システムを導入するまでのプロセスがまとめられている。 -
売り上げに直結するデザイン施策
課題から施策、効果検証までを社内で実施した事例 - Snowflake × dbt で構築する ELT アーキテクチャ
- NewsPicksに推薦システムを本番導入する上で一番優先すべきだったこと
- 【AWS】 代表的なクラウドデザインパターン紹介
- 2024年版機械学習・データ分析の必須10冊+ガチ90冊+Next5冊=105冊
-
Novel explainable Clustering method: Recursive Embedding and Clustering
次元削減⇒クラスタリングされたラベルに対し、XGBoostとSHAPを適応することで、説明可能なクラスタリングを実践する。 -
Introduction to Geospatial Analysis with GeoPandas
shp
ファイルのような地理空間データを読み込んで分析するためのPythonライブラリであるGeoPandas
の説明。 -
論文紹介 / The Llama 3 Herd of Models
Llama3モデルを学習する上での手法について公開されている論文の紹介 - 新しいことを組織ではじめる そして続ける
Media
- 【成功事例/ツール/プロンプトetc】LINE DC Generative AI Meetup #2
- Data Engineering Study #25 データカタログの現在地
- Polars Data Crunch #3
- 【成功事例/ツール/プロンプトetc】LINE DC Generative AI Meetup #2
- データ利活用のミソ DataOps実現のための取り組みとは? Lunch LT (限定公開のためリンク割愛)
最近浸透してきている「DataOps」関するLT会。peiさんの話は現場のリアリティを熱を持って伝えてくれるので、いつも聞いてて楽しい。 - 第92回 Machine Learning 15minutes! (限定公開のためリンク割愛)
Insight
- これから経験を深め多くのスキルを習得したとしても、自分の能力を疑う習慣をつけよう。一生自分に満足することなく成長し続けよう。
Task
技術
- 因果推論 基礎から機械学習・時系列解析・因果探索を用いた意思決定のアプローチ
- [試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識
- つくって、壊して、直して学ぶ Kubernetes入門
- コンピュータビジョンのための実践機械学習
Discussion