Skip to content

如何构建线性模型?

How to Build Linear Models?

在本章,我要帮你培养一项我认为在开发线性模型时最被忽视、最被低估的技能。我可以保证,掌握这项技能会让你在建模阶段获得大量的清晰度和直觉。首先要知道,我们上面讨论的泊松回归并不是什么魔法。只不过在我们的具体用例中,数据生成过程与线性回归设计上能处理的并不完全契合。换句话说,之前我们训练线性回归模型时,默认假设数据是从正态分布中采样得到的。但在泊松回归这个例子中并非如此。

ds p225 1

它来自一个泊松分布,这正是泊松回归效果更好的原因。因此,要点是:每当你训练线性模型时,一定要、一定要、一定要思考数据生成过程。它大致是这样的:

  • 好,我有这份数据。
  • 我想用线性模型去拟合它。
  • 关于数据生成过程,我能获得哪些信息来帮助我选择合适的线性模型?

ds p226 1

当你意识到广义线性模型家族中的每一个成员,其实都源于对数据生成过程的改造时,你就会开始体会到数据生成的重要性。

ds p226 2

例如:

  • 如果数据生成过程涉及正态分布 → 你就得到线性回归。
  • 如果响应变量只有正整数,那它也许来自泊松分布 → 这就得到了泊松回归。这正是我们昨天讨论的内容。
  • 如果数据只有两个目标值——0 和 1,那它也许是用伯努利分布生成的 → 这就催生了逻辑回归。
  • 如果数据有有限且固定的类别(0, 1, 2,…n),那就暗示着二项分布 → 我们得到二项回归。

看吧……每一个线性模型都先做出一个假设,然后从一个潜在的数据生成过程中推导出来。

ds p227 1

因此,养成先停一下、思考数据生成过程的习惯,会让你在建模阶段清晰许多。我相信这能帮你摆脱那种令人恼火又无助的习惯——不假思索地盲目使用某个 sklearn 算法,却根本不知道为什么用它。进而,你会知道该用哪个算法,更重要的是,知道为什么。这提升了你作为数据科学家的可信度,让你能凭直觉和清晰度去应对数据科学问题,而不是靠盲目试错。事实上,一旦你理解了数据生成过程,自然就能了解到该线性模型的大多数假设。

本站内容仅供学习交流,版权归原作者所有。