学科研究 ·
农业经济政策评估怎么做?面板 DID、CSDID 与稳健性检验
农业补贴或试点政策如何评估?本文区分静态 TWFE、never-treated CSDID 与面板稳健性,说明 ChatSRS 真实输入、输出和因果识别边界。
农业补贴、数字农业试点或土地政策常在不同县份分批实施。模型选择不能只看哪个结果显著:统一时点政策可从静态 DID 开始,错位实施要明确每个单位首次处理年份、对照组和效应异质性。无论使用 TWFE 还是 CSDID,因果解释都依赖政策前趋势、无同期差异冲击、无提前反应与溢出等设计条件,软件名称不会自动让这些假设成立。
先审计政策账本
每行应是 county_id × year 或 farm_id × year。保存政策文件、名单、首次生效年份、覆盖范围、退出或撤销规则,并检查同一单位年份是否重复。结局如单位面积产出、农户收入或绿色投入必须跨年口径一致;物价基期、行政区划和统计制度变化要显式调整。
空间溢出尤其重要:邻县试点可能影响本地农资、劳动力与技术扩散。若对照组实际被间接处理,普通 DID 的无干扰假设会受损。上传前删除农户姓名、联系方式、精确地块和敏感补贴资格,使用随机 ID 并抑制小单元格。
静态 panel_did 的真实输入
panel_did 不读取单独 treat 与 post,只接受在分析器外预先构造的单一 0/1 did_var=treat×post,通过 --did-var 指定。它拟合个体与时间固定效应,按个体层聚类标准误,Markdown 输出 DID 项和控制变量的 B、显著性星号、括号内 SE、N、调整 R²及固定效应信息。它不生成政策前 lead/lag、事件研究图或平行趋势检验。
输入示例:
在受控步骤中核对 treat、post 与政策时间,生成且审计 0/1 did_policy=treat×post;以 yield_per_mu 为 Y,通过 --did-var did_policy,控制 rainfall、input_price、irrigation,entity_col=county_id,time_col=year。报告 did_policy 的 B、个体聚类SE、星号、N和调整R²;明确当前无事件研究或平行趋势证据。
若 DID B=0.42,只能先说在该静态 TWFE 规格下处理后差异相对变化 0.42 单位。没有政策前系数、同期冲击与溢出分析时,不能直接写“政策使产出提高 0.42”。
panel_csdid 能提供什么
panel_csdid 需要 Y、个体、时间与 cohort。cohort 是单位首次处理年份,0 或缺失代表 never-treated;当前实现必须同时有受处理单位和从未处理单位,不支持所有单位最终都处理时的 not-yet-treated 对照。底层调用 differences.ATTgt,以 never-treated 为对照并聚合 simple 总体 ATT。
当前 Markdown 只展示总体 ATT、SE、z、逐点正态近似 95% CI、对照组设定、聚合方式、个体总数、处理单位数和 never-treated 数。它没有展开组—时 ATT、动态事件路径或同时置信带,不能用一张总体 ATT 表声称已经检查平行趋势。
输入示例:
以 income_pc 为 Y,county_id 为 entity_col,year 为 time_col,first_policy_year 为 cohort;0 表示从未处理。先核对 cohort 在单位内恒定且与政策账本一致,再运行 panel_csdid,报告 simple 总体 ATT、SE、正态近似区间和三类单位数。明确当前对照仅为 never-treated,不输出动态组时效应。
如果总体 ATT=1.8,95% CI [0.4, 3.2],只说明在当前 never-treated 对照与 simple 聚合下平均效应为正。不同处理批次可能方向不同,聚合结果会掩盖异质性;分批政策论文仍需在验证工具中展示组—时与动态估计。
panel_robustness 不是识别检验替代品
panel_robustness 的 analyzer 代码包含替换被解释变量、核心 X 滞后一期、剔除指定年份和个体层 cluster bootstrap SE,规格均为双向固定效应。当前注册 CLI 对替换 Y、滞后 X 和 Bootstrap 可传入相应参数;但 --exclude-time 会先被解析成列表,而 analyzer 按字符串年份解析,现状会忽略该年份并警告,不能声称已经完成剔年规格。输出为 B、SE、星号、N、调整 R²与固定效应。滞后一期按数值年份对齐相邻年份;非数值时间退回位置滞后并警告。Bootstrap 默认按个体重抽样、seed=42,点估计沿用主回归,仅替换核心变量 SE。
这些规格可以检验结论对变量定义、年份或标准误口径是否敏感,但不能修复错误政策时点、溢出、选择进入或失败平行趋势。替换结局必须有理论意义,剔除年份要事先说明冲击,不能为显著性反复尝试。
可提交:
以 income_pc 为主 Y、agri_output 为替代 Y、policy_intensity 为 X,控制 weather 和 fiscal_support;运行当前可提交的替代Y、X滞后一期及200次个体cluster bootstrap,报告各列 B、SE、星号、N与调整R²。预先指定的灾害年2020剔除规格转到另行验证工具完成,因为当前 --exclude-time CLI 接线会被列表解析阻断;所有结果都不表述为 placebo 或平行趋势检验。
论文结果怎么组织
先报告政策账本与面板结构,再报告描述趋势和正式事件研究,然后给主估计、批次效应和稳健性。静态 TWFE 与 CSDID 估计对象不同,不应挑选更显著者;应说明对照组、权重、样本与聚合方式。若所有单位最终处理,当前 CSDID 路径不可用,需换用支持 not-yet-treated 的验证实现。
错位政策还要逐批检查处理前样本长度。某批次只有一个政策前年份时,动态图很难提供有力趋势证据;很晚处理的单位又可能缺少足够政策后观察。应列出各 cohort 的单位数、前后期数和结局覆盖,核对政策公告年份与真正生效年份。若政策执行强度渐进,单一首次处理年份可能过度简化,应把估计对象和暴露定义重新写清,而不是让软件自行猜测。
证据包保存原始政策文件、cohort 构造、did_var 代码、面板唯一性、完整案例、命令、版本、原始输出和所有警告。任何因果结论都应同时展示设计证据与不确定性,不将模型用于自动决定单户补贴或行政考核。
常见问题 FAQ
Q1:panel_did 会自动用 treat×post 吗?
不会。必须在分析器外生成 0/1 did_var,并通过 --did-var 提交。
Q2:当前 panel_csdid 支持 not-yet-treated 对照吗?
不支持。当前实现要求存在 never-treated,并只输出 simple 总体 ATT。
Q3:总体 ATT 显著就证明平行趋势吗?
不能。平行趋势需要政策前动态、设计论证与相应不确定性,当前总体表不提供这些证据。
Q4:替换 Y、滞后 X 或另行验证的剔年规格能证明因果吗?
不能。它们是规格敏感性,不会自动解决政策选择、溢出、提前反应或同期冲击。
相关阅读
完成政策账本、面板唯一性和隐私核查后,可打开 ChatSRS,生成静态 DID、never-treated CSDID 与稳健性证据。因果措辞必须由真实设计支持。