七种回归分析方法,个 个 经 典

article/2025/8/17 15:45:51

什么是回归分析?

回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。例如,司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。

回归分析是建模和分析数据的重要工具。在这里,我们使用曲线/线来拟合这些数据点,在这种方式下,从曲线或线到数据点的距离差异最小。我会在接下来的部分详细解释这一点。

我们为什么使用回归分析?

如上所述,回归分析估计了两个或多个变量之间的关系。下面,让我们举一个简单的例子来理解它:

比如说,在当前的经济条件下,你要估计一家公司的销售额增长情况。现在,你有公司最新的数据,这些数据显示出销售额增长大约是经济增长的2.5倍。那么使用回归分析,我们就可以根据当前和过去的信息来预测未来公司的销售情况。

使用回归分析的好处良多。具体如下:

  1. 它表明自变量和因变量之间的显著关系;

  2. 它表明多个自变量对一个因变量的影响强度。

回归分析也允许我们去比较那些衡量不同尺度的变量之间的相互影响,如价格变动与促销活动数量之间联系。这些有利于帮助市场研究人员,数据分析人员以及数据科学家排除并估计出一组最佳的变量,用来构建预测模型。

我们有多少种回归技术?

有各种各样的回归技术用于预测。这些技术主要有三个度量(自变量的个数,因变量的类型以及回归线的形状)。我们将在下面的部分详细讨论它们。

对于那些有创意的人,如果你觉得有必要使用上面这些参数的一个组合,你甚至可以创造出一个没有被使用过的回归模型。但在你开始之前,先了解如下最常用的回归方法:

1.Linear Regression线性回归

它是最为人熟知的建模技术之一。线性回归通常是人们在学习预测模型时首选的技术之一。在这种技术中,因变量是连续的,自变量可以是连续的也可以是离散的,回归线的性质是线性的。

线性回归使用最佳的拟合直线(也就是回归线)在因变量(Y)和一个或多个自变量(X)之间建立一种关系。

用一个方程式来表示它,即Y=a+b*X+e,其中a表示截距,b表示直线的斜率,e是误差项。这个方程可以根据给定的预测变量(s)来预测目标变量的值。

一元线性回归和多元线性回归的区别在于,多元线性回归有(>1)个自变量,而一元线性回归通常只有1个自变量。现在的问题是“我们如何得到一个最佳的拟合线呢?”。

如何获得最佳拟合线(a和b的值)?

这个问题可以使用最小二乘法轻松地完成。最小二乘法也是用于拟合回归线最常用的方法。对于观测数据,它通过最小化每个数据点到线的垂直偏差平方和来计算最佳拟合线。因为在相加时,偏差先平方,所以正值和负值没有抵消。

我们可以使用R-square指标来评估模型性能。想了解这些指标的详细信息,可以阅读:模型性能指标Part 1,Part 2.

要点:

1.自变量与因变量之间必须有线性关系

2.多元回归存在多重共线性,自相关性和异方差性。

3.线性回归对异常值非常敏感。它会严重影响回归线,最终影响预测值。

4.多重共线性会增加系数估计值的方差,使得在模型轻微变化下,估计非常敏感。结果就是系数估计值不稳定

5.在多个自变量的情况下,我们可以使用向前选择法,向后剔除法和逐步筛选法来选择最重要的自变量。

2.Logistic Regression逻辑回归

逻辑回归是用来计算“事件=Success”和“事件=Failure”的概率。当因变量的类型属于二元(1 / 0,真/假,是/否)变量时,我们就应该使用逻辑回归。这里,Y的值从0到1,它可以用下方程表示。

odds= p/ (1-p) = probability of event occurrence / probability of not event occurrenceln(odds) = ln(p/(1-p))logit(p) = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3....+bkXk

上述式子中,p表述具有某个特征的概率。你应该会问这样一个问题:“我们为什么要在公式中使用对数log呢?”。

因为在这里我们使用的是的二项分布(因变量),我们需要选择一个对于这个分布最佳的连结函数。它就是Logit函数。在上述方程中,通过观测样本的极大似然估计值来选择参数,而不是最小化平方和误差(如在普通回归使用的)。

要点:

1.它广泛的用于分类问题。

2.逻辑回归不要求自变量和因变量是线性关系。它可以处理各种类型的关系,因为它对预测的相对风险指数OR使用了一个非线性的log转换。

