概率统计-方差与正态分布(高斯分布)

方差

方差表示的是一组数据相对于平均数μ\mu的离散程度

在数据统计中,大部分情况下都是不能对总体的数据进行统计。比如统计一批键盘使用寿命,如果键盘都去做寿命测试,那都测坏了没法卖钱养家了。
此时需要从一批键盘中随机挑选一些键盘去代表总数进行测试。即抽取一些样本,对样本的计算结果去估计总体的一些情况。

平均数的计算公式 μ\mu = i=1nxin\frac {\sum_{i=1}^n x_i} {n} , 样本的平均数和总体的平均数求法一致的;

总体方差的计算公式σ2\sigma^2 = i=1n(xiμ)2n\frac{ {\sum_{i=1}^n} {(x_i - \mu )^2} } {n}

样本方差计算公式 σ2\sigma^2 = i=1n(xiμ)2n1\frac{ {\sum_{i=1}^n} {(x_i - \mu )^2} } {n-1}

之所以分母是n-1,在样本数据足够大且无异常数据的情况下,分母可以为n 。
结论:样本估计的方差是总体方差的n1n\frac {n−1} {n}倍,样本方差的期望是总体方差的一个无偏估计 。
无偏估计:是多次随机取样本计算,此时样本就会无限接近总体计算值,这个过程就是无偏估计

nn1S2\frac {n} {n-1}S^2 = nn1\frac {n} {n-1} i=1n(xiμ)2n\frac {\sum_{i=1}^n (x_i - \mu)^2} {n} = i=1n(xiμ)2n1\frac {\sum_{i=1}^n (x_i - \mu)^2} {n-1}

正态分布(高斯分布)

正态分布,常态分布,高斯分布在不同的文章中会有不同的说法,他们的意义都是一样的。
通过上面的公式, 方差表示的是,观察数据偏离中心趋势(就是平均数)的离散程度。平均数表示观察数据的一般化情况。
知道观察数据的一般化情况和观察数据离散程度,那么就能得出很多特性了。
比如在平均数左右区间范围内,通过这个区间范围与σ\sigma 标准差进行比较,就能得出对应的概率是多少,如果这种方式放到计算机中求一些大于某个数的概率是多少,计算机算法复杂度将会降到O(1)。由此就可以引出正态分布这个利器了,正态分布是前人已经整理好的东西,我们直接使用其结论解决问题就可以了。

正态分布的公式 f(x)f(x) == 1σ2π\frac{1} {\sigma \sqrt{2 \pi} } e(xμ)22σ2e^{- \frac {(x-\mu)^2} {2 \sigma^2}} 也可以表示成 f(x)f(x) == 1σ2π\frac{1} {\sigma \sqrt{2 \pi} } exp{ (xμ)22σ2{- \frac {(x-\mu)^2} {2 \sigma^2}} } 。

得到了计算公式,标准差 σ\sigma 为 2,平均数为μ\mu 为 0。得到如下图。
在这里插入图片描述

正态分布高的意义

之前一直好奇,正态分布图像的高是什么意思。可以通过计算得出,根据上面已知的σ\sigmaμ\mu,带入公式,可以的出f(0)f(0)等于 0.19947114020071635
那么高的意义是什么呢:
正态分布在计算概率密度时候,是根据距离中心值(平均值)的距离,然后求出对应图像的面积即是对应的概率;
如上所述,既然是求得面积得出对应的概率值。有了与中位值的距离,也就是宽。那么也应该需要有高。这里的高就是正态分布曲线存在的意义;
有时候离散程度(σ\sigma 标准差)大一点,那么这个纵轴就需要配合着降低点高度。因为图形面积(概率密度)要保证在距离中心位置(μ\mu平均数)的 σ\sigma标准差 范围内是一个固定值;这里也是体现正态分布纵轴(高度)的意义。
从正态分布的特性中,都知道,在距离一个 若干倍的 σ\sigma 范围内概率 是 固定值

下图可以看出,在若干倍的 σ\sigma 范围内的概率分布。所以正态分布都是前人准备好的,根据横轴就能得出概率密度了。

正态分布函数与函数积分 Java代码实现

为了能够快速验证,把Java代码贴出来。
normfun是正态分布函数 f(x)f(x) == 1σ2π\frac{1} {\sigma \sqrt{2 \pi} } exp{ (xμ)22σ2{- \frac {(x-\mu)^2} {2 \sigma^2}} } 的代码。

代码的mu变量是公式中的 μ\mu 平均数,sigma变量是公式中的 σ\sigma 标准差,x就是变量中的x。

private static double normal(double x, double mu, double sigma) {
    double denominator = Math.pow(Math.E, -(((x - mu) * (x - mu)) / (2 * sigma * sigma)));
    double numerator = sigma * Math.sqrt(Math.PI * 2);
    return denominator / numerator;
}

验证正态分布函数是否满足性质,需要对正态分布函数求定积分,如下代码贴出了正态分布函数的定积分代码。

private static double calculate(double upperLimit, double lowerLimit) {
    double distence = 0.01;
    double count = (upperLimit - lowerLimit) / distence;
    double sum = 0;
    for (double i = 0; i < count; i++) {
        double calSum = lowerLimit + distence * i;
        double fxHigh = normal(calSum, 0, 2);
        double fxSquare = fxHigh * distence;
        sum += fxSquare;
    }
    return sum;
}

水平原因,错误难以避免,希望批评并不吝指出,谢谢!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章