识别策略
核心思路:分阶段反事实
AgriPolicy Sandbox 把"政策效应"定义为同一批农户在政策前 / 政策后表现差异的因果式估计, 而非简单的前后统计比较。具体分两阶段:
text
阶段一(baseline_steps 季) 空政策运行 → 建立"政策前"基准 Y₀
│
│ env.apply_policy(scenario.policy)
▼
阶段二(policy_steps 季) 施加情景政策 → 观察"政策后"表现 Y₁
处理效应 τ ≈ Y₁ − Y₀ (同一批农户,个体异质性被控制)为什么同批样本能控制异质性
传统"不同农户前后对照"会被农户间不可观测差异(风险偏好、资产、兼业)混淆。 本设计让同一批农户先在无政策下运行、再在政策下运行,农户特征在两阶段完全不变, 因此两阶段差异可更干净地归因于政策冲击,得到 cleaner 的处理效应估计。
对应 AgentSociety² 的
AgentSociety.run两次调用之间插入env.apply_policy, 而非重建世界——保证"人"不变,只变"政策"。
重复与不确定性
每个 (情景, 重复) 组合使用不同随机种子(seed + repeat)与农户抽样,重复运行多次:
- 估计效应的分布与置信区间(bootstrap / 重复均值 ± 标准差);
- 农户级净收入处理效应(政策期均值 − 基线期均值)的均值与离散度,由
analyze直接输出。
机制识别
除宏观处理效应外,还通过两类数据做机制检验:
- 量化机制:政策工具是显式、可独立施加的(
set_subsidy等),可直接观察某工具对特定指标的边际影响; - 质性机制:读取农户工作区决策日志与对话,对"风险预期路径""收益比较路径"做质性编码,看机制是否出现。
对效度的自觉
- 内部效度:分阶段同批设计提升了政策→结果的因果可信度;
- 外部效度:模拟是受控实验,结论应定位为"机制性启示"而非"因果估计",真实效果须以标定后的参数、 平台运行数据与统计推断为准;
- 敏感性:正式实验应报告参数来源与敏感性分析(
economics.json可标定),避免示意值被误读为真实政策效果。