当前课程知识点:基于R语言的社会统计分析 > 第十二章: Logistic回归和其他高级统计方法简介 > 12.1 社会科学中的分类问题 > Video
我们在前面研究两分类变量相关关系的时候
其实已经提到了
能把响应变量和解释变量画了一个表
我们说当响应变量是定量型
解释变量是分类型的时候我们用
比较两组均值还有ANOVA的方法
然后我们当响应变量和解释变量都是分类变量的时候
用的是卡方检验和
比较两组比例
都是定量的时候
上节课有讲过是相关系数
那最后还有一种方法就是
如果说你的响应变量是一个分类变量
那最后还有一种方法就是
如果说你的响应变量是一个分类变量
而解释变量是定量型变量的时候
也就是你的y是
二分的或者是分类的
那你的解释变量呢是一个定距变量的时候·
用到的统计方法就是我们之前说过
提到的广义线性模型叫做
的方法
那我们这节课这是最后一节课了
我只有时间讲一种方法
也就是
当分类变量只有两个可能的取值的时候
我们说
当y是dichotomic variable
我们要考虑使用逻辑斯蒂回归的方法
那如果回到现实中
有同学想找说逻辑斯蒂回归所对应的例子
比如说我们想找
人们决定生不生孩子的相关因素
我们想y的变量就是生孩子还是不生孩子
最近因为二孩政策
我们经常在讨论生育意愿和生育行为的问题
最近因为二孩政策
我们经常在讨论生育意愿和生育行为的问题
那假设我的y就是生育行为
是生还是不生
我们把y等于一代表的是一个成功事件
我认为她生了决定生
那0代表的是不成功事件或者是失败事件
我们认为她没生
然后我想研究
和这个决定相关的一些
潜在的相关因素
这个时候显然就需要用逻辑斯蒂回归的方法了
另外呢比如说还有的时候用来研究
人们是不是愿意支持某项政策的
关联因素
那支持呢就等于1不支持就等于0
好下面我们就来具体看看逻辑斯蒂回归到底
怎么来进行这个分析
好下面我们就来具体的讲解一下
究竟什么是逻辑斯蒂回归
以及如何来进行逻辑斯蒂回归的分析
和建模
首先我们来看我们到底
实际上在解决一个什么问题
当然社会科学中呢很多时候我们实际上
想解决的都是一个分类的问题
那线性回归的时候
我们要求我们的响应变量y
它是一个定量型的变量
也就是我们经常要知道
x增加一个单位
y到底增加了几个单位
x增加一个单位
y到底增加了几个单位
有的时候甚至具体到小数点后的
第二位第三位
然而很多的情况下呢
响应变量实际上是定性型的
当响应变量是定性型的时候呢
我们经常要做出的判断
是需要知道这个变量到底
会落入哪一个分类
这个分类有的时候只有两类
是或者否
有的时候有三类甚至是更多的类型
那这个时候你就需要
知道它到底应该落入哪一种分类
那
怎么样来进行这个判断呢
就是我们怎么来判断它到底会落在哪
一定要通过一个媒介来实现
这个媒介呢就是我们经常说的
落入某一特定分类的概率
我们一定要借助概率帮帮我们的忙
来判断一下到底会落入哪一个分类
显然落入哪一个分类的概率越高
就是我们就
认为它可能会落入这一个分类了
那用来预测分类的方法呢
其实有好多好多种
很大的一个统计学的分析体系
都是在研究分类问题
那我们这里面呢稍微提及三种
被比较广泛使用的方法
第一种呢就是我们耳熟能详的逻辑斯蒂回归
logistics regression然后另外呢还有叫线性判别分析
中文叫做linear discriminant analysis
LDA
然后还有一种呢
中文翻译的特别的蹩脚
它叫K最近邻分类算法
实际上我们一说这种方法的时候管它叫
KNN法就是
找到它最近的邻居
那这三种方法中呢我前面也说了
最耳熟能详的是逻辑斯蒂回归
并且对数学的要求呢也没有那么高
我们一般情况下
做社会科学分析的时候
尤其是
比较初级的应用层面的时候我们
了解逻辑斯蒂回归就可以了
那
我们
下面来看一看就是
分类问题的概述
实际上我前面也说了
在社会科学中
分类问题呢通常比回归问题
更常出现
那
这里面我先举一个例子
假设说一个病人他带着各种各样的症状
来到急诊室
不是各种各样
某一种特定的症状来到急诊室
那我们都知道可能
不同的疾病会有类似的症状
有的时候你
有一个这个发烧啊头疼啊
或者是这不舒服那不舒服的时候我们都喜欢上网去找
然后通过这个疾病你自己就给自己诊断了
说我大概得了什么病
然后有的时候一上网就把自己吓个半死
说我大概得了什么病
然后有的时候一上网就把自己吓个半死
比如说这些症状呢可能
归因于三种疾病的临床表现
也就是说三种疾病可能会有类似的临床表现
那你需要诊断呢就是这个人到底
患了哪种疾病
这是一个非常非常典型的实际研究中的分类问题
还有的时候
我相信你们在使用电子邮件的时候都会
面临垃圾邮件的问题
那很多个邮箱
网易也好还有你们学校的校邮也好
都会做出一个判断
有的时候它自动的就把某一种
某一种邮件就
把它列为垃圾邮件了
那它是怎么列的呢
其实它也不是凭空就说一个邮件
是垃圾还是不是垃圾
它一定是有一些我们所谓的自变量
来给它一些指点的
那比如说它会判断这封邮件
发送出来的IP地址
某一封邮件它到底抄送了多少个人
或者是有一些
比较含混的关键字的出现的频率
那放到一个模型里面实际像
IP地址抄送人数还有关键字
就相当于我们的自变量
然后通过这些自变量我们想对
这封邮件到底是不是垃圾邮件
做一个判断
这是机器给你的判断
然后还有呢
比如说我们再说一些更高级一点的科学研究了
现在基因很火
比如说我想通过
某种疾病的患病人群
和非患病人群的DNA序列的数据
知道
想做出一种判断
就是哪一种DNA的变异是致病的
致病和不致病
就构成了一种分类
然后我的自变量呢是不同的DNA的序列
那
这是我们说的三个例子
我想大家已经可以足够了解到
就是在实际的研究中这个分类变量到底有多重要
我们经常是要面临
把某一个变量分组的问题
那同回归分析
跟前面讲的回归分析非常类似
我们
期望通过样本的数据
来构建这个所谓的分类模型
我们英文把它叫做classifier
我们通过样本的数据
有的时候我们也叫样本数据叫training data
训练数据
我们要用这个训练数据呢来构建一个模型
通过这个模型呢
来进行以后的预测和以后的分组
那下面我们举一个例子
题目就叫Simulated
Default Data
Simulated就是模拟的意思
所以这个数据呢不是真实的数据
是为了我们把这个问题讲清楚了特意
模拟的一组虚拟的数据
这个数据讲的是什么问题呢
这个数据的名字叫Default
并不是默认的那个意思这里面Default是
拖欠的意思
就是信用卡是否欠账
术语英文叫做DEfault
那假设说呢
我们对使用年收入和
每个月的信用卡余额
来预测
某一个人是不是会拖欠他的信用卡
还款感兴趣
那这里面如果要建模的话
我的自变量是谁
应该就是年收入income还有
月信用卡余额
应该就是年收入income还有
月信用卡余额
我假设说
想用这两个x
预测一个人到底会不会拖欠
拖欠就是是
不拖欠就是否
或者是是他拖欠了
就等于1不拖欠就等于0
我们这个模拟的数据呢
有一万个人的数据
在这一万个人中呢
我有一个设置他的总拖欠率
总的Default的概率
是百分之三
那我们看看下图
这个左边这张图
左边这张图呢
红色的部分橘黄色的部分
代表
不是红色啊橘黄色的部分
代表的是拖欠了
Default等于是
那蓝色的部分
代表的是Default等于否
当然我这里面一定要强调
这个数据仅仅是
一万个人的数据的一个子集
是为了更好的显示出他们的关系
你想想如果
一万个人的拖欠率仅为百分之三的话
实际上你希望看到的这个
橘黄色的这个加号的比例
应该是很小的
那
大致上从这个图你看出什么关系来了
大概
balance越高
似乎这个人拖欠的可能性就越大
对吧就是
所有的
红色的加号都在图的右边
然后
红色的加号都在图的右边
然后
蓝的这个圈圈都在图的左边
所以大致上你可以有一个感觉balance
仿佛和
拖欠是有关系的
那income呢
我们看纵轴
我个人看不出什么非常明确的趋势
所以现在左边这个一个散点图大致上
可以给我一个一个
感觉似乎balance和
这个人是否拖欠有一些关系
那我进一步呢想用箱线图
右边这个箱线图来看看
那箱线图的左手这个图
我们看横轴代表是Default
是否拖欠yes代表确实拖欠了
no代表没有拖欠
然后纵轴代表的是balance
我们看中位数
这个这条黑线
是不拖欠信用卡帐的
人的balance的中位数
大概在
700到800美金之间
然后这边呢
拖欠的人
他们显然这个中位数就远远的高于
不拖欠的人了
他的balance的中位数可能在1700到1800之间
这就有一个非常清楚的关系
就是说
在拖欠信用卡帐的这组里面
他的信用卡的balance
是远远高于不拖欠的人的
那类似的思路我们看一下
income和是否拖欠的关系
中位数有一点点的区别
但是如果你看这个第三四分位数
和底下的第一四分位数呢
好像区别又不是特别大
另外我们又发现了一个在
不拖欠的这一组感觉这个极差更大
似乎数据的离散程度大了一些但是
不拖欠的这一组感觉这个极差更大
似乎数据的离散程度大了一些但是
因为只是一个箱线图
看离散程度更重要的还是看
标准差
所以我们没有办法做出特别确切的结论
这是先对数据做一个特别特别基本的描述
那下面我们要看的一个问题了
就是说
为什么不能用线性回归呢
有同学说那你
是
你都已经编码了等于1
不是等于0
拖欠了等于1不拖欠等于0
怎么就不能直接用线性回归呢
我们假设一下
假设我们不说
现在先不说信用卡欠账的问题
我们又回归到急诊室看病给病人下诊断的问题了
比如说
我们想根据一些症状
对急诊室的病人进行判断
那在这个被简化的例子中呢
我们的三种的可能判断呢可能是
中风
可能是
服药过量
也可能是癫痫
那如果说
我非要把它放到一个
线性回归里面
那我总要对三个这种分组的状态
做一下编码对吧怎么编呢
那这个时候我就把响应变量y
用定性型变量的方式来表示
我告诉他说y等于1的时候
是中风
然后如果这个人是服药过量
我就把他编码成2
然后如果这个人是癫痫我就把他
编码成3
然后下面我就把y当成一个
定量型变量放到一个很正常的
多元回归模型里
这显然是有问题的
我们看通过这样的一个编码
我们假设说真的去拟合了一个线性模型
就做出了一个非常可怕的暗示
这样的话我实际上就暗示了
首先我的结果变量是有一个排序的关系
是有顺序的是ordering的
也就是我认为
癫痫大于
服药过量大于中风
除此之外
我还有一个
很重要的假设实际上我认为
中风和服药过量之间的距离
是等于
服药过量和癫痫之间的距离的
那假设说
这是我很随机的一个分法
明天我想换一下
我想让1等于服药过量
2等于中风3等于癫痫
我想让1等于服药过量
2等于中风3等于癫痫
放到一个回归模型里面它
依然会给你一个结果
但也许会给你一个完全不同的结果
实际上我们
在讲为什么不能用线性回归的同时
也希望给大家报一个警
就是
很多时候
假设说你真的这么干了
中风等于1服药过量等于2癫痫等于3
放到一个
放到你的数据里面然后构建了一个回归模型
用R也好还是用其他的回归软件也好
它会非常温顺的给你一个回归的结果
然后你会假装特别认真的
还在这解释P值解释标准误解释了半天
然后你会假装特别认真的
还在这解释P值解释标准误解释了半天
看起来很高级
殊不知你的y根本就是一个
分类型的变量
我们在这里面说这个例子的时候好像
你们觉得很极端而实际上
我的经验告诉我说
很多同学就无时无刻不在犯这种错误
根本就不顾你的变量什么类型
直接扔到模型里面还
开始大书特书这个P值的问题
所以一定要注意当你的
响应变量是分类型的时候
所以一定要注意当你的
响应变量是分类型的时候
一定要多加小心
用线性回归来看
来做显然是不合适的
让我们下面就看看到底用一个怎么样的模型
来构建这种关系比较合理
-1.1 什么是统计学?
--视频1.1
-1.2 数据
--视频 1.2
-1.3 随机化原则
--视频 1.3
-1.4 数据收集方法
--视频 1.4
-第一章:绪论--1.5 习题
-2.1 描述统计概述 - 社会学概念的量化问题
--Video
-2.2 变量的分类
--Video
-2.3 描述统计方法 I: 制表法 Tabular Method
--Video
-2.4 描述统计方法 II: 绘图法 Graphical Method
--Video
-2.5 描述统计方法 III: 数值法 Numerical Method
--Video
-第二章:描述统计--2.6 习题
-3.1 探索性数据分析
--视频3.1
-3.2 EDA的制图原则
--Video
-3.3 R语言初体验
--R 语言初体验
-3.4 CRAN 和学习资源
-3.5 R 基础知识
--Video
-3.6 图形和数值
--Video
-4.1 概率的基本概念
--Video
-4.2 离散型与连续型变量的概率分布
--Video
-4.3 正态分布
--Video
-4.4 抽样分布
--Video
-第四章:概率分布--4.5 习题
-5.1 用抽样分布来代表抽样的变异性
--Video
-5.2 样本均值的抽样分布
--Video
-5.3 中心极限定理
--Video
-5.4 点估计和区间估计
--Video
-第五章:统计推断 - 估计--5.5 习题
-6.1 区间估计
--Video
-6.2 总体比例的区间估计
--Video
-6.3 置信水平
--Video
-6.4 总体均值的区间估计
--Video
-第六章:统计推断 - 区间估计--6.5 习题
-7.1 绪论
--Video
-7.2 一个显著性检验的五个部分
--Video
-7.3 均值的显著性检验
--Video
-7.4 比例的显著性检验
--Video
-7.5 检验中错误的类型
--Video
-第七章: 统计推断 - 显著性检验--7.6 习题
-8.1 预备知识
--Video
-8.2 比较两组比例
--Video
-8.3 比较两个独立样本的均值
--Video
-8.4 比较两个相依样本的均值
--Video
-8.5 方差分析(选学)
--Video
-第八章:两组比较和多组比较--8.6 习题
-9.1 变量间的关联分析
--Video
-9.2 列联分析
--Video
-9.3 定序变量间的关联关系
--Video
-第九章:变量间的关联分析--9.4 习题
-10.1 简单线性回归模型概述
--Video
-10.2 模型系数估计
--Video
-10.3 评价系数估计的准确性
--Video
-10.4 评价模型的准确性
--Video
-10.5 R Lab: 用R构建简单线性模型
--Video
-第十章:简单线性回归--10.6 习题
-11.1 多元线性回归概述
--Video
-11.2 多元线性回归
--Video
-11.3 潜在问题及解决方案
--Video
-11.4 用R语言进行多元线性回归
--Video
-第十一章:多元回归--11.5 习题
-12.1 社会科学中的分类问题
--Video
-12.2 Logistic回归概述
--Video
-12.3 Logistic回归系数估计
--Video
-12.4 Logistic回归模型评价
--Video
-12.5 其他多元统计方法
--Video
-12.6 R语言实践
--Video
-12.7 结束语
--Video