关于线性回归那些事儿

2023-11-13

在这里插入图片描述

1. 如何理解线性回归中的方差齐性?

在两组和多组比较中,每组都有很多数据,可以求出每组的方差,然后比较就行了,很容易理解。但是在线性回归中,有的人就不理解方差齐性是什么意思了。因为线性回归中自变量x不是分类变量,x取值很多,通常情况下,每个x值只对应1个y值。比如,分析身高对血压值的影响,可能每个身高对应的血压值只有一个数值。很显然,对于1个数是没有办法计算方差的,那还何来方差齐性检验呢?

这是因为,尽管在一次抽样中每个x取值上可能只有1个y值,但对于总体而言,理论上每个x取值上对应的y值是有很多的。
所以,线性回归中,理论上也是有方差的。然而这种理论上的方差,除非你知道总体中每个x取值上的所有对应的y值,否则你是没有办法真正去计算方差的。但这种情况几乎是不可能发生的,因此在线性回归中的方差齐性检验,很多情况下只是一种探测而已。

既然线性回归无法做到对每一个x取值上的y值计算方差,那我们可以放宽一下,可以简单地看某一x取值范围内的y值的方差,这是可以做到的。所以实际中我们经常通过线性回归的残差图来判断方差齐性,即以因变量残差作为纵坐标,以某自变量作为横坐标,绘制散点图。如下图所示。如果残差总的来说时随机分布的,没有随着自变量的增加而有其它趋势,基本就可以认为方差齐性。

当然残差图只是观察一下,如果想用统计学方法来验证是否有趋势的话,那很自然的一个想法就是,分析具体某一自变量与残差有没有关系就可以了。这也就是**BP(Breusch-Pagan)法和White检验**进行方差齐性检验的思想。即以残差为因变量,观察自变量与残差之间是否存在线性关系(BP法)或非线性关系(White检验)。如果存在,提示可能存在方差不齐。BP检验和White检验是较为常用的两种方差齐性检验的方法。

2. 多重线性回归

2.1 自变量筛选的方法是不是逐步法最好呢?

每种方法都有它的弊端,以前认为逐步法是前进法跟后退法的结合,那自然以为它是做好的,其实不然,在逐步法中,当有P个自变量入选后,选第p+1个自变量时,对它来说前P个自变量的组合不一定是最优组合。对于每种方法我就不一一展开了,没有绝对的好方法,一般来说,逐步回归法和最优回归子集法较好,那么对于给定的资料而言,最保险的就是尝试多种变量筛选方法,从中选择最优模型。

2.2 如何判定多重线性回归模型的优劣呢?

这个问题是个比较复杂的问题,小编参考了教材。最终归纳如下,较优模型满足标准:
(1)拟合的多重线性回归方程在整体上有统计学意义;
(2) 多重回归方程中各参数估计值假设检验结果有统计学意义;
(3) 多重回归方程中各回归参数的正负号与专业上的含义相符合;
(4)根据多重回归方程计算出因变量所有预测值在专业上有意义;
(5)若有多个较好的多重回归方程时,残差平方和较小且多重回归方程中所含的自变量个数又较少者为最佳;
(6)从实际角度来看,自变量取值越容易越好。

2.3 多重共线性是什么鬼,该怎么判断?

多重共线性大家在做回归时可能听说过,但大家多数却选择跳过。
**多重共线性**是指一些自变量之间存在较强的线性关系,不满足多重线性回归中自变量相互独立的要求。会引起方程的不稳定,增加或减少某几个观察值,估计值可能发生很大的变化。也可能造成估计值的正负符合与客观实际不一致的情况。

那么如何判定共线性呢,主要通过以下方法:
a.用条件指数(K)和方差分量进行共线性诊断(此步骤可在SAS中操作)K>=0且K<10,则认为没有多重共线性,若K>=10且K<=30,存在中度多重共线性,若K>30存在严重的多重共线性。
b.利用方差膨胀因子(VIF)进行共线性诊断,但目前尚无标准的临界值,有人根据经验,当VIF>10时,就有严重的多重共线性存在。

