分类问题(二元,多元逻辑回归,费歇尔判别分析)spss实操
分类模型:
二分类和多分类:
对于二分类模型
,我们将介绍逻辑回归和Fisher线性判别分析两种分类算法;
对于多分类模型,我们将简单介绍Spss中的多分类线性判别分析和多分类逻辑回归的操作步骤
二分类:
基于广义线性模型,假设因变量(类别)服从伯努利分布(二分类情况)。它通过构建逻辑函数,将自变量的线性组合映射到[0,1]区间,得到属于某一类别的概率
其中Y是类别变量,X是自变量,β是待估计的参数
引例:
根据水果的一些属性来判断水果的类别
ID | mass | width | height | color_score | fruit_name |
1 | 192 | 8.4 | 7.3 | 0.55 | apple |
2 | 180 | 8 | 6.8 | 0.59 | apple |
3 | 176 | 7.4 | 7.2 | 0.6 | apple |
4 | 178 | 7.1 | 7.8 | 0.92 | apple |
5 | 172 | 7.4 | 7 | 0.89 | apple |
6 | 166 | 6.9 | 7.3 | 0.93 | apple |
7 | 172 | 7.1 | 7.6 | 0.92 | apple |
8 | 154 | 7 | 7.1 | 0.88 | apple |
9 | 164 | 7.3 | 7.7 | 0.7 | apple |
10 | 152 | 7.6 | 7.3 | 0.69 | apple |
11 | 156 | 7.7 | 7.1 | 0.69 | apple |
12 | 156 | 7.6 | 7.5 | 0.67 | apple |
13 | 168 | 7.5 | 7.6 | 0.73 | apple |
14 | 162 | 7.5 | 7.1 | 0.83 | apple |
15 | 162 | 7.4 | 7.2 | 0.85 | apple |
16 | 160 | 7.5 | 7.5 | 0.86 | apple |
17 | 156 | 7.4 | 7.4 | 0.84 | apple |
18 | 140 | 7.3 | 7.1 | 0.87 | apple |
19 | 170 | 7.6 | 7.9 | 0.88 | apple |
20 | 342 | 9 | 9.4 | 0.75 | orange |
21 | 356 | 9.2 | 9.2 | 0.75 | orange |
22 | 362 | 9.6 | 9.2 | 0.74 | orange |
23 | 204 | 7.5 | 9.2 | 0.77 | orange |
24 | 140 | 6.7 | 7.1 | 0.72 | orange |
25 | 160 | 7 | 7.4 | 0.81 | orange |
26 | 158 | 7.1 | 7.5 | 0.79 | orange |
27 | 210 | 7.8 | 8 | 0.82 | orange |
28 | 164 | 7.2 | 7 | 0.8 | orange |
29 | 190 | 7.5 | 8.1 | 0.74 | orange |
30 | 142 | 7.6 | 7.8 | 0.75 | orange |
31 | 150 | 7.1 | 7.9 | 0.75 | orange |
32 | 160 | 7.1 | 7.6 | 0.76 | orange |
33 | 154 | 7.3 | 7.3 | 0.79 | orange |
34 | 158 | 7.2 | 7.8 | 0.77 | orange |
35 | 144 | 6.8 | 7.4 | 0.75 | orange |
36 | 154 | 7.1 | 7.5 | 0.78 | orange |
37 | 180 | 7.6 | 8.2 | 0.79 | orange |
38 | 154 | 7.2 | 7.2 | 0.82 | orange |
二元逻辑回归
这里的y就是水果的类别,这里是Apple和orange,x就是mass,weight等等
接下来使用spss来进行逻辑回归
spss操作
1,生成虚拟变量:
如果apple就是1
不是apple就是0
2,使用spss进行二元逻辑回归
这里的原理就是极大似然估计
(分析->回归->二元logic回归)
紧接着对协变量进行分类;
如果有一些变量是定性变量,那么就要在这里面进行设置
选中那些定性变量,让他们表示为指示符
上面的如果是向前回归,就是0.05,向后的就是除去的概率就是0.1,基本不用调整什么
自助抽样运用于少量数据的时候
直接进行回归
这里告诉我们预测总体的预测正确率有76.3%
这里显著的只有width和height
针对新的数据进行预测,用到的是下面的公式
也就是
如何提高预测的准确率:
加入平方项和交互项目,
这样提高了预测的准确性,但是导致了每一个变量都不再显著了
(过拟合),只是对样本预测的好,但是不能代表对样本外的数据也有这样的预测准确性
所以可以80%作为训练组,20%为测试组,这样根据训练后的对测试组进行预测(手动扣掉已经知道的值)
假设条件
二元逻辑回归:
1对自变量的分布没有严格要求,可以是连续变量、离散变量或二者混合。
2假设观测值之间相互独立,即每个样本的取值不受其他样本的影响。
3要求自变量与对数几率(logit)之间存在线性关系,即
Fisher线性判别分析
是一种经典的有监督的线性降维与分类方法,由罗纳德・费希尔(Ronald A. Fisher)提出。它的主要思想是找到一个最优的投影方向,将高维数据投影到低维空间,使得不同类别的数据在投影后能够尽可能地分开,同时同一类别的数据尽可能紧凑。
让他们在投影点上尽可能集中,不同的类的投影点中心尽可能的远离
它通过最大化类间散度与类内散度的比值(即 Fisher 准则函数)来确定投影方向w,其中SB是类间三度矩阵,Sw是类内散度矩阵.新的数据点通过投影到该方向上,并根据投影值与各类别投影中心的距离等规则进行分类。
Spss软件的操作
分析里面的分类的判别式
然后定义范围,在这里是 0-1
统计需要统计我们的费希尔判别系数和未标准化
分类
保存
下面是未标准化的w系数
最后会给出两列尺度,第一列表示属于0的概率,第二列表示属于1的概率
最后的结果
假设条件:
Fisher 判别分析:
1通常假设各类数据服从正态分布,且各类数据的协方差矩阵相等。在这些假设下,Fisher 判别分析能达到较好的效果。
2数据的特征之间具有线性关系,因为它是基于线性投影进行分类的。v
多分类问题:
ID | mass | width | height | color_score | fruit_name | kind |
1 | 192 | 8.4 | 7.3 | 0.55 | apple | 1 |
2 | 180 | 8 | 6.8 | 0.59 | apple | 1 |
3 | 176 | 7.4 | 7.2 | 0.6 | apple | 1 |
4 | 178 | 7.1 | 7.8 | 0.92 | apple | 1 |
5 | 172 | 7.4 | 7 | 0.89 | apple | 1 |
6 | 166 | 6.9 | 7.3 | 0.93 | apple | 1 |
7 | 172 | 7.1 | 7.6 | 0.92 | apple | 1 |
8 | 154 | 7 | 7.1 | 0.88 | apple | 1 |
9 | 164 | 7.3 | 7.7 | 0.7 | apple | 1 |
10 | 152 | 7.6 | 7.3 | 0.69 | apple | 1 |
11 | 156 | 7.7 | 7.1 | 0.69 | apple | 1 |
12 | 156 | 7.6 | 7.5 | 0.67 | apple | 1 |
13 | 168 | 7.5 | 7.6 | 0.73 | apple | 1 |
14 | 162 | 7.5 | 7.1 | 0.83 | apple | 1 |
15 | 162 | 7.4 | 7.2 | 0.85 | apple | 1 |
16 | 160 | 7.5 | 7.5 | 0.86 | apple | 1 |
17 | 156 | 7.4 | 7.4 | 0.84 | apple | 1 |
18 | 140 | 7.3 | 7.1 | 0.87 | apple | 1 |
19 | 170 | 7.6 | 7.9 | 0.88 | apple | 1 |
20 | 194 | 7.2 | 10.3 | 0.7 | lemon | 2 |
21 | 200 | 7.3 | 10.5 | 0.72 | lemon | 2 |
22 | 186 | 7.2 | 9.2 | 0.72 | lemon | 2 |
23 | 216 | 7.3 | 10.2 | 0.71 | lemon | 2 |
24 | 196 | 7.3 | 9.7 | 0.72 | lemon | 2 |
25 | 174 | 7.3 | 10.1 | 0.72 | lemon | 2 |
26 | 132 | 5.8 | 8.7 | 0.73 | lemon | 2 |
27 | 130 | 6 | 8.2 | 0.71 | lemon | 2 |
28 | 116 | 6 | 7.5 | 0.72 | lemon | 2 |
29 | 118 | 5.9 | 8 | 0.72 | lemon | 2 |
30 | 120 | 6 | 8.4 | 0.74 | lemon | 2 |
31 | 116 | 6.1 | 8.5 | 0.71 | lemon | 2 |
32 | 116 | 6.3 | 7.7 | 0.72 | lemon | 2 |
33 | 116 | 5.9 | 8.1 | 0.73 | lemon | 2 |
34 | 152 | 6.5 | 8.5 | 0.72 | lemon | 2 |
35 | 118 | 6.1 | 8.1 | 0.7 | lemon | 2 |
36 | 342 | 9 | 9.4 | 0.75 | orange | 3 |
37 | 356 | 9.2 | 9.2 | 0.75 | orange | 3 |
38 | 362 | 9.6 | 9.2 | 0.74 | orange | 3 |
39 | 204 | 7.5 | 9.2 | 0.77 | orange | 3 |
40 | 140 | 6.7 | 7.1 | 0.72 | orange | 3 |
41 | 160 | 7 | 7.4 | 0.81 | orange | 3 |
42 | 158 | 7.1 | 7.5 | 0.79 | orange | 3 |
43 | 210 | 7.8 | 8 | 0.82 | orange | 3 |
44 | 164 | 7.2 | 7 | 0.8 | orange | 3 |
45 | 190 | 7.5 | 8.1 | 0.74 | orange | 3 |
46 | 142 | 7.6 | 7.8 | 0.75 | orange | 3 |
47 | 150 | 7.1 | 7.9 | 0.75 | orange | 3 |
48 | 160 | 7.1 | 7.6 | 0.76 | orange | 3 |
49 | 154 | 7.3 | 7.3 | 0.79 | orange | 3 |
50 | 158 | 7.2 | 7.8 | 0.77 | orange | 3 |
51 | 144 | 6.8 | 7.4 | 0.75 | orange | 3 |
52 | 154 | 7.1 | 7.5 | 0.78 | orange | 3 |
53 | 180 | 7.6 | 8.2 | 0.79 | orange | 3 |
54 | 154 | 7.2 | 7.2 | 0.82 | orange | 3 |
55 | 86 | 6.2 | 4.7 | 0.8 | mandarin | 4 |
56 | 84 | 6 | 4.6 | 0.79 | mandarin | 4 |
57 | 80 | 5.8 | 4.3 | 0.77 | mandarin | 4 |
58 | 80 | 5.9 | 4.3 | 0.81 | mandarin | 4 |
59 | 76 | 5.8 | 4 | 0.81 | mandarin | 4 |
Fisher判别分析
spss处理:
分析->分类->判别式
其他的统计,分类和保存的选择和之前的一样
下面是结果:
多元逻辑回归
spss操作:
分析->回归->多元逻辑回归
检测出来100%正确率
感觉有过拟合的问题,挑10%作为测试组,发现模型的预测准确率是100%,但是测试组的准确率是5/11,不到一半
所以有明显的过拟合的现象