首页 文章

可以使用广义线性模型估计多项模型吗?

提问于
浏览
9

在分类数据的分析中,我们经常使用逻辑回归来估计二项式结果与一个或多个协变量之间的关系 .

我知道这是一种广义线性模型(GLM) . 在R中,这是使用 glm 函数使用 family=binomial 参数实现的 . 另一方面,在分类数据分析中是多项式模型 . 这些不是GLM吗?并且不能使用 glm 函数在R中估算它们吗?

(在这post for Multinomial Logistic Regression . 作者使用外部包 mlogit ,似乎也过时了)

为什么GLM类限于二分类结果?是因为多类分类可以被视为多个二元分类模型吗?

1 回答

  • 15

    R中的GLM用Fisher Scoring估算 . 我想到了两种多类别logit的方法:比例赔率模型和对数线性模型或多项回归 .

    比例赔率模型是一种特殊类型的累积链接模型,在 MASS 包中实现 . 用Fisher评分估算不到,所以默认的工作马不能估计这样的模型 . 然而有趣的是,累积链接模型是GLM,并且由McCullogh和Nelder在同名文本中进行了讨论 . 在负二项GLM中发现了类似的问题:它们是严格意义上的链接函数GLM和概率模型,但需要专门的估计程序 . 就R函数 glm 而言,不应将其视为每种类型GLM的详尽估算器 .

    nnet 具有对数线性模型估计器的实现 . 它符合使用软 - 最大熵的更复杂的神经网络估计,这是一个等价的公式(理论就是为了表明这一点) . 事实证明,如果你热衷的话,可以使用默认R中的 glm 来估计对数线性模型 . 关键在于看到后勤和泊松回归之间的联系 . 认识到计数模型的相互作用项(对数相对速率的差异)作为结果的逻辑模型中的一阶项(对数比值比),您可以在"conditioning"的边缘上估计相同的参数和相同的SE . $ K \ times 2 $列入多类别结果的列联表 . A related SE question on that background is here

    以MASS包中的VA肺癌数据为例,以下为例:

    > summary(multinom(cell ~ factor(treat), data=VA))
    # weights:  12 (6 variable)
    initial  value 189.922327 
    iter  10 value 182.240520
    final  value 182.240516 
    converged
    Call:
    multinom(formula = cell ~ factor(treat), data = VA)
    
    Coefficients:
        (Intercept) factor(treat)2
    2  6.931413e-01     -0.7985009
    3 -5.108233e-01      0.4054654
    4 -9.538147e-06     -0.5108138
    
    Std. Errors:
      (Intercept) factor(treat)2
    2   0.3162274      0.4533822
    3   0.4216358      0.5322897
    4   0.3651485      0.5163978
    
    Residual Deviance: 364.481 
    AIC: 376.481
    

    相比:

    > VA.tab <- table(VA[, c('cell', 'treat')])
    > summary(glm(Freq ~ cell * treat, data=VA.tab, family=poisson))
    
    Call:
    glm(formula = Freq ~ cell * treat, family = poisson, data = VA.tab)
    
    Deviance Residuals: 
    [1]  0  0  0  0  0  0  0  0
    
    Coefficients:
                   Estimate Std. Error z value Pr(>|z|)    
    (Intercept)   2.708e+00  2.582e-01  10.488   <2e-16 ***
    cell2         6.931e-01  3.162e-01   2.192   0.0284 *  
    cell3        -5.108e-01  4.216e-01  -1.212   0.2257    
    cell4        -1.571e-15  3.651e-01   0.000   1.0000    
    treat2        2.877e-01  3.416e-01   0.842   0.3996    
    cell2:treat2 -7.985e-01  4.534e-01  -1.761   0.0782 .  
    cell3:treat2  4.055e-01  5.323e-01   0.762   0.4462    
    cell4:treat2 -5.108e-01  5.164e-01  -0.989   0.3226    
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
    
    (Dispersion parameter for poisson family taken to be 1)
    
        Null deviance: 1.5371e+01  on 7  degrees of freedom
    Residual deviance: 4.4409e-15  on 0  degrees of freedom
    AIC: 53.066
    
    Number of Fisher Scoring iterations: 3
    

    比较交互参数和主要级别,以便在一个模型中处理第二个模型 . 比较截距 . AIC是不同的,因为对数线性模型是甚至表的边缘的概率模型,其以模型中的其他参数为条件,但是在预测和推断方面,这两种方法产生相同的结果 .

    总之,技巧问题! glm 处理多类别逻辑回归,只需要更好地理解这些模型的构成 .

相关问题