RunDynam 软件常见问答:动态模型偏差结果解析

问题背景

在通过 RunDynam/RunMONASH 等求解的动态模型中,考虑以下情形:变量 x 在政策模拟(Policy)中为外生变量,且未施加任意冲击。同时,模型中包含形如 y = A * x 的线性方程。那么,在偏差结果(即政策结果与重跑结果或基准结果的差值)中,变量 y 为何会呈现非零值?

 

逐步解析

首先,需明确政策模拟中 x 的结果在何种情况下会非零。若 x 在基准情形(Base)的某一时期(年份)同样为外生且未受冲击,则政策模拟中该时期的 x 结果也为零。但若 x 在基准情形的该时期为内生变量,则政策模拟中该时期的 x 结果将与基准中的内生值相同。

接下来,假设 x 在基准情形的某一时期为内生。根据方程 y = A * x,我们预期政策模拟中该时期的 y 结果会非零。然而,重跑(Rerun)或基准中该时期的 x 值应与政策模拟中该时期的值相同,因此似乎方程 y = A * x 在重跑和政策中应给出相同的 y 值,进而偏差结果(政策与重跑之差)应为零。但实际情况未必如此,关键在于系数 A 的性质。

若 A 为参数(即在整个模拟中保持恒定),则上述推理成立,偏差结果为零。但若 A 不是参数(即其值在模拟过程中可能变化),则政策与重跑的 y 结果可能不同,偏差非零。

 

具体机制(以两步欧拉法为例)

考虑施加政策冲击的起始时期,采用两步欧拉法进行计算。

  • 第一步:假设该时期开始时 A 的值为 A₀。政策与重跑中 A₀ 相同。由于两步法中第一步对 x 施加的冲击为总冲击的一半(若 x 为百分比变化形式,实际冲击量略小于一半),则第一步的 y 结果为 A₀ * (x/2)

  • 第二步:设第二步中 x 的冲击量为 x₂(与第一步相近但略有不同)。政策与重跑在第二步对 x 施加的冲击相同。但经过第一步后,A 的值会随冲击变化。由于政策冲击与重跑冲击不同,第一步结束后政策中的 A 值(A₁P)可能与重跑中的 A 值(A₁R)不同。因此,第二步的 y 结果分别为:

    • 政策中:y = A₁P * x₂

    • 重跑中:y = A₁R * x₂
      若 A₁P ≠ A₁R,则第二步结果不同。整个两步复合结果自然不同,偏差非零。

核心结论:在任意时期,政策与重跑中的 A 值可能不同,从而导致 y 结果差异。

 

多时期累积效应

上述讨论仅针对施加政策冲击的起始时期。该时期开始时 A 的值在政策与重跑中相同,但在后续时期,由于前期政策冲击的影响,政策开始时 A 的值可能已与重跑对应时期不同。因此,后续时期 y 的政策与重跑结果差异可能更大。

示例:若 A 代表就业总值,政策导致就业逐年增加。若基准中 x 的内生值均为正,则由于政策中各年 A 值高于重跑对应年份,即便政策与重跑中 x 值相同,y = A * x 的结果也会因 A 值较大而在政策中更高,且偏差随时期递增。

 

补充问题:为何在 AnalyseGE 中加载结果后仍难以观察到上述现象?

即便将某一时期(如政策冲击初始年)的结果加载到 AnalyseGE 中,也可能难以直观验证上述解释。原因在于:上述分析依赖于系数 A 在模拟过程中(单期内或整个政策期)的变化,而 AnalyseGE 通常只显示 A 在某一时刻(通常是相关模拟开始时)的值(尽管也能显示模拟后值,可能有助于理解此类问题)。AnalyseGE 虽能辅助结果解读,但上述细微差异可能无法在该工具中直接显现。

 

相关文章 
更多文章 →

 

  •  
查看RunDynam软件详情

热门资讯

2026-07-13 10:00
首页    技术文档    RunDynam 软件常见问答:动态模型偏差结果解析