mcpField
P
pymc-modeling

pymc-modeling

github.com/pymc-labsデータ・データベース93241 回インストール3 週間前に更新
リポジトリ

pymc-modeling について

PythonプロジェクトでPyMCを使うためのモデリングスキルです。モデルの定式化、構築、フィッティング、診断、予測を扱い、分析者や研究者が仮定、計算、不確実性を確認しながら作業を進められます。

主な機能

  1. 01推定対象と予測目標の定式化
  2. 02尤度と事前分布の指定支援
  3. 03事前・事後予測の確認
  4. 04フィッティングとサンプリング診断
  5. 05モデルの改訂と比較
  6. 06タスクに応じた参照ワークフロー選択

活用シーン

  1. 01PyMCモデルの構築とフィッティング
  2. 02サンプリング失敗や警告の調査
  3. 03新しい入力に対する予測の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/pymc-labs/pymc-modeling --skill pymc-modeling

インストール後、Claude Code で/pymc-modelingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
references/
approximate-inference.md
bart.md
custom-likelihoods.md
extras-distributions.md
extras-model-tools.md
extras-statespace.md
gaussian-processes.md
hierarchical.md
interface-boundaries.md
likelihoods.md
mixtures.md
model-data-dimensions.md
model-testing.md
predictive-checks.md
pymc-extras.md
sampling.md
splines-distributional.md
time-series.md
transformations.md
troubleshooting.md
workflow.md

詳細

PyMC モデリング

役立つ出発点を選びます。シンプルなひな形、確立された専門分野のモデル、またはより大きな対象モデルを分解したものから始められます。質問、データ、検証内容に応じて、拡張、簡略化、または分岐させます。利用するプロジェクトのデータと Python 環境を使い、インストール済みの API とパッケージの互換性を確認してください。

pymc-extras のタスクでは、まず機能の選択と互換性を確認し、その後、関連するワークフローのリファレンスだけを読み込みます。独自実装よりも、サポートされているアルゴリズムを優先してください。インストールされているという理由だけで拡張機能を使わないでください。

主なタスクを選ぶ

  • モデルの構築、フィッティング、または初期化:pymc-modeling を使います。
  • 事前分布の仮定を引き出す、または事前予測の妥当性を確認する:利用可能な場合は prior-elicitation を使います。
  • 既存のフィッティング済みモデルを診断する、またはその予測を評価する:利用可能な場合は arviz-diagnostics を使います。
  • シンボリック計算、ブロードキャスト、勾配、またはコンパイルの問題を修正する:利用可能な場合は pytensor-workflows を使います。
  • 実験を追跡する、MLflow の成果物を保持する、または記録済みの MMM モデルを復元する:利用可能な場合は pymc-mlflow を使います。

複数のタスクを含むリクエストでは、複数のスキルを使えます。以下のリファレンスは、専門スキルがインストールされていない場合にモデリングを支援します。

