簡體   English   中英

將Zelig“ sim”函數與Amelia數據集結合使用,以獲取跨R中的估算數據集匯總的估計值

[英]Using Zelig “sim” function with Amelia dataset to obtain estimates pooled across imputed datasets in R

我正在使用Amelia的乘法估算數據集,然后希望Zelig從回歸模型計算預測值。 Zelig的文檔指出:“繪制感興趣的數量時,例如期望值和預測值以及一階差異,它們將正確地匯集到m個估算數據集中的每個數據集中”。 的確如此,但是我還想獲得跨每個估算數據集匯總的估計值,作為“ sim”命令的輸出。

以下示例代碼復制了Zelig網站上的說明並生成相同的輸出:

library("Amelia")
data(africa)
a.out <- amelia(x = africa, m=5, cs = "country", ts = "year", logs = "gdp_pc")
z.out <- zelig(gdp_pc ~ trade + civlib, model = "ls", data = a.out)
summary(z.out)

然后,當“交易”設置為50和100時,我使用“ setx”來估計DV的預測值(gdp_pc)。

x.out <- setx (z.out, trade = c(50,100))
x.out
range:
  (Intercept) trade civlib
1           1    50  0.289
2           1   100  0.289

Next step: Use 'sim' method

如果我隨后使用“ sim”和“ plot”,則R用我請求的估計值生成一個圖:

s.out <- sim (z.out, x = x.out)
plot(s.out)

但是,我想根據Rubin規則在所有估算數據集上匯總輸出預測值及其標准誤差和不同置信區間的值。 這不是“摘要”命令似乎正在執行的操作:

summary(s.out)
[1] 50


 sim range :
 -----
ev
     mean     sd      50%     2.5%   97.5%
1 844.843 30.567 845.1218 791.8107 908.658
pv
         mean       sd      50%     2.5%    97.5%
[1,] 857.6479 372.9689 852.9239 157.7842 1553.552

 sim range :
 -----
ev
      mean       sd      50%     2.5%    97.5%
1 836.2505 36.72892 833.3876 770.7931 908.7371
pv
         mean      sd      50%     2.5%    97.5%
[1,] 821.3542 359.461 790.5742 204.7687 1483.275

 sim range :
 -----
ev
     mean       sd      50%     2.5%    97.5%
1 837.307 34.99979 839.4895 765.0043 896.1513
pv
         mean       sd      50%     2.5%    97.5%
[1,] 831.6275 347.4005 844.0667 120.8968 1526.509

 sim range :
 -----
ev
      mean       sd      50%     2.5%    97.5%
1 838.1396 33.49521 837.6317 776.3413 901.4235
pv
         mean       sd      50%     2.5%    97.5%
[1,] 866.5946 364.2909 830.9851 263.8757 1594.664

 sim range :
 -----
ev
     mean       sd      50%     2.5%    97.5%
1 842.784 35.18827 843.5563 779.9052 914.5869
pv
         mean       sd      50%     2.5%    97.5%
[1,] 834.7425 350.5647 834.0003 228.0261 1527.293


[1] 100


 sim range :
 -----
ev
      mean       sd      50%    2.5%    97.5%
1 1743.969 54.06692 1742.795 1627.39 1840.744
pv
        mean       sd      50%     2.5%    97.5%
[1,] 1700.53 350.1268 1718.504 1047.998 2322.216

 sim range :
 -----
ev
      mean       sd      50%     2.5%    97.5%
1 1748.554 58.46152 1755.443 1634.345 1854.652
pv
         mean       sd      50%     2.5%    97.5%
[1,] 1734.831 340.8356 1734.907 1071.973 2347.156

 sim range :
 -----
ev
      mean       sd      50%     2.5%    97.5%
1 1741.014 63.86164 1741.492 1615.497 1863.306
pv
         mean       sd      50%   2.5%    97.5%
[1,] 1759.305 329.6513 1746.153 1172.5 2435.067

 sim range :
 -----
ev
      mean       sd      50%     2.5%    97.5%
1 1738.422 64.75221 1738.474 1615.078 1854.675
pv
         mean       sd      50%     2.5%    97.5%
[1,] 1728.152 386.8327 1761.047 849.7188 2395.825

 sim range :
 -----
ev
      mean       sd      50%     2.5%    97.5%
1 1746.575 53.02558 1744.919 1638.602 1848.114
pv
         mean       sd      50%    2.5%    97.5%
[1,] 1710.864 342.1865 1702.769 1050.85 2288.021

在這里,我獲得了每個估算數據集的所有值,而不是在所有乘法估算數據集中匯總的值。 當提供預測估計值的摘要統計信息以及基於這些估計值繪制圖表時,是否有辦法讓Zelig將Rubin規則應用於乘法估算數據集?

注意:我需要的應用程序需要負二項式回歸 ,而不是線性回歸,才能成為Zelig中使用的模型。 我已使用此示例復制Zelig開發人員提供的示例。

非常感謝您的幫助,祝您有美好的一天!

在這種情況下,您無需使用魯賓規則,因為不確定性是根據模擬中的方差計算得出的。 Zelig沒有為您平均這些,我感到有些驚訝,但是您可以自己做,沒有太多困難:

qi.out <- zelig_qi_to_df(s.out)

lapply(split(qi.out, qi.out["trade"]),
       function(x) c(trade = unique(x$trade),
                     mean = mean(x$expected_value),
                     sd = sd(x$expected_value),
                     median = median(x$expected_value),
                     quantile(x$expected_value, probs = c(0.5, 0.025, 0.975))))

lapply(split(qi.out, qi.out["trade"]),
       function(x) c(trade = unique(x$trade),
                     mean = mean(x$predicted_value),
                     sd = sd(x$predicted_value),
                     median = median(x$predicted_value),
                     quantile(x$predicted_value, probs = c(0.5, 0.025, 0.975))))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM