Logistic回归分析之多分类Logistic回归
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回归分析之多分类Logistic回归的更多相关文章
- Logistic回归之有序logistic回归分析
Logistic回归分析(logit回归)一般可分为3类,分别是二元logistic回归分析.多分类Logistic回归分析和有序Logistic回归分析.logistic回归分析类型如下所示. Lo ...
- Logistic回归分析之二元Logistic回归
在研究X对于Y的影响时,如果Y为定量数据,那么使用多元线性回归分析(SPSSAU通用方法里面的线性回归):如果Y为定类数据,那么使用Logistic回归分析. 结合实际情况,可以将Logistic回归 ...
- spss logistic回归分析结果如何分析
spss logistic回归分析结果如何分析 如何用spss17.0进行二元和多元logistic回归分析 一.二元logistic回归分析 二元logistic回归分析的前提为因变量是可以转化为0 ...
- 二分类Logistic回归模型
Logistic回归属于概率型的非线性回归,分为二分类和多分类的回归模型.这里只讲二分类. 对于二分类的Logistic回归,因变量y只有“是.否”两个取值,记为1和0.这种值为0/1的二值品质型变量 ...
- SPSS数据分析—多分类Logistic回归模型
前面我们说过二分类Logistic回归模型,但分类变量并不只是二分类一种,还有多分类,本次我们介绍当因变量为多分类时的Logistic回归模型. 多分类Logistic回归模型又分为有序多分类Logi ...
- Logistic回归分析简介
Logistic回归:实际上属于判别分析,因拥有很差的判别效率而不常用. 1. 应用范围: ① 适用于流行病学资料的危险因素分析 ② 实验室中药物的剂量-反应关系 ③ 临床试验 ...
- 【Todo】【转载】Spark学习 & 机器学习(实战部分)-监督学习、分类与回归
理论原理部分可以看这一篇:http://www.cnblogs.com/charlesblc/p/6109551.html 这里是实战部分.参考了 http://www.cnblogs.com/shi ...
- AI - TensorFlow - 分类与回归(Classification vs Regression)
分类与回归 分类(Classification)与回归(Regression)的区别在于输出变量的类型.通俗理解,定量输出称为回归,或者说是连续变量预测:定性输出称为分类,或者说是离散变量预测. 回归 ...
- CART分类与回归树与GBDT(Gradient Boost Decision Tree)
一.CART分类与回归树 资料转载: http://dataunion.org/5771.html Classification And Regression Tree(CART)是决策 ...
随机推荐
- maven 一些高级用法命令
发布本地jar到私服 命令 mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=D:\Downloads\OJDBC-Full\ojdbc6.ja ...
- zookeeper 源码编译
环境:mac 1.github上下载 源码 项目地址:https://github.com/apache/zookeeper 2.安装 ant mac:brew update -> brew ...
- Python实现数据结构 图
邻接矩阵 class Vertex: def __init__(self, node): self.id = node # Mark all nodes unvisited self.visited ...
- 线程_GIL最简单的例子
#解决多进程死循环 import multiprocessing def deadLoop(): while True: print("Hello") pass if __name ...
- 遍历多个 txt 文件进行获取值
import random def load_config(path): with open(path,'r') as tou: return [line for line in tou.readli ...
- pandas第三方库
# 一维数组与常用操作 import pandas as pd # 设置输出结果列对齐 pd.set_option('display.unicode.ambiguous_as_wide',True) ...
- 如何在 UltraEdit 删除空行(含空格,制表符)
如何在 UltraEdit 删除空行(含空格,制表符) 打开UltraEdit,ctrl+r弹出替换对话框,点选启用正则表达式方法1:在查找框输入 ^p^p:在替换框输入 ^p执行全部替换:这种方法是 ...
- PHP 实例 - AJAX 实时搜索-AJAX Live Search
PHP 实例 - AJAX 实时搜索 AJAX 可为用户提供更友好.交互性更强的搜索体验. AJAX Live Search 在下面的实例中,我们将演示一个实时的搜索,在您键入数据的同时即可得到搜索结 ...
- PHP attributes() 函数
实例 返回 XML 的 body 元素的属性和值: <?php$note=<<<XML<note><to>Tove</to>高佣联盟 www ...
- windows下使用redis命令行模式查询数据
背景:redis的火,就像java一样,对于测试人员来说,使用它就需要好好搞下,现在就整理下命令行模式,来查询获取自己想要的值: 命令行连接命令:redis-cli -h 主机名 -p 端口号 -a ...