精华内容
下载资源
问答
  • 应用SPSS软件进行多分类Logistic回归分析
  • 分类变量logistic回归分析--1

    千次阅读 2020-09-23 22:58:49
    2. 多分类logistic回归分析 因变量(y变量)是多分类的,包括无序和有序的。 无序的多类别因变量:对应无序多分类logistic回归模型 有序的多类别因变量:有序多分类logistic回归模型 2.1 无序多分类logistic回归...

    1. 二分类logistic回归分析

    概念解释

    logistic回归介绍:

    Logistic回归适用于二分类变量(0和1)。模型假设Y服从二项分布,线性模型的拟合形式为:

    loge(π1π)=β0+j=1pβjXjlog_e(\frac{\pi}{1-\pi}) = \beta_0 + \begin{matrix}\sum_{j=1}^p\end{matrix} \beta_jX_j

    什么是优势比(odds radio)
    其中
    π1π \frac{\pi}{1-\pi}
    为Y=1时的优势比。

    什么是对数优势比
    其中
    log(π1π) log(\frac{\pi}{1-\pi})
    为对数优势比,也称logit。

    什么是连接函数
    这里,
    log(π1π) log(\frac{\pi}{1-\pi})
    为连接函数,概率分布为二项分布。

    2 R语言如何拟合logistic模型

    R语言中如何拟合二分类logistic回归?

    mod = glm(Y ~ X1 + X2 + X3, family = binomial(link = "logit"), data = mydata)
    

    上面公式中:

    • Y为二分类变量
    • X1,X2为X变量(可以是分类或者连续)
    • family = binomial(link = "logit")为Y分类和连接函数
    • data = mydata为所分析的数据框

    3 二分类logistic何时使用

    什么时候应用二分类logistic回归分析?

    当通过一系列连续型或类别变量来预测二分类变量时,Logistic回归是一个非常有用的工具。

    说人话解释:

    • 比如根据年龄,性别,学历,收入,工作类型,判断批给你信用卡是否违约,构建一个模型。另外有人申请信用卡时,根据他的年龄,性别,学历,收入,工作类型,预测他违约的可能性,然后判断是否批他信用卡。
    • 判断一个人是否有病
    • 判断一个药物是否有效
    • 生存或者死亡(to be or not to be)

    4 概率和log(odds)的关系

    概率和对数优势比的关系

    odds=p1p odds = \frac{p}{1-p}
    进而可以推断出(后面有用到这个公式):
    p=odds1+odds p = \frac{odds}{1+odds}

    # 作图
    p = seq(0,1,0.01)
    odds = p/(1-p)
    plot(log(odds), p, type = "l", col = "blue",ylab = "Probability",las = 1)
    abline(h=.5,lty="dashed")
    abline(v=0,lty="dashed")
    
    

    由图可知,概率P的最小值为0,最大值为1,中间值为0.5, 它对应的对数优势比分别是无穷小,无穷大和0.即:

    • P=0, log(odds) = -Inf(负无穷大)
    • P = 0.5, log(odds) = 0
    • P = 1, log(odds) = Inf(正无穷大)

    因此,Logistic回归常常用于估计给定暴露水平时结果事件发生的概率。例如,我们可以用它来预测在给定年龄、性别和行为方式等情形下某人患病的概率。

    5 数据和代码演练

    5.1 数据介绍

    数据来源于MASS包中的birthwt数据,

    The birthwt data frame has 189 rows and 10 columns. The data were collected at Baystate Medical Center, Springfield, Mass during 1986.
    
    Usage
    birthwt
    Format
    This data frame contains the following columns:
    
    low
    indicator of birth weight less than 2.5 kg.
    
    age
    mother's age in years.
    
    lwt
    mother's weight in pounds at last menstrual period.
    
    race
    mother's race (1 = white, 2 = black, 3 = other).
    
    smoke
    smoking status during pregnancy.
    
    ptl
    number of previous premature labours.
    
    ht
    history of hypertension.
    
    ui
    presence of uterine irritability.
    
    ftv
    number of physician visits during the first trimester.
    
    bwt
    birth weight in grams.
    

    5.2 将数据转化为分析所用的数据

    我们将数据相关的列,转化为因子:

    library(MASS)
    data("birthwt")
    library(dplyr)
    birthweight = birthwt %>% 
      mutate(race = factor(race,labels = c("white","black","other")),
             smoke = factor(smoke,labels = c("no","yes")),
             ptl = ifelse(ptl >0,"1+",ptl),
             ptl = factor(ptl),
             ht = factor(ht,labels = c("no","yes")),
             ui = factor(ui,labels = c("no","yes")),
             ftv = ifelse(ftv >1,"2+",ftv),
             ftv = factor(ftv))
    head(birthweight)
    str(birthweight)
    

    数据结构:

    > str(birthweight)
    'data.frame':	189 obs. of  10 variables:
     $ low  : int  0 0 0 0 0 0 0 0 0 0 ...
     $ age  : int  19 33 20 21 18 21 22 17 29 26 ...
     $ lwt  : int  182 155 105 108 107 124 118 103 123 113 ...
     $ race : Factor w/ 3 levels "white","black",..: 2 3 1 1 1 3 1 3 1 1 ...
     $ smoke: Factor w/ 2 levels "no","yes": 1 1 2 2 2 1 1 1 2 2 ...
     $ ptl  : Factor w/ 2 levels "0","1+": 1 1 1 1 1 1 1 1 1 1 ...
     $ ht   : Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 1 1 1 1 ...
     $ ui   : Factor w/ 2 levels "no","yes": 2 1 1 2 2 1 1 1 1 1 ...
     $ ftv  : Factor w/ 3 levels "0","1","2+": 1 3 2 3 1 1 2 2 2 1 ...
     $ bwt  : int  2523 2551 2557 2594 2600 2622 2637 2637 2663 2665 ...
    

    5.3 明确分析目的

    数据分析目的:

    low为二分类变量,表示婴儿是否体重偏轻,我们考虑几个因素:年龄,母亲体重,肤色,是否有早产等因素。其中年龄,母亲体重为连续变量,肤色,是否早产为二类变量。数据分析的目的是,用年龄,体重,肤色,是否早产等因素,去预测胎儿的体重是否偏轻。

    5.4 用R语言glm建模

    使用R语言glm模型拟合模型

    m1 = glm(low ~ age + lwt + race + smoke + ptl + ht + ui + ftv, # 1
             family = binomial("logit"), # 2
             data = birthweight) #3
    summary(m1) #4
    

    上面代码中,共有4行:

    • 第一行,为二分类y变量(low)和其它x变量
    • 第二行,定义y变量的分布(二分类)和连接函数(logit)
    • 第三行,定义数据库
    • 第四行,打印结果

    结果如下:

    > summary(m1)
    
    Call:
    glm(formula = low ~ age + lwt + race + smoke + ptl + ht + ui + 
        ftv, family = binomial("logit"), data = birthweight)
    
    Deviance Residuals: 
        Min       1Q   Median       3Q      Max  
    -1.7038  -0.8068  -0.5008   0.8835   2.2152  
    
    Coefficients:
                Estimate Std. Error z value Pr(>|z|)   
    (Intercept)  0.82302    1.24471   0.661  0.50848   
    age         -0.03723    0.03870  -0.962  0.33602   
    lwt         -0.01565    0.00708  -2.211  0.02705 * 
    raceblack    1.19241    0.53597   2.225  0.02609 * 
    raceother    0.74069    0.46174   1.604  0.10869   
    smokeyes     0.75553    0.42502   1.778  0.07546 . 
    ptl1+        1.34376    0.48062   2.796  0.00518 **
    htyes        1.91317    0.72074   2.654  0.00794 **
    uiyes        0.68019    0.46434   1.465  0.14296   
    ftv1        -0.43638    0.47939  -0.910  0.36268   
    ftv2+        0.17901    0.45638   0.392  0.69488   
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
    
    (Dispersion parameter for binomial family taken to be 1)
    
        Null deviance: 234.67  on 188  degrees of freedom
    Residual deviance: 195.48  on 178  degrees of freedom
    AIC: 217.48
    
    Number of Fisher Scoring iterations: 4
    

    5.5 使用step进行逐步回归

    可以用drop1一个个查看,先删掉哪个变量

    > drop1(m1)
    Single term deletions
    
    Model:
    low ~ age + lwt + race + smoke + ptl + ht + ui + ftv
           Df Deviance    AIC
    <none>      195.48 217.48
    age     1   196.42 216.42
    lwt     1   200.95 220.95
    race    2   201.23 219.23
    smoke   1   198.67 218.67
    ptl     1   203.58 223.58
    ht      1   202.93 222.93
    ui      1   197.59 217.59
    ftv     2   196.83 214.83
    

    可以看到,不去掉时,AIC为195.48,去掉flv只有AIC为196.83

    更简单的方法,使用step进行逐步回归

    > glm2 = step(m1)
    Start:  AIC=217.48
    low ~ age + lwt + race + smoke + ptl + ht + ui + ftv
    
            Df Deviance    AIC
    - ftv    2   196.83 214.83
    - age    1   196.42 216.42
    <none>       195.48 217.48
    - ui     1   197.59 217.59
    - smoke  1   198.67 218.67
    - race   2   201.23 219.23
    - lwt    1   200.95 220.95
    - ht     1   202.93 222.93
    - ptl    1   203.58 223.58
    
    Step:  AIC=214.83
    low ~ age + lwt + race + smoke + ptl + ht + ui
    
            Df Deviance    AIC
    - age    1   197.85 213.85
    <none>       196.83 214.83
    - ui     1   199.15 215.15
    - race   2   203.24 217.24
    - smoke  1   201.25 217.25
    - lwt    1   201.83 217.83
    - ptl    1   203.95 219.95
    - ht     1   204.01 220.01
    
    Step:  AIC=213.85
    low ~ lwt + race + smoke + ptl + ht + ui
    
            Df Deviance    AIC
    <none>       197.85 213.85
    - ui     1   200.48 214.48
    - smoke  1   202.57 216.57
    - race   2   205.47 217.47
    - lwt    1   203.82 217.82
    - ptl    1   204.22 218.22
    - ht     1   205.16 219.16
    

    可以看到,模型low ~ lwt + race + smoke + ptl + ht + ui的AIC最小,为最终模型。

    模型结果:

    > summary(glm2)
    
    Call:
    glm(formula = low ~ lwt + race + smoke + ptl + ht + ui, family = binomial("logit"), 
        data = birthweight)
    
    Deviance Residuals: 
        Min       1Q   Median       3Q      Max  
    -1.7308  -0.7841  -0.5144   0.9539   2.1980  
    
    Coefficients:
                 Estimate Std. Error z value Pr(>|z|)   
    (Intercept) -0.125326   0.967561  -0.130  0.89694   
    lwt         -0.015918   0.006954  -2.289  0.02207 * 
    raceblack    1.300856   0.528484   2.461  0.01384 * 
    raceother    0.854414   0.440907   1.938  0.05264 . 
    smokeyes     0.866582   0.404469   2.143  0.03215 * 
    ptl1+        1.128857   0.450388   2.506  0.01220 * 
    htyes        1.866895   0.707373   2.639  0.00831 **
    uiyes        0.750649   0.458815   1.636  0.10183   
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
    
    (Dispersion parameter for binomial family taken to be 1)
    
        Null deviance: 234.67  on 188  degrees of freedom
    Residual deviance: 197.85  on 181  degrees of freedom
    AIC: 213.85
    
    Number of Fisher Scoring iterations: 4
    

    更友好的结果显示

    > library(epiDisplay)
    > logistic.display(glm2)
    
    Logistic regression predicting low 
     
                     crude OR(95%CI)    adj. OR(95%CI)     P(Wald's test) P(LR-test)
    lwt (cont. var.) 0.99 (0.97,1)      0.98 (0.97,1)      0.022          0.015     
                                                                                    
    race: ref.=white                                                      0.022     
       black         2.33 (0.94,5.77)   3.67 (1.3,10.35)   0.014                    
       other         1.89 (0.96,3.74)   2.35 (0.99,5.58)   0.053                    
                                                                                    
    smoke: yes vs no 2.02 (1.08,3.78)   2.38 (1.08,5.26)   0.032          0.03      
                                                                                    
    ptl: 1+ vs 0     4.32 (1.92,9.73)   3.09 (1.28,7.48)   0.012          0.012     
                                                                                    
    ht: yes vs no    3.37 (1.02,11.09)  6.47 (1.62,25.88)  0.008          0.007     
                                                                                    
    ui: yes vs no    2.58 (1.14,5.83)   2.12 (0.86,5.21)   0.102          0.105     
                                                                                    
    Log-likelihood = -98.9258
    No. of observations = 189
    AIC value = 213.8516
    

    可以看出,结果没有直接给出回归系数,而是给出了优势比(odds radio)和P值(wald检验和LRT检验)

    手动计算优势比:

    > exp(coef(glm2))
    (Intercept)         lwt   raceblack   raceother    smokeyes       ptl1+       htyes       uiyes 
      0.8822092   0.9842076   3.6724379   2.3499973   2.3787659   3.0921190   6.4681832   2.1183740 
    

    可以看出,结果和上面的adj.OR(95%)列的结果一致。

    6 通过模型预测

    哲学家不是为了解释世界,重点是要改变世界……马克思

    预测才是最重要的。

    上面的模型构建好了,现在又来了一个人,我们收集了她的体重,肤色等信息,是否能够预测胎儿出生体重偏轻的概率是多少?

    数据如下:
    数据结构要和构建模型的数据结构一致。

    newdata = data.frame(lwt = 120, race = "black",smoke = "yes",ptl = "0",ht = "yes",ui = "no")
    newdata
    birthweight %>% head
    
    > newdata
      lwt  race smoke ptl  ht ui
    1 120 black   yes   0 yes no
    > birthweight %>% head
      low age lwt  race smoke ptl ht  ui ftv  bwt
    1   0  19 182 black    no   0 no yes   0 2523
    2   0  33 155 other    no   0 no  no  2+ 2551
    3   0  20 105 white   yes   0 no  no   1 2557
    4   0  21 108 white   yes   0 no yes  2+ 2594
    5   0  18 107 white   yes   0 no yes   0 2600
    6   0  21 124 other    no   0 no  no   0 2622
    

    手动根据公式计算P值

    logit = predict(glm2,newdata = newdata)
    logit
    exp(logit)/(1+exp(logit)) # 计算概率值
    

    公式:
    P=exp(logit)1+exp(logit) P = \frac{exp(logit)}{1+exp(logit)}

    > exp(logit)/(1+exp(logit)) # 计算概率值
          1 
    0.88067
    

    可以看到,上面的数据预测的概率为0.88

    也可以定义predict中的type = response参数,直接计算P值:

    > predict(glm2,newdata = newdata,type = "response") # 直接得到概率值
          1 
    0.88067 
    

    7. asreml的解决方法

    asreml中也可以分析广义线性模型,虽然它的优势在于混合线性模型,但是分析起广义线性混合模型也非常方便。下面使用优化后的模型,比较一下结果:

    as2 = asreml(low ~ lwt + race + smoke + ptl + ht + ui,
                 family = asr_binomial(link="logit"),
                 data = birthweight)
    summary(as2)$varcomp
    wald(as2) # pvalue
    summary(as2,coef=T)$coef.fixed # effect
    

    结果:

    > wald(as2) # pvalue
    Wald tests for fixed effects.
    Response: low
    Terms added sequentially; adjusted for those above.
    Note: These Wald statistics are based on the working variable
    and are not equivalent to an Analysis of Deviance.
    
                  Df Sum of Sq Wald statistic Pr(Chisq)    
    (Intercept)    1   14.9106        14.9106 0.0001127 ***
    lwt            1    3.0123         3.0123 0.0826351 .  
    race           2    3.2332         3.2332 0.1985701    
    smoke          1    6.4746         6.4746 0.0109429 *  
    ptl            1    6.7581         6.7581 0.0093323 ** 
    ht             1    6.1986         6.1986 0.0127854 *  
    ui             1    2.6767         2.6767 0.1018287    
    residual (MS)       1.0000                             
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
    > summary(as2,coef=T)$coef.fixed # effect
                   solution   std error    z.ratio
    ui_no        0.00000000          NA         NA
    ui_yes       0.75064880 0.458817140  1.6360522
    ht_no        0.00000000          NA         NA
    ht_yes       1.86689527 0.707378249  2.6391754
    ptl_0        0.00000000          NA         NA
    ptl_1+       1.12885661 0.450389557  2.5064005
    smoke_no     0.00000000          NA         NA
    smoke_yes    0.86658183 0.404473690  2.1424924
    race_white   0.00000000          NA         NA
    race_black   1.30085571 0.528489036  2.4614621
    race_other   0.85441418 0.440911907  1.9378342
    lwt         -0.01591847 0.006953881 -2.2891495
    (Intercept) -0.12532604 0.967572468 -0.1295263
    

    可以看出,Effect和Pvalue和R中的glm结果是一致的。

    8. 后面计划写

    未完待续,欢迎关注

    # 多分类logistic回归分析
    因变量(y变量)是多分类的,包括无序和有序的。
    
    * 无序的多类别因变量:对应无序多分类logistic回归模型
    * 有序的多类别因变量:有序多分类logistic回归模型
    
    ## 2 无序多分类logistic回归分析
    
    ## 3 有序多分类logistic回归分析
    

    9. 参考文献

    R 语言实战(第二版)【美】Robert I. Kabacoff著,人民邮电出版社
    R语言医学数据分析实战 赵军 编著 人民邮电出版社
    https://dy.163.com/article/D7O6D7ND0514AGEL.html

    10. 延伸

    育种中,多用混合线性模型,因为它可以根据系谱或者半同胞,全同胞,或者基因组关系,对模型进行校正,从而估算出更准确的结果。

    但是很多性状,是分类性状,有些是二分类的,有些是多分类的。这些性状需要用广义线性模型,但是育种中用广义线性混合模型更合适。

    二分类的性状:

    • 羊是否有角
    • 对某类疾病是否有抗性

    无序多分类

    • 不同的颜色:赤橙黄绿青蓝紫
    • 不同的体型:长条,圆条,方条

    有序多分类

    • 抗性分为:高抗,中抗,低抗
    • 品质分级:一级,二级,三级,四级,五级

    这些性状,有些是为了查看变量的优势比和显著性,有些是为了预测概率,有些是为了得到育种值。从这个角度,广义线性混合模型广义线性模型应用范围更广。所幸,就像线性混合模型VS一般线性模型广义线性混合模型 VS广义线性模型,套路是一样的。

    欢迎关注公众号:育种数据分析之放飞自我

    了解更多精彩内容!

    展开全文
  • 一文掌握多分类logistic回归

    千次阅读 2020-08-21 11:55:28
    Logistic回归分析(logit回归)一般可分为3类,分别是二元Logistic回归分析、多分类Logistic回归分析和有序Logistic回归分析。logistic回归分析类型如下所示。 Logistic回归分析用于研究X对Y的影响,并且对X的...

    Logistic回归分析(logit回归)一般可分为3类,分别是二元Logistic回归分析、多分类Logistic回归分析和有序Logistic回归分析。logistic回归分析类型如下所示。

    Logistic回归分析用于研究X对Y的影响,并且对X的数据类型没有要求,X可以为定类数据,也可以为定量数据,但要求Y必须为定类数据,并且根据Y的选项数,使用相应的数据分析方法。

    • 如果Y有两个选项,如愿意和不愿意、是和否,那么应该使用二元Logistic回归分析(SPSSAU【进阶方法->二元logit】);
    • 如果Y有多个选项,并且各个选项之间可以对比大小,例如,1代表“不愿意”,2代表“无所谓”,3代表“愿意”,这3个选项具有对比意义,数值越高,代表样本的愿意程度越高,那么应该使用多元有序Logistic回归分析(SPSSAU【进阶方法->有序logit】);
    • 如果Y有多个选项,并且各个选项之间不具有对比意义,例如,1代表“淘宝”,2代表“天猫”,3代表“京东”,4代表“亚马逊中国”,数值仅代表不同类别,数值大小不具有对比意义,那么应该使用多元无序Logistic回归分析(SPSSAU【进阶方法->多分类logit】)。

     

    1、多分类logistic回归分析基本说明

    只要是logistic回归,都是研究X对于Y的影响,区别在于因变量Y上,logistic回归时,因变量Y是看成定类数据的,如果为二元(即选项只有2个),那么就是二元logistic回归; 如果Y是多个类别且类别之间无法进行对比程度或者大小,则为多分类logistic回归;如果Y是多个类别且类别之间可以对比程度大小(也称为定量数据,或者有序定类数据),此时则使用有序logistic回归。

    多分类logistic回归的难点在于:因变量为类别数据,研究X对Y的影响时,如果为类别数据,那么不能说越如何越如何,比如不能说越满意越愿意购买;而只能说相对小米手机来说,对于手机外观越满意越愿意购买苹果手机。这就是类别数据的特点,一定是相对某某而言。这就导致了多分类logistic回归分析时,文字分析的难度加大,最好是使用SPSSAU的智能文字分析对应查看。

    单独进行多分类logistic回归时,通常需要有以下步骤,分别是数据处理,模型似然比检验,参数估计分析和模型预测效果分析共4个步骤。

     

    1) 数据处理

    如果说因变量Y的类别个数很多,比如为10个,此时建议时对类别进行组合下,尽量少的减少类别数量,便于后续进行分析。此步骤可通过SPSSAU【数据处理->数据编码】完成。

    如果说自变量X是定类数据,那么可对X进行虚拟哑变量处理,使用SPSSAU数据处理模块的生成变量功能。关于虚拟哑变量问题,可参阅SPSSAU的手册。其实定类数据在做影响关系研究时,通常都会做虚拟哑变量处理。而且做完之后,放入模型时一定要少放一项,比如专业分成理工科,文科类,体育艺术类。那么分析时一定要少放一项(少放的项是参考项),因为这涉及到分析时进行文字描述。至于少放那一项,由研究者自行决定即可。

     

    处理完成数据,确保数据没有问题后,直接进入SPSSAU【进阶方法->多分类logit】进行分析即可。

     

    2) 模型似然比检验

    模型似然比检验用于对整个模型的有效性进行分析,一般对应的P值小于0.05即可。同时SPSSAU还提供AIC和BIC这两个指标值,如果模型有多个,而且希望进行模型之间的优劣比较,可使用此两个指标,此两个指标是越小越好。具体可直接查看SPSSAU的智能分析和分析建议即可。

     

    3) 参数估计分析

    参数估计分析其实就已经开始进入实质性的分析了。首先可分析R方,即模型的拟合水平情况,SPSSAU提供3个R方值指标,分别是McFadden R 方、Cox & Snell R 方和Nagelkerke R 方。此3个R 方均为伪R 方值,其值越大越好,但其无法非常有效的表达模型的拟合程度,意义相对交小,而且多数情况此3个指标值均会特别小,研究人员不用过分关注于此3个指标值。一般报告其中任意一个R方值指标即可。

     

    接着分析回归系数,即X对于Y的影响。一定记住,分析时是先基于以***作为参照时,X对于**有正向影响。比如相对于小米手机作为参照项,用户对于手机外观的在乎程度会正向影响到用户选择苹果手机。简而言之即说明,相对小米手机,用户越在乎外观时,更加可能选择苹果手机。

     

    4) 模型预测效果分析

    多分类logistic回归建模时,还可以对模型的预测效果进行分析,当然一般情况下我们关注于影响关系,因而对于预测效果等不那么看重。即模型预测质量的关注乎相对较低,多数时候直接忽略它。

     

    2、如何使用SPSSAU进行多分类logistic回归操作

    关于多分类logistic回归的操作上,SPSSAU操作如下:

     

    此处的X为3个,分别是性别,学历和年龄,学历和年龄是定量数据直接纳入模型中即可。但是性别是定类数据,所以先做了虚拟哑变量(数据处理->生成变量功能),然后性别分为两项分别是男和女,以男作为参照项,因此把女放入了模型中。

    至于分析结果如下:

    此处模型检验的原定假设为:是否放入自变量(性别_女, 学历, 年龄)两种情况时模型质量均一样;这里p值小于0.05,因而说明拒绝原定假设,即说明本次构建模型时,放入的自变量具有有效性,本次模型构建有意义。

    模型的R方值仅为0.025,但一般报告下即可,伪R方值一般都比较低。特别需要注意分析:

    上表格加蓝色底纹的项为P值小于0.05即呈现出显著的项,接下来逐一说明下,

    性别_女的回归系数值为-0.309,并且呈现出0.05水平的显著性(z=-2.127,p=0.033<0.05),这说明相对于男性来讲,女性更加偏好于小米手机。为什么这样阐述呢,首先在多分类logistic回归,SPSSAU将因变量Y的第1项(此处为小米手机)作为参照项。那么性别_女呈现出负向影响,就说明‘越女性,越偏向于小米手机’,因而结论就是,相对于华为手机来讲,女性明显更加偏好于小米手机。

    相对小米手机来讲,年龄的回归系数值为-0.437,并且呈现出0.01水平的显著性(z=-6.076,p=0.000<0.01),负向影响,即说明年龄越大(此处年龄是定量数据所以可以说年龄越大越如何),用户越不偏好华为手机。那就是说年龄越大用户越偏好于小米手机。

    接着,相对于小米手机来讲,在苹果手机进行对比时,性别_女的回归系数值为0.436,并且呈现出0.01水平的显著性(z=4.192,p=0.000<0.01),意味着相对小米手机,性别_女会对苹果显著的正向影响关系。那就是说相对小米手机来讲,女性更加偏好于苹果手机的意思。

     

    3、多分类logistic相关问题?

    在使用SPSSSAU进行多分类logistic回归时,可能会出现一些问题,比如提示奇异矩阵,质量异常,Y值只能为0或1等,接下来一一说明。

     

    第1点:出现奇异矩阵或质量异常

    如果做多分类logsitic回归时提示奇异矩阵,通常有两个原因,一是虚拟哑变量设置后,本应该少放1项作为参考项但是并没有,而是把所有的哑变量项都放入框中,这会导致绝对的共线性问题即会出现奇异矩阵矩阵。二是X之间有着太强的共线性(可使用通用方法的线性回归查看下VIF值),此时也可能导致模型无法拟合等。先找出原因,然后把有问题的项移出模型中即可。

     

    同时,如果因变量Y的分布极其不均匀,SPSSAU建议可先对类别进行组合,可使用数据处理里面的数据编码完成。

     

    第2点:提示“Y的选项过少或过多”?

    如果出现此提示,意味着因变量Y的选项不符合多分类logistic回归分析要求,通常情况下因变量Y的分类个数应该介于3~8个之间。

    •  用户可使用频数分析功能进行查看因变量Y的选项个数情况;

    • 如果选项个数过多需要进行合并处理等,可使用【数据处理->数据编码】功能操作。

     

    第3点:OR值的意义

    OR值=exp(b)值,即回归系数的指数次方,该值在医学研究里面使用较多,实际意义是X增加1个单位时,Y的增加幅度。如果仅仅是研究影响关系,该值意义较小。

     

    第4点: wald值或z值

    z 值=回归系数/标准误,该值为中间过程值无意义,只需要看p 值即可。有的软件会提供wald值(但不提供z 值,该值也无实际意义),wald值= z 值的平方。

     

    第5点: McFadden R 方、Cox & Snell R 方和Nagelkerke R 方相关问题?

    Logit回归时会提供此3个R 方值(分别是McFadden R 方、Cox & Snell R 方和Nagelkerke R 方),此3个R 方均为伪R 方值,其值越大越好,但其无法非常有效的表达模型的拟合程度,意义相对交小,而且多数情况此3个指标值均会特别小,研究人员不用过分关注于此3个指标值。一般报告其中任意一个R方值指标即可。


    以上就是本次分享的内容,登录SPSSAU官网了解更多。

    展开全文
  • 一文掌握有序logistic回归分析

    千次阅读 2020-08-28 17:12:31
    Logistic回归分析(logit回归)一般可分为3类,分别是二元logistic回归分析、多分类Logistic回归分析和有序Logistic回归分析。logistic回归分析类型如下所示。 Logistic回归分析用于研究X对Y的影响,并且对X...

    Logistic回归分析(logit回归)一般可分为3类,分别是二元logistic回归分析、多分类Logistic回归分析和有序Logistic回归分析。logistic回归分析类型如下所示。

     

     

    Logistic回归分析用于研究X对Y的影响,并且对X的数据类型没有要求,X可以为定类数据,也可以为定量数据,但要求Y必须为定类数据,并且根据Y的选项数,使用相应的数据分析方法。

    • 如果Y有两个选项,如愿意和不愿意、是和否,那么应该使用有序logistic回归分析(SPSSAU进阶方法->二元logit);

     

    • 如果Y有多个选项,并且各个选项之间可以对比大小,例如,1代表“不愿意”,2代表“无所谓”,3代表“愿意”,这3个选项具有对比意义,数值越高,代表样本的愿意程度越高,那么应该使用多元有序Logistic回归分析(SPSSAU进阶方法->有序logit);

     

    • 如果Y有多个选项,并且各个选项之间不具有对比意义,例如,1代表“淘宝”,2代表“天猫”,3代表“京东”,4代表“亚马逊中国”,数值仅代表不同类别,数值大小不具有对比意义,那么应该使用多元无序Logistic回归分析(SPSSAU进阶方法->多分类logit)。

     

    1、有序logistic回归分析基本说明

    进行有序logistic回归时,通常需要有以下步骤,分别是连接函数选择,平行性检验,模型似然比检验,参数估计分析,模型预测准确效果共5个步骤。

     

    1) 连接函数选择

    SPSSAU共提供五类连接函数,分别如下:

     

    SPSSAU默认使用logit连接函数,如果模型没有特别的要求,应该首选使用logit连接函数,尤其是因变量的选项数量很少的时候。连接函数可能会对平行性检验起到影响,如果平行性检验无法通过时,可考虑选择更准确的连接函数进行尝试。正常情况下使用默认的logit连接函数即可。

     

    2) 平行性检验

    一般来说,模型最好通过平行性检验,但在研究中很可能出现无法通过的现象。此时有以下建议,如下:

    • 改用多分类logistic回归;换个方法,因为一般可使用有序logistic回归的数据也可以使用多分类logistic回归分析;
    • 改用线性回归;可考虑换成线性回归分析尝试;
    • 改变连接函数;选择更适合的连接函数;
    • 将因变量的类别选项进行一些合并处理等,使用SPSSAU数据处理->数据编码功能。

    一般来说,有序logistic回归有一定的稳健性,即平行性检验对应的P值接近于0.05时,可考虑直接接受有序logistic回归分析的结果。

     

    3) 模型似然比检验

    模型似然比检验用于对整个模型的有效性进行分析,一般对应的P值小于0.05即可。同时SPSSAU还提供AIC和BIC这两个指标值,如果模型有多个,而且希望进行模型之间的优劣比较,可使用此两个指标,此两个指标是越小越好。具体可直接查看SPSSAU的智能分析和分析建议即可。

     

    4) 参数估计分析

    参数估计分析其实就已经开始进入实质性的分析了。首先可分析R方,即模型的拟合水平情况,SPSSAU提供3个R方值指标,分别是McFadden R 方、Cox & Snell R 方和Nagelkerke R 方。此3个R 方均为伪R 方值,其值越大越好,但其无法非常有效的表达模型的拟合程度,意义相对交小,而且多数情况此3个指标值均会特别小,研究人员不用过分关注于此3个指标值。一般报告其中任意一个R方值指标即可。

     

    5) 模型预测效果分析

    有序logistic回归建模时,还可以对模型的预测效果进行分析,SPSSAU也会默认输出结果,当然一般情况下我们关注于影响关系,因而对于预测效果等不那么看重。即模型预测质量的关注乎相对较低,多数时候直接忽略它。

     

    2、如何使用SPSSAU进行有序logistic回归操作

    关于有序logistic回归的操作上,SPSSAU操作如下:

    至于分析结果如下:

     

    首先对模型整体有效性进行分析(模型似然比检验),从上表可知:此处模型检验的原定假设为:是否放入自变量(性别_女, 年龄, 年收入水平, 文化程度)两种情况时模型质量均一样;分析显示拒绝原假设(chi=62.510,p=0.000<0.05),即说明本次构建模型时,放入的自变量具有有效性,本次模型构建有意义。

     

    首先可针对任意一个R方值进行描述,一般是McFadden R 方为0.08,意味着自变量仅解释幸福度8%的原因,logistic回归时R方值一般都比较小,一般不用过多理会。

    具体分析影响关系时,可直接参考SPSSAU的智能分析即可,而上表格还列出因变量阈值对应的信息,该数据对数据分析并无过多意义,仅为数学上的指标值而已。

    性别_女的回归系数值为0.072,但是并没有呈现出显著性(z=0.352,p=0.725>0.05),意味着性别并不会对幸福水平产生影响关系。

    年龄的回归系数值为-0.027,并且呈现出0.01水平的显著性(z=-2.921,p=0.003<0.01),意味着年龄会对幸福水平产生显著的负向影响关系。年龄越大的人幸福水平反而越低。

    年收入水平的回归系数值为0.508,并且呈现出0.01水平的显著性(z=4.849,p=0.000<0.01),意味着年收入水平会对幸福水平产生显著的正向影响关系。收入水平越高的群体,幸福度会越高。

    文化程度的回归系数值为0.311,并且呈现出0.01水平的显著性(z=3.502,p=0.000<0.01),意味着文化程度会对幸福水平产生显著的正向影响关系。文化水平越高的群体,他们的幸福度会越高。

     

    3、有序logistic相关问题

    在使用SPSSSAU进行有序logistic回归时,可能会出现一些问题,比如提示奇异矩阵,质量异常,Y值只能为0或1等,接下来一一说明。

     

     

    第1点:出现奇异矩阵或质量异常

    如果做有序logsitic回归时提示奇异矩阵,通常有两个原因,一是虚拟哑变量设置后,本应该少放1项作为参考项但是并没有,而是把所有的哑变量项都放入框中,这会导致绝对的共线性问题即会出现奇异矩阵矩阵。二是X之间有着太强的共线性(可使用通用方法的线性回归查看下VIF值),此时也可能导致模型无法拟合等。先找出原因,然后把有问题的项移出模型中即可。

    同时,如果因变量Y的分布极其不均匀,SPSSAU建议可先对类别进行组合,可使用数据处理里面的数据编码完成。

     

    第2点:无法通过平行性检验?

    有序Logit回归的分析要求数据满足平行性检验,如果不满足,SPSSAU建议使用多分类Logti回归分析即可,当然也可以改用线性回归,改变连接函数,对因变量Y的选项进行组合等多种方式,尝试并在最终选择出最优方案即可。

     

    第3点:OR值的意义

    OR值=exp(b)值,即回归系数的指数次方,该值在医学研究里面使用较多,实际意义是X增加1个单位时,Y的增加幅度。如果仅仅是研究影响关系,该值意义较小。

     

    第4点: wald值或z值

    z 值=回归系数/标准误,该值为中间过程值无意义,只需要看p 值即可。有的软件会提供wald值(但不提供z 值,该值也无实际意义),wald值= z 值的平方。

     

    第5点: McFadden R 方、Cox & Snell R 方和Nagelkerke R 方相关问题?

    Logit回归时会提供此3个R 方值(分别是McFadden R 方、Cox & Snell R 方和Nagelkerke R 方),此3个R 方均为伪R 方值,其值越大越好,但其无法非常有效的表达模型的拟合程度,意义相对交小,而且多数情况此3个指标值均会特别小,研究人员不用过分关注于此3个指标值。一般报告其中任意一个R方值指标即可。

     

    以上就是本次分享的内容,登录SPSSAU官网了解更多。

    展开全文
  • Logistic 回归常用于分析二分类因变量与多个自变量的关 系, 本文通过案例解析分类变量的 Logistic 回归, 借助于 SPSS 软件 实现 Logistic 回归过程, 并对多分类因变量的 Logistic 回归做简单 介绍。
  • 视频地址:... Case Processing Summary(案例处理摘要) 告诉参与本次分析的大致情况(占比) Model Fitting Information(模型拟合信息) 判别真实数据与模型方程的拟合程度 Pseudo R-S...

    视频地址:https://tv.sohu.com/v/dXMvMjU3MDY4NDc1LzgxMjc3NzA4LnNodG1s.html?src=list

    Case Processing Summary(案例处理摘要)

    告诉参与本次分析的大致情况(占比)

    Model Fitting Information(模型拟合信息)

    判别真实数据与模型方程的拟合程度

    Pseudo R-Square(伪R方 / 判别系数)

    对模型中所有的自变量的偏回归系数是否为0进行显著性检验,越接近1拟合度越高,并不是最权威的衡量角度

    Likelihood Ratio Tests(似然比检验)

    看自变量是否显著影响因变量

    Parameter Estimates(参数估计)—— 最重要的表

    看显著性和Exp(B)

    结果分析:http://blog.sina.com.cn/s/blog_653596f00102yj18.html

    展开全文
  • logistic回归是一种广义线性回归(generalized linear model),因此与多重线性回归分析有很相同之处。它们的模型形式基本上相同,都具有 w‘x+b,其中w和b是待求参数,其区别在于他们的因变量不同,多重线性回归...
  • SPSS实例教程:有序多分类Logistic回归

    万次阅读 多人点赞 2017-10-29 22:38:21
    SPSS实例教程:有序多分类Logistic回归 医小咖 10 个月前 1、问题与数据 在某胃癌筛查项目中,研究者想了解首诊胃癌分期(Stage)与患者的经济水平的关系,以确定胃癌筛查的重点人群。为了避免性别因素对结论的...
  • logistics回归分析以及在医学方面的应用
  • 做代谢组学分析,一共有147种代谢物,需要每个单独和其他选定的协变量一起放入线性回归模型中,依次替换147种代谢物,完成147次回归分析。 实现步骤: R语言 1、 数据预处理:excel和spss 2、 for循环 3、 multinom...
  • Logistic回归分析简介

    2016-11-21 09:16:00
    Logistic回归:实际上属于判别分析,因拥有很差的判别效率而不常用。 1. 应用范围: ① 适用于流行病学资料的危险因素分析 ② 实验室中药物的剂量-反应关系 ③ 临床试验评价 ④ 疾病的预后因素分析 2. ...
  • 有序分类logistic回归-R语言

    万次阅读 2019-04-09 17:58:24
    因变量为分类变量,且分类间有次序关系,针对因变量为分类型数据的情况应该选用Logistic回归,故应采用有序多分类Logistic回归分析模型进行分析。 常应用的方向为:空气污染预测、医学类研究、心理学研究...
  • 多分类有序反应变量logistic逐步回归分析在上海市医疗保险调查中的应用
  • 1、问题与数据 在某胃癌筛查项目中,研究者想了解首诊胃癌分期(Stage)与患者的经济...该设计中,因变量为四分类,且分类间有次序关系,针对因变量为分类型数据的情况应该选用Logistic回归,故应采用有序多分类的Logis
  • logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。 logistic回归的因变量可以是二分类的,也可以是多分类的,但是二分类的更为常用,也更加容易...
  • logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。例如,探讨引发疾病的危险因素,并根据危险因素预测疾病发生的概率等。 二元logistic回归在临床...
  • 0.05),可采用无序多分类logistic回归进行分析。当然当结局变量无序,自变量只有一个且为分类变量时,可以直接采用卡方检验;结局变量有序,自变量只有一个且为分类变量时,可以直接采用非参数检验。 无序多分类...
  • 一、 概述 Logistic回归主要用于因变量为分类变量(如疾病的缓解、不缓解,...因变量为二分类的称为二项logistic回归,因变量为多分类的称为多元logistic回归。  下面学习一下Odds、OR、RR的概念: 在病例
  • logistic回归

    2018-05-27 00:04:51
    logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。例如,探讨引发疾病的危险因素,并根据危险因素预测疾病发生的概率等。以胃癌病情分析为例,选择...
  • logistic回归分析matlab代码有用的位 “我不能创造的东西,我不理解”,费曼(1988) 该存储库旨在收集有用的信息/构件块(例如代码,教程等),用于机器学习,语音分析,Python,TensorFlow,Praat,Matlab等。 ...
  • 二元Logistic回归

    千次阅读 2020-10-16 22:58:08
    多分类无序:多元Logistic回归 多分类有序:定序回归 (ordinal regression) 按个案是否经过匹配分类 非条件Logistic回归 条件Logistic回归 二元Logistic回归概述 一般线性模型中的一种,即反应变量 (dependent...
  • Logistic回归为概率型非线性回归模型,是研究观察结果与一些影响因素之间关系的一种变量分析方法。 虽然名字中带有“回归”二字,但是它是一种常见的分类问题的方法。 设条件慨率为根据某自变量相对于某事件...
  • Logistic回归

    2017-08-20 11:59:50
    Logistic回归为概率型非线性回归模型,是研究二分类观察结果与一些影响因素之间关系的一种 变量分析方法。通常的问题是,研究某些因素条件下某个结果是否发生,比如医学中根据病人的一些症状来判断它是 否患有...
  • logistic回归的因变量可以是二分类的,也可以是多分类的,但是二分类的更为常用,也更加容易解释,多类可以使用softmax方法进行处理。 Logistic回归分析也用于研究影响关系,即X对于Y的影响情况。Y为定类数据,X可以...
  • Logistic回归是一种广义线性回归(generalized linear model),因此与多重线性回归分析有很相同之处。实际中最为常用的就是二分类Logistic回归Logistic回归的目的是使训练数据与其预测值之间的误差最小化。 ...
  • 1、logistic回归的过程 找到一个合适的预测函数,一般表示为h函数,该函数就是我们需要找的分类函数,它用来预测输入数据的判断结果。这个过程是非常关键的,需要对数据有一定的了解和分析,知道或者猜测预测函数...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 291
精华内容 116
关键字:

多分类logistic回归分析