数据分析方法--回归分析方法((SPSS建模:多元线性回归案例)

article/2025/8/28 11:40:54

文章目录

  • 回归定义
  • 最常用回归方法
    • 一、线性回归(Linear Regression)
    • 二、逻辑回归(Logistic Regression)
    • 三、多项式回归(Polynomial Regression)
    • 四、逐步回归(Stepwise Regression)
    • 五、岭回归(Ridge Regression)
    • 六、套索回归(Lasso Regression)
    • 七、回归(ElasticNet)
  • 如何正确选择回归模型?
  • SPSS实操

回归定义

回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。
使用曲线/线来拟合这些数据点,在这种方式下,从曲线或线到数据点的距离差异最小。

最常用回归方法

一、线性回归(Linear Regression)

线性回归通常是人们在学习预测模型时首选的技术之一。在这种技术中,因变量是连续的,自变量可以是连续的也可以是离散的,回归线的性质是线性的。线性回归使用最佳的拟合直线(也就是回归线)在因变量(Y)和一个或多个自变量(X)之间建立一种关系。
  用一个方程式来表示它,即 Y=a+b*X + e,其中a表示截距,b 表示直线的斜率,e 是误差项。这个方程可以根据给定的预测变量(s)来预测目标变量的值。
  使用最小二乘法得到一个最佳的拟合线,对于观测数据,它通过最小化每个数据点到线的垂直偏差平方和来计算最佳拟合线。因为在相加时,偏差先平方,所以正值和负值没有抵消。
  7
  可以使用R-square指标来评估模型性能。

  • 要点:
      自变量与因变量之间必须有线性关系。
      多元回归存在多重共线性,自相关性和异方差性。
      线性回归对异常值非常敏感。它会严重影响回归线,最终影响预测值。
      多重共线性会增加系数估计值的方差,使得在模型轻微变化下,估计非常敏感。结果就是系数估计值不稳定,在多个自变量的情况下,我们可以使用向前选择法,向后剔除法和逐步筛选法来选择最重要的自变量。

二、逻辑回归(Logistic Regression)

逻辑回归是用来计算「事件=Success」和「事件=Failure」的概率。当因变量的类型属于二元(1 / 0,真/假,是/否)变量时,我们就应该使用逻辑回归。这里,Y的值从0到1,它可以用下方程表示。
  odds= p/ (1-p) = probability of event occurrence / probability of not event occurrence
  ln(odds) = ln(p/(1-p))
  logit§ = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3…+bkXk
  上述式子中,p表述具有某个特征的概率。你应该会问这样一个问题:我们为什么要在公式中使用对数log呢?
  因为在这里我们使用的是的二项分布(因变量),我们需要选择一个对于这个分布最佳的连结函数。它就是Logit函数。在上述方程中,通过观测样本的极大似然估计值来选择参数,而不是最小化平方和误差(如在普通回归使用的)。
  6

  • 要点:
      它广泛的用于分类问题。
      逻辑回归不要求自变量和因变量是线性关系。它可以处理各种类型的关系,因为它对预测的相对风险指数OR使用了一个非线性的log转换。
      为了避免过拟合和欠拟合,我们应该包括所有重要的变量。有一个很好的方法来确保这种情况,就是使用逐步筛选方法来估计逻辑回归。它需要大的样本量,因为在样本数量较少的情况下,极大似然估计的效果比普通的最小二乘法差。
      自变量不应该相互关联的,即不具有多重共线性。然而,在分析和建模中,我们可以选择包含分类变量相互作用的影响。
      如果因变量的值是定序变量,则称它为序逻辑回归;如果因变量是多类的话,则称它为多元逻辑回归。

三、多项式回归(Polynomial Regression)

对于一个回归方程,如果自变量的指数大于 1,那么它就是多项式回归方程。如下方程所示:y=a+b*x^2
  在这种回归技术中,最佳拟合线不是直线。而是一个用于拟合数据点的曲线。
  5

  • 重点:
      虽然会有一个诱导可以拟合一个高次多项式并得到较低的错误,但这可能会导致过拟合。你需要经常画出关系图来查看拟合情况,并且专注于保证拟合合理,既没有过拟合又没有欠拟合。
      下面是一个图例,可以帮助理解:
    4
      明显地向两端寻找曲线点,看看这些形状和趋势是否有意义。更高次的多项式最后可能产生怪异的推断结果。

四、逐步回归(Stepwise Regression)

在处理多个自变量时,我们可以使用这种形式的回归。在这种技术中,自变量的选择是在一个自动的过程中完成的,其中包括非人为操作。
  这一壮举是通过观察统计的值,如 R-square,t-stats 和 AIC 指标,来识别重要的变量。逐步回归通过同时添加/删除基于指定标准的协变量来拟合模型。

  • 最常用的逐步回归方法:
      标准逐步回归法做两件事情。即增加和删除每个步骤所需的预测。
      向前选择法从模型中最显著的预测开始,然后为每一步添加变量。
      向后剔除法与模型的所有预测同时开始,然后在每一步消除最小显着性的变量。
      这种建模技术的目的是使用最少的预测变量数来最大化预测能力。这也是处理高维数据集的方法之一。

五、岭回归(Ridge Regression)

岭回归分析是一种用于存在多重共线性(自变量高度相关)数据的技术。在多重共线性情况下,尽管最小二乘法(OLS)对每个变量很公平,但它们的差异很大,使得观测值偏移并远离真实值。岭回归通过给回归估计上增加一个偏差度,来降低标准误差。
  上面,我们看到了线性回归方程。还记得吗?它可以表示为:y=a+ bx
  这个方程也有一个误差项。完整的方程是:
  y=a+b
x+e (error term), [error term is the value needed to correct for a prediction error between the observed and predicted value]
  => y=a+y= a+ b1x1+ b2x2+…+e, for multiple independent variables.
  在一个线性方程中,预测误差可以分解为2个子分量。一个是偏差,一个是方差。预测错误可能会由这两个分量或者这两个中的任何一个造成。在这里,我们将讨论由方差所造成的有关误差。
  岭回归通过收缩参数 λ(lambda)解决多重共线性问题。看下面的公式:
3
  在这个公式中,有两个组成部分。第一个是最小二乘项,另一个是 β2(β-平方)的 λ 倍,其中 β 是相关系数。为了收缩参数把它添加到最小二乘项中以得到一个非常低的方差。

  • 要点:
    除常数项以外,这种回归的假设与最小二乘回归类似;它收缩了相关系数的值,但没有达到零,这表明它没有特征选择功能,这是一个正则化方法,并且使用的是L2正则化。

六、套索回归(Lasso Regression)

它类似于岭回归。Lasso (Least Absolute Shrinkage and Selection Operator)也会惩罚回归系数的绝对值大小。此外,它能够减少变化程度并提高线性回归模型的精度。看看下面的公式:
2
  Lasso 回归与 Ridge 回归有一点不同,它使用的惩罚函数是绝对值,而不是平方。这导致惩罚(或等于约束估计的绝对值之和)值使一些参数估计结果等于零。使用惩罚值越大,进一步估计会使得缩小值趋近于零。这将导致我们要从给定的n个变量中选择变量。

  • 要点:
      除常数项以外,这种回归的假设与最小二乘回归类似;
      它收缩系数接近零(等于零),确实有助于特征选择;
      这是一个正则化方法,使用的是L1正则化;
      如果预测的一组变量是高度相关的,Lasso 会选出其中一个变量并且将其它的收缩为零。

七、回归(ElasticNet)

ElasticNet 是 Lasso 和 Ridge 回归技术的混合体。它使用 L1 来训练并且 L2 优先作为正则化矩阵。当有多个相关的特征时,ElasticNet 是很有用的。Lasso 会随机挑选他们其中的一个,而 ElasticNet 则会选择两个。
1
在高度相关变量的情况下,它会产生群体效应;选择变量的数目没有限制,它可以承受双重收缩。
  除了这 7 个最常用的回归技术,你也可以看看其他模型,如 Bayesian、Ecological 和 Robust 回归。

如何正确选择回归模型?

在多类回归模型中,基于自变量和因变量的类型,数据的维数以及数据的其它基本特征的情况下,选择最合适的技术非常重要。以下是你要选择正确的回归模型的关键因素:
  1.数据探索是构建预测模型的必然组成部分。在选择合适的模型时,比如识别变量的关系和影响时,它应该首选的一步。
  2.比较适合于不同模型的优点,我们可以分析不同的指标参数,如统计意义的参数,R-square,Adjusted R-square,AIC,BIC 以及误差项,另一个是 Mallows’ Cp 准则。这个主要是通过将模型与所有可能的子模型进行对比(或谨慎选择他们),检查在你的模型中可能出现的偏差。
  3.交叉验证是评估预测模型最好额方法。在这里,将你的数据集分成两份(一份做训练和一份做验证)。使用观测值和预测值之间的一个简单均方差来衡量你的预测精度。
  4.如果你的数据集是多个混合变量,那么你就不应该选择自动模型选择方法,因为你应该不想在同一时间把所有变量放在同一个模型中。
  5.它也将取决于你的目的。可能会出现这样的情况,一个不太强大的模型与具有高度统计学意义的模型相比,更易于实现。
  6.回归正则化方法(Lasso,Ridge和ElasticNet)在高维和数据集变量之间多重共线性情况下运行良好。
新手可以按照这个逻辑选择:如果结果是连续的,就使用线性回归。如果是二元的,就使用逻辑回归!

SPSS实操

  • SPSS 做因子分析,输出结果中有一项 Kaiser-Meyer-Olkin Measure of Sampling Adequacy. 它的值是在 [ 0, 1] 范围内,这个值大于 0.5 就证明原数据中的指标适合使用因子分析算法进行建模,小于 0.5 要不重新计算指标,要不换算法。SPSS 做多元线性回归,输出结果中的拟合度过低,说明指标与结果之间的相关性并不明显,要不重新计算指标,要不换算法。
  • 多元线性回归分析理论详解及SPSS结果分析

第一步:导入数据
路径:【文件】–【打开】–【数据】–【更改文件类型,找到你的数据】–【打开】–【然后会蹦出下图左中的筛选框,基本使用默认值就行,点确定】
第二步:数据分析
【分析】–【回归】–【线性】–【将因变量与自变量添加到对应的地方】–【其他都使用默认值】–【确定】
第三步:结果分析
第一项输出结果:输入/移去的变量
回归
第二项输出结果:模型汇总
1.R表示拟合优度(goodness of fit),用来衡量模型的拟合程度,越接近 1 越好;
2.R方表示决定系数,用于反映模型能够解释的方差占因变量方差的百分比,越接近 1 越好;
3.调整R方是考虑自变量之间的相互影响之后,对决定系数R方的校正,比R方更加严谨,越接近 1 越好;
4.标准估计的误差是误差项 ε 的方差 σ2的一个估计值,越小越好;
一般认为:
小效应:R (0.1~0.3),对应 R方(0.01~0.09);
中等效应:R (0.3~0.5),对应 R方(0.09~0.25);
大效应:R (0.5~1),对应 R方(0.25~1);
模型
该例属中等效应,偏斜错误数值稍稍有点高。
第三项输出结果:变异数分析
Anova表示方差分析结果,主要看 F 和 显著性值,为方差分析的结果,F检验的重点在 显著性值,具体大小不重要,其 F 值对应的显著性值小于 0.05 就可以认为回归方程是有用的。
变异数
显著性值为0小于0.05,该方程可用。
第四项输出结果:系数
系数表列出了自变量的显著性检验结果,

  • 非标准化系数中的 B 表示自变量的系数与常数项;
  • 标准系数给出的自变量系数与非标准化系数中的明显不同,这是因为考虑到不同自变量之间的量纲和取值范围不同;
  • t 值 与显著性值 是自变量的显著性检验结果,其 t 值对应的显著性 值小于 0.05 代表自变量对因变量具有显著影响,下图中,自变量Precipitation 对 因变量具有显著影响,而自变量Longitude的影响程度相对而言就弱了很多。
    系数
    综上所有的输出结果,说明 AQI、Precipitation与Longitude 的拟合效果还挺理想的。
    SPSS 给出的回归方程: Y = -15.6 -0.034 * Precipitation + 1.12 * Longitude

http://chatgpt.dhexx.cn/article/6N0RttqG.shtml

相关文章

线性回归 - 多元线性回归案例 - 分析步骤、输出结果详解、与Python的结果对比 -(SPSS建模)

现在用 Python 写线性回归的博客都快烂大街了,为什么还要用 SPSS 做线性回归呢?这就来说说 SPSS 存在的原因吧。 SPSS 是一个很强大的软件,不用编程,不用调参,点巴两下就出结果了,而且出来的大多是你想要的…

SPSS--回归-多元线性回归模型案例解析!(一)

SPSS--回归-多元线性回归模型案例解析!(一) 多元线性回归,主要是研究一个因变量与多个自变量之间的相关关系,跟一元回归原理差不多,区别在于影响因素(自变量)更多些而已,例如&#x…

多元回归分析(线性回归)

多元线性回归分析 一、回归的基本理解(1)回归的基本任务(2)回归里的关键词(3)回归里的数据类型(4)回归方程中的系数解释(5)扰动项要满足的条件(1&…

多元线性回归分析详细介绍

一文搞懂——多元线性回归分析 回归分析定义回归的使命回归分析的分类数据的分类数据的收集 线性回归对于线性的理解回归系数的解释核心解释变量和控制变量四类模型回归系数的解释特殊的自变量:虚拟变量X含有交互项的自变量 回归实例题目Stata解决第一步&#xff1a…

多元线性回归分析示例

GLM模型应用于脑功能影像分析时,在某个因素影响下,由beta图,经过t检验得到脑区显著激活的区域。应用于其他地方也可加深我们对于模型的理解。 clc,clear; X[ 136.5 215136.5 250136.5 180138.5 2501…

【课程设计】计算机组成与系统结构

计算机组成与系统结构课程设计(2020.12) 保姆式教程 目录 计算机组成与系统结构课程设计(2020.12)一、本课程设计的性质、目的、任务二、本课程设计的基本理论三、课程设计的主要内容四、微程序流程图(树形图)五、模型机微指令表六、机器指令程序的说明…

计算机组成与系统结构课程设计

课程设计题目 综合运用所学计算机原理知识,设计并实现具有以下16条指令的指令集结构的模型计算机: 编号 助记符 机器指令码 说明 0 SUB Rd,Rs 0000 RdRs Rd-Rs→Rd 1 ADD Rd,Rs 0001 RdRs RdRs→Rd 2 AND Rd,Rs 0010 RdRs Rd&Rs→Rd (Rd和…

计算机毕业设计、计算机课程设计怎么做?计算机设计1900套来帮你!

计算机毕业设计、计算机课程设计怎么做?计算机设计1900套来帮你! 人生做什么事都有套路,大学毕业设计、课程设计通常比较简单,大多数都是找个项目做参考,有的人随便抄一抄糊弄一下,只要查重,格…

pycharm 安装numpy包——超简单

非常简单的安装步骤,自己百试不爽哦,废话不多说直接上图按以下步骤进行即可 一、找到安装numpy的地方 file→settings→project interpreter,点击右侧的+号 二、进行numpy 安装 搜索框内手动输入numpy进行搜索,选中…

python 如何安装numpy库?

(我的微信:Kingsplusa,我总结了人工智能手推笔记和思维导图,欢迎一起进步学习。) 首先我们要找到python安装的位置 winR打开 进入以后输入: where python 找到安装目录后,找到Scripts文件…

python中Numpy包的安装及使用

*****安装 python (本文安装 python2.7) *****安装 pip (1)检查是否已安装pip 进入cmd命令窗口,输入 pip --version ,查看是否已安装pip,说明已安装了pip 否则,说明未安装pip 需要进入(2&am…

Python2.7中安装numpy包

前言 花了一个下午的时间才成功安装了numpy,血与泪的教训。记录一下踩的坑。 安装环境 系统: win10 Python版本: 2.7.9 IDE:Pycharm 踩坑过程 尝试一 在Pycharm的setting中安装numpy 1.20.2(最新版本&#xff09…

numpy安装过程

下载numpy库的详细方法 安装前提: 1、Python3.8安装完成并能够正常使用 2、下载相应的numpy安装包,.whl格式 安装详细步骤:* 首先,点击下面的链接进入numpy下载官网 链接地址:添加链接描述 进去之后,点击…

pycharm怎么安装numpy库

打开界面后,在File菜单中点击Settings选项 在弹出的窗口中点击project interpreter选项 找到并点击窗口左侧的号键 在搜索框中输入numpy,并点击上方第一个选项 点击底部最下方的install package按钮 当下方出现successfully字样时,就代表num…

numpy的安装以及学习

1.在pycharm解释器中安装numpy库 2.pip install numpy 3.conda install numpy (清华源:https://pypi.tuna.tsinghua.edu.cn/simple) Numpy的导入: import numpy as np numpy介绍 NumPy是一个开源的Python科学计算库&#xff…

Python安装numpy,matplotlib

NumPy(Numerical Python)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 Matplotlib可能Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输…

python numpy安装

一、python下的numpy安装方法 第一步:安装python,这里不做介绍。 第二步:打开cmd看python是否安装成功。 第三步:输入 python -m pip install -U pip 安装pip文件,pip文件一般在python安装包的script目录下。 第四步&a…

Windows下安装numpy

在看差分隐私的科普时,看到一篇文章,最后有用Laplace分布实现差分隐私的代码,所以就复制到PyCharm里运行了一下,运行时报错“没有numpy”(具体怎么说的我也忘了,是import numpy as np这句报错,p…

使用Pycharm安装numpy库

如何在Pycharm中安装numpy库?笔者使用的是PyCharm Community Edition 2020.2.1 第一步 打开Pycharm,在上方找到File,在打开的界面中找到Settings。或者直接使用CtrlAltS快捷键打开settings。 第二步 在左侧以此找到Project,Pytho…

numpy的下载与安装教程(windows系统)

Numpy介绍 NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多&a…