数据科学家应知的三个回归事项

数据科学家应知的三个回归事项

与其说我是数据科学家,不如说我是数学家。我不能在不了解幕后情况下盲目地执行方法。我必须用数学知识去检验自己的结论是否站得住脚。这是一件好事,因为现在运行模型很容易并且还能轻松回家。

一个模型的好坏取决于你对它的理解,我担心很多人都在运行模型时看到它的最初的结果就浅尝辄止了。当谈到回归建模——最常见的建模形式之一,如果你能了解一些关于这些模型的工作原理以及它们设置方式的简单信息,你将成为更好的数据科学家。如果你想了解更多关于数据科学的相关内容,可以阅读以下这些文章:
认识Julia:数据科学的未来
如何成为全栈数据科学家?
数据科学家V.S数据分析师面试全对比
大部分数据科学课程没有教给你的内容

1. 你预测的是平均值,而不是实际值

当你运行回归模型时,通常会发现输入变量和与结果相关的某种均值之间的关系。让我们来看看线性回归。当我们运行线性回归时,我们对结果变量y进行了两个非常重要的假设:

  1. 对于任何给定的输入变量,y的可能值通常围绕均值分布。我们期望y值的曲线呈钟形。
  2. y的均值与输入变量具有附加的关系。也就是说,要得到y的平均值,需要将每个取决于输入变量的一些数字相加所得。

当你使用模型进行预测时,给定输入值集的预测(或建模)y值是y可能取的所有值的平均值的估计值。因此,在传达模型的结果时,你应该始终小心,以确保这种不确定性是明确的。

实现这点的一种方法是使用预测区间,该预测区间考虑了建模平均值周围y的预期正态分布。请注意,这与你建立模型经常产生的置信区间不同,置信区间只是均值周围的不确定性区间,因此通常比预测区间窄得多。在下面的图表中,我展示了日本第一次樱花盛开当天的拟合线性回归分析,与3月的平均气温相关。红线表示建模平均值,深灰色区域表示该平均值周围的置信度,但浅蓝色区域表示95%的预测区间。看到多宽了吗?它本就应该是这样的,因为它试图捕获y的95%的可能值。

连接到此图像的R代码(https://gist.github.com/keithmcnulty/b5c99be9185ef18e6925512e2b24ec63)。本文中的所有图像均由作者生成

思考上图的一种方法是考虑三月温度给定值下的垂直“切片”。该切片可被视为“隐藏钟形曲线”。中心的红点代表钟形曲线的预期中心,深灰色区域代表钟形曲线中心周围95%的不确定性范围,浅蓝色阴影区域代表整个钟形曲线的95%。

2. 预期结果为正态分布

这一点在前一点中有所提及,但预计模型的结果将在建模平均值周围呈正态分布。这意味着,如果你将模型的所有误差(或残差)绘制在直方图上,它应该看起来像钟形曲线。

你可以用这个期望值来实际评估你的模型有多“好”。你的误差分布看起来越“正常”,你对你所建模的均值是一个“好”均值就越有信心。所以在运行线性模型之后,检查残差的分布总是一个好主意。你可以使用简单的直方图或密度图来实现这一点。或者你可以使用分位数-分位数图(或QQ图)。QQ图将模拟结果的分位数与理想正态分布的理论分位数进行比较。这条线越完美,你就越有信心塑造出一个“好”的均值。

在下面的例子中,我模拟了一组人的身高和体重之间的关系,其中一些人是儿童。左边我建立了身高和体重之间的直接线性模型,右边我建立了高度和体重对数之间的线性关系。顶行显示模型拟合,中间行显示残差分布,底行显示相应的QQ图。你可以看到,在右边,我们的模型对高度的平均值做出了更好的估计。

3.当你的处理是乘法的时候,你必须对你的结果做出重要的改变

上面的两个示例演示了我们通常期望的添加过程。我这样做的意思是什么?

在线性建模中,我们通过用一堆数字相加来建模我们的结果——“数字”通常是每个输入变量的特定倍数或变换。假设这些输入变量中的每一个本质上都是随机的,当你创建随机变量的线性组合时,你期望是在足够重复的样本上看到正态分布。为了说明这一点,我将10个介于0和1之间的随机数相加10000次,下图显示了该结果的直方图和密度图。

这一切都很好,对添加过程也很好。但当你的过程变成乘法时,情况就会改变。

当你对概率进行建模时,你是在对一个基本上是乘法的过程进行建模——输入变量被认为对结果的几率或概率有乘法效应。

现在,当我选择10个介于1和2之间的随机数并将它们相乘时会发生什么?我得到了超过10000个测试:

有一个问题,这种分布不是正态的,所以我们所有的线性回归方法现在都不适用了。

但有没有一种方法可以转换结果变量,使其成为加法过程的结果?还记得高中时的指数规则吗?或者说,对数规则:log(ab)=log(a)+log(b)。所以乘法过程的对数就是加法过程!

让我们通过查看上一张图表中产品的对数分布来测试这一点:

因此,我们可以通过预测结果的对数来模拟类似概率的乘法过程。这意味着我们可以像对待线性回归一样对待它,只不过我们必须记住在最后要通过对它们进行指数化来将其转换回来。这就是为什么在逻辑回归中,我们对对数赔率进行建模,为了得到赔率比,我们对系数进行指数化,这就是我们经常将乘法过程的分布描述为对数正态分布的原因。

我希望你发现这些简单但重要的观察结果对你理解回归的基本原理有所帮助。你还可以订阅我们的YouTube频道,观看大量大数据行业相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Keith McNulty
翻译作者:王文龙
美工编辑:过儿
校对审稿:Chuang
原文链接:https://keith-mcnulty.medium.com/three-simple-things-about-regression-that-every-data-scientist-should-know-3605f669a04f