3

我现在正在使用 R 运行逻辑回归,但我似乎无法获得许多有用的模型拟合统计数据。我正在寻找类似于 SAS 的指标:

http://www.ats.ucla.edu/stat/sas/output/sas_logit_output.htm

有谁知道我可以如何(或哪些软件包)来提取这些统计信息?

谢谢

4

3 回答 3

5

这是一个泊松回归示例:

## from ?glm:
d.AD <- data.frame(counts=c(18,17,15,20,10,20,25,13,12),
      outcome=gl(3,1,9),
      treatment=gl(3,3))
glm.D93 <- glm(counts ~ outcome + treatment,data = d.AD, family=poisson())

现在定义一个函数来拟合具有相同响应、族等的仅截取模型,计算汇总统计数据,并将它们组合成一个表(矩阵)。.~1下面命令中的公式update表示“使用相同的响应变量 [由波浪号的 LHS 上的点表示] 但只有一个截距项 [由1波浪号的 RHS 上的点表示] 重新拟合模型”

glmsumfun <- function(model) {
   glm0 <- update(model,.~1)  ## refit with intercept only
   ## apply built-in logLik (log-likelihood), AIC,
   ##  BIC (Bayesian/Schwarz Information Criterion) functions
   ## to models with and without intercept ('model' and 'glm0');
   ## combine the results in a two-column matrix with appropriate
   ## row and column names
   matrix(c(logLik(glm.D93),BIC(glm.D93),AIC(glm.D93),
           logLik(glm0),BIC(glm0),AIC(glm0)),ncol=2,
     dimnames=list(c("logLik","SC","AIC"),c("full","intercept_only")))
}

现在应用函数:

glmsumfun(glm.D93)

结果:

            full intercept_only
logLik -23.38066      -26.10681
SC      57.74744       54.41085
AIC     56.76132       54.21362

编辑

  • anova(glm.D93,test="Chisq")给出包含 df、偏差(=-2 对数似然)、残差 df、残差和似然比检验(卡方检验)p值的偏差表的顺序分析.
  • drop1(glm.D93)给出一个表,其中包含每个单项删除的 AIC 值(df、偏差等);drop1(glm.D93,test="Chisq")另外给出 LRT 检验p值。
于 2011-09-02T09:25:54.490 回答
5

当然glm,使用 family="binomial" 参数是逻辑回归最常用的函数。因子对比的默认处理是不同的。R 使用处理对比,而 SAS(我认为)使用总和对比。您可以在 R-help 上查看这些技术问题。在过去的十多年里,它们已经被讨论了很多很多次。

lrm我看到“rms”中提到了 Greg Snow 。它的优点是受到“rms”方法套件中的几个其他功能的支持。我也会使用它,但是学习 rms 包可能需要一些额外的时间。我没有看到可以创建类似 SAS 的输出的选项。

如果您想比较类似问题的软件包,UCLA StatComputing 页面还有另一个资源: http: //www.ats.ucla.edu/stat/r/dae/default.htm,其中大量方法在 SPSS 中举例说明、SAS、Stata 和 R。

于 2011-09-01T17:18:26.023 回答
2

使用包lrm中的函数rms可能会为您提供所需的输出。

于 2011-09-01T17:18:11.953 回答