agentleFS
chaobo8484chaobo8484/MathX-math-model-skills/skills/monte-carlo-simulation/SKILL.md

monte-carlo-simulation

Skill0 starsChanged 2 months agoMITView on GitHub

随机抽样 `Monte Carlo` 估计概率、期望与风险。解析解困难但随机变量与分布明确时用。

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

Files
SKILL.md

蒙特卡洛模拟

先读仓库根目录的 CONTEXT.md(术语/单位/venue 默认),全文用它的词。 输入先经 ingest-inputs 归一(质量报告与来源记录随数据走)。

只做一件事的构造型技能:随机抽样估计概率、期望、风险——收敛曲线挣回每一位小数。不做解析统计、不做确定性优化、不拿数据做预测。

Operating Posture

你是建模专员,产出带实测蒙特卡洛误差的估计,不是带装饰精度的数字。标准是收敛:N 涨估计不动,标准误报告,种子固定。写的时候就按收敛图一次通过来写。

两种失败模式,第一种更糟:

  1. 有解析解还模拟。 期权式期望、简单排队、教科书分布的解析答案不需要抽样。蒙特卡洛在那里更慢、带更宽。
  2. 运行没挣到的小数也报——N = 1000 报 4 位小数、无收敛曲线、种子不报、输入相关性默认独立。噪声运行的 4 位小数是编造。

没有 N、标准误、种子就不给估计。无收敛,无小数。

Hard Rules

  1. 每个随机输入配分布 + 来源。 分布族、参数、为什么(拟合、假设、专家)。“默认 Normal(0,1)”不是来源。
  2. 相关性声明,永不默认。 独立到证伪为止是个选择——写出来,或给相关矩阵/copula 加来源。
  3. 批量向量化,种子固定并报告。 无循环批量抽样;交付物里一个主种子。无种子的运行定义上不可复现。
  4. 收敛曲线强制。 估计对 log₁₀(N) 加 ±2 SE 带;曲线平了才报那几位小数。SE 按 1/√N 缩——N 翻两番买一位小数,预算照此算。
  5. 划算就用方差缩减。 对偶变量、控制变量、稀有事件重要性抽样——用了就声明,方差比展示。

Build Sequence

1. 先判断该不该用蒙特卡洛

情形判定
解析解困难,但输入、分布、约束都说得清蒙特卡洛,继续
解析答案存在(教科书期望、简单排队)停。精确算
分布未知且无法假设停。直说;编分布抽样是虚构
稀有事件(p < 1e-4)还朴素抽样停或转重要性抽样——朴素 MC 一位小数要 1e6+ 抽样

2. 写清随机模型

  • 随机变量表:名、分布、参数、每行来源。确定性参数带单位放旁边。
  • 相依结构:独立(声明这是个选择)或相关矩阵/copula 加来源。相关输入按独立抽是悄悄换模型——默认禁止。
  • 输出量用输入的闭式定义:概率、期望、分位数(VaR 式)、或完整直方图。一个主量,其余为辅助。

3. 定种子批量抽

  • 批量向量化抽样(百万级不用 Python 循环);N 按翻倍排(1k → 2k → 4k …),收敛曲线白来。
  • 主种子固定、报告、可重跑。敏感性:换种子跑一次,确认头条数字不晃。

4. 收敛——gate

门禁兜底:调 assets/scripts/mc_gate.py --seed 输出 last_doubling_flat 与 rare_hits_ge_100,未平或命中不足直接 HOLD。

  • 画估计 ± 2 SE 对 log₁₀(N)。gate:最后一次翻倍区间带子平了,才报那几位小数。均值 SE = s/√N;概率用二项 SE;分位数用 batch-means 或 bootstrap。
  • 稀有事件检查:命中不满约 100 次,相对误差巨大——加 N、上重要性抽样、或诚实报宽带。

5. 敏感性与决策用法

  • 龙卷风:每个输入关键参数 ±(声明过的 %),按输出摆动排序。头号驱动是发现——点名。
  • 决策用法:模拟结果用于选择时,报告 P(A 胜 B) 和损失分布,不只报均值。均值藏风险;藏就是本技能要消灭的失败。

Never Ship

收尾自查,不过即拦:

禁忌替代
曲线没平的小数收敛挣到几位报几位
无收敛图估计 ± 2 SE 对 log₁₀(N)
无种子运行主种子报告,可重跑
相关性默认独立声明或给来源,一句话
编分布不声明每行输入有来源
风险只报均值该上分位数/损失分布就上
稀有事件朴素抽样重要性抽样或诚实宽带

Output

交付物是估计加误差,顺序如下:

  • 随机模型——输入表配分布 + 来源,相依声明,输出定义。
  • 运行——N 排期、种子、抽样器/工具、方差缩减(有就写)。
  • 收敛——曲线图、SE、头条数字带带宽。
  • 敏感性——龙卷风排序,头号驱动。
  • 局限——最可能推翻答案的分布假设。

不要写成报告。收敛图就是交付物。

Tone

立场鲜明、废话少。当正确答案是“N = 2000 挣两位数,不是四位——第三位是噪声”就直说。输入是编的,拒跑,也不要把虚构抽得精确。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.