星期五, 十月 14, 2011

精确Logistic回归的R语言实现

Logistic回归(logistic regression)属于概率型非线性回归,是分析反应变量为独立分类资料的常用统计分析方法,由于对资料的正态性和方差齐性不做要求、对自变量类型也不做要求等,使得Logistic回归模型在医学研究各个领域被广泛用。Logistic回归的基本方法是极大似然方法,其前提是样本较大。但在样本量较小、数据结构较偏时,其结果会不可靠甚至无法求解。

精确Logistic回归(Exact logistic regression)则可以用来解决这一问题,该方法通过建立条件似然函数,进一步求出参数的充分统计量的分布函数。随着计算方法的发展和优化,也出现了使用马尔可夫链蒙特卡罗算法来模拟精确Logistic回归。R语言中的elrm包就可以实现这种算法。


本例用到的数据来自elrm包的drugDat数据

sex treatment recovered  n
1   1         1        16 27
3   1         0        13 32
2   0         1        10 19
4   0         0         7 21


使用elrm命令建立精确Logistic回归模型
drug.elrm=elrm(formula=recovered/n~sex+treatment,interest=~sex+treatment,iter=100000,burnIn=1000,dataset=drugDat)
结果显示如下:

Results:
          estimate p-value p-value_se mc_size
joint           NA 0.13083    0.00183   99000
sex        0.25511 0.52727    0.00954    2860
treatment  0.84871 0.07439    0.00296   13389

95% Confidence Intervals for Parameters

               lower    upper
sex       -0.6382327 1.129768
treatment -0.1096254 2.129493

没有评论:

发表评论