http://blog.csdn.net/xidiancoder/article/details/71341345
平均值
平均值的概念很簡單:所有數據之和除以數據點的個數,以此表示數據集的平均大小;其數學定義為
以下面10個點的CPU使用率數據為例,其平均值為17.2。
14 31 16 19 26 14 14 14 11 13
- 1
方差、標准差
方差這一概念的目的是為了表示數據集中數據點的離散程度;其數學定義為:
標准差與方差一樣,表示的也是數據點的離散程度;其在數學上定義為方差的平方根:
為什么使用標准差?
一個標准差 68%, 兩個標准差 95%, 三個標准差 99%。
標准差定義是總體各單位標准值( xi)與其平均數(μ)離差平方和的算術平均數的平方根。它反映組內個體間的離散程度。
所有數減去其平均值的平方和,所得結果除以該組數之個數(或個數減一,即變異數),再把所得值開根號,所得之數就是這組數據的標准差。

一個較大的標准差,代表大部分數值和其平均值之間差異較大;一個較小的標准差,代表這些數值較接近平均值。
例如,A、B兩組各有6位學生參加同一次語文測驗,A組的分數為95、85、75、65、55、45,B組的分數為73、72、71、69、68、67。這兩組的平均數都是70,但A組的標准差約為17.08分,B組的標准差約為2.16分,說明A組學生之間的差距要比B組學生之間的差距大得多。
一個標准差 68%, 兩個標准差 95%, 三個標准差 99%。
與方差相比,使用標准差來表示數據點的離散程度有3個好處:
- 表示離散程度的數字與樣本數據點的數量級一致,更適合對數據樣本形成感性認知。依然以上述10個點的CPU使用率數據為例,其方差約為41,而標准差則為6.4;兩者相比較,標准差更適合人理解。
- 表示離散程度的數字單位與樣本數據的單位一致,更方便做后續的分析運算。
- 在樣本數據大致符合正態分布的情況下,標准差具有方便估算的特性:66.7%的數據點落在平均值前后1個標准差的范圍內、95%的數據點落在平均值前后2個標准差的范圍內,而99%的數據點將會落在平均值前后3個標准差的范圍內。
貝賽爾修正
在上面的方差公式和標准差公式中,存在一個值為N的分母,其作用為將計算得到的累積偏差進行平均,從而消除數據集大小對計算數據離散程度所產生的影響。不過,使用N所計算得到的方差及標准差只能用來表示該數據集本身(population)的離散程度;如果數據集是某個更大的研究對象的樣本(sample),那么在計算該研究對象的離散程度時,就需要對上述方差公式和標准差公式進行貝塞爾修正,將N替換為N-1:
經過貝塞爾修正后的方差公式:
經過貝塞爾修正后的標准差公式:
公式的選擇
是否使用貝塞爾修正,是由數據集的性質來決定的:如果只想計算數據集本身的離散程度(population),那么就使用未經修正的公式;如果數據集是一個樣本(sample),而想要計算的則是樣本所表達對象的離散程度,那么就使用貝塞爾修正后的公式。在特殊情況下,如果該數據集相較總體而言是一個極大的樣本 (比如一分鍾內采集了十萬次的IO數據) — 在這種情況下,該樣本數據集不可能錯過任何的異常值(outlier),此時可以使用未經修正的公式來計算總體數據的離散程度。
平均值與標准差的適用范圍及誤用
大多數統計學指標都有其適用范圍,平均值、方差和標准差也不例外,其適用的數據集必須滿足以下條件:
中部單峰:
-
數據集只存在一個峰值。很簡單,以假想的CPU使用率數據為例,如果50%的數據點位於20附近,另外50%的數據點位於80附近(兩個峰),那么計算得到的平均值約為50,而標准差約為31;這兩個計算結果完全無法描述數據點的特征,反而具有誤導性。
-
這個峰值必須大致位於數據集中部。還是以假想的CPU數據為例,如果80%的數據點位於20附近,剩下的20%數據隨機分布於30~90之間,那么計算得到的平均值約為35,而標准差約為25;與之前一樣,這兩個計算結果不僅無法描述數據特征,反而會造成誤導。
遺憾的是,在現實生活中,很多數據分布並不滿足上述兩個條件;因此,在使用平均值、方差和標准差的時候,必須謹慎小心。
如果數據集僅僅滿足一個條件:單峰。那么,峰值在哪里?峰的寬帶是多少?峰兩邊的數據對稱性如何?有沒有異常值(outlier)?為了回答這些問題,除了平均值、方差和標准差,需要更合適的工具和分析指標,而這,就是中位數、均方根、百分位數和四分差的意義所在。