概率統計-方差與正態分佈(高斯分佈)

方差

方差表示的是一組數據相對於平均數μ\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;
}

水平原因,錯誤難以避免,希望批評並不吝指出,謝謝!

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