为何模型行前先要检验分布情况?

  统计/机器学习 假设检验 概率分布 数据预处理 损失函数    浏览次数:194        分享
1

各位高手,我一直很困惑,很多人在将数据放进机器学习模型之前,要先看数据特征的分布情况,比如T分布(T检验)、卡方分布(卡方检验)、正态分布等,为什么呢?还有很多情况下,都要确保独立同分布,啥模型会对同分布要求这么高?莫非很多模型的cost function都是基于正态分布推导来的吗?

 

shilongcn   2019-03-12 17:24



   2个回答 
3

模型行前先要检验分布是EDA中的重要步骤。要建模前肯定是要看特征和目标变量的分布。

特征的分布往往决定对特征要不要做变换、做哪种变换。

至于目标变量的分布也是类似的,看要不要做变换,如果是用glm的话,要根据分布选择合适的link function等等。

SofaSofa数据科学社区 DS面经 问答 实战

东布东   2019-03-13 12:13

很感谢你的回答,但还是不太理解,对于大部分机器学习模型来说,很少涉及link function,经常是代价函数,一般代价函数的推导是根据残差的分布情况,而残差一般服从正态分布,其中1/nΣ(y-y')^2型目标函数就是通过残差分布+MLE推导出来的,有没有根据目标变量和特征分布的推导对应代价函数的例子呢,或者相关资料,在这里提前谢过了! - shilongcn   2019-03-13 15:57
https://en.wikipedia.org/wiki/Generalized_linear_model 有link function表。目的是因变量 $Y$的均值是自变量线性组合的函数。$E(Y)=\mu=g^{-1}(X\beta)$,其中$g()$是link function。 - Zealing   2019-03-20 18:08
谢谢,这个我是知道的^_^ - shilongcn   2019-03-20 19:52
2

题主提到了残差,那如果残差不是正态分布呢?如果异常点很多呢?

这个情况下要不然考虑换loss function,比如MAE作为loss,或者分位数回归,huber回归(参考下鲁棒性的回归模型)。要不然就是在loss function里加权重,比如加权最小二乘法之类的。

对于二分类模型的话,了解y的分布,也可以帮助你看是用log-loss还是加权的log-loss,或者进行欠采样等等。

SofaSofa数据科学社区 DS面经 问答 实战

WinJ   2019-03-17 10:45

异常点一般是不建议进模型的,EDA过程中就被刷了,3σ原则或者1.5IQR原则就把异常处理了,另外你指加权终是Lasso或Ridge吧?正则化有助提高模型泛化能力,这个跟分布关系不大吧? - shilongcn   2019-03-20 15:41
如果数据是长尾的,异常点很难去。加权最小二乘法的加权是指每个样本权重不同。 - WinJ   2019-03-20 21:33
谢谢你的回答。 - shilongcn   2019-03-21 15:13


  相关主题

单样本T检验的自由度为什么是n-1?   1回答

方差分析的多重比较校正   1回答

求介绍一下Shapiro–Wilk test?   1回答

如何检验两个样本是同分布的?   4回答

E-test是什么意思?   3回答

怎么判断一个概率分布是对称的?   3回答

python里Z-score和P-value相互转换   1回答

python中实现柯尔莫可洛夫-斯米洛夫检验(K-S test)   1回答

线性回归因变量y不满足正态性假设   1回答

python中实现box-cox变换的函数?   1回答

python里怎么画QQ图?   1回答

t检验,需要测试集验证集吗?   3回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!