2.4 多重共线性怎么处理?

A.精简变量法:简单粗暴的方法在自变量中剔除造成共线性的自变量,重新建立回归方程;
B.主成分回归法:利用主成分分析将存在共线性的自变量合成主成分变量,再与应变量建立回归方程,由于主成分之间互不相关,因此可以避免多重共线性问题。
此外还有一些复杂方法如岭回归、偏最小二乘法、特征根法等。

2.5 异常值如何诊断?

若个别观测点于多数观测点偏离很远,它们可能会对回归的估计以及其他推断产生很大影响,这种点称之为异常点。在SAS里有两种简单方法方便检测:
A.利用学生化残差统计量,当该统计量的绝对值大于2时,所对应的观测值可能是异常点;
B.利用残差图进行异常值诊断,在残差图中,如果各散点随机均匀散布在直线y=0的上下两侧,说明资料满足假设,若有特别趋势,则需要考虑因变量与自变量之间的关系可能是非线性、方差不齐等情况。

2.6 发现异常值该如何处理?

若发现异常值,此时需要认真核对原始数据,若属于抄写或输入人为错误,应当纠正;若非人为过失所导致,需要做敏感性分析,即将该异常点剔除前后各做一个最好的回归方程,并对最终的结果做比较分析。若不一致,进一步探究原因,最好在此点上补做试验,以便进一步确认。

3.如何使用SPSS评分向导完成线性回归模型预测?

构建好线性回归模型后,我们会比较兴奋,把新数据带进方程计算,就可以得到预测值了。有没有想过,手工计算容易出错,操作也很不方便,准确快速实现预测,有没有更好的办法呢?

SPSS【评分向导】菜单可以读取xml模型文件,并对新数据进行预测。我们只需要在建模时,将成熟模型保存出xml模型文件,将其扔给【评分向导】对新数据完成预测。

案例:收集到某商品的销售数据,包括“广告费用”和“销售额”两个连续变量,现在想考察广告投入和销售之间的关系,实现利用广告投入预测销售的目标。

3.1 构建线性回归模型
在这里插入图片描述
以“销售额”为因变量,以“广告费用”为自变量,构建简单一元线性回归模型。

3.2 将模型信息导出

打开【保存】按钮,【将模型信息导出到XML文件】选项卡中,指定一个存放文件的路径,给xml模型文件起个名字,比如我们就叫它“广告销售模型”吧。
在这里插入图片描述
3.3 软件结果
在这里插入图片描述
模型通过检验。写出简单一元线性回归方程如下:
Y=6.584+1.071*广告

假设,我们要预测未来4个月的销售(不要太多哦),希望提前看一下,当广告投入5、6、7、8万元时,销售额会是多少。
使用SPSS软件提供的更加便利准确的【评分向导】菜单来自动完成。

3.4 预测值计算过程
打开只含有新数据的文件:
在这里插入图片描述
在SPSS数据窗口顶部的【实用程序】菜单中找到【评分向导】菜单,打开对话框:
在这里插入图片描述
点击左下方【浏览】按钮,找到我们已经保存好的“广告销售模型.xml”文件,打开,相当于是把前面创建的模型导入到【评分向导】中。

点击【下一步】,软件会自动匹配新数据中是否有模型所需要的自变量信息。
在这里插入图片描述
继续点【下一步】。软件会自动计算“预测值”以及预测的“标准误差”。我们重点就看“预测值”了。
在这里插入图片描述

