京公网安备 11010802034615号
经营许可证编号:京B2-20210330
R语言-如何处理违背回归假设的问题
我们已经花费了不少篇幅来学习回归诊断,你可能会问:“如果发现了问题,那么能做些什么呢?”有四种方法可以处理违背回归假设的问题:
删除观测点;
变量变换;
添加或删除变量;
使用其他回归方法。
下面让我们依次学习。
8.5.1 删除观测点
删除离群点通常可以提高数据集对于正态假设的拟合度,而强影响点会干扰结果,通常也会被删除。删除最大的离群点或者强影响点后,模型需要重新拟合。若离群点或强影响点仍然存在,重复以上过程直至获得比较满意的拟合。
不过,我对删除观测点持谨慎态度。若是因为数据记录错误,或是没有遵守规程,或是受试对象误解了指导说明,这种情况下的点可以判断为离群点,删除它们是十分合理的。
不过在其他情况下,所收集数据中的异常点可能是最有趣的东西。发掘为何该观测点不同于其他点,有助于你更深刻地理解研究的主题,或者发现其他你可能没有想过的问题。我们一些最伟大的进步正是源自于意外地发现了那些不符合我们先验认知的东西(抱歉,我说得夸张了)。
8.5.2 变量变换
当模型不符合正态性、线性或者同方差性假设时,一个或多个变量的变换通常可以改善或调整模型效果。变换多用Y λ 替代Y, λ 的常见值和解释见表8-5。
若Y是比例数,通常使用logit变换[ln (Y/1-Y )]。
当模型违反了正态假设时,通常可以对响应变量尝试某种变换。 car包中的powerTransform()函数通过λ 的最大似然估计来正态化变量X λ。代码清单8-10是对数据states的应用。
结果表明,你可以用Murder0.6来正态化变量Murder。由于0.6很接近0.5,你可以尝试用平方根变换来提高模型正态性的符合程度。但在本例中, λ= 1的假设也无法拒绝(p=0.145),因此没有强有力的证据表明本例需要变量变换,这与图8-9的Q-Q图结果一致。
当违反了线性假设时,对预测变量进行变换常常会比较有用。 car包中的boxTidwell()函数通过获得预测变量幂数的最大似然估计来改善线性关系。下面的例子为用州的人口和文盲率来预测谋杀率,对模型进行了Box-Tidwell变换:
结果显示,使用变换Population0.87和Illiteracy1.36能够大大改善线性关系。但是对Population(p=0.75)和Illiteracy(p=0.54)的计分检验又表明变量并不需要变换。这些结果与图8-11的成分残差图是一致的。
响应变量变换还能改善异方差性(误差方差非恒定)。在代码清单8-7中,你可以看到car包中spreadLevelPlot()函数提供的幂次变换应用,不过, states例子满足了方差不变性,不需要进行变量变换。
谨慎对待变量变换
统计学中流传着一个很老的笑话:如果你不能证明A,那就证明B,假装它就是A。(对于统计学家来说,这很滑稽好笑。)此处引申的意思是,如果你变换了变量,你的解释必须基于变换后的变量,而不是初始变量。如果变换得有意义,比如收入的对数变换、距离的逆变换,解释起来就会容易得多。但是若变换得没有意义,你就应该避免这样做。比如,你怎样解释自杀意念的频率与抑郁程度的立方根间的关系呢?
8.5.3 增删变量
改变模型的变量将会影响模型的拟合度。有时,添加一个重要变量可以解决我们已经讨论过的许多问题,删除一个冗余变量也能达到同样的效果。删除变量在处理多重共线性时是一种非常重要的方法。如果你仅仅是做预测,那么多重共线性并不构成问题,但是如果还要对每个预测变量进行解释,那么就必须解决这个问题。最常见的方法就是删除某个存在多重共线性的变量(某个变量 vif
2 ) 。另外一个可用的方法便是岭回归——多元回归的变体,专门用来处理多重共线性问题。
8.5.4 尝试其他方法
正如刚才提到的,处理多重共线性的一种方法是拟合一种不同类型的模型(本例中是岭回归)。其实,如果存在离群点和/或强影响点,可以使用稳健回归模型替代OLS回归。如果违背了正态性假设,可以使用非参数回归模型。如果存在显著的非线性,能尝试非线性回归模型。如果违背了误差独立性假设,还能用那些专门研究误差结构的模型,比如时间序列模型或者多层次回归模型。最后,你还能转向广泛应用的广义线性模型,它能适用于许多OLS回归假设不成立的情况。在第13章中,我们将会介绍其中一些方法。至于什么时候需要提高OLS回归拟合度,什么时候需要换一种方法,这些判断是很复杂的,需要依靠你对主题知识的理解,判断出哪个模型提供最佳结果。既然提到最佳结果,现在我们就先讨论一下回归模型中的预测变量选择问题。
8.6 选择“最佳”的回归模型
尝试获取一个回归方程时,实际上你就面对着从众多可能的模型中做选择的问题。是不是所有的变量都要包括?抑或去掉那个对预测贡献不显著的变量?还是需要添加多项式项和/或交互项来提高拟合度?最终回归模型的选择总是会涉及预测精度(模型尽可能地拟合数据)与模型简洁度(一个简单且能复制的模型)的调和问题。如果有两个几乎相同预测精度的模型,你肯定喜欢简单的那个。本节讨论的问题,就是如何在候选模型中进行筛选。注意,“最佳”是打了引号的,因为没有做评价的唯一标准,最终的决定需要调查者的评判。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在 MySQL 实际应用中,“频繁写入同一表” 是常见场景 —— 如实时日志存储(用户操作日志、系统运行日志)、高频交易记录(支付 ...
2025-10-30为帮助教育工作者、研究者科学分析 “班级规模” 与 “平均成绩” 的关联关系,我将从相关系数的核心定义与类型切入,详解 “数 ...
2025-10-30对 CDA(Certified Data Analyst)数据分析师而言,“相关系数” 不是简单的数字计算,而是 “从业务问题出发,量化变量间关联强 ...
2025-10-30在构建前向神经网络(Feedforward Neural Network,简称 FNN)时,“隐藏层数目设多少?每个隐藏层该放多少个神经元?” 是每个 ...
2025-10-29这个问题切中了 Excel 用户的常见困惑 —— 将 “数据可视化工具” 与 “数据挖掘算法” 的功能边界混淆。核心结论是:Excel 透 ...
2025-10-29在 CDA(Certified Data Analyst)数据分析师的工作中,“多组数据差异验证” 是高频需求 —— 例如 “3 家门店的销售额是否有显 ...
2025-10-29在数据分析中,“正态分布” 是许多统计方法(如 t 检验、方差分析、线性回归)的核心假设 —— 数据符合正态分布时,统计检验的 ...
2025-10-28箱线图(Box Plot)作为展示数据分布的核心统计图表,能直观呈现数据的中位数、四分位数、离散程度与异常值,是质量控制、实验分 ...
2025-10-28在 CDA(Certified Data Analyst)数据分析师的工作中,“分类变量关联分析” 是高频需求 —— 例如 “用户性别是否影响支付方式 ...
2025-10-28在数据可视化领域,单一图表往往难以承载多维度信息 —— 力导向图擅长展现节点间的关联结构与空间分布,却无法直观呈现 “流量 ...
2025-10-27这个问题问到了 Tableau 中两个核心行级函数的经典组合,理解它能帮你快速实现 “相对位置占比” 的分析需求。“index ()/size ( ...
2025-10-27对 CDA(Certified Data Analyst)数据分析师而言,“假设检验” 绝非 “套用统计公式的机械操作”,而是 “将模糊的业务猜想转 ...
2025-10-27在数字化运营中,“凭感觉做决策” 早已成为过去式 —— 运营指标作为业务增长的 “晴雨表” 与 “导航仪”,直接决定了运营动作 ...
2025-10-24在卷积神经网络(CNN)的训练中,“卷积层(Conv)后是否添加归一化(如 BN、LN)和激活函数(如 ReLU、GELU)” 是每个开发者都 ...
2025-10-24在数据决策链条中,“统计分析” 是挖掘数据规律的核心,“可视化” 是呈现规律的桥梁 ——CDA(Certified Data Analyst)数据分 ...
2025-10-24在 “神经网络与卡尔曼滤波融合” 的理论基础上,Python 凭借其丰富的科学计算库(NumPy、FilterPy)、深度学习框架(PyTorch、T ...
2025-10-23在工业控制、自动驾驶、机器人导航、气象预测等领域,“状态估计” 是核心任务 —— 即从含噪声的观测数据中,精准推断系统的真 ...
2025-10-23在数据分析全流程中,“数据清洗” 恰似烹饪前的食材处理:若食材(数据)腐烂变质、混杂异物(脏数据),即便拥有精湛的烹饪技 ...
2025-10-23在人工智能领域,“大模型” 已成为近年来的热点标签:从参数超 1750 亿的 GPT-3,到万亿级参数的 PaLM,再到多模态大模型 GPT-4 ...
2025-10-22在 MySQL 数据库的日常运维与开发中,“更新数据是否会影响读数据” 是一个高频疑问。这个问题的答案并非简单的 “是” 或 “否 ...
2025-10-22