SPSS教程:做多重线性回归,方差不齐怎么办

(本文转自http://blog.sina.com.cn/s/blog_13eaccf160102xg8g.html)

今天我们就来继续讨论一下,如果残差不满足方差齐性时,应该如何解决?

一、残差方差齐性判断

1. 残差方差齐性

回顾一下前面介绍过的残差方差齐性,即残差ei的大小不随预测值水平的变化而变化。我们在进行残差分析时,可以通过绘制标准化残差和标准化预测值的散点图来进行判断。若残差满足方差齐性,则标准化残差的散点会在一定区域内,围绕标准化残差ei=0这条直线的上下两侧均匀分布,不随标准化预测值的变化而变化,如图1所示。

图1. 标准化残差散点图(方差齐性)

2. 残差方差不齐

但有时残差不满足方差齐性的假设,其标准化残差散点图显示,残差的变异程度随着变量取值水平的变化而发生变化,如图2(a)显示标准化残差的分布随变量取值的增大而呈现扩散趋势,图2(b)显示标准化残差的分布随变量取值的增大而呈现收敛趋势,说明残差不满足方差齐性的条件。

图2. 标准化残差散点图(方差不齐)

二、加权最小二乘法

在多重线性回归模型中,我们采用的是普通最小二乘法(Ordinary Least Square,OLS)来对参数进行估计,即要求每个观测点的实际值与预测值之间的残差平方和最小,对于模型中的每个观测点是同等看待的,残差满足方差齐性的假设。

但是在有些研究问题中,例如调查某种疾病的发病率,以地区为观测单位,很显然地区人数越多,所得到的率就越稳定,变异程度越小,而地区人数越少,所得到的率的变异就越大。在这种情况下,因变量的变异程度会随着自身数值或其他变量的变化而变化,残差不满足方差齐性的条件。此时如果继续采用OLS方法进行模型估计,则拟合结果就会受到变异程度较大的数据的影响,在这种情况下构建的回归模型就会发生偏差,预测精度降低,甚至预测功能失效。

为了解决这一问题,我们可以采用加权最小二乘法(Weighted Least Squares,WLS)的方法来进行模型估计,即在模型拟合时,根据数据变异程度的大小赋予不同的权重,对于变异程度较小、测量更精确的数据赋予较大的权重,对于变异程度较大、测量不稳定的数据赋予较小的权重,从而使得加权后回归直线的残差平方和最小,保证拟合的模型具有更好的预测价值。

三、SPSS操作

1. 研究问题

某研究人员拟研究PM2.5浓度与癌症发病率之间的关联性,以地区为观测单位,收集了40个地区的癌症发病率(/10万),PM2.5年平均浓度(μg/m3),人口数量(万),地区来源(0=农村,1=城市)等信息。(注:数据为模拟数据,不代表真实情况)

2. 判断残差是否满足方差齐性

参考多重线性回归的SPSS操作步骤,结果显示采用普通最小二乘法方法拟合的线性回归模型具有统计学意义(P<0.001),决定系数R Square为0.798,PM2.5平均浓度、不同地区来源(District)和不同人口数量对癌症发病率的影响有统计学显著性(P<0.05)。

残差散点图显示,标准化残差的变异程度会随着标准化预测值的增大而增大,呈现扩散趋势,表明残差不满足方差齐性的假设。

3. 权重估计

根据专业知识和经验判断,人口数量(Population)可能为导致残差不满足方差齐性的一个重要因素,下面对人口数量进行权重估计。

(1)选择Analyze → Regression → Weight Estimation,在Weight Estimation对话框中,将Cancer选入Dependent,将District和PM2.5选入Independent(s)中。

(2)将拟加权的变量Population选入Weight Variable中,系统将按照1/(权重变量)的power次幂对每条记录进行加权。

(3)Power range用于定义权重变量的指数,默认为-2~2,步长为0.5,即将拟合指数分为-2、-1.5、-1、-0.5、0、0.5、1、1.5和2一共构建9个方程中,并从中选取效果最佳的一个拟合指数。本例中标准化残差随着标准化预测值的增大而增大,因此Power range为正值,此处设定Power range的范围为0~5,步长为0.5。

(4)点击Option,选择Save best weight as new variable,生成一个新的变量用以保存效果最佳的权重。最后点击Continue回到Weight Estimation主对话框,点击OK完成操作。

(5)结果汇总

Log-Likelihood Values表中输出了在给定步长下每个指数值对应的对数似然值,选取对数似然值最大的一项为最优指数,因此本例中最终确定的最优指数值为3,即权重按照1/population3的函数关系来计算权重。同时系统会在确定最优指数的情况下,自动生成一个名为WGT_1的变量用于保存权重系数。

4. 最小二乘法操作

(1)选择Analyze → Regression → Linear,在Linear Regression对话框中,将Cancer选入Dependent,将District、PM2.5、Population选入Independent(s)中,将新生成的变量Weight for Cancer from WLS(WGT_1)选入WLS Weight中。

(2)点击Save选项,在Predicted Values和Residuals框下均选择Unstandardized。最后点击Continue回到Linear Regression主对话框,点击OK完成操作。

(3)绘制残差散点图

由于在SPSS中使用WLS模型无法直接绘制加权残差散点图,SPSS会给出相应的警示(如下图所示),因此我们需要按照SPSS提示中提供的计算公式,对加权预测值和加权残差值进行一定的转换,然后再绘制转换后的加权残差散点图。

选择Transform → Compute Variable,利用前几步操作生成的权重值(WGT_1)、加权预测值(PRE_1)和加权残差值(RES_1)来计算生成两个新变量,即转换的加权预测值wgtpred = PRE_1 * sqrt(WGT_1)和转换的加权残差值wgtresid = RES_1 * sqrt(WGT_1)。

然后选择Graphs → Legacy Dialogs → Scatter/Dot → Simple Scatter,将wtgpred选入X Axis,将wtgresid选入Y Axis,点击OK绘制散点图。

5. 结果汇总

(1)结果显示,采用加权最小二乘法拟合的线性回归模型仍具有统计学意义(P<0.001),决定系数R Square为0.779。由于决定系数计算方法本身的问题,在加权线性回归里会出现一定的偏差,导致加权方法计算得到的R2往往要小于普通最小二乘法的R2,但这并不代表加权的模型比普通模型的拟合效果差,两者不能简单相比。

(2)模型结果显示,PM2.5平均浓度、不同地区来源(District)和不同人口数对癌症发病率的影响有统计学显著性(P<0.05),且偏回归系数较普通最小二乘法更为稳健。

(3)转换后的加权残差散点图显示,残差的散点围绕ei=0这条直线的上下两侧均匀分布,不随预测值的变化而变化,说明经过加权校正后,残差已满足方差齐性的条件,达到了加权校正的目的。

本文介绍了残差不满足方差齐性的处理方法,如果是其他条件不满足时,该如何处理呢?我们后续还会再做介绍,敬请期待!

转载于:https://www.cnblogs.com/jiangkejie/p/10077277.html

最小二乘中的误差项的方差齐性相关推荐

  1. 有限覆盖定理证明区间套_圆内整点问题的开普勒猜想证明,关于圆内整点问题误差项的估值E(r)=1-x,x=sin(nx)...

    将圆内整点问题视为格点对于圆的最大密度填充,用开普勒猜想证明,二维平面的 圆内整点问题误差项的估值 ,圆半径的格点数表示 , , 延拓至椭圆内整点问题结合皮克定理可应用于椭圆周长计算,当短长轴之比趋于 ...

  2. ios 数组中的字典排序_题解 | 26.删除排序数组中的重复项

    假设我们有一个传感器,会不停地向 HQ 传输已经归类好数据,数据的格式全部是数字(种类编号),且已经按照从小到大的顺序排列,大概是 [1,1,4,5,7,9] 这样的,但是我们的需求在于,希望知道有多 ...

  3. 【数值分析学习笔记】——1、数值分析中的误差

    1.1截断误差与舍入误差 误差 类型 固有误差 模型误差 测量误差 计算误差 截断误差 舍入误差 数值分析中主要讨论的是计算误差,包括截断误差与舍入误差. (1)舍入误差:由于数字计算机不能准确地表示 ...

  4. 把数据库中有关枚举项值的数字字符串转换成文字字符串

    原文:把数据库中有关枚举项值的数字字符串转换成文字字符串 标题可能无法表达我的本意.比如,有这样一个枚举: public enum MyChoice { MyFirstChoice = 0, MySe ...

  5. 【每日一算法】删除排序数组中的重复项

    微信改版,加星标不迷路! 每日一算法-删除排序数组中的重复项 作者:阿广 阅读目录 ? 题目 ? 解析 ? 完整代码 1 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次 ...

  6. R语言plotly可视化:plotly可视化在散点图中添加误差条(Scatterplot with Error Bars with plotly in R)

    R语言plotly可视化:plotly可视化在散点图中添加误差条(Scatterplot with Error Bars with plotly in R) 目录 R语言

  7. R语言unique函数计算数据对象(vector、dataframe)的unique独特值:unique函数从vector向量、dataframe中删除重复项、删除dataframe重复行

    R语言unique函数计算数据对象(vector.dataframe)的unique独特值:unique函数从vector向量.dataframe中删除重复项.删除dataframe重复行 目录

  8. LeetCode 26 号问题 删除数组中的重复项

    删除数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条 ...

  9. 如何在IE右键菜单中添加菜单项(转)

    (来自:http://www.jaron.cn/chs_scripts/7/2003-11/20031125111738-101413.html) 如果使用过Netants的朋友可能都知道,NetAn ...

最新文章

  1. 50~80万项目需求|室内场景三维重建项目
  2. boot spring 接口接收数据_基于 Spring Boot 实现 Restful 风格接口,实现增删改查功能...
  3. 对话机器学习大神Yoshua Bengio(上)
  4. 关于低分辨率像素游戏下显示非防锯齿中文 / 汉字的研究
  5. 一名优秀的开发人员,空闲时间会敲代码吗
  6. Java容器-面试题
  7. linux下slow,慢查询日志的分析工具mysqlsla的使用
  8. 一线互联网架构师设计思想解读开源框架!全套教学资料
  9. 力扣-1877 数组中最大数对和的最小值
  10. Linkedin领英如何避免封号
  11. 1分钟读懂人口普查大数据——第七次人口普查数据可视化BI分析
  12. 存储数据使用数据库而不用EXCEL
  13. java url解码_URL的编码和解码
  14. win10怎么用计算机二进制,教你如何使用Win10计算器进行进制转换?
  15. 科学计算机sd mode使用方法,科学计算器使用方法
  16. joomla新建模板_WordPress v Joomla:模板和主题
  17. 中考体育项目满分标准(深圳、安徽、湖北)
  18. python win32con_python win32 简单操作方法
  19. Hadoop是什么,主要有哪些优势?
  20. IDEA安装后无法启动

热门文章

  1. OpenGL之gluLookAt 函数详解
  2. C语言——十进制转换十六进制
  3. ARC060 C - Tak and Cards(dp,背包)
  4. 矩阵乘法 | 多线程优化加速
  5. 破案侦查,谁是小偷?
  6. uniapp云打包app配置 (证书,密钥)
  7. 文件服务器磁盘配额管理,文件服务器磁盘配额管理.doc
  8. php使用curl进行IP代理访问
  9. IT 小笑话,闲暇放松
  10. 区块链亮相浙江卫视,用看得见的应用做科普