传达回归模型结果

机器算法验证 回归 造型 预测模型 模型选择 诊断
2022-03-23 13:01:23

我担心大多数人(无论是在学术界还是在学术界之外)都没有能力正确使用线性回归等标准模型构建方法并解释这些模型的结果。从我自己的观察和文献来看,很明显大多数人都没有得到他们可用的标准统计工具的服务。

为了改善这种情况,我想提出一套不同的模型评估输出表(示例如下表2和表3所示)来代替现在几乎普遍使用的标准输出表(示例如表1所示)。这种新的输出格式对人为错误(模型规范和分析)的鲁棒性更大,这是我们当前的格式。

我想问问人们对这个提议的方法的批评,以及是否有兴趣使用它。

(很抱歉这篇文章的长度,它比预期的要长得多)

方法概述

首先,使用留一交叉验证 (LOOCV) 计算“诚实的 ”,以获得模型拟合的总体度量。简单地说,依次移除每个数据点,估计没有该数据点的模型,然后使用缩减模型计算移除数据点的值,并使用这些误差来估计你的R2R2

然后对于模型中的每个系数,从模型中删除该参数并为该子模型计算“诚实 ”。将系数添加到模型中的效果计算为整体模型的减去去除系数时子模型R2R2R2

因此,该系数的正值表示将其添加到模型时拟合得到改善;负值表示拟合降低。R2

结果将被报告为一个简单的真实值表(参见下面的表 2 和表 3 中的示例)。R2

讨论

这种方法被设计为简单明了并做三件事:

  1. 为最终用户提供解释模型和系数的(实际)重要性所需的信息
  2. 以他们已经熟悉的形式向最终用户提供此信息
  3. 在开发模型和解释结果时最大限度地减少用户错误的影响

我认为这种方法可以做到这三点。使用普遍理解的度量应该意味着它很容易理解并且可以直接插入用户现有的心理框架。R2

其次,这种方法的使用是稳健的:无论是对错误指定的模型还是对糟糕的解释。大多数模型都依赖于用户经常无法检查的某些假设是否得到满足。当然,线性回归中系数的 p 值取决于某些通常或多或少违反的参数假设。这种提议的方法对此类问题具有弹性(与常规输出统计一样,它容易受到的主要问题是观察之间的相关性,这可能导致对诚实的的高估)。R2

关于结果的解释,p 值或经常被误解(如已广泛指出的那样)。我相信这种诚实的方法对这些问题更具弹性,因为它专注于效果大小(这通常是人们错误地将 p 值作为代理的原因)。它强调实际意义而不是统计意义,这是人们经常遇到的一个概念。R2

此外,这种方法允许直接将结果与其他方法(甚至那些不产生可能性的方法)生成的结果进行比较,例如随机森林等机器学习技术。

这种方法的一个问题是计算负担。如果 LOOCV 在计算上不可行,我建议使用 10 倍或 5 倍 CV。由于这些方法会导致更高的错误(因为模型在较小的数据集上进行训练),因此它们报告的真实值将是保守的。因此,它们可以代替 LOOCV 使用和报告,任何错误比较的风险都是保守性质的。R2

另一个问题是已知 LOOCV 估计具有高偏差。我不确定如何处理,或者这是否是一个严重的问题。最后一点是 LOOCV 渐近等效于 AIC,因此这可能有点适合该范式。

应用实例

