转自个人微信公众号【Memo_Cleon】的统计学习笔记:线性回归中的正态分布。

统计方法一般都有其适用的条件,或者说是必须满足的统计假设。使用线性回归需要满足线性、独立性、正态性、方差齐性、自变量间不存在多重共线、因变量为连续变量。不考虑前提条件地生搬硬套,也不对模型进行诊断,只能是“Garbage in,garbage out”。今天谈谈线性回归的正态性检验的方法论。

首先要弄清楚线性回归模型中正态分布的概念。有人在进行线性回归模型的正态性检验时,直接将对因变量进行检验,这实际上是对线性回归正态性检验的误解。线性回归模型的正态性指的是模型的残差服从均值为0方差为σ^2(标准化残差服从均数为0,方差为1)的正态分布。

当自变量为分类变量、因变量为连续变量时,也是可以采用线性回归的。只是在更多的时候,这种类型的分析我们更关注的是组间差异比较而不是线性回归预测,通常采用方差分析或者t检验,尤其是自变量只有1个对的时候。模型假定不同的组来自同一个总体中的抽样,各组(严格说应该是各个单元格)的残差服从同一个正态分布,不同组的残差均服从同一个均数为0标准差为σ2的正态分布。在实际考察的时候我们往往直接考察 固定的自变量值(不同的组)对应的因变量值是否呈正态分布。比如4个随机分组的方差分析,想要考察的分组变量即为自变量,该自变量有4个水平,可以被赋值为1、2、3、4,此时的分类自变量每个水平都有多个相同的取值,可以分别考察自变量等于1、2、3、4时对应的因变量是否满足正态分布,只有1个因素考察因变量残差与直接考察因变量是一致的。当然我们也可以采用了线性回归进行分析,为了消除赋值带来的误差,多分类的自变量在线性回归模型中需要设置成哑变量,结果同方差分析是一致的。

今天我们重点讨论的是第二种情况:当自变量为连续变量时。此时自变量每个“水平”的取值往往只有有限几个甚至只有1个,其对应的因变量观测值也只有几个甚至1个,毕竟每个自变量一次抽样只能对应一个因变量值,很显然这么小的样本量没法直接像自变量为分类变量那样考察每个“水平”的因变量值是否正态。而且连续性变量取值往往较多,即使我们的样本量足够大,自变量的每一个固定值有多个取值,这种考察正态性的工作量也会变的很大。这种情况下,对正态性的考察回归到对所有残差的考察反而更简便。

示例:某地方病研究所调查了8名正常儿童的尿肌酐含量(mmol/24h)如表,估计尿肌酐含量(Y)对其年龄(X)的回归方程。

这是一个简单线性回归,回归方程并不难求:

Analyze>>Regression>>Linear……

Dependent(因变量):选入Uc;

Independent(自变量):选入age;变量筛选方法(Method)选择ENTER;

Statistics…:除默认的回归系数估计、模型拟合检验外,选中R2改变量;

Plots…:Y选入*ZRESID(标准化残差),X选入*ZPRED(标准化预测值),选中Histogram(标准化残差的直方图)、Normal probability plot(标准化残差的正态概率图)复选框;

Save…:非标准化预测值、标准化预测值、非标准化残差、标准化残差。

主要结果:

模型概要:纳入年龄变量,对模型的改变是有统计学意义的(P=0.004);相关系数R为0.882表明年龄与尿肌酐的回归关系较为密切;决定系数R2为0.778,表明年龄可以解释的变异占总变异的77.8%,即年龄可解释因变量77.8%的变异;校正的决定系数R2主要用于多重线性回归时不同数量的自变量模型间的拟合效果比较,简单线性回归中无实际意义。

回归模型方差分析检验:F=20.968,P=0.004<0.05,表明纳入自变量的回归系数不全为0,回归模型有统计学意义。由于本例是只有一个自变量的简单线性回归,其等价于年龄的回归系数具有统计学意义。

回归系数:Uc=0.139*age+1.662,年龄每增加1岁,尿肌酐含量平均升高0.139mmol/24h。常数项和年龄的系数的t检验表明两者均有统计学意义(两者都不为0)。注意年龄系数检验统计量t=4.579恰好为模型方差检验统计量F的平方根。

正态性考察:注意是对残差的考察,不是因变量,尤其是在多重线性回归当中尤为注意。残差可在线性回归对话框的[保存Save…]按钮直接生成。

【1】图示法:如直方图、Q-Q图、P-P图等。直方图和Q-Q图在上述的线性回归操作中会自动生成,P-P图、Q-Q图也可在菜单生成(分析>>描述性统计量>>P-P图;分析>>描述性统计量>>Q-Q图)。从直方图和P-P上看,残差基本满足正态分布。

图示法带有较强的主观性,对于界限的问题不同的人有不同的标准,比如Q-Q图,到底数据点离开直线多远就不算正态了?可在Q-Q图上加上95%置信区间,如果数据点均集中在直线附近,也没有超出95%置信区间线,这说明数据呈正态。SPSS可在结果上双击进入图片编辑器手动添加95%置信区间,R和JMP的运行结果如下,结果显示数据呈正态。

附R命令语句清单

setwd("D:/Temp") #设置工作目录#

library(foreign)#加载foreign程序包#

normvar

norm

library(car) #加载car程序包#

library(carData)#加载carData程序包#

qqPlot(norm)#Q-Q图#

JMP 操作步骤:

分析>>以X拟合Y;

l Y,响应:Uc,X,因子:age,确定;

l 二元拟合,以“age”拟合“Uc”前倒三角菜单>>拟合线;

l 线性拟合前倒三角菜单>>保存残差,保存预测值,标绘残差;

分析>>分布;Y,列:“Uc”残差;确定;

l “Uc”残差前倒三角菜单>>正态分位数图;

l “Uc”残差前倒三角菜单>>连续拟合>>正态。

预测值和残差的散点图也可以大体判断数据是否呈正态。如果数据呈正态分布,散点图中的点应该是随机散布在残差为0的直线上下。本例数据不多,该法不好判断。

左上图按上述SPSS操作可以直接生成;

右上图STATA步骤:

统计>>线性模型及相关>>线性回归:[模型]选项卡中因变量选择Uc,自变量选择age,确定;

统计>>线性模型及相关>>回归诊断>>残差对拟合值图,[主要]选项卡中直接点击的确定。

相应的STATA语句命令

use "D:\Temp\sLR.dta"

regress Uc age

rvfplot

【2】当然除了图示法,我们也可以直接利用统计学检验的方法,如Explore过程对保存的残差进行统计学检验(分析(Analyze)>>描述统计量(Descriptive Statistics)>>探索(Explore)),结果如下:两种检测方法均显示残差呈正态分布。同时我们也发现残差和因变量的检验结果是不同的,正如一开始讲的,对线性回归的正态性不正确理解可能会导致不一致的结果甚至错误的结论。

如果你不幸碰到了严重偏态的数据,数据变换是常用的一种方法,比如可以采用Box-Cox变换,这个我们在以前谈过。数据如果有异常点,也会导致数据非正态,此时可以考虑稳健回归。另外分位数回归、非参数回归也是可以考虑的选择。

END

转自个人微信公众号【Memo_Cleon】的统计学习笔记:线性回归中的正态分布。

回归的误差服从正态分布吗_线性回归中的正态分布相关推荐

  1. 回归的误差服从正态分布吗_盘点10大回归类型:总有一款深得你心

    全文共2507字,预计学习时长5分钟 除了统计模型和其他的一些算法,回归是机器学习成功运行的重要构成要素.回归的核心是寻找变量之间的关系,而机器学习需要根据这种关系来预测结果. 显然,任何称职的机器学 ...

  2. 回归的误差服从正态分布吗_10大机器学习的回归类型,你会如何选择?

    全文共2507字,预计学习时长5分钟 除了统计模型和其他的一些算法,回归是机器学习成功运行的重要构成要素.回归的核心是寻找变量之间的关系,而机器学习需要根据这种关系来预测结果. 显然,任何称职的机器学 ...

  3. [统计]_线性回归中因变量一定要正态分布吗?

    先说结论,不需要 线性回归的方程是:y=β0+β1x1+β2x2+--+μ 对于这个方程的假设是: 1.y与x呈线性关系 2.μ与x不相关 3.μ期望值为0(E(μ)=0) 4. μ独立同分布(任何两 ...

  4. python 回归去掉共线性_线性回归中的多重共线性与岭回归

    上篇文章<简单而强大的线性回归详解>(点击跳转)详细介绍了线性回归分析方程.损失方程及求解.模型评估指标等内容,其中在推导多元线性回归使用最小二乘法的求解原理时,对损失函数求导得到参数向量 ...

  5. python画成绩正态分布图_终于搞清楚正态分布、指数分布到底是啥了!

    来源:可乐的数据分析之路作者:可乐 今天这篇文章接2个月以前的那篇文章 离散型随机变量的概率分布,继续来聊聊连续型随机变量的概率分布,以及用Python如何实现. 并非所有的数据都是连续的,根据数据类 ...

  6. python生成正态分布矩阵_使用Numpy生成正态分布数据

    如何使用Python生成正态分布的人员身高体重信息? 下面是生成的数据的分布情况,身高数据在各个区间大致呈正态分布. 对应的代码如下,先用pd.cut进行各个区间分桶,然后使用sort_index按照 ...

  7. plor 回归的r方_线性回归中的R方是什么意思

    展开全部 R²是指拟合优度,是回归e5a48de588b63231313335323631343130323136353331333431366261直线对观测值的拟合程度. 表达式:R2=SSR/S ...

  8. python回归方程系数计算_线性回归中的正规方程将θ系数返回为“NaN”

    我试着用正规方程的方法做线性回归.在我的数据中,我有n=143特征和m=13000培训示例.我知道当特征数大于10000时,不推荐使用正态方程法.但我只有143个特征.我的代码返回'nan'作为θ(线 ...

  9. python随机生成正态分布函数_使用python实现正态分布函数

    用来计算连续变量的发生率,说的很抽象,简单说就是单独拿出来没什么太大用,但并不是说这个没什么用,相反这个太重要了,这玩意能让你看清世界的真相 先看个图,像这样的线性就是正太分布 这是一个标准的正态分布 ...

  10. 线性回归和逻辑回归的区别_线性回归

    在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析.其中只有一个自变量的情况称为简单回归,大于一个自 ...

最新文章

  1. 数据控制语言(DCL)语法合集
  2. python ssh登陆模块_Python sshh包_程序模块 - PyPI - Python中文网
  3. 手写springmvc
  4. Maven配置nexus
  5. python整数转字节数组_【转】Python内置函数(7)——bytearray
  6. 拉格朗日中值定理ξ怎么求_【实力干货】!!!高中数学教材之外的常用定理和公式!!!...
  7. Java NIO1:I/O模型概述
  8. cisco独臂路由(即单臂路由)的配置
  9. 容器技术Docker K8s 32 容器服务ACK基础与进阶-弹性伸缩
  10. 1到20的阶乘和是多少 php,20的阶乘(1到20的阶乘和结果)
  11. MFC显示bmp图像
  12. three.js 视频作为纹理贴图
  13. 既往不恋,当下不杂,未来不迎
  14. 今日杂谈---重用和程序员
  15. 我的电脑图标没了怎么办?3个方法找回消失的图标
  16. 【流媒体开发】【数据与封装格式】20、AAC码流格式与解析
  17. ios文件和文件夹管理
  18. Matlab之绘制瀑布图
  19. Image-Guided Navigation of a Robotic Ultrasound Probe for Autonomous Spinal Sonography Using a
  20. Windows10安装fiddler工具安装证书失败总结手机抓包总结

热门文章

  1. android开发 判断连点退出
  2. HL-1208机器清零方法
  3. 安装mysql中error nr.1045_win10系统安装mysql提示error Nr.1045如何解决
  4. 数分下第12讲(第9.6节) 梯度散度和旋度
  5. vimium 快捷键(常用)
  6. 境外业务性能优化实践
  7. python:图片显示
  8. 个人计算机组装主板,电脑主板安装详细图解 可以自己组装电脑了
  9. 聊聊最近的几件小事儿
  10. JAVA / JS 中关于this和that