3.为了避免过拟合和欠拟合,我们应该包括所有重要的变量。有一个很好的方法来确保这种情况,就是使用逐步筛选方法来估计逻辑回归。

4.它需要大的样本量,因为在样本数量较少的情况下,极大似然估计的效果比普通的最小二乘法差。

5.自变量不应该相互关联的,即不具有多重共线性。然而,在分析和建模中,我们可以选择包含分类变量相互作用的影响。

6.如果因变量的值是定序变量,则称它为序逻辑回归。

7.如果因变量是多类的话,则称它为多元逻辑回归。

3.Polynomial Regression多项式回归

对于一个回归方程,如果自变量的指数大于1,那么它就是多项式回归方程。如下方程所示:y=a+b*x^2

在这种回归技术中,最佳拟合线不是直线。而是一个用于拟合数据点的曲线。

重点:

虽然会有一个诱导可以拟合一个高次多项式并得到较低的错误,但这可能会导致过拟合。你需要经常画出关系图来查看拟合情况,并且专注于保证拟合合理,既没有过拟合又没有欠拟合。

下面是一个图例,可以帮助理解:

明显地向两端寻找曲线点,看看这些形状和趋势是否有意义。更高次的多项式最后可能产生怪异的推断结果。

4.Stepwise Regression逐步回归

在处理多个自变量时,我们可以使用这种形式的回归。在这种技术中,自变量的选择是在一个自动的过程中完成的,其中包括非人为操作。

这一壮举是通过观察统计的值,如R-square,t-stats和AIC指标,来识别重要的变量。逐步回归通过同时添加/删除基于指定标准的协变量来拟合模型。

下面列出了一些最常用的逐步回归方法:

  • 标准逐步回归法做两件事情。即增加和删除每个步骤所需的预测。

  • 向前选择法从模型中最显著的预测开始,然后为每一步添加变量。

  • 向后剔除法与模型的所有预测同时开始,然后在每一步消除最小显着性的变量。

这种建模技术的目的是使用最少的预测变量数来最大化预测能力。这也是处理高维数据集的方法之一。

5.Ridge Regression岭回归

岭回归分析是一种用于存在多重共线性(自变量高度相关)数据的技术。在多重共线性情况下,尽管最小二乘法(OLS)对每个变量很公平,但它们的差异很大,使得观测值偏移并远离真实值。岭回归通过给回归估计上增加一个偏差度,来降低标准误差。

上面,我们看到了线性回归方程。还记得吗?它可以表示为:

y=a+b*x这个方程也有一个误差项。完整的方程是:

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)解决多重共线性问题。看下面的公式

在这个公式中,有两个组成部分。第一个是最小二乘项,另一个是β2(β-平方)的λ倍,其中β是相关系数。为了收缩参数把它添加到最小二乘项中以得到一个非常低的方差。

要点:

1.除常数项以外,这种回归的假设与最小二乘回归类似;

2.它收缩了相关系数的值,但没有达到零,这表明它没有特征选择功能

3.这是一个正则化方法,并且使用的是L2正则化。

6.Lasso Regression套索回归

它类似于岭回归,Lasso (Least Absolute Shrinkage and Selection Operator)也会惩罚回归系数的绝对值大小。此外,它能够减少变化程度并提高线性回归模型的精度。看看下面的公式:

Lasso 回归与Ridge回归有一点不同,它使用的惩罚函数是绝对值,而不是平方。这导致惩罚(或等于约束估计的绝对值之和)值使一些参数估计结果等于零。使用惩罚值越大,进一步估计会使得缩小值趋近于零。这将导致我们要从给定的n个变量中选择变量。

要点:

1.除常数项以外,这种回归的假设与最小二乘回归类似;

2.它收缩系数接近零(等于零),这确实有助于特征选择;

3.这是一个正则化方法,使用的是L1正则化;

如果预测的一组变量是高度相关的,Lasso 会选出其中一个变量并且将其它的收缩为零。

7.ElasticNet回归

ElasticNet是Lasso和Ridge回归技术的混合体。它使用L1来训练并且L2优先作为正则化矩阵。当有多个相关的特征时,ElasticNet是很有用的。Lasso 会随机挑选他们其中的一个,而ElasticNet则会选择两个。

