您如何将假设检验应用于您的特征?

数据挖掘 机器学习 特征选择 数据科学模型 特征
2022-03-11 16:50:52

您如何将假设检验应用于 ML 模型中的特征?例如,我正在做一个回归任务,我想削减一些特征(一旦我训练了我的模型)以提高性能。如何应用假设检验来确定该功能是否有用?我对我的零假设是什么、显着性水平以及如何运行实验以获得特征的 p 值有点困惑(我听说 0.15 的显着性水平是一个很好的阈值,但我我不确定)。

例如。考虑到三台机器(A、B、C)的生产,我正在做一个回归任务来预测我工厂的成本。我对数据进行线性回归,发现机器 A 的 p 值大于我的显着性水平,因此,它在统计上不显着,我决定为我的模型丢弃该特征。

数据看起来像这样

d = ('Cost': [44439, 43936, 44464, 41533, 46343], 'A': [515, 929, 800, 979, 1165], 'B': [541, 710, 675, 1147, 939], 'C': [928, 711, 824, 758, 635, 901]) df = pd.DataFrame(data=d)

如果您想查看完整数据,我从 Youtube 上的视频中获取了这个示例。我真的不明白他是如何得出关于显着性水平的结论以及他在这种情况下如何使用假设检验的。

链接在下面,它从 Min 4:00 开始(之后只有 3 分钟)

使用假设检验的线性回归

2个回答

欢迎来到 StackOverflow。

我会尽量总结,但我们必须涵盖很多概念才能正确回答您的问题,如果有不清楚的地方,请发表评论,我可以更改/更正答案。

首先,我将从您的问题的语气中假设您知道假设检验是什么。

其次,在线性回归的上下文中,您通常假设您的特征是正态分布iid(相同独立分布)、恒定误差方差(即它们不随 X 属性而变化)等。这些都是强有力的假设,记住这一点很重要,因为我们正在使用具有这些属性的数据计算回归系数。

简单来说,您有一组特征 X,在本例中为 A、B 和 C,并且您想预测成本,因此您有以下功能:

在此处输入图像描述

因此,您使用上面的方程来最小化 RSS(残差平方和)并找出您的系数。

现在,在假设检验的背景下,您想验证您的系数是否在统计上相关,也就是说,用简单的词说出来,您想检查它们是否离零足够远,以便您可以说它们是相关的,而不是一个统计事件你到底是怎么做到的?创建一个您的系数为零的空假设,以及一个替代假设,否则。

在此处输入图像描述

(计算 Beta_1 系数的假设检验示例)

然后为您的系数计算 t 检验:

在此处输入图像描述

因此,您假设您的系数具有 t 分布,并且您想测试它是否离零足够远以确定其相关性。

在此处输入图像描述

然后,您计算 t 检验值并估计 p 值。因此,最后,您会问以下问题:我的系数来自以零为中心的分布的概率是多少?如果您的 p 值较高,则表明您的系数可能为零,或接近零且不显着。否则,如果您的 p 值较低,那么它不太可能来自零附近的分布,那么您应该在分析中采用这个系数(和特征)。

在视频的示例中,他使用了一个规则,即所有高于 0.05 的系数都没有统计相关性。在这里,0.05 被广泛用作一个分界点,但你必须意识到,关于这个选择存在很多问题,科学界内部的争论也没有解决。

如果您真的想了解所有涉及线性回归、统计测试和使用此技术建模数据时的问题的细微差别,我强烈建议您阅读《统计学习简介》 - 第 3 章。所有图像和见解均取自那里,并且我是机器学习技术的参考书。

我希望这有助于澄清你的问题。

删除变量不同于检验假设。假设检验不是用机器学习做的,而是用统计分析做的。在统计模型中,每个参数都可以被认为是对假设的检验,与显着程度相关联。此外,假设检验会根据变量之间的关联方式告诉您有关世界的一些信息。在这种情况下,您不关心性能,只需检查关联是否具有您期望的符号。

无论是否删除变量,为了提高模型的性能,这是一个不同的问题。这很大程度上取决于您正在使用的数据,您能否提供您的任务和数据集的描述?