采用一组住房数据(http://archive.ics.uci.edu/ml/datasets/Housing),我们尝试根据平均房屋年龄、房屋中的房间数量、污染物水平来预测郊区的平均房屋价值,学生与教师的比例,以及靠近高速公路。我们从线性回归开始。

下面类似于大多数软件当前将输出的内容(这个特定的表格是由 R 生成的)。

表 1. 标准回归表。

系数:
               估计标准。误差 t 值 Pr(|t|)    
(截取) 7.76739 4.98881 1.557 0.120112    
年龄 -0.01509 0.01378 -1.096 0.273773    
房间 7.00565 0.41172 17.015 2e-16 ***
氮氧化物 -13.31418 3.90262 -3.412 0.000698 ***
学生.教师 -1.11645 0.14799 -7.544 2.17e-13 ***
公路 -0.02487 0.04257 -0.584 0.559341    
---
意义。代码:0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1''1

残差标准误差:500 自由度上的 5.819
多重 R 平方:0.6037,调整后 R 平方:0.5997

更诚实的统计结果如下所示。请注意,鉴于我们在表 1 中看到的结果,这些结果并不令人惊讶。表 1 中不显着的参数会导致模型更差,通过诚实的变化来衡量(同样是系数 Honest值表明当该系数添加到模型中时,R2R2R2

表 2. 建议的“诚实”统计表。

          项目系数Honest.R2  
  -完整型号- 0.593080  
   (截取)7.7674 -0.000998  
           年龄 -0.0151 -0.000409
         房间 7.0056 0.228901
           氮氧化物 -13.3142 0.008123
 学生.教师 -1.1165 0.045506
       高速公路 -0.0249 -0.002018

最后,这种方法允许我们直接比较更多奇特的算法,例如随机森林。与贝叶斯因子、AIC、BIC 或其他一些方法不同,比较不需要可能性。任何产生预测的东西都可以进行比较。方法来计算,分类算法也可以适合此方案R2R2

表 3. 算法之间的比较。

(在这种情况下支持向量机和随机森林)

        支持向量机 | 随机森林
          项目 Honest.R2 | 项目诚实.R2
  -完整型号- 0.71052 | -完整型号- 0.7450
           年龄 0.00834 | 年龄 -0.0128
         房间 0.34722 | 房间 0.2068
           氮氧化物 0.02338 | 氮氧化物 0.0654
 学生.教师 0.01813 | 学生.教师 -0.0127
       高速公路 -0.00381 | 高速公路 -0.0255

旁注:解释这些结果很有趣,正如我们在线性模型中看到的那样,每个教师的学生对房价有统计上的显着影响。在随机森林模型中,它没有。由于随机森林模型是模型中最具预测性的模型,我不得不得出结论,这是该系数没有显着(实际意义)影响房价的证据。这是盲目地将线性模型应用于所有事物并使用它进行假设检验的弱点的一个小例子。

执行

我已经在 R 中上传了(粗略的、未优化的)代码以在以下位置实现此技术:

http://dl.dropbox.com/u/94002/HonestStats.R

如果有兴趣,我可以对其进行优化,使其对线性模型更快,并实现诸如 k-Fold CV 之类的东西。

4个回答

除了 Michelle 的回答之外,预测能力(由衡量)与回归的所有用途都不相关。R2

在您的示例中,如果有人对平均房价的差异感兴趣,比较 NOx 水平相差一个单位但所有其他协变量具有相同值的房屋,那么(给定一些线性假设)表 1 中的回归是正确的做法,不管它的R2

以我的经验,让人们在“感兴趣的数量”之间进行翻译。和“我们要做什么回归?” 比量化预测能力更具挑战性。

我不同意需要另一个整体方法评估,也许更有用的是人们使用他们已经可用的统计数据报告模型摘要,例如:

我认为不需要另一个统计数据。我认为,对 p 值的误解是一个不同的问题。

根据以下评论更新:您的方法似乎忽略了模型如何解释方差。当您遇到“缺失变量”问题时,缺失变量所解释的一些方差被分配给与其相关的变量,而其余的则是错误。这是由于测量误差、代理变量的使用(特别是在社会科学中)等原因而发生的。因此,当您向模型中添加新变量时,您并没有得到对方差解释的纯粹调整。如果引入互动,情况会更加复杂。本质上,您的“诚实的 R^2”提倡一种逐步模型(在最后一步添加了添加的变量),并且这些模型存在重大问题。

迄今为止的共识似乎是反对的,我不得不说我同意。每隔一段时间,我就会遇到这样的论点:“人们在统计数据上犯了很多错误,如果我们改用“,所有这些问题都会消失_________”。我还从来没有觉得有说服力,恐怕也不在这里。我认识到您喜欢的方法有一些优点,但它并没有解决旧方法可能出现的所有问题,几乎肯定会像旧方法一样容易被滥用,并且总体上不一定比当前方法被知道自己在做什么并关心正确使用它们的人很好地使用时。

我最近在这里无休止地谈论了一个类似的问题——它不完全一样,但它足够相似,可以理解。我的主要观点是,发生的许多糟糕的数据分析可以最好地描述为“机械”(或“死记硬背”,用克利夫兰的话)。将一种机械方法转换为另一种不太可能改变这一点。我可以想到两个相关的问题,我没有在那里讨论:

  • 有很多人需要能够在他们的工作中分析数据,他们的数学背景薄弱和/或数学恐惧症。我们可以自由地不喜欢现实的这一方面并抱怨它,但它不会消失。在实践中分析不佳的部分原因是很多人并不真正了解正在发生的事情,并且认为统计分析好像它们以某种方式起作用。为了减少有问题的分析,我们需要找到方法让人们对统计分析的工作原理有一个基本的(非基于魔法的)概念掌握。(应该注意,像 CV 这样的网站是解决这个问题的一部分。)
  • 有很多聪明、感兴趣的人被他们处理的内容所吸引,但他们对与该主题信息交织在一起的方法(统计或其他方式)兴趣不大。我们需要让人们接受这样一个事实,即方法论问题也非常重要。这并不容易。你可以指出一些实际情况,其中事情做错了,重要的结论被遗漏或弄错了,但这很容易被认为是霸道而让人反感。我没有好的解决办法。

当这三个问题得到解决时,更好的数据分析将自行出现(无需任何新技术)。也就是说,当人们认为方法论问题很重要时,合理地理解它们,而不是简单地机械地应用它们。然而,只要这些条件继续存在,新技术就不能保证更好的分析。你证明你的方法将有助于#2,而且很有可能,但这还不够。

关于你的方法的优点,我认为它有一些优点和缺点。其他人指出了一些我同意的问题,因此不再重复。但是,我确实想说,使用预测准确性使这种方法更适合预测建模,而不太适用于解释建模(有关 CV 的讨论,请参见此处,并参见该页面上列出的链接)。最后,在风格上,我建议您更改表中的符号(2 和 3),以便数字表示如果删除该术语,则从顶行开始-Full Model- Honest.R2变化这对人们来说会更加清晰和直观。

恐怕这种反应非常消极。我不是故意的。你的方法显然有一些好主意。我根本不认为它或任何其他此类候选解决方案将解决我们的问题。

您所描述的内容几乎已经在带有保留期的逐步回归方法中得到了体现。至少正如 XLStat 之类的软件所呈现的那样,后者选择最佳变量并揭示最佳单变量模型、最佳 2 变量模型等的 R 平方是什么......它不断添加变量,直到调整后的 R 平方价值不再上涨太多。因此,您可以很容易地看到每个附加变量提供了多少增量信息。