Lasso和Ridge之间的实际的优点是,它允许ElasticNet继承循环状态下Ridge的一些稳定性。

要点:

1.在高度相关变量的情况下,它会产生群体效应;

2.选择变量的数目没有限制;

3.它可以承受双重收缩。

除了这7个最常用的回归技术,你也可以看看其他模型,如Bayesian、Ecological和Robust回归。

如何正确选择回归模型?

当你只知道一个或两个技术时,生活往往很简单。我知道的一个培训机构告诉他们的学生,如果结果是连续的,就使用线性回归。如果是二元的,就使用逻辑回归!然而,在我们的处理中,可选择的越多,选择正确的一个就越难。类似的情况下也发生在回归模型中。

在多类回归模型中,基于自变量和因变量的类型,数据的维数以及数据的其它基本特征的情况下,选择最合适的技术非常重要。以下是你要选择正确的回归模型的关键因素:

1.数据探索是构建预测模型的必然组成部分。在选择合适的模型时,比如识别变量的关系和影响时,它应该首选的一步。

2. 比较适合于不同模型的优点,我们可以分析不同的指标参数,如统计意义的参数,R-square,Adjusted R-square,AIC,BIC以及误差项,另一个是Mallows’ Cp准则。这个主要是通过将模型与所有可能的子模型进行对比(或谨慎选择他们),检查在你的模型中可能出现的偏差。

3.交叉验证是评估预测模型最好额方法。在这里,将你的数据集分成两份(一份做训练和一份做验证)。使用观测值和预测值之间的一个简单均方差来衡量你的预测精度。

4.如果你的数据集是多个混合变量,那么你就不应该选择自动模型选择方法,因为你应该不想在同一时间把所有变量放在同一个模型中。

5.它也将取决于你的目的。可能会出现这样的情况,一个不太强大的模型与具有高度统计学意义的模型相比,更易于实现。

6.回归正则化方法(Lasso,Ridge和ElasticNet)在高维和数据集变量之间多重共线性情况下运行良好。

作者:Sunil Ray 出处:csdn 

译者/刘帝伟 审校/刘翔宇、朱正贵 责编/周建丁


由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:(1)点击页面最上方“小詹学Python”,进入公众号主页。
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。

http://chatgpt.dhexx.cn/article/sCAYyswu.shtml

相关文章

SPSS篇—回归分析

之前跟大家介绍了一款做数据分析的利器—SPSS,不知道大家对这个软件的熟悉程度有没有提高一些呢? 今天给大家分享一下如何用SPSS Statistics来进行回归分析,我们通过一个实例来具体了解一下整个分析的过程以及结果的解读。 上图中就是本次需…

11.回归分析

在自然科学,工程技术和经济活动等各领域中,经常需要根据实验观测数据(xi,yi),i1,2,.....,n研究因变量y与自变量x之间的关系。一般来说,变量之间的关系分为两种,一种是确定…

R语言回归分析实例

本文包含多元线性回归及逻辑回归两种算法,个人实践操作,希望能与大家一起交流分享,如有描述不当之处,欢迎并多谢指正。 #一、公共部分,加载并审核数据、设置数据分区 #----------------------------- #1、设置工作目录…

机器学习回归算法—线性回归及案例分析

一、回归算法 回归是统计学中最有力的工具之一。机器学习监督学习算法分为分类算法和回归算法两种,其实就是根据类别标签分布类型为离散型、连续性而定义的。回归算法用于连续型分布预测,针对的是数值型的样本,使用回归,可以在给定…

spss系列——一元线性回归的分析与预测实例

spss系列——一元线性回归的分析与预测实例 散点图回归系数线性回归模型区间估计系数显著性检验 残差散点图预测感谢小伙伴们的浏览~~下期见喽 本文主要利用某商店记录了12个月的销售收入 y y y(亿元)和广告费 x x x(亿元),研究某广告对销售收入的影响,其…

R数据分析:逐步回归的做法和原理,案例剖析

