文章目录

  • 一、分类模型综述
  • 二、逻辑回归
  • 三、两点分布(伯努利分布)
  • 四、连接函数的取法
  • 五、Logistic回归模型
  • 六、在SPSS中进行二元Logistic回归
  • 七、预测结果较差的解决
  • 八、Fisher线性判别分析
  • 九、多分类问题
  • 十、总结

一、分类模型综述

通过样本数据中的分类依据以及具体的分类类别,预测后续给出的对象属于哪一类,这就是分类模型。

本文将采用逻辑回归和Fisher线性判别分析这两种分类算法来进行对象分类。

二、逻辑回归

类型 模型 Y的特点 例子
线性回归 OLS、GLS(最小二乘) 连续数值变量 GDP、收入等
0 - 1回归 logistic回归 二值变量(0 - 1) 是否喜欢、是否到达等
定序回归 prohibit定序回归 定序变量 等级评定,喜爱程度等
计数回归 泊松回归(泊松分布) 计数变量 每分钟车流量,次数等
生存回归 Cox等比例风险回归 生存变量 企业、产品的寿命等

逻辑回归的因变量即为二值变量类型,可以将 yyy 看作属于某一类的概率—— y⩾0.05y \geqslant 0.05y⩾0.05,则属于这一类;反之,y⩽0.05y \leqslant 0.05y⩽0.05,则不属于这一类。

三、两点分布(伯努利分布)

事件 1 0
概率 ppp 1−p1 - p1−p

在给定 x\mathbf{x}x 的情况下,考虑 yyy 的两点分布概率

