simulate-stochastic-process
À propos
Cette compétence simule des processus stochastiques tels que les chaînes de Markov, les EDS et les méthodes MCMC pour générer des trajectoires d'échantillons, effectuer des estimations de Monte-Carlo et échantillonner des distributions a posteriori complexes. Elle offre des fonctionnalités clés incluant des diagnostics de convergence, des techniques de réduction de variance et des capacités de visualisation. Utilisez-la lorsque les solutions analytiques sont inaccessibles ou lorsque vous devez valider des résultats par simulation empirique.
Installation rapide
Claude Code
Recommandénpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/simulate-stochastic-processCopiez et collez cette commande dans Claude Code pour installer cette compétence
Documentation
擬機程
擬機程之樣路——含 DTMC、CTMC、SDE、MCMC——含收歛診、減差、軌示。
用
- 需自機程生樣路為估、測、示→用
- 析解難得、唯擬可行→用
- 行 Monte Carlo 估而需收歛保與不確量→用
- 欲驗析果(穩分、抵時)於實擬→用
- 自繁後分以 MCMC 取樣→用
- 機模試於全析前→用
入
必
| Input | Type | Description |
|---|---|---|
process_type | string | Type of process: "dtmc", "ctmc", "random_walk", "brownian_motion", "sde", "mcmc" |
parameters | dict | Process-specific parameters (transition matrix, drift/diffusion coefficients, target density, etc.) |
n_paths | integer | Number of independent sample paths to simulate |
n_steps | integer | Number of time steps per path (or total MCMC iterations) |
可
| Input | Type | Default | Description |
|---|---|---|---|
initial_state | scalar/vector | process-specific | Starting state or distribution for each path |
dt | float | 0.01 | Time step size for continuous-time discretization |
seed | integer | random | Random seed for reproducibility |
burn_in | integer | n_steps / 10 | Number of initial steps to discard (MCMC) |
thinning | integer | 1 | Keep every k-th sample to reduce autocorrelation |
variance_reduction | string | "none" | Method: "none", "antithetic", "stratified", "control_variate" |
target_function | callable | none | Function to evaluate along paths for Monte Carlo estimation |
行
一:定模與參
1.1 識程類、集諸需參:
- DTMC:轉陣
P與態空。驗P為行隨 - CTMC:率陣
Q。驗行和為 0、非對角非負 - 隨步:步分(如
{-1, +1}等概)、界若有 - Brown:漂
mu、波sigma、維d - SDE(Ito):漂
a(x,t)、擴b(x,t) - MCMC:標對數密、提機(隨步 Metropolis、Hamilton、Gibbs 分量)
1.2 驗參恆:
- 陣維配態空大
- SDE 係滿增與 Lipschitz(至少非形)為所擇解
- MCMC 提於標分支撐良定
1.3 設機種以重現
得:全述機模、參驗、機態可重現。
敗:參不恆(如非隨陣)→正之。SDE 係病態→慮異離散法。
二:擇擬法
2.1 依程類擇宜算:
| Process | Method | Key Property |
|---|---|---|
| DTMC | Direct sampling from transition row | Exact |
| CTMC | Gillespie algorithm (SSA) | Exact, event-driven |
| CTMC (approx.) | Tau-leaping | Approximate, faster for high rates |
| Random walk | Direct sampling of increments | Exact |
| Brownian motion | Cumulative sum of Gaussian increments | Exact for fixed dt |
| SDE (general) | Euler-Maruyama | Order 0.5 strong, order 1.0 weak |
| SDE (higher order) | Milstein | Order 1.0 strong (scalar noise) |
| SDE (stiff) | Implicit Euler-Maruyama | Stable for stiff drift |
| MCMC (general) | Metropolis-Hastings | Asymptotically exact |
| MCMC (gradient) | Hamiltonian Monte Carlo (HMC) | Better mixing for high dimensions |
| MCMC (conditional) | Gibbs sampler | Exact conditionals when available |
2.2 SDE 法擇 dt 足小以數穩。試啟:始 dt = 0.01、半之至果穩。
2.3 MCMC 調提尺以納率約:
- 23.4% 為高維隨步 Metropolis
- 57.4% 為一維標
- 65-90% 為 HMC(依軌長)
2.4 若請減差→配之:
- 反變:各路隨增
Z、亦擬-Z - 層樣:分概空、各層內樣
- 控變:識相關量有知期以減差
得:擇配程類之擬算與宜調參。
敗:法不穩(如 Euler-Maruyama 散)→換隱法或減 dt。
三:行擬
3.1 配 n_paths 軌存、各長 n_steps(或為 Gillespie 等事件驅動法動配)。
3.2 各路 i = 1, ..., n_paths:
DTMC / 隨步:
- 設
x[0] = initial_state - 各
t = 1, ..., n_steps:自轉分樣x[t]給x[t-1]
CTMC(Gillespie):
- 設
x[0] = initial_state、time = 0 - 當
time < T_max:- 計總率
lambda = -Q[x, x] - 樣留時
tau ~ Exp(lambda) - 樣次態自
Q[x, j] / lambda為j != x - 更
time += tau、記轉
- 計總率
SDE(Euler-Maruyama):
- 設
x[0] = initial_state - 各
t = 1, ..., n_steps:dW = sqrt(dt) * N(0, I)(Wiener 增)x[t] = x[t-1] + a(x[t-1], t*dt) * dt + b(x[t-1], t*dt) * dW
MCMC(Metropolis-Hastings):
- 設
x[0] = initial_state - 各
t = 1, ..., n_steps:- 提
x' ~ q(x' | x[t-1]) - 計納比
alpha = min(1, p(x') * q(x[t-1]|x') / (p(x[t-1]) * q(x'|x[t-1]))) - 以
alpha概納:納則x[t] = x'、否x[t] = x[t-1] - 記納決
- 提
3.3 若 target_function 予→各路各態評之、存值。
3.4 行稀:留每 thinning 樣。
3.5 棄各路始 burn_in 樣(主於 MCMC)。
得:n_paths 全軌存於憶、可選函評。MCMC 納率於目範。
敗:擬生 NaN 或 Inf→減 SDE 之 dt 或察參。MCMC 納率近 0% 或 100%→調提尺。
四:行收歛診
4.1 追圖:繪某路各分量之值於時。目視穩(無趨、差穩)。
4.2 Gelman-Rubin 診(R-hat):MCMC 多鏈:
- 計鏈內差
W與鏈間差B R_hat = sqrt((n-1)/n + B/(n*W))- 收歛示於
R_hat < 1.01(嚴)或R_hat < 1.1(寬)
4.3 有效樣大(ESS):
- 估增滯之自相
ESS = n_samples / (1 + 2 * sum(autocorrelations))- 試則:
ESS > 400為可信後總
4.4 Geweke 診:比各鏈首 10% 與末 50% 之均。z 應於 [-2, 2] 為收歛。
4.5 非 MCMC 程:驗時均統(均、差)隨路長穩。繪行均。
4.6 報總表:
| Diagnostic | Value | Threshold | Status |
|---|---|---|---|
| R-hat (max) | ... | < 1.01 | ... |
| ESS (min) | ... | > 400 | ... |
| Geweke z (max abs) | ... | < 2.0 | ... |
| Acceptance rate | ... | 0.15-0.50 | ... |
得:諸收歛診過閾。追圖示穩、混良鏈。
敗:R-hat > 1.1→行更長鏈或增提。ESS 甚低→增稀或換更佳樣(如 HMC)。Geweke 敗→延 burn-in。
五:計總統含信區
5.1 各關量(態占、函期、抵時):
- 計點估為跨路樣均(過 burn-in 與稀後)
- 用 ESS 計標誤:
SE = SD / sqrt(ESS)
5.2 建信區:
- 常近:
estimate +/- z_{alpha/2} * SE - 偏分→用百分自舉或批均
5.3 若用減差→計減差因:
VRF = Var(naive estimator) / Var(reduced estimator)- 報有效加速
5.4 Monte Carlo 積估:
- 報估、標誤、95% CI、ESS、函評數
5.5 分估:
- 計實百分(中、2.5、97.5)
- 連量用核密估
5.6 列諸總統與其不確。
得:點估含標誤與信區。減差(若用)生 VRF > 1。
敗:信區過寬→增 n_paths 或 n_steps。減差敗(VRF < 1)→閉之——控變或反變或不宜。
六:示軌與分
6.1 軌圖:繪代表樣路(5-20)於時。重疊用透明。
6.2 集統:覆均軌與跨路逐點 95% 信帶。
6.3 邊分:選時點繪態跨路之直方或密估。
6.4 穩分比:若析穩分有→覆於末時實直方。
6.5 自相圖:MCMC 繪各分量自相函(ACF)至宜滯。
6.6 診盤:合追、ACF、行均、邊密為一多板圖以全察。
6.7 諸圖存為向量(PDF/SVG)與點陣(PNG)為文。
得:版質之圖示軌為、分收歛、診總。析解(若有)配實果。
敗:示顯非穩或非期之多模→覆步一二察參或法誤。圖亂→減示路或增圖大。
驗
- 諸擬軌留於有效態空(無越界、無 NaN/Inf)
- DTMC/CTMC:實穩分收於析者(於期 Monte Carlo 誤內)
- SDE:半
dt不質變果(收歛序察) - MCMC:R-hat < 1.01、ESS > 400、Geweke z 於 [-2, 2]
- 信區寬隨
1/sqrt(n_paths)減(中極限) - 減差技生 VRF > 1(估改非劣)
- 重現:同種重行生同果
忌
- MCMC burn-in 不足:自劣始態需長 burn-in 乃樣代標分。常察追圖與用收歛診、勿猜
- 僵 SDE 之 Euler-Maruyama 不穩:漂大梯→明 Euler-Maruyama 散。換隱法或用適步
- 混 SDE 強弱收歛:強收歛測路誤(要於個軌);弱收歛測分誤(足為期)。Euler-Maruyama 弱序 1.0 而強序 0.5
- 偽隨數質:甚長擬中、劣 RNG 或生相關樣。用善測者(Mersenne Twister、PCG、Xoshiro)並驗獨
- 忽 MCMC 自相:視自相 MCMC 樣為獨低估不確。常用 ESS、非原樣數、為標誤
- 非單調函之反變:反樣唯於估為下均勻之單調函時減差。非單調或增差
- 大擬之憶:諸長路全步存或耗憶。完軌不需示時、用線統(行均、差)
參
- Model Markov Chain — 予轉陣與析解、擬驗之
- Fit Hidden Markov Model — 自合 HMM 擬助後測檢與合資生
Dépôt GitHub
Compétences associées
content-collections
MétaCette compétence propose une configuration éprouvée en production pour Content Collections, un outil axé sur TypeScript qui transforme des fichiers Markdown/MDX en collections de données typées de manière sûre avec une validation Zod. Utilisez-la lors de la création de blogs, de sites de documentation ou d'applications Vite + React riches en contenu pour garantir la sécurité de typage et la validation automatique du contenu. Elle couvre tout, de la configuration du plugin Vite et de la compilation MDX à l'optimisation des déploiements et la validation des schémas.
polymarket
MétaCette compétence permet aux développeurs de créer des applications avec la plateforme de marchés prédictifs Polymarket, incluant l'intégration d'API pour le trading et les données de marché. Elle fournit également une diffusion de données en temps réel via WebSocket pour surveiller les transactions en direct et l'activité du marché. Utilisez-la pour mettre en œuvre des stratégies de trading ou pour créer des outils traitant les mises à jour de marché en direct.
creating-opencode-plugins
MétaCette compétence aide les développeurs à créer des plugins OpenCode qui s'interconnectent avec plus de 25 types d'événements tels que les commandes, les fichiers et les opérations LSP. Elle fournit la structure du plugin, les spécifications de l'API événementielle et les modèles d'implémentation pour les modules JavaScript/TypeScript. Utilisez-la lorsque vous avez besoin d'intercepter, de surveiller ou d'étendre le cycle de vie de l'assistant IA OpenCode avec une logique personnalisée pilotée par les événements.
sglang
MétaSGLang est un framework de service LLM haute performance spécialisé dans la génération rapide et structurée pour les workflows JSON, regex et agentiques grâce à son cache de préfixe RadixAttention. Il offre une inférence nettement plus rapide, particulièrement pour les tâches avec des préfixes répétés, ce qui le rend idéal pour les sorties complexes et structurées ainsi que les conversations multi-tours. Choisissez SGLang plutôt que des alternatives comme vLLM lorsque vous avez besoin d'un décodage contraint ou que vous construisez des applications avec un partage étendu de préfixes.
