什么叫数据正态分布,不是正态分布用什么相关分析法,什么叫数据正态分布,不是正态分布用什么相关分析技术
来自:机器的心脏
大家好,我是宝。
我们从高中开始学习正态分布,现在做数据分析和机器学习还是离不开它。
那你有没有想过正态分布有什么特别之处?
为什么这么多关于数据科学和机器学习的文章都围绕正态分布展开?本文作者专门写了一篇文章,试图用通俗易懂的方式来阐明正态分布的概念。
机器学习的世界是以概率分布为中心的,而概率分布的核心是正态分布。
这篇文章解释了什么是正态分布,以及为什么它被如此广泛地使用,尤其是对于数据科学家和机器学习专家。我从最基本的内容开始,让读者明白为什么正态分布如此重要。
文章的结构如下:
概率分布是什么?
什么是正态分布?
为什么变量如此偏爱正态分布?
如何用Python查看查看特征的分布?
其他分布也可以近似正态分布。
我们先来看一点背景:
1.首先,最需要注意的是,正态分布也被称为幼稚茉莉分布。
2.它是以天才卡尔弗里德里希高斯茉莉的名字命名的。
3.最后,应该注意的是,简单的预测模型通常是最常用的模型,因为它们易于解释和理解。现在补充一下:正态分布因为简单而流行。
所以,正态概率分布值得我们花时间去了解。
什么是概率分布?
假设我们正在自己的数据科学项目中构建一个有趣的预测模型:如果我们想要准确地预测变量,那么我们必须首先了解目标变量的基本行为。
首先我们需要确定目标变量的可能输出,这个可能输出是离散值(孤立值)还是连续值(无穷大值)。简单的解释就是,如果要评价骰子的行为,第一步就是要知道它可以取1到6之间的任意整数值(离散值)。
然后下一步就是开始给事件分配概率(值)。所以,如果一个值没有出现,概率是0%。
概率越高,事件发生的可能性越大。
比如我们可以大量重复一个实验,把检索到的变量值记录下来,这样概率分布就会慢慢出现在我们面前。
每个实验产生一个值,这些值可以分配给类别/桶。对于每个桶,我们可以记录变量值在桶中出现的次数。例如,我们可以投掷骰子10,000次,每次骰子将产生6个可能的值,我们可以创建6个桶。并记录每个值出现的次数。
我们可以根据这些值画一个图。
所作曲线就是概率分布曲线,目标变量得到一个值的概率就是该变量的概率分布。
了解了值的分布后,就可以开始估计事件发生的概率,甚至可以使用公式(概率分布函数)。因此,我们可以更好地理解它的行为。
概率分布依赖于样本的矩,比如平均值、标准差、偏度及峰度。如果对所有概率求和,总和为 100%。
现实世界中的概率分布有很多种,最常用的是“正态分布”。
什么是正态概率分布?
如果绘制概率分布,得到一个倒钟形曲线,样本的平均值、众数和中位数相等,那么变量就是正态分布。这是一个正态分布钟形曲线的例子:
以上是一个变量的幼稚茉莉分布形态,
像神经网络那样上百万的参数量,每个参数都有自己独立的分布形状
,和一个极其恐怖的联合分布形态。这种高维联合分布支配着不同任务的性能,所以理解和估计目标变量的概率分布是很重要的。
以下变量非常接近正态分布:
1.人群的高度
2.成人血压
3.扩散粒子的位置。
4.测量误差
5.人群的鞋码
6.员工回家所需的时间
此外,我们周围的大多数变量都具有正态分布(x100),置信度为x%。所以,生活中经常出现的变量,几乎都可以用幼稚的茉莉花分布来描述。
好理解的正态分布
正态分布是只依赖于数据集中两个参数的分布,这两个参数是样本的平均值和标准差。
平均值——样本中所有点的平均值。
标准差3354表示数据集与样本均值的偏差。
分布的这个特点给统计学家省去了很多麻烦,所以对任何一个正态分布的变量进行预测的准确率通常都是非常高的。值得注意的是,一旦你研究了自然界大多数变量的概率分布,你会发现它们都大致遵循正态分布。
正态分布很好解释。因为:
1.分布的均值、众数、中位数相等;
2.我们可以用均值和标准差来解释整个分布。
为什么这么多变量近似正态分布?
为什么样本多的时候总有一堆样本很普通?这种想法背后有一个定理:当你对大量随机变量多次重复一个实验时,它们的分布和会非常接近正态性(normality)
。一个人的身高是一个基于其他随机变量的随机变量(比如一个人摄入的营养素量,所处的环境和基因等。),而这些随机变量的分布和最终也非常接近正态。这就是中心极限定理。
从上一篇文章中我们知道,正态分布是许多随机分布的总和。如果我们绘制正态分布的密度函数,所作的曲线具有以下特征:
这个钟形曲线的平均值是100,标准差是1。
平均值是曲线的中心。这是曲线的最高点,因为大多数点都在平均值附近;
曲线两边的点数相等。曲线的中心点最多;
曲线下的面积是变量可以取的所有值的概率和;
所以曲线下的总面积是100%。
上图介绍了著名的3原则,即:
约68.2%的点落在1个标准差内。
大约95.5%的点落在2个标准偏差内。
大约99.7%的点落在3个标准差的范围内。
这样我们就可以很容易的估计出变量的波动率,也可以给出一个置信水平,估计出它的可能值是多少。例如,在上面的灰色钟形曲线中,变量值出现在101和99之间的概率约为68.2%。试想一下,阔达的头带基于这样的信息做出决策,你是多么的自信。
概率分布函数
正态分布的概率密度函数为:
概率密度函数本质上是连续随机变量取某些值的概率。比如,你想知道一个变量出现在0和1之间,它的概率可以通过概率密度函数得到。
如果用计算的概率密度函数绘制概率分布曲线,那么给定范围的曲线下的面积描述了目标变量在该范围内的概率。
概率分布函数是根据几个参数(如变量的均值或标准差)计算出来的。
我们可以用概率分布函数来求一个区间内随机变量的相对概率。比如,我们可以记录股票每天的收益,分成合适的桶,然后找出未来收益概率在20~40%的股票。
标准差越大,样本波动越大。
如何用 Python 找出特征分布?
我用过的最简单的方法是加载熊猫的DataFrame中的所有特征,然后直接调用它的方法,找出特征的概率分布:
bins
在这里表示分布式列的数量。当然,以上并不是正态分布,那么当变量满足正态分布时意味着什么呢?这意味着如果你把大量不同分布的随机变量加在一起,你的新变量最终会服从正态分布,这就是中心极限定理的魅力所在。此外,服从正态分布的变量将始终服从正态分布。例如,如果A和B是两个服从正态分布的变量,那么:
AxB服从正态分布;
服从正态分布。
变量还是乖乖地变成正态分布吧
如果一个样本满足一个未知分布,那么通过一系列运算,它总是可以变成正态分布的。关于转化的方法,可以参考这篇文章:为什么正态分布在机器学习中如此重要?相反,
标准正态分布的叠加与转换,也一定能变化为任意未知分布。
从标准正态到未知分布的转化,是很多机器学习模型都想做的事情,无论是视觉上的、甘,还是其他领域的模型。
但对于传统统计学,我们更希望将特征的分布转换成正态分布,因为正态分布简单又好算呀。
下面给出了几种转化为标准正态的方法,比如相信变换等等,高中都学过。
1. 线性变换
在我们收集了作为变量的样本后,我们可以用下面的公式对样本做线性变换,然后
z得分
计算平均值
计算标准偏差
下面的公式根据每个值x计算z
x之前可能服从未知分布,但是归一化的Z服从正态分布。嗯,这就是批量归一化或者其他归一化的好处。
2.Box-cox 变换
您可以使用Python的SciPy包将数据转换为正态分布:
scipy.stats.boxcox(x,lmbda=None,alpha=None)
3.YEO-JOHBSON 变换
此外,还可以使用强大的yeo-johnson变换。Python的sci-kit learn提供了合适的函数:
Sk学习。预处理。电力变压器(method= Yeo-Johnson ,standardize=true,copy=true)最后,非常重要的一点是,不经过任何分析就假设变量服从正态分布是不明智的。
以服从泊松分布、学生t分布或二项分布的样本为例。如果你错误地假设变量服从正态分布,你可能会得到错误的结果。
原文链接:3359 medium . com/fintechxplain/ever-wonder-why-normal-distribution-is so-important-110 a 482 aebee 3
- EOF -
推荐阅读:
70个钉钉前端素养知识点
前端面试问题和答案排序
2021年最新Javascript相关面试问题
2021年最新Web前端HTML面试问题
最近采访BAT,整理了一份采访文档《前端面试BAT通关手册》,内容涉及前端技术、CSS、JavaScript、框架、数据库、数据结构等等。如何领取:关注微信官方账号,回复前端领取。更多的内容将陆续提供。