【问题标题】:Residual standard error in survey package调查包中的剩余标准误差
【发布时间】:2017-12-14 17:28:38
【问题描述】:

我正在尝试使用调查包计算线性回归模型的残差标准误差。我正在处理一个复杂设计,复杂设计的抽样权重由下面代码中的“权重”给出。

fitM1 <- lm(med~x1+x2,data=pop_sample,weight=weight)  
fitM2 <- svyglm(med~x1+x2,data=pop_sample,design=design)

首先,如果我调用“summary(fitM1)”,我会得到以下信息:

Call: lm(formula=med~x1+x2,data=pop_sample,weights=weight)

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.001787   0.042194   0.042    0.966    
x1           0.382709   0.061574   6.215 1.92e-09 ***
x2           0.958675   0.048483  19.773  < 2e-16 ***

Residual standard error: 9.231 on 272 degrees of freedom
Multiple R-squared:  0.8958,    Adjusted R-squared:  0.8931 
F-statistic: 334.1 on 7 and 272 DF,  p-value: < 2.2e-16

接下来,如果我调用“summary(fitM2)”,我会得到以下信息:

summary(fitM2)

Call: svyglm(formula=med~x1+x2,data=pop_sample,design=design)

Survey design: svydesign(id=~id_cluster,strat=~id_stratum,weight=weight,data=pop_sample)

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.001787   0.043388   0.041 0.967878    
x1           0.382709   0.074755   5.120 0.000334 ***
x2           0.958675   0.041803  22.933 1.23e-10 ***

当使用“lm”时,我可以通过调用来提取剩余标准误差:

fitMvariance <- summary(fitM1)$sigma^2

但是,我在调查包中的任何地方都找不到“svyglm”的类似功能。比较两种方法时,点估计值相同,但系数的标准误差(以及模型的残差标准误差)不同。

【问题讨论】:

    标签: r survey


    【解决方案1】:

    调查分析

    使用 r 中的图书馆调查进行调查分析,它提供了广泛的功能来计算百分比、下置信区间、上置信区间、人口和 RSE 等统计数据。

    RSE

    我们可以使用survey包中的svyby函数来获取包括平方根误差在内的所有统计数据

    library("survey")
    Survey design: svydesign(id=~id_cluster,strat=~id_stratum,weight=weight,data=pop_sample)
      
    svyby(~med, ~x1+x2, design, svytotal, deff=TRUE, verbose=TRUE,vartype=c("se","cv","cvpct","var"))
    

    cvpct 将给出平方根误差

    更多信息请参考svyby

    【讨论】:

      猜你喜欢
      • 2021-10-24
      • 1970-01-01
      • 2019-12-08
      • 2016-04-13
      • 2014-02-27
      • 2011-05-24
      • 2013-02-07
      • 1970-01-01
      • 2017-11-18
      相关资源
      最近更新 更多