做回归的时候经常头痛的一个问题就是变量的选择,好多人一放一大堆变量但是结果做出来都没意义,这个时候你可以试试让算法给你选择最优的自变量组合哟。 那么今天要写的就是回归时筛选变量的逐步法: The stepwise regression (or stepwise se…

回归分析(stata实例详细解答过程)

现有某电商平台846条关于婴幼儿奶粉的销售信息,每条信息由11个指 标组成。其中,评价量可以从一个侧面反映顾客对产品的关注度。 请对所给数据进行以下方面的分析,要求最终的分析将不仅仅有益于 商家,更有益于宝妈们为宝贝选择适合…

线性回归案例及其分析

一、一元线性回归之轿车价格案例 % clear all % clc % x1:10; % y[2650,1942,1493,1086,766,539,485,291,224,202]; % for i1:10 % plot(x(i),y(i),or); % hold on % end % xlabel(x); % ylabel(y); 作出图像: 发现指数关系,我们另外令Zlny cl…

线性回归案例分析

本案例是kaggle共享单车的比赛案例,先对数据集介绍 Instant 记录号 Dteday:日期 Season:季节 1春天 2夏天 3秋天 4冬天 yr:年份,(0: 2011, 1:2012) mnth:月份( 1 to 12) hr:小时 (0 to 23) holi…

【SPSS】回归分析详细操作教程(附案例实战)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

案例:回归分析-R实现

作者 | 结实 来源 | DATA江湖 1)业务需求: 某牙膏制造企业为了更好的拓展产品市场,有效管理库存,董事会要求销售部门根据市场调查,找出公司生产牙膏销售量与销售价格以及广告投入等之间的关系,从而预测出在…

SPSS回归分析案例

SPSS回归分析案例 1.应用最小二乘法求经验回归方程 1.1数据导入 首先将数据导入SPSS如下: 1.2线性回归条件的验证 我们需要验证线性回归的前提条件: 线性(散点图,散点图矩阵)独立性正态性(回归分析的过…

回归分析——简单线性回归实例讲解(SPSS)

什么是回归分析? 回归分析是研究自变量与因变量之间数量变化关系的一种分析方法,它主要是通过因变量Y与影响它的自变量Xi(i1,2,3…)之间的回归模型,衡量自变量Xi对因变量Y的影响能力的,进而可以用来预测因…

多分类logit回归案例分析

在研究X对Y的影响时,因变量Y有时是分类变量,这时如果还想分析影响关系可以使用logit回归,常见的logit回归包括,二元logit回归(二项logit回归)、多分类logit回归以及有序logit回归。三者的区别如下&#xff…

超详细机器学习-线性回归案例(正规方程、梯度下降、岭回归)

一、线性回归 定义 线性回归通过一个或者多个自变量与因变量之间之间进行建模的回归分析。其中特点为一个或多个称为回归系数的模型参数的线性组合。 分类 一元线性回归:涉及到的变量只有一个。 多元线性回归:涉及到的变量两个或两个以上。 公式 图例…

回归分析方法应用实例1

在制定运动员选材标准时,理论上要求先对不同年龄的运动员,各测试一个较大的样本,然后,计算出各年龄的平均数、标准差,再来制定标准。 有时尽管各年龄组的样本含量n都较大,但是,计算出的各年龄…

回归分析案例分析全流程

一、案例说明 1.案例数据 在“工资影响因素”的调查问卷中,调查了每个人的起始工资、工作经验、受教育年限、受雇月数、职位等级以及当前工资六个方面。 2.分析目的 目的是建立以当前工资为因变量的回归模型,并得出结论。[案例来源于:SPS…

1.1 一元线性回归分析案例

#将pyplot字体转化成中文 matplotlib.rcParams[font.family] Microsoft YaHei plt.rcParams[font.size] 12 # 设置字体大小 plt.rcParams[axes.unicode_minus] False # 设置正常显示负号案例背景:寻找房屋面积与价格的关系并进行预测图 #需要的包 import matp…

Spring WebFlux (6): RSocket 服务实现

RSocket官网:https://rsocket.io/ RSocket是一种二进制协议,可用于字节流传输,例如TCP,WebSockets和Aeron。 提供了四中交互模式: request/response (stream of 1) 请求/响应(单响应)大多数请…

HTTP协议的挑战者:RSocket

点击蓝色“程序猿DD”关注我 回复“资源”获取独家整理的学习资料! 1. 简介 RSocket是一种二进制的点对点通信协议,是一种新的网络通信第七层协议。旨在用于分布式应用程序中。从这个意义上讲,RSocket是HTTP等其他协议的替代方案。它是一种基…