simulate-stochastic-process
について
このスキルは、解析解が得られない場合の推定、予測、可視化のために、マルコフ連鎖、ランダムウォーク、確率微分方程式などの確率過程をシミュレートします。収束診断、分散削減手法、サンプルパスの可視化といった主要機能を含みます。開発者は、収束保証を必要とするモンテカルロ推定や、MCMCによる複雑な事後分布からのサンプリングに活用すべきです。
クイックインストール
Claude Code
推奨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-processこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
仿隨機之程
仿隨機程之樣徑——含離散馬可夫鏈、續時程、隨機微分方程、MCMC 之取樣——並收斂之察、減方之術、徑之繪。
用時
- 須生樣徑以估、預、繪乃用
- 解析不可解,仿為唯可行之途乃用
- 行蒙特卡羅之估而須收斂之保與不確之量乃用
- 欲驗解析之果(穩態分布、擊中時)於實仿乃用
- 須以 MCMC 取樣於繁後驗乃用
- 全析前先試隨機之模乃用
入
必要
| Input | Type | Description |
|---|---|---|
process_type | string | 程之類:"dtmc"、"ctmc"、"random_walk"、"brownian_motion"、"sde"、"mcmc" |
parameters | dict | 程特之參(轉移矩、漂/散係、目密度等) |
n_paths | integer | 獨樣徑之數 |
n_steps | integer | 各徑之步數(或 MCMC 全迭數) |
可選
| Input | Type | Default | Description |
|---|---|---|---|
initial_state | scalar/vector | process-specific | 各徑之始態或始分布 |
dt | float | 0.01 | 續時離散之時步 |
seed | integer | random | 隨種以可復 |
burn_in | integer | n_steps / 10 | 棄之初步數(MCMC) |
thinning | integer | 1 | 每 k 取一以減自相關 |
variance_reduction | string | "none" | 法:"none"、"antithetic"、"stratified"、"control_variate" |
target_function | callable | none | 沿徑求蒙特卡羅估之函 |
法
第一步:定程之模與參
1.1. 識程之類而集所須之參:
- DTMC:轉移矩
P與態空。驗P為行隨機。 - CTMC:率矩
Q。驗行和為 0,非對角為非負。 - 隨機行:步分布(如等概之
{-1, +1})、邊界(若有)。 - 布朗動:漂
mu、波sigma、維d。 - SDE(伊藤):漂函
a(x,t)、散函b(x,t)。 - MCMC:目對數密度、提機制(隨機行 Metropolis、Hamiltonian、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,調提之尺以求受率約:
- 高維隨機行 Metropolis 為 23.4%
- 一維目為 57.4%
- HMC 為 65-90%(依軌長)
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-1]之轉移分布取x[t]
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 - 為偏分布,用百分位 bootstrap 或批均。
5.3. 若施減方,算減方之比:
VRF = Var(naive estimator) / Var(reduced estimator)- 報有效之速倍。
5.4. 蒙特卡羅積分之估:
- 報估、標誤、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:實穩態分布收斂於解析者(於預期蒙卡誤之內)
- SDE:半
dt不變果之質(收斂階之察) - MCMC:R-hat < 1.01、ESS > 400、Geweke z 於 [-2, 2]
- 信區寬以
1/sqrt(n_paths)比減(中央極限) - 減方術生 VRF > 1(估改非劣)
- 可復:同種重行生同果
陷
- MCMC burn-in 不足:自劣始態須長 burn-in 方代目分布。常觀跡圖而用收斂察,勿猜其長。
- Euler-Maruyama 為剛 SDE 不穩:若漂項梯度大,顯式 Euler-Maruyama 散。轉隱法或用適步。
- 強弱收斂之惑於 SDE:強收斂量徑誤(要於個軌);弱收斂量分布誤(足於期)。Euler-Maruyama 弱階一,強階半。
- 偽隨數之質:甚長仿中,劣 RNG 生相關樣。用驗之器(Mersenne Twister、PCG、Xoshiro)而驗其獨立。
- 忽 MCMC 之自相關:以自相 MCMC 樣為獨低估不確。用有效樣本數,非生樣本之數,為標誤。
- 對偶為非單調函:對偶取樣唯估為底均勻之單調函時減方。為非單調,反增方。
- 大仿之憶:存多長徑之諸時步耗憶。若全軌不為繪所須,用線上計(行均、行方)。
參
- Model Markov Chain — 供轉移矩與解析果以仿之驗
- Fit Hidden Markov Model — 自擬 HMM 之仿使後驗預測察與合資生
GitHub リポジトリ
関連スキル
content-collections
メタこのスキルは、Content Collections(Markdown/MDXファイルを型安全なデータコレクションに変換するTypeScriptファーストのツール)の本番環境でテストされた設定を提供します。Zodバリデーションによる型安全性を実現し、ブログ、ドキュメントサイト、コンテンツ重視のVite + Reactアプリケーション構築時にご利用ください。Viteプラグインの設定、MDXコンパイルから、デプロイ最適化、スキーマバリデーションまで、すべてを網羅しています。
polymarket
メタこのスキルは、開発者がPolymarket予測市場プラットフォームを活用したアプリケーション構築を可能にします。API統合による取引や市場データの取得に加え、WebSocketを介したリアルタイムデータストリーミングにより、ライブ取引や市場活動を監視できます。取引戦略の実装や、ライブ市場更新を処理するツールの作成にご利用ください。
creating-opencode-plugins
メタこのスキルは、開発者がコマンド、ファイル、LSP操作など25種類以上のイベントタイプにフックするOpenCodeプラグインを作成することを支援します。JavaScript/TypeScriptモジュール向けに、プラグイン構造、イベントAPI仕様、および実装パターンを提供します。カスタムイベント駆動ロジックでOpenCode AIアシスタントのライフサイクルをインターセプト、監視、または拡張する必要がある場合にご利用ください。
sglang
メタSGLangは、高性能なLLMサービングフレームワークであり、RadixAttentionプレフィックスキャッシュを活用したJSON、正規表現、エージェントワークフロー向けの高速で構造化された生成を特長とします。特にプレフィックスが繰り返されるタスクにおいて、大幅に高速な推論を実現し、複雑な構造化出力やマルチターン対話に最適です。制約付きデコードが必要な場合や、広範なプレフィックス共有を伴うアプリケーションを構築する場合は、vLLMなどの代替案ではなくSGLangを選択してください。