到这里,就直接点【完成】,让软件开始预测。
在这里插入图片描述
通过软件计算出的未来4个月的销售预测值就摆在我们的面前了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于线性回归那些事儿 的相关文章

  • 图解通信原理与案例分析-28:四大全球卫星导航系统GNSS的基本原理与技术对比---中国的北斗、美国的GPS、欧洲的伽利略、俄罗斯的格洛纳斯

    前言 卫星导航是卫星通信的一个重要的分支 它是利用导航卫星通信进行测时 时间 和测距 定位 的广义的卫星通信系统 本文将介绍全球卫星导航系统GNSS的基本原理 以及对全球现有的4大导航卫星系统进行全方位的比较 关于卫星通信的基本知识 请参看
  • FLOPS和参数量比较小的模型,推理时间反而较长?

    两个模型 A 和 B A 模型的 FLOPS 和参数量均比 B 模型少一半 但 B 模型的推理速度却稍微比 A 模型快一些 出现这种情况由几种情况出现 一 运行平台的不同 这个很明显 在大多数情况下 GPU 平台下运行比 CPU快 二 在同
  • angular:获取组件自身html对象

    constructor private elt ElementRef
  • 系统设计.秒杀系统

    秒杀 秒杀是以压倒性优势一招致命或在极短时间 比如一秒钟 内解决对手 或者称瞬秒 瞬间秒杀 该词最初来自网络游戏 形容一瞬间杀死一个游戏角色之快 电商系统中的秒杀是指 短时间内抢够商品的场景 这是一个营销策略 通常销售时间区间较短 价格稍低
  • 硅谷裁员10万人,一个时代结束了!

    见字如面 我是军哥 2022年7月 微软宣布裁员计划 裁员规模不超过18万员工总数的1 并于10月18日 试裁 1千人左右 11月10日 Meta的创始人兼CEO扎克伯格发布全员信 确认公司将裁员逾11000人 这是这家科技巨头18年来历史
  • 李雅普诺夫函数设计

    一 线性时不变系统 1 1 原理 对于线性时不变系统 x A
  • 一天内时针和分针重叠的次数

    一天内时针和分针重叠的次数 这是一道谷歌面试题 答案是22次 分别是上午 12 00 1 05 2 11 3 16 4 22 5 27 6 33 7 38 8 44 9 49 10 55 下午12 00 1 05 2 11 3 16 4 2
  • 动态链接库中函数的地址确定---PLT和GOT

    动态链接库中函数的地址确定 PLT和GOT 2012 09 16 20 27 42 分类 C C 前面写过动态链接库 延迟绑定的一篇博文 那篇文章我非常喜欢 但是当时刚搞清楚 自己写的比较凌乱 我最近学习了Ulrich Drepper的Ho
  • Android:寒冬已至?真正厉害的人永远没有寒冬,一次关于JVM的面试经历

    1 3 Android开发的天花板 很多人会觉得Android技术深度不深 技术栈不庞大 Android职业发展有限 这个真是大大的误解 先说技术上 Android的技术栈随着时间的推移变得越来越庞大 细分领域也越来越多 主要有Androi
  • js创建 tcp 服务器史上最快教程

    实现步骤 第一步 引入相应的包 第一步 导入net包 var net require net 第二步 创建服务器 第一步 导入net包 var net require net 第二步 创建服务器 var server net createS
  • cad尺寸标注快捷键_CAD快速标注方法你知道几种?

    CAD标注是快速出图的关键 尺寸标错 都会导致加工产品出错 那么如何快速准确地进行标注呢 这里给大家整理了CAD标注的一些方法 你知道几种呢 一 CAD自带一键标注方法 1 CAD一次性标注 qdim 输入快捷键qdim 框选需要标注的对象
  • Python 银行信用卡客户流失预测(kaggle)

    1 背景 越来越多的客户不再使用信用卡服务 银行的经理对此感到不安 如果有人能为他们预测哪些客户即将流失 他们将不胜感激 因为这样他们可以主动向客户提供更好的服务 并挽回这些即将流失的客户 2 数据集 该数据集由10 000个客户组成 其中
  • 开关电源一】电源拓扑之buck、boost、buck-boost

    目录 1 BUCK变换器 1 1 Buck电路工作原理 1 2 Buck电路输入输出关系推导 2 BOOST变换器 2 1 Boost电路工作原理 2 2 Boost电路输入输出关系推导 3 BUCK BOOST变换器 3 1 Buck B
  • shell脚本操作

    一 Shell介绍 Shell 和python都是弱语言 定义变量规则 变量名 值 1 shell定义变量的规则 1 等号两边不能有空格 2 定义特殊的变量需要用单引号或者双引号结合 3 定义linux命令需要用反单引号 区分单引号和双引号
  • DIV怎么自动添加滚动条?并给滚动条添加样式

    一 如何实现当DIV里的内容超过DIV的高度 DIV会自动添加滚动条 1 div的style设置了overflow auto后 当DIV里的内容超过DIV的高度 DIV会自动添加滚动条 拉动滚动条才能看到底 2 overflow y属性指定
  • 如何用VUE从零创建网站

    1 如何建一个网站 围绕主题 查看一些大型网站是如何设计的 自己对主题有一定了解后 设计草图 包括功能 逻辑跳转 页面大致排版等 项目成员和老师对草图设计提出意见 再进行修改 最后才到正式开发 网站推荐 松果互联 免费高级WordPress
  • 如何用手机做兼职赚钱?教你利用闲鱼赚取生活费!

    众所周知 越来越多的人光靠朝九晚五的工作薪资 已经远远满足不了生活需求 所以越来越多的人在找一些靠谱的兼职去提高收入 不过网络上的兼职多种多样 有些人通过兼职挣了些钱 而大部分人则被各种 套路 不仅没挣到钱 还被收了智商费 像网上流行的什么
  • Eclipse不能启动:JVM terminated. Exit code=-1

    JVM terminated Exit code 1 Dosgi requiredJavaVersion 1 5 Xms40m Xmx512m XX MaxPermSize 256M Djava class path D eclipse p
  • 你期待的Photoshop 2022中哪个功能吸引了你?

    万众瞩目的2022年已经到来 那些大软件的最新大版本也陆续走到我们的面前 看到很多人都在追捧的期待Photoshop 2022 你知道ta具体有哪些变化么 来看看吧 创意世界在 Photoshop 上运行 全世界数以百万计的设计师 摄影师和

