自变量选择(3) | 学习笔记

简介: 快速学习自变量选择(3)。

开发者学堂课程【机器学习算法 :自变量选择(3)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/535/detail/7212


自变量选择(3)

 

一、 自变量选择的方法

image.png

1. 前进法进行自变量选择

思路:变量由少到多,每次增加一个,直至没有可引入的变量。

具体做法:

(1)对所有 m 个自变量,分别对因变量 y 进行建模,建立 m 个一元线性回归方程。

(2)对这 m 个一元线性回归方程的 m 个回归系数进行 F 检验,计算 F 统计量值,找到最大的一个image.png

(3)将image.png和预先设定的检验水平 α 对应的 F 值比较,若image.pngimage.png(1,n- 2),将自变量image.png引入回归方程

(4)对 x 与剩余的 m-1 个自变量进行组合image.png,分别对因变量 y 进行建模,建立 m一1 个二元线性回归方程,对这 m一 1 个方程中非image.png的回归系数进行 F 检验,选出最大的 F 值 image.png,和 α 对应的临界值比较。若能 image.png image.png (1,n - 3),将image.png引入回归方程

(5)重复上述步骤,直到没有符合引入条件的变量为止,得到最终的回归方程。

2.后退法进行自变量选择:

思路:变量由多到少,每次减少一个,直至没有可减少的变量。

具体做法:

(1)对所有 m 个自变量,对因变量 γ 进行建模,建立一个 m 元线性回归方程。

(2)对这个 m 元线性回归方程的 m 个回归系数进行 F 检验,计算 F 统计量值,找到最小的一个image.png

(3)将image.png和预先设定的检验水平 α 对应的 F 值比较,若image.pngimage.png (1,n- 2),将自变量 image.png剔除出回归方

(4)对剩余的 m- 1 个自变量对因变量 γ 进行建模,建立一个 m-1 元线性回归方程,对新的回归方程中的 m-1 个回归系数进行 F 检验,选出最小的 F 值image.png,和image.png对应的临界值比较,若image.pngimage.png(1,n-m),将image.png 剔除出回归方程。

(5)重复上述步骤,直到没有符合剔除条件的变量为止,得到最终的回归方程。

3.前进法和后退法的比较

两者存在一些明显的问题:

前进法:

(1)不能反映引进新的自变量后的变化情况。环境不同(当前存在的自变量),自变量的显著性也不同,而前进法的核心只是考量了某个环境下的自变量的显著性,没考虑不同环境下的显著性

(2)终身制:一旦入选,不会剔除。同样对环境变化缺乏考量。

后退法:

(1)计算量:自变量个数从多到少,开始的计算量会较大,并且可能做了很多无用功(一些自变量最终会被剔除,而最初的大量计算会价值有限)

(2)未考虑环境变化带来的影响,与前进法相似,缺乏对变化的考量。

(3)全部剔除:被剔除掉的变量,后续不会考虑再次引入,即使在某些条件下,被剔除掉的变脸显著性满足引入要求,即使优于当前方程中的某些变量。如果所有自变量都是独立的,理论上前进法和后退法得到的回归方程是一致的。

4. 逐步回归法进行自变量选择:

思路:有进有出。每当当前回归方程中的变量发生变化,都要对方程中的所有变量进行 F 检验。

相关文章
|
Java 数据库连接 Maven
使用mybatis插件generator生成实体类,dao层和mapper映射
使用mybatis插件generator生成实体类,dao层和mapper映射
1325 0
|
SQL Java 数据库连接
挺详细的spring+springmvc+mybatis配置整合|含源代码
挺详细的spring+springmvc+mybatis配置整合|含源代码
|
存储 编解码 缓存
Qt开发技术:Qt绘图系统(一)绘图系统介绍
Qt开发技术:Qt绘图系统(一)绘图系统介绍
Qt开发技术:Qt绘图系统(一)绘图系统介绍
|
8月前
|
IDE 开发工具 C++
JetBrains CLion 2025.1 发布 - C 和 C++ 跨平台 IDE
JetBrains CLion 2025.1 (macOS, Linux, Windows) - C 和 C++ 跨平台 IDE
372 0
|
人工智能 数据可视化 TensorFlow
从Tensorflow模型文件中解析并显示网络结构图(CKPT模型篇)
从Tensorflow模型文件中解析并显示网络结构图(CKPT模型篇)
从Tensorflow模型文件中解析并显示网络结构图(CKPT模型篇)
|
Java Linux Windows
【Java用法】Java在Linux下获取当前程序路径以及在Windows下获取当前路径对比
【Java用法】Java在Linux下获取当前程序路径以及在Windows下获取当前路径对比
520 0
|
数据采集 机器学习/深度学习 数据挖掘
从混乱到有序,Python数据清洗术,让你的数据分析之路畅通无阻!
【7月更文挑战第20天】数据清洗在数据分析中至关重要,它确保数据质量,影响分析准确性和效率。Python的Pandas库是数据预处理的得力工具。基本步骤包括:导入数据(如`pd.read_csv()`)、检查概况(`head()`, `info()`, `describe()`)、处理缺失值(`fillna()`或`dropna()`)、转换数据类型(`pd.to_numeric()`)、去除重复项(`drop_duplicates()`)、排序和筛选数据,以及对分类变量编码(如使用`LabelEncoder`)。
287 3
|
存储 缓存 JavaScript
cookie和localStorage的区别特点
cookie和localStorage的区别特点
357 0
|
Java 关系型数据库 数据库连接
MyBatis增删改查(CRUD)操作
CRUD操作指的就是增加(Create)、读取(Retrieve)、更新(Update)、删除(Delete)这四种基本数据库操作; MyBatis提供了一种简洁且灵活的方式来执行这些操作,通过配置映射文件和编写对应的SQL语句,将Java对象与数据库表进行映射和操作。 准备任务 首先,你需要在你的项目中添加MyBatis的依赖等; 创建数据库连接idea, 接下来,你需要创建一个MyBatis的配置文件(通常是一个XML文件); 注意:com.mysql.cj.jdbc.Driver是从MySQL Connector/J版本8.0开始引入的。在此版本之前,MySQL Connector/J使
387 1
|
关系型数据库 Linux API
Linux 内存管理新特性:Memory folios 解读
本文主要讲解folio ,极其在应用中的直接价值。