ワークフロー

  1. 定式化します。 推定対象または予測対象、観測単位、アウトカムの支持範囲、グループ構造/時間構造、選択と欠損、予測時に利用できる情報を明示します。予測に関する主張、推論に関する主張、因果に関する主張を区別し、データの利用許可を遵守して、ソースの識別情報を保持します。
  2. モデルを指定して確認します。 観測過程に尤度を適合させ、識別可能なパラメーター化と、単位を明示した事前分布を選びます。行の対応、形状、支持範囲、初期対数密度が有限であることを確認します。通常の dims は位置で対応付けるテンソルにラベルを付けますが、座標を結合するものではありません。 新しい実装とその失敗モードを調べるには、パラメーター既知のシミュレーションケースを使います。推論チェックを繰り返す必要がある場合は、対象を絞った SBC を使います。
  3. 事前予測を確認します。 フィッティング前にシミュレーションし、支持範囲、尺度、意思決定に関わる特徴をドメイン知識と比較します。観測された極値だけを根拠に事前分布を調整しないでください。
  4. 探索してから、推論用にフィッティングします。 互換性があり、インストール済みの場合は nutpie を優先します。短い予備フィッティングは、バグ、難しい幾何、または大まかな不適合を明らかにするのに役立ちますが、信頼できる事後推論ではなく探索的なものとして示します。報告可能な結果を得るには、適応と必要な ESS/MCSE に基づいてウォームアップとサンプル数を確保します。診断やプロットを行う前に結果を保存します。
  5. 診断してから批判的に検討します。 発散、ランク R-hat、バルク/テール ESS、MCSE、チェーン/ランクプロットを確認します。すべての発散を診断します。計算が信頼できない場合、事後結論は未解決のままです。これは尤度を否定するものではありません。観測モデルを確認するために、事後予測の不一致を使います。インサンプル PPC はホールドアウト検証ではありません。
  6. 予測し、判断し、見直します。 学習データの識別情報を保持し、新しい入力を対応付けます。潜在平均とノイズを含む観測値を区別します。推奨を行う場合は、明示された結果、効用、制約に不確実性を反映させるか、意思決定者の価値観を勝手に作り出さずに推論を引き継ぎます。関連するモデルのバリアントを保持し、どのモデルが最高スコアかだけでなく、仮定の変更が推定対象、予測、意思決定にどう影響するかを説明します。適応的な PPC/CV 駆動の探索は過学習する可能性があります。その勝者を唯一確認されたモデルとして提示したり、有利な結果を得るためだけにシードや基準を変更したりしないでください。

PyMC 6 は xarray.DataTree を返すため、属性によるグループアクセスではなく idata["posterior"] を使います。LOO やその他の点ごとの尤度を使うワークフローの前に、pm.compute_log_likelihood(idata, model=model) を明示的に呼び出します。ArviZ 1.0 では、削除された WAIC ではなく LOO を使います。区間確率と区間の種類を明示します(デフォルトは 89% ETI です)。スタッキング重みが似ていても、モデルが同等であることを意味しません。 サンプラーの優先設定、ウォームアップの開始点、区間のデフォルト値は実装上の慣例であり、普遍的なベイズワークフローの要件ではありません。タスクに応じて選択してください。

タスクに必要な箇所だけ読む

作業内容参照先
エンドツーエンドのフィッティング、診断、科学的な検証ワークフロー
モデルの構築、データコンテナ、次元モデルとデータ
初期化の失敗、形状エラー、サンプリングの停止、警告トラブルシューティング
グループ効果、プーリング、パラメーター化階層モデル
アウトカムのサポート、打ち切り、多変量分布族、ヤコビアン尤度
アルゴリズム、バックエンド、予算、永続化サンプリング
pymc-extras の機能選択、互換性、検証PyMC Extras
マルコフ連鎖、特殊なカウント、極値、ヒストグラム尤度Extras の分布
カルマン周辺化モデル、構造コンポーネント、予測Extras の状態空間ワークフロー
事前分布ファクトリー、モデルのパッケージ化、VIP、事後分布から事前分布への転送Extras のモデルツール
変分近似、ラプラス近似、Pathfinder 近似近似推論
共分散モデル、有限基底誤差ガウス過程
時間的依存、微分方程式、予測時系列
ラベル不変性、離散変数の消去混合モデル
外部密度、シミュレーター、予測コールバックカスタム尤度
条件付け、介入、グラフ変換変換
標本内の評価、新しい入力に対する予測予測チェック
ツリーアンサンブル、予測状態BART
基底ペナルティ、分布的予測子スプライン
シミュレーションデータを使った実験、SBC、数値オラクル、モックモデルのテスト
高度な数値インターフェイス、拡張インターフェイスインターフェイスの境界

バージョン固有の API については、利用環境にインストールされたオブジェクトに対して help() または inspect.signature() を使用し、その後、バージョンに合った公式ドキュメントまたはソースを参照してください。

コメント