【发布时间】: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”的类似功能。比较两种方法时,点估计值相同,但系数的标准误差(以及模型的残差标准误差)不同。
【问题讨论】: