You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取R中Synth包生成的合成控制结果变量各时期估计值?

获取Synth包合成估计量的各时间点数值
  • 先把synth()的运行结果存成对象(如果还没存的话):

    synth.out <- synth(dataprep.out)
    
  • 计算合成控制组各时间点的结果变量估计值:
    合成值是对照组结果矩阵和权重矩阵的乘积,用下面的代码计算:

    synthetic_values <- dataprep.out$Y0 %*% synth.out$solution.w
    
  • 把时间标签和合成值配对,生成易读的数据框:
    时间信息存在dataprep.out$time里,合并后就能直接查看每个时间点的具体数值:

    synthetic_results <- data.frame(
      时间 = dataprep.out$time,
      合成估计值 = as.vector(synthetic_values)
    )
    print(synthetic_results)
    
  • 如果需要对比处理组真实值和合成值,直接把处理组数据也加进去:

    full_results <- data.frame(
      时间 = dataprep.out$time,
      处理组真实值 = dataprep.out$Y1,
      合成估计值 = as.vector(synthetic_values)
    )
    print(full_results)
    
  • 注意:synth.out$solution.path是预测变量的权重,不是结果变量的时间点估计值,别搞混了。

内容的提问来源于stack exchange,提问作者Edison Jinzo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 15:40:38