{P(y=1∣x)=F(x,β)P(y=0∣x)=1−F(x,β)\left\{ \begin{aligned} &P(y = 1|\mathbf{x}) = F(\mathbf{x}, \mathbf{\beta}) \\ &P(y = 0|\mathbf{x}) = 1 - F(\mathbf{x}, \mathbf{\beta}) \end{aligned} \right.{​P(y=1∣x)=F(x,β)P(y=0∣x)=1−F(x,β)​ 注:一般 F(x,β)=F(xi′β)F(\mathbf{x}, \mathbf{\beta}) = F(\mathbf{x_i'\beta})F(x,β)=F(xi′​β)

F(x,β)F(\mathbf{x}, \beta)F(x,β) 称为连接函数,它将解释变量 xxx 和被解释变量 yyy 连接起来。
我们只需要保证 F(x,β)F(\mathbf{x}, \beta)F(x,β) 是值域在 [0,1][0, 1][0,1] 上的函数,就能保证 0⩽y^⩽10 \leqslant \hat{y} \leqslant 10⩽y^​⩽1。

根据两点分布求概率的公式:E(y∣x)=1×P(y=1∣x)+0×P(y=0∣x)=P(y=1∣x)E(y|\mathbf{x}) = 1 \times P(y = 1|\mathbf{x}) + 0 \times P(y = 0|\mathbf{x}) = P(y = 1|\mathbf{x})E(y∣x)=1×P(y=1∣x)+0×P(y=0∣x)=P(y=1∣x),因此可以将 y^\hat{y}y^​ 理解为 y=1y = 1y=1 发生的概率。

四、连接函数的取法

  1. F(x,β)F(\mathbf{x}, \beta)F(x,β) 可以取为标准正态分布的累积密度函数(cdfcdfcdf):F(x,β)=Φ(xi′β)=∫−∞xi′β12πe−t22dtF(\mathbf{x}, \beta) = \Phi(\mathbf{x_i}'\beta) = \int^{\mathbf{x_i}'\beta}_{-\infty}\frac{1}{\sqrt{2\pi}}e^{-\frac{t^2}{2}}dtF(x,β)=Φ(xi​′β)=∫−∞xi​′β​2π​1​e−2t2​dt(probit回归)
  2. F(x,β)F(\mathbf{x}, \beta)F(x,β) 可以取为 SigmoidSigmoidSigmoid 函数F(x,β)=S(xi′β)=exp(xi′β)1+exp(xi′β)F(\mathbf{x}, \beta) = S(\mathbf{x_i}'\beta) = \frac{exp(\mathbf{x_i}'\beta)}{1 + exp(\mathbf{x_i}'\beta)}F(x,β)=S(xi​′β)=1+exp(xi​′β)exp(xi​′β)​(logistic回归)
    可以看出,前者计算积分会比较困难,因此我们可以选择使用更为方便的logistic模型。

五、Logistic回归模型

在给定 x\mathbf{x}x 的情况下,考虑 yyy 的两点分布概率{P(y=1∣x)=F(x,β)P(y=0∣x)=1−F(x,β)\left\{ \begin{aligned} &P(y = 1|\mathbf{x}) = F(\mathbf{x}, \beta) \\ &P(y = 0|\mathbf{x}) = 1 - F(\mathbf{x}, \beta) \end{aligned} \right.{​P(y=1∣x)=F(x,β)P(y=0∣x)=1−F(x,β)​因为 E(y∣x)=1×P(y=1∣x)+0×P(y=0∣x)=P(y=1∣x)E(y|\mathbf{x}) = 1 \times P(y = 1|\mathbf{x}) + 0 \times P(y = 0|\mathbf{x}) = P(y = 1|\mathbf{x})E(y∣x)=1×P(y=1∣x)+0×P(y=0∣x)=P(y=1∣x),因此可以将 y^\hat{y}y^​ 理解为 y=1y = 1y=1 发生的概率。
yi^=P(yi=1∣x)=S(xi′β)=exp(xi′β)1+exp(xi′β)=eβ0^+β1^x1i+β2^x2i+⋯+βk^xki1+eβ0^+β1^x1i+β2^x2i+⋯+βk^xki\hat{y_i} = P(y_i = 1|\mathbf{x}) = S(\mathbf{x_i}'\beta) = \frac{exp(\mathbf{x_i}'\beta)}{1 + exp(\mathbf{x_i}'\beta)} \\= \frac{e^{\hat{\beta_0} + \hat{\beta_1}x_{1i} + \hat{\beta_2}x_{2i} + \cdots + \hat{\beta_k}x_{ki}}}{1 + e^{\hat{\beta_0} + \hat{\beta_1}x_{1i} + \hat{\beta_2}x_{2i} + \cdots + \hat{\beta_k}x_{ki}}}yi​^​=P(yi​=1∣x)=S(xi​′β)=1+exp(xi​′β)exp(xi​′β)​=1+eβ0​^​+β1​^​x1i​+β2​^​x2i​+⋯+βk​^​xki​eβ0​^​+β1​^​x1i​+β2​^​x2i​+⋯+βk​^​xki​​ 如果 yi^⩾0.5\hat{y_i} \geqslant 0.5yi​^​⩾0.5,则认为其预测的 y=1y = 1y=1;否则则认为其预测的 y=0y = 0y=0

六、在SPSS中进行二元Logistic回归

回归结果:

回归结果表示19个苹果样本,预测为苹果的有14个,正确率为73.7%;同理,预测为橙子的结果有15个,预测的正确率为78.9%。

通过这样的回归我们便可以知道 β0,β1,⋯,βk\beta_0, \beta_1, \cdots, \beta_kβ0​,β1​,⋯,βk​ 的值(表格第三列)。

将后续数据带入方程后,若 yi^⩾0.5\hat{y_i} \geqslant 0.5yi​^​⩾0.5,则说明其预测的结果是苹果,否则则为橙子。

同时,我们还可以在表格中看到这两列:

这里可以查看具体预测的值和具体的预测结果。

七、预测结果较差的解决

若对预测结果不满意,可以在logistic回归模型中加入平方项、交互项等

如果加入了平方项,那么预测的结果:

完全符合,这种现象叫做过拟合现象。其对于样本数据预测得非常好,但是对于样本外的数据得预测效果可能会差很多。

那么我们该如何确定合适得预测模型呢?
可以将数据分为训练组测试组(一般是八二开),让训练组取估计模型,然后用测试组得数据来进行测试。可以多进行几次,求得每个模型的平均准确率,取准确率最高的那个模型。(交叉验证)

八、Fisher线性判别分析

  1. 主要思想
    给定训练集样例,设法将样例投影到一维的直线上,使得同类样例的投影点尽可能接近和密集,异类投影点尽可能远离。
  2. 在SPSS中进行Fisher线性判别分析
    结果为:

    这个表格表示线性系数。

    还可以从表格后面多出的列中得到具体的预测结果。

九、多分类问题

  1. 多分类问题
    在二分类的问题上,类别不再是只有两个类别,现在有多个类别。
  2. 使用Logistic回归解决多分类问题
    在SPSS中进行logistic回归分析,可以得出结果:

    可以得出预测分类结果。
  3. 使用Fisher判别分析解决多分类问题
    同样可以使用Fisher判别分析来求解多分类问题。在定义范围的时候将范围扩大即可。

    从结果表格中同样可以得出预测分类结果。

十、总结

解决分类模型,主要步骤可以总结为一下几点:

  1. 确定类别以及分类数据;
  2. Logistic回归 or Fisher判别分析?
  3. 若是Logistic回归,预测结果怎么样?是否需要训练出合适的模型?
  4. 根据模型在SPSS中调用对应的命令得出结果;
  5. 对结果进行解释。

数学建模学习笔记(八)——分类模型相关推荐

  1. 清风数学建模学习笔记——K-means聚类模型详解及SPSS操作流程

    聚类模型   聚类模型,就是将样本划分为有类似的对象组成的多个类的过程.聚类后,我们可以更加准确的在每个类中单独使用统计模型进行估计.分析或预测:也可以探究不同类之间的相关性和主要差异.此外,聚类与分 ...

  2. 数学建模学习笔记——模糊综合评价模型(评价类,发放问卷一般不用)

             二氧化硫在每一个等级(I级 II级 III级 IV级)中的隶属度  专家判断因素集的权重

  3. 数学建模学习笔记(1)数学模型的特点和分类

    数学建模学习笔记(1)数学模型的特点和分类 ps:学习的教材为姜启源著的<数学模型(第四版)> 领取数模资料和更多内容请关注公众号:拾壹纪元 传送门: 线性规划(LP)问题 https:/ ...

  4. 数学建模学习笔记之评价问题聚类分析法

    数学建模学习笔记之评价问题聚类分析法 物以类聚.人以群分. 聚类分析是一个很大的概念,显然根据分类的依据不同会出现很多很多聚类的方法.例如K-Means .Sequential Leader.Mode ...

  5. 数学建模_随机森林分类模型详解Python代码

    数学建模_随机森林分类模型详解Python代码 随机森林需要调整的参数有: (1) 决策树的个数 (2) 特征属性的个数 (3) 递归次数(即决策树的深度)''' from numpy import ...

  6. 【数学建模学习笔记【集训十天】之第六天】

    数模学习目录 Matplotlib 学习 Matplotlib简介 Matplotlib 散点图 运行效果如下: Matplotlib Pyplot 运行效果如下: 关于plot() 运行效果如下: ...

  7. 数学建模学习笔记(2.3)lingo软件求解线性规划问题

    数学建模学习笔记(2.3)lingo软件求解线性规划问题 lingo软件的优势在于体积小,专注于解决优化问题 且编程语言通俗易懂,没有门槛 对于刚刚接触数学建模同学比较友善 当然对于已经参与建模很久的 ...

  8. 数学建模学习笔记(13)分类模型

    分类模型 分类问题的基本概念 逻辑斯蒂回归(Logistic) Fisher线性判别分析 多分类问题的SPSS求解 分类问题的基本概念 分类问题概述:对于给定的一个对象,根据其特征将其划分到多个已给定 ...

  9. 数学建模学习笔记(二):非线性规划模型例题与灵敏度分析

    文章目录 前言 一.一个简单的非线性规划模型 二.问题的求解 1.模型的建立与求解 2.得出结论 三.灵敏度分析 总结 参考书目 前言 数学建模解决问题的过程一般分为五个步骤,称为五步方法,五个步骤如 ...

最新文章

  1. 在docker中haproxy的安装以及mysql的负载均衡配置
  2. java 枚举使用简书_Java枚举
  3. mongodb常用命令
  4. c# 获取cad文档的路径_C# 打开以对话框,获取文件夹路径 、文件的路径、文件名...
  5. 【Android FFMPEG 开发】Android Studio 中 配置 FFMPEG 库最小兼容版本 ( undefined reference to 'atof' )
  6. 吐槽: 移动端缓存策略
  7. Android --- 按钮控件设置与不设置背景都会有一个小小的灰色阴影怎么去掉?
  8. (转)RTMP协议从入门到放弃
  9. web.xml中的那些标签和意义
  10. Arcgis 使用ArcToolbox实现数据统计
  11. Oracle优化器:星型转换(Star Query Transformation )
  12. MySQL的show profile(已过时)简介以及该功能在MySQL 5.7中performance_schema中的替代
  13. Java使用LocalDate获取某个月的第一天和最后一天日期
  14. CUPS共享打印机服务
  15. 内网安全-域横向PTHPTKPTT哈希票据传递
  16. 高速公路ETC卡签之我见2-卡片消费
  17. 零基础如何学习Java和web前端
  18. 【Proteus仿真】【51单片机】简易信号发生器设计
  19. find——Linux王国中的侦探助手_莫韵乐的linux王国英雄传
  20. 北大“人工智能前沿与产业趋势”课程整理02

热门文章

  1. filter java oauth_java – 带有自定义安全过滤器的Spring Boot OAuth2
  2. 怎样进入pe重建硬盘
  3. MyBatis 解决模糊查询包含特殊字符
  4. 鉴权必须了解的5个知识点:cookie,session,token,jwt,单点登录
  5. linux网络文件系统包括,Linux文件系统
  6. c语言数组最大可定义多少位_C语言求数组的最大值三种方法
  7. 终端软件_DMSTerminal现场管控终端软件正式发布
  8. jni c 传递对象到java_JNI将二进制数据从C传递到Java
  9. 更新无限无线连接更新服务器,02-H3C WBC560多业务无线控制器软件升级操作指导...
  10. pyecharts本地文件_python数据可视化-pyecharts插件使用文档