simulate-stochastic-process
关于
This skill simulates stochastic processes like Markov chains, random walks, and SDEs for estimation, prediction, and visualization when analytical solutions are intractable. It includes key features such as convergence diagnostics, variance reduction techniques, and visualization of sample paths. Developers should use it for Monte Carlo estimation requiring convergence guarantees or for sampling from complex posteriors via 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 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
polymarket
元这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。
creating-opencode-plugins
元该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。
sglang
元SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
