渋谷駅前で働くデータサイエンティストのブログ

元祖「六本木で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木→渋谷駅前

見た目は全く同じ実験結果なのに、データの取られ方次第で分析結果が変わる統計的仮説検定

各種SNSでたまに統計哲学まわりの議論が出ると必ず話題に上るのが「尤度原理」即ち「尤度(ある結果が生じる確率をモデルのパラメータ \thetaの関数と見たもので「データがもたらす」ものでもある)が同じ(もしくは関数形が同じで互いに比例関係にあるだけ)であるならば分析結果もまた同じでなければならない」という考え方で、ほぼ確実に頻度論vs.ベイズの文脈で出てくる話です。ところが、周囲を観測した範囲では意外と知らない人が多いようなので、太古の昔から言い古されてきたネタですがこのブログでも取り上げてみようかと思います。


なお、今回のネタは日本語圏の資料に乏しい上に詳説している邦書はほぼ見当たらないという有様でして、色々と調べながら自前でまとめたものですので、理解不足・認識の誤りによる不備などがあり得ます。その際は是非忌憚なくご指摘くだされば幸いです。

続きを読む

PyMC Marketing MMM:オーソドックスな実装のベイジアンMMMライブラリ

だいぶ食傷気味の方も多いかもしれませんが、懲りずに今回もMMM (Marketing/Media Mix Modeling)ネタをやります。この度取り上げるのはこちらです。

そう、PyMC Marketing MMMです。あくまでも僕の観測範囲ですが、広く普及しているPyMCベースなのもあってか、群雄割拠するMMMライブラリの中でも比較的広く支持を集めているように見受けられます。


MMMは歴史の長いマーケティング分析手法で、その実装方法もそれに応じて多岐に渡りますが、近年ではJin et al. (2017)に準拠したベイジアンMMMが主流になりつつようです*1。そのオリジナル実装は僕の勤務先では社内版として利用できますが、それをJAX + NumPyroで再実装したのがLightweight MMM*2、そしてそこに色々なコンポーネントを追加して全面的にTensorFlow Probabilityで実装し直したのがMeridianです。


なのですが、先日の記事でも触れた通りMeridianには既存実装には見られない独特のfeatureが多く、時にはユーザーを困惑させることもあるようです。このためJin et al. (2017)により忠実な実装を求める声も少なくないようで、その代表格としてPyMC Marketing MMMが挙げられることもまた多いと伝え聞いています。


ということで、今回の記事ではそのPyMC Marketing MMMがどんなものかを公式のEnd-to-End Case Studyをなぞりながらレビューしてみようと思います。なお、今回ご紹介するコードは独立に取得した実データに対しても回ることを確認していますが、後述する事情もあり、芸がないのは承知の上で配布元指定のオープンデータを用いています。

*1:完全にポジショントークですがご勘弁を

*2:今年1月でメンテ終了

続きを読む

MMMライブラリ "Meridian" の使い方・特徴・注意点まとめ

麗々しく自社プロダクトについてのまとめ記事を書くのは若干気が引けるのですが、先日Gemini 2.5 Proにvibe codingということでMMMのサンプルコードを書かせてみたら既にsunset済みのLigthweight MMMを使ったコードが返ってきた上に、よりにもよってこのブログのLMMM紹介記事を参照してくるということがありまして*1、これはいかんということでこのブログでもMeridianの紹介記事を書くこととしました。


Meridianそのものについては公式サイト・ドキュメントやGitHubリポジトリに既に公式のきちんとした説明が沢山ありますので、この記事ではMMMの実務家にとって重要そうなポイントに絞ってご紹介していこうと思います。

続きを読む