Skip to content

配置说明 ​

AgriPolicy Sandbox 的实验参数分为两类,全部以 JSON 文件形式集中管理、不写死在代码里:

文件作用
configs/policy_scenarios.json情景定义、默认规模 / 步数 / 种子 / 重复,以及每个情景的 policy 政策字典
configs/economics.json农业经济学标定参数:作物单产 / 价格 / 成本 / 保费、租金、灾害阈值、市场与天气冲击分布

policy_scenarios.json ​

结构为 { "defaults": {...}, "scenarios": { <key>: {...} } }。

defaults(全局默认,可被 CLI 覆盖) ​

字段默认含义
num_agents50农户数(异质画像由 profiles.make_farmer_profiles 生成)
seed42基础随机种子(叠加 repeat 得到每重复的可复现种子)
baseline_steps8阶段一(空政策)运行的"生产季"数
policy_steps8阶段二(施加政策后)运行的"生产季"数
tick_seconds7776000每季对应的仿真时间步长(=90 天)
repeats3每个情景的重复次数
start_date2025-01-01T00:00:00仿真起始日期
crops["wheat","corn","soybean","rice","vegetable"]可选作物清单

scenarios(情景) ​

每个情景包含 label / description / policy。policy 字典的规范字段如下(由 AgriPolicyEnv._normalize_policy 归一并补全缺省):

字段类型含义
subsidy_per_mu{作物: 元/亩}各作物的生产性补贴(如 {"wheat":120})
insurance_subsidy_ratefloat 0~1政府承担的农业保险保费比例
land_transfer_out_subsidy_per_mufloat土地转出(退出承包)补贴,元/亩
grain_price_supportfloat粮作价格支持,元/kg(作用于 wheat/corn/rice/soybean)

内置情景(与论文假设一一对应):

情景 key含义对应假设
baseline无新增补贴(对照)—
grain_subsidy小麦/玉米/水稻 120 元/亩,大豆 60 元/亩H1
insurance_subsidy政府承担 80% 保费H2
land_transfer_subsidy转出补贴 200 元/亩H3
combined直补 + 保险补贴 + 流转补贴 组合H4

economics.json ​

覆盖 agri_sandbox/economics.py 中的模块级默认值;缺省字段回落到代码默认值。

字段默认含义
crops.<crop>.yield见代码单产 kg/亩
crops.<crop>.price见代码收购价 元/kg
crops.<crop>.cost见代码物化成本 元/亩
crops.<crop>.premium见代码纯保费 元/亩
crops.<crop>.insured_yield见代码保险保产基准 kg/亩
rent_in_per_mu500租入地租 元/亩/季
rent_out_per_mu500转出地租 元/亩/季
disaster_threshold-0.15天气冲击低于该值视为灾害年景,触发赔付
insurance_payout_ratio0.7赔付 = 保产基准 × 价格 × 该比例
price_shock_bounds[-0.4, 0.4]价格冲击系数随机游走边界
price_shock_sigma0.05价格冲击每步高斯步长
weather_shock_bounds[-0.5, 0.3]天气冲击系数边界
weather_shock_mu-0.02天气冲击漂移均值(略偏减产)
weather_shock_sigma0.18天气冲击每步高斯步长

郑重提醒:当前 economics.json 中的数值均为示意值。正式实验应基于公开统计年鉴与农户 调查数据重新标定,并在论文中写明参数来源与敏感性分析。核算公式为纯函数,换数据不改代码。

基于 AgentSociety² 构建 · 仅供科研沙盒原型用途,经济学参数为示意值