随机推荐

  • Java入门(4)——常见的String方法

    考虑到API当中的解释 新手可能有点看不懂 我刚开始就是不太看得懂 最好的学习方法当然是是自己一个一个去试一遍 然后就可以加深印象 然后 这是我当初学习的时候用自己的大白话做的笔记 现在查阅的话我还是喜欢看自己做的这些笔记 如果我有什么理解
  • VS2022的简单设置

    一 创建一个C C 的VS新项目 1 单击右侧 创建新项目 2 语言选择 C 选择 所有平台 桌面 选择 windows桌面向导 最单击下一步 3 为项目取一个名字 放在合适的位置上 单击 创建 在弹出的窗口点击 空项目 最后单击完成 完成
  • DataX :文本文件 -> mysql 的使用及安装教程

    DataX安装环境准备 jdk1 6以上 python2 0 DataX安装 1 官网下载DataX https github com gkbattle13 DataX 点击Download下载地址 2 解压DataX tar zxvf d
  • typescript任意类型

    1 any类型 如果不声明类型 会自动设置为any类型 但是会失去TS类型检测的作用 let anys any str anys 123 anys anys true anys anys Symbol 123 2 unknown类型 let
  • Python 按照某列内容对两个DataFrame进行合并

    要将两个DataFrame进行合并 如data1 和 data2按照第一列的内容纵向合并为一个新的DataFrame 可以使用pandas库中的merge 方法 按照实际需求将how参数设置为 left right outer inner
  • react 三种通信方式

    react有三种通信方式 一 父传子 二 字传父 三 兄弟之间传值 一 父组件向子组件传值 父组件通过属性的方式传递参数 子组件通过props来接收父组件传递过来的参数 React中是单向数据流 数据只能从父组件通过属性的方式传给其子组件
  • VMware 安装CentOS7配置环境、安装虚拟机、选择cd/dvd的方式安装系统、系统安装引导界面、需要定制化的内容、配置磁盘分区、修改主机名、网络配置、修改windows的主机映射文件(host

    文章目录 想看远程终端工具Xshell Xftp传输工具 VMware 安装的点这里 1 CentOS 1 1安装虚拟机 1 2选择cd dvd的方式安装系统 1 3系统安装引导界面 1 4需要定制化的内容 1 4 1调整时间差 1 4 2
  • ES 配置文件 jvm配置

    elasticsearch yml 设置最大分片数 默认1000 cluster max shards per node 1000000 kibana 设置默认查询数量 深度分页问题 PUT movies settings index ma
  • JVM-垃圾回收机制

    JVM 垃圾回收机制 引言 1 什么是垃圾 2 为什么需要GC 3 Java中的垃圾回收 垃圾回收相关算法 垃圾判断算法 标记阶段 引用计数算法 标记阶段 可达性分析算法 垃圾清除算法 清除阶段 标记 清除算法 清除阶段 标记 整理算法 清
  • 视频会议直播和存储

    DVR的配置文件说明 dvr RTMP stream to file start to record to file when encoder publish reap flv according by specified dvr plan
  • 手把手搭建Python量化交易平台-3:jenkins安装详细过程,搭建机器自动运行平台

    概述 本文介绍利用jenkins搭建机器自动运行平台的步骤和效果 一 目的 搭建一个让机器自动 周期性或定制化的执行特定程序的平台 为后续的进一步的目标奠定基础 1 每天让机器自动下周当天的金融数据 2 每天让机器自动对数据进行分析 3 每
  • 双指针算法

    目录 一 双指针算法的概念 二 双指针算法的应用 1 拆分字符串中的单词 2 最长连续不重复子序列 题目 朴素算法 双指针算法 另类双指针算法 3 数组元素的目标和 题目 代码实现 4 判断子序列 题目 代码实现 一 双指针算法的概念 核心
  • 提升网速 网卡和驱动

    去某宝下单了 是网卡和驱动的问题 某宝说网卡和驱动是一个意思 以下是操作步骤 更新驱动程序后从联想官网下载本台电脑对应的驱动 下载可以识别自己主机编号的软件 主机信息识别工具 然后获取编号 然后下载自己的有线网卡
  • 使用VS2010编写Linux程序

    使用VS2010开发Linux程序的好处 编写和调试都很方便 甚至不用自己编写Makefile文件 系统直接就生成了 特别是对于一些不熟悉Linux环境以及gdb调试的同学来说 这个就相对来说容易上手多了 下面就来介绍下环境的搭建 环境 w
  • mac电脑前端环境配置【包含m1芯片】

    目录 一 nvm的安装 1 卸载已安装到全局的 node npm 2 nvm安装 安装命令 常用命令 可能的问题 二 Git环境 1 安装git 2 git ssh 配置 3 重新配置 重新配置 也要在Terminal终端进行 4 测试配置
  • windwos11降级,重装Windows10

    windwos11降级 重装Windows10 序言 硬件信息 前提说明 制作U盘启动盘 修改电脑bios配置 重装系统 U盘启动 注意事项 驱动问题 序言 电脑到手查看安装的是Windows11家庭版系统 在视觉上整体感受更加圆滑柔顺 但
  • C++中动态数组实现

    实现动态数组 动态数组 示例代码 运行环境 运行效果 动态数组 动态数组Vector可以动态扩展内存 其采用连续的内存空间 当内存空间不足 便以原来的容量的2倍或者1 5倍成倍的扩展 将原有的数组元素拷贝到新分配的内存空间中 释放原有的内存
  • [Unity3D]呼风唤雨:天气插件UniSky的使用教程与案例

    UniSky是Unity3D的一款模拟环境天气的插件 使用它可以简单的实现呼风唤雨的各种功能 下载地址 请点击我 使用起来也非常的方便 引入Package后 注意路径必须是英文否则会出错 Project中会多一个文件夹 下面我们来简单的创建
  • 华为OD机试 【玩牌高手】(Java )

    题目 代码 import java util Scanner public class CardScoreCalculator public static void main String
  • 关于线性回归那些事儿

    1 如何理解线性回归中的方差齐性 在两组和多组比较中 每组都有很多数据 可以求出每组的方差 然后比较就行了 很容易理解 但是在线性回归中 有的人就不理解方差齐性是什么意思了 因为线性回归中自变量x不是分类变量 x取值很多 通常情况下 每个x