讲讲逐步回归

article/2025/9/3 4:17:40

总第178篇/张俊红

01.前言

前面我们讲过了多元线性回归。这一篇我们来讲讲逐步回归。什么是逐步回归呢?就是字面意思,一步一步进行回归。

我们知道多元回归中的元是指自变量,多元就是多个自变量,即多个x。这多个x中有一个问题需要我们考虑,那就是是不是这多个x都对y有作用。答案就是有的时候都管用,有的时候部分管用。那对于那些没用的部分我们最好是不让它加入到回归模型里面。我们把这个筛选起作用的变量或者剔除不起作用变量的过程叫做变量选择。

我们刚提到自变量有用没用,那怎么来评判一个自变量到底有用没用呢?判断依据就是对自变量进行显著性检验。具体方法是将一个自变量加入到模型中时,有没有使残差平方和显著减少,如果有显著减少则说明这个变量是有用的,可以把这个变量加入到模型中,否则说明时无用的,就可以把这个变量从模型中删除。有没有显著减少的判断标准就是根据F统计量来判断。

关于判断F统计量的显著性我们在方差分析里面讲过,大家可以去看看。

变量选择主要有:向前选择、向后踢出、逐步回归、最优子集等,我们这一篇主要讲前三种。

02.向前选择

向前选择可以理解成从零开始选择,因为模型最开始的时候是没有自变量的,具体的步骤如下:

Step1:拿现有的k个变量分别和y建立回归模型,最后会得到k个模型以及每个模型中变量对应的F统计量和其p_value,然后从显著的模型中挑选出F统计量最大模型对应的自变量,将该自变量加入到模型中,如果k个模型都不显著,则选择结束。

Step2:通过第一步我们已经得到了一个显著性变量,并把这个变量加入到了模型中。接下来再在已经加入一个变量的模型里面继续分别加入剩下的变量,能够得到k-1个模型,然后在这k-1个模型里面挑选F值最大且显著的变量继续加入模型。如果没有显著变量,则选择结束。

重复执行上面两步,直到没有显著性变量可以加入到模型为止,这就是向前选择。

03.向后剔除

向后剔除是与向前选择相对应的方法,是向前选择的逆方法,具体的步骤如下:

Step1:将所有的自变量都加入到模型中,建立一个包含k个自变量的回归模型。然后分别去掉每一个自变量以后得到k个包含k-1个变量的模型,比较这k个模型,看去掉哪个变量以后让模型的残差平方和减少的最少,即影响最小的变量,就把这个变量从模型中删除。

Step2:通过第一步我们已经删除了一个无用的变量,第二步是在已经删除一个变量的基础上,继续分别删除剩下的变量,把使模型残差平方和减少最小的自变量从模型中删除。

重复上面的两个步骤,直到删除一个自变量以后不会使残差显著减少为止。这个时候,留下来的变量就都是显著的了。

04逐步回归

逐步回归是向前选择和向后踢除两种方法的结合。是这两种方法的交叉进行,即一遍选择,一边剔除。

逐步回归在每次往模型中增加变量时用的是向前选择,将F统计量最大的变量加入到模型中,将变量加入到模型中以后,针对目前模型中存在的所有变量进行向后剔除,一直循环选择和剔除的过程,直到最后增加变量不能够导致残差平方和变小为止。

关于逐步回归的Python实现,网上有很多现成代码的,只要原理清楚了,代码就很好懂了。


你还可以看:

聊聊置信度与置信区间

统计学的假设检验

一元线性回归分析

多元回归分析

方差分析

多因素方差分析


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

相关文章

多重共线性产生原因及处理办法+R语言+糖尿病数据案例分析+逐步回归法

1、多重共线性 多重共线性一般是在(1)时间序列数据和(2)横截面数据中会发生。 产生的影响 (1)OLS得到的回归参数估计值很不稳定 (2)回归系数的方差随共线性强度增加而增长 &#…

SPSS多元线性回归及逐步回归教程

点击分析->回归->线性会出来如图 选择自变量,因变量。点击左侧然后点击即可选择变量并将它添加到自变量、因变量。 点击统计,需要额外勾选共线性诊断和然后点击继续,点击 设置成如图 。 解释:---------------------------…

Python OLS 双向逐步回归

算法基本思路:首先需要确定一个因变量y以此构建一元回归方程,再找到已通过显著性检验的一元线性回归方程中F值最大的解释变量x0,将其并入回归方程中,再分别将剩余的解释变量与解释变量x0作为OLS函数的自变量集拟合回归方程&#x…

逐步回归分析

逐步回归分析 在实际问题中,首先碰到的问题是如何确定自变量。通常是根据所研究的问题,结合经济理论,罗列出对因变量可能有影响的一些因素作为自变量。 因此,我们需要挑选出对因变量有显著影响的自变量,构造最优的回归方程。 逐步回归的基本思想是:将变量一个一个引入,…

向前逐步回归

向前逐步回归 我们在进行拟合的时候,没有必要将所有变量都引入到我们的函数之中,这种操作往往会导致过拟合,而过拟合带来的致命影响就是泛化能力差,最小二乘法估计参数的时候无法终止学习的过程。向前逐步回归的引入则可以控制学…

SPSSAU中逐步回归法——探索分析单支股票数据(实践)

数据说明: 还是选择万兴科技的股票数据来做回归分析,和《股票时序分析和时序模型(实践)》这篇文章使用数据一致。需要说明由于spssau免费账号最多输入50项数据,所以使用的都是近50期数据。 spssau上的相关分析图 pyth…

多元逐步回归算法

先谈一下个人对多元逐步回归的理解:多元逐步回归的最本质的核心是最小二乘原理,本方法中调用smf方法。# encoding: utf-8""" 功能:多元逐步回归 描述:基于python实现多元逐步回归的功能 作者:CHEN_C_W …

【模型开发】逐步回归

1.定义 当变量中含有对被解释变量影响不大的解释变量时,可能因为误差平方和的自由度减小而使方差的估计增大,从而影响回归预测的精度,适当的选择一个变量建立一个最优的回归方程十分重要。 逐步回归(Stepwise Regression&#xff…

matlab逐步回归分析法,天大matlab大作业逐步回归分析方法.doc

天大matlab大作业逐步回归分析方法.doc 逐步回归分析方法在实际中,影响Y的因素很多,这些因素可能存在多重共线性(相关性),这就对系数的估计带来不合理的解释,从而影响对Y的分析和预测。“最优”的回归方程就是包含所有对Y有影响的…

【R语言数据科学】(十九):变量选择(一)逐步回归法

【R语言数据科学】 🌸个人主页:JOJO数据科学📝个人介绍:统计学top3高校统计学硕士在读💌如果文章对你有帮助,欢迎✌关注、👍点赞、✌收藏、👍订阅专栏✨本文收录于【R语言数据科学】本系列主要介绍R语言在数据科学领域的应用包括: R语言编程基础、R语言可视化、R…

4.1程序控制流图

程序控制流图,简称流图,是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构。 控制流图中包括两种图形符号: 节点控制流线 复合条件要分解为简单条件 判定节点(谓词节点) 由判定节点发…

流程控制(上)

大家好,我是Python领域的博主。 如果你是编程爱好者可以小编一起学习,在这里我每天都会发Python的基础知识,以及相关的代码。 如果文章有什么错误的地方,请不吝赐教。 觉得博主文章写的还错的话,请三连支持一下博主哦 …

使用soot和graphviz画Java的控制流图

辛苦两天了,啥也不说,先来张图: 看着可真漂亮,O(∩_∩)O哈哈~ 实验环境是Ubuntu。 1.JDK的版本必须是1.7或者以下,JDK1.8不行,总会报错, 2.下载sootclasses-2.5.0.jar包:http://d…

软件测试----------------- 控制流图 圈复杂度 独立路径 测试用例

最近在学软件测试,学到了画,控制流图 圈复杂度 独立路径 测试用例,这里,有些不理解,就网上查了下,发现好多老哥写错了,大佬写的甚至收费79。 我试着写写,如果有不足的,大…

LLVM CFG控制流图可视化

LLVM CFG控制流图可视化 准备 安装必要组件 sudo apt-get install -y graphviz-doc libgraphviz-dev graphviz示例程序 /// file 1.c int x 10; int y 11; int main(){int z 12; for (int i 0;i < 10;i){z * x * y;} return 0; }生成LLVM IR 文件 clang -S -em…

白盒测试--控制流测试(白盒测试,逻辑覆盖,路径测试(基路径测试、循环测试),控制流图)

文章目录 白盒测试概念白盒测试方法--控制流测试语句覆盖判定覆盖&#xff08;分支覆盖&#xff09;条件覆盖判定-条件覆盖条件组合覆盖路径覆盖 路径测试基路径测试循环测试 控制流图基本控制流图复合逻辑下的控制流图图矩阵环形复杂度 白盒测试概念 又叫结构测试&#xff0c…

控制流分析(Control Flow Analysis)

控制流(Control Flow)&#xff1a;操作的序列 控制流分析(Control Flow Analysis)&#xff1a;通过分析程序去发现每一过程内控制流层次结构。 控制流分析的原因&#xff1a; 控制流分析(CFA)能够帮助我们理解控制流图&#xff08;control-flow graphs,CFG&#xff09;的结构…

程序流图画法详解

程序流图一般是软件评测师考试中的第一道大题&#xff0c;同时也是必考大题&#xff0c;多层嵌套的循环程序绘制流程图时十分繁琐&#xff0c;本人在经过练习真题以及查阅资料后有了一些绘制控制流图的小经验&#xff0c;如有不对请指出。下面以2017年的软件评测师下午第一套真…

对Python控制流图(Control Flow Graph)-(CFG)的一些探索

对Python控制流图&#xff08;Control Flow Graph&#xff09;-&#xff08;CFG&#xff09;的一些探索 粗浅的了解 1.定义 控制流图(Control Flow Graph, CFG)也叫控制流程图&#xff0c;是一个过程或程序的抽象表现&#xff0c;是用在编译器中的一个抽象数据结构&#xff…

中间表示- 控制流图

基本概念 基本块&#xff1a;是语句的一个序列&#xff0c;从第一条执行到最后一条 不能从中间进入&#xff0c;不能从中间退出&#xff0c;即跳转指令只能出现在最后 控制流图&#xff1a;控制流图是一个有向图G(V&#xff0c;E) 节点V&#xff1a;是基本块边E&#xff1a…