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
Pythonでベイズモデリング
Search
Soogie
May 21, 2026
Technology
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Pythonでベイズモデリング
ベイズモデリング、MCMCとくればR+Stanがデファクトですが、Pythonでも高速に回せるやりかたがあります
Soogie
May 21, 2026
More Decks by Soogie
See All by Soogie
生成AIを活用した初学者向けPython講座
soogie
1
270
5年分のツケを一気に払った話
soogie
3
2.8k
PyHack#141今日やったこと
soogie
0
590
レビュー駆動学習のススメ_StaPy#83
soogie
0
640
職場にPythonistaを増やす方法
soogie
2
770
StaPyの効能
soogie
0
620
Stapy#25_LT
soogie
1
860
無料でできる,Cloud9上で開発してHerokuにデプロイする手順を共有します(再)
soogie
0
1.1k
無料でできる、Cloud9上で開発してHerokuにデプロイする手順を共有します
soogie
2
2.2k
Other Decks in Technology
See All in Technology
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
1
590
RelayerというPHPのフレームワークを作った
polidog
PRO
0
130
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
Adding Right-to-Left support to your web application with CSS logical properties — Lessons from Redmine
vividtone
0
180
暗号化?某ファイルストレージはどうなるの!? 3rd Partyとうまく付き合う秘密度ラベル設計
kasada
0
160
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
dbt と Snowflake と tag
kevinrobot34
1
190
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.6k
What's new in Go 1.27?
ciarana
0
370
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
0
570
巨大気象データと戦う ― サロゲートモデル学習を高速化する圧縮技術
gpuunite_official
0
250
Genie Codeハンズオン応用編
taka_aki
0
140
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
640
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Building an army of robots
kneath
306
46k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
We Have a Design System, Now What?
morganepeng
55
8.3k
Automating Front-end Workflow
addyosmani
1369
210k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
630
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Transcript
Pythonでベイズモデリング 2026/05/21 StaPy #121 LT Soogie
自己紹介 定年超えた事務系サラリーマン 主なツール:Excel Python歴13年の独学趣味プログラマー お仕事でもPythonでデータ分析 PyCon JP 2016,2018,2021,2024登壇 2026は主催メンバーに参加 Python
Boot Camp TA ☓ 5回 行けるところなら行く Python関連書籍を中心に出版前レビュー☓20冊超 断らない主義
ところで、PyCon JP 2026 ですよ 参加者募集中 3000円安いEarly Birdは先着200名まで(or 6/14まで)
トークプロポーザル募集中 5/31 AoE (日本時間だと6/1 20:59まで) 登壇してみませんか? 遠方支援制度あります 近日公開 初参加、若者、発表者のうち、遠い人を優先的に支援 今年も広島開催なので首都圏だって十分遠い 主催メンバー、スポンサーも募集中
ベイズモデリングとMCMC Scikit-Learnのpredict()は1つの推定値を返してくれます ベイズモデリングでは、1つの値ではなく、「たぶんこの辺」という確率分布で推定 「ここからここの間である確率が•%」みたいな解釈ができる 推定するときの手法のひとつがMCMC
マルコフ連鎖モンテカルロ法 細かいことを省くと、確率分布の形がややこしくて解析的に解けないから、 大量に「ガチャ」を引いて正解っぽい確率分布を探し当てる、力業の手法
MCMCのデファクトスタンダードは R+Stanの組み合わせ 確率的プログラミング言語Stanでモデルを記述して、コンパイルした オブジェクトをRから呼び出す 言語を2つ覚えるのめんどくさい コンパイル、オブジェクトとのデータのやりとりのオーバーロード
昔から比べると速くなったけど、計算量が多いのでやっぱり遅いし重い Pythonでもできるけど cmdstanpyパッケージ →StanをPythonから使える(開発中止) PyMCパッケージ →Pythonで完結するけどV3までは遅くて重かった NumPyroパッケージ →高速だけど乱数の扱いや関数の書き方がクセツヨ
PyMC(V4以降)で潮目が変わった かも PyMCか cmdstanpy経由でStan Pythonの文法で完結する PyMCが好まれる傾向 (ただしStanより遅い) 以前 JAXで高速なNumPyroの 登場
乱数の扱いが面倒だったり 関数型プログラミングで 窮屈 ちょっと 前 PyMC(V4以降) サンプリングのバックエン ドにNumPyroを指定可能に なった (書きやすい&高速) 最近 今日は ココ
モデルの記述(IRTの特性値推定) Pythonなので ・型宣言不要 ・行末セミコロン不要 ・{}不要 PyMCなので ・モデル記述がシンプル ・確率分布もだいたいある Geminiが書いたコード
モデルコンパイル+サンプリング 同一スクリプト内なので ・データをリストにして渡す必要なし サンプラーがNumPyroなので ・コンパイル不要 (Just In Timeコンパイラ) PyMCなので ・seedの設定が簡単
実行速度比較 ・同じデータ(40項目1000名)、同じモデル、同じPC(Thinkpad X1Carbon Gen8)で比較 ・GPUなし ・コンパイル時間の影響を除外するため2回実行 ・モデル、データ、利用環境により変動します コンパイル 41.43秒 サンプリング
86.57秒 JIT+サンプリング 28.52秒 サンプリング 87.19秒 サンプリング 27.35秒 R+Stan 1回目 R+Stan 2回目 PyMC+NumPyro 1回目 PyMC+NumPyro 2回目
推定結果比較 R+Stan PyMC+NumPyro 最大Rhat 1.0065 最大Rhat 1.0100
まとめ Pythonに慣れてる人ならPyMC+NumPyroはおすすめ NumPyro単体利用よりハードルが低い Geminiに頼めばR+Stanからスクリプトを書いてくれるので移行も楽 R+Stan Python(PyMC+NumPyro) •
安心と実績 • 書籍など日本語情報が豊富 • 他人が書いたStanの添削が趣味の先生がいる • 生成AIに聞けば書いてもらえる • Pythonで完結する利便性 • Stan同様の簡潔なモデル記述 • GPUが使えると超高速 (使えなくてもStan並み) • 生成AIによってはまだ知らない (Geminiは知ってた。改善するはず)
そうそう、PyCon JP 2026 ですよ 参加者募集中 3000円安いEarly Birdは先着200名まで(or 6/14まで)
トークプロポーザル募集中 5/31 AoE (日本時間だと6/1 20:59まで) 登壇してみませんか? 遠方支援制度あります 近日公開 初参加、若者、発表者のうち、遠い人を優先的に支援 今年も広島開催なので首都圏だって十分遠い 主催メンバー、スポンサーも募集中
Enjoy!!