知識點:數(shù)據(jù)的描述性統(tǒng)計
-
數(shù)據(jù)的集中趨勢
-
眾數(shù)
描述:數(shù)據(jù)中出現(xiàn)次數(shù)最多的數(shù)
一組數(shù)據(jù)中,可能存在多個眾數(shù)灶搜,也可能不存在眾數(shù)
如:2割卖、6究珊、6剿涮、8取试、8 瞬浓、10猿棉,眾數(shù)是 6和 8
如:1萨赁、3杖爽、5慰安、7萄窜、9撒桨、11元莫,沒有眾數(shù)
-
中位數(shù)
描述:中位數(shù)就是將數(shù)據(jù)按大小順序排列后踱蠢,處于中間位置的數(shù)
如果數(shù)據(jù)總個數(shù)為奇數(shù)茎截,中位數(shù)就是中間位置的數(shù)
如果數(shù)據(jù)總個數(shù)為偶數(shù)企锌,中位數(shù)就是中間兩個數(shù)據(jù)的平均值
-
平均數(shù)
若干個數(shù)的平均數(shù)撕攒,是用這些數(shù)的和除以數(shù)的個數(shù)
-
分位數(shù)
四分位數(shù)(Quartile)是統(tǒng)計學中分位數(shù)的一種抖坪,即把所有數(shù)值由小到大排列并分成四等份擦俐,處于三個分割點位置的數(shù)值就是四分位數(shù)蚯瞧。
1. 第一四分位數(shù)(Q1)埋合,又稱“較小四分位數(shù)”,等于該樣本中所有數(shù)值由小到大排列后第25%的數(shù)字
2. 第二四分位數(shù)(Q2),又稱“中位數(shù)”瓣铣,等于該樣本中所有數(shù)值由小到大排列后第50%的數(shù)字
3. 第三四分位數(shù)(Q3),又稱“較大四分位數(shù)”蓖救,等于該樣本中所有數(shù)值由小到大排列后第75%的數(shù)字
第三四分位數(shù)與第一四分位數(shù)的差距又稱四分位距
-
極差
x=xmax-xmin(xmax為最大值循捺,xmin為最小值)用來來評價一組數(shù)據(jù)的離散度
-
算數(shù)平均數(shù)
An=(a1+a2+...+an)/n
-
加權(quán)平均數(shù)
所有數(shù)值乘以自己的權(quán)重后相加 除以 權(quán)重的和
b = (x1 * w1 + ... + xn * wn) / (w1 + ... + wn)
-
幾何平均數(shù)
-
幾何平均數(shù)多用于計算平均比率和平均速度。如:平均利率恰力、平均發(fā)展速度踩萎、平均合格率等香府。
-
幾何平均數(shù)受極端值的影響較算術(shù)平均數(shù)小回还。
-
它僅適用于具有等比或近似等比關(guān)系的數(shù)據(jù)柠硕。
-
幾何平均數(shù)的計算舉例
-
假定某地儲蓄年利率(按復(fù)利計算):5%持續(xù)1.5年蝗柔,3%持續(xù)2.5年民泵,2.2%持續(xù)1年胁编。請問此5年內(nèi)該地平均儲蓄年利率嬉橙。該地平均儲蓄年利率:
-
數(shù)據(jù)的離中趨勢
-
方差
-
方差用于衡量隨機變量或一組數(shù)據(jù)的離散程度霞扬,方差在在統(tǒng)計描述和概率分布中有不同的定義和計算公式喻圃。①概率論中方差用來度量隨機變量和其數(shù)學期望(即均值)之間的偏離程度;②統(tǒng)計中的方差(樣本方差)是每個樣本值與全體樣本均值之差的平方值的平均數(shù)肆汹,代表每個變量與總體均值間的離散程度县踢。
-
總體方差转绷,也叫做有偏估計伟件,其實就是我們從初高中就學到的那個標準定義的方差:
-
其中,n表示這組數(shù)據(jù)個數(shù)议经,x1斧账、x2、x3……xn表示這組數(shù)據(jù)具體數(shù)值煞肾。
-
其中咧织,為數(shù)據(jù)的平均數(shù),n為數(shù)據(jù)的個數(shù)籍救,為方差习绢。
-
樣本方差闪萄,無偏方差烈拒,在實際情況中赊时,總體均值是很難得到的狈涮,往往通過抽樣來計算松却,于是有樣本方差,計算公式如下:
-
-
標準差
-
標準差也被稱為標準偏差,在中文環(huán)境中又常稱均方差刁标,是數(shù)據(jù)偏離均值的平方和平均后的方根吏砂,用σ表示。標準差是方差的算術(shù)平方根。標準差能反映一個數(shù)據(jù)集的離散程度,只是由于方差出現(xiàn)了平方項造成量綱的倍數(shù)變化,無法直觀反映出偏離程度湃番,于是出現(xiàn)了標準差择浊,標準偏差越小,這些值偏離平均值就越少,反之亦然挑豌。
-
平均差
-
平均差,英文為average deviation(A.D.)或mean deviation(M.D.)遍蟋,是一種平均離差赂摆,是總體所有單位與其算術(shù)平均數(shù)的離差絕對值的算術(shù)平均數(shù)。離差是總體各單位的標志值與算術(shù)平均數(shù)之差宪赶。因離差和為零扁瓢,離差的平均數(shù)不能將離差和除以離差的個數(shù)求得贿讹,而必須將離差取絕對數(shù)來消除正負號哭廉。
-
平均差是反映各標志值與算術(shù)平均數(shù)之間的平均差異。平均差越大成玫,表明各標志值與算術(shù)平均數(shù)的差異程度越大哭当,該算術(shù)平均數(shù)的代表性就越卸淦堋门扇;平均差越小剪侮,表明各標志值與算術(shù)平均數(shù)的差異程度越小,該算術(shù)平均數(shù)的代表性就越大兵怯。
-
計算公式為:
-
平均差(MD)=降铸,其中Σ為總計的符號,為變量 ,為算術(shù)平均數(shù)摇零, 為變量值的個數(shù)推掸。
-
順序數(shù)據(jù):四分位差
-
四分位差(quartile deviation),它是上四分位數(shù)(Q3驻仅,即位于75%)與下四分位數(shù)(Q1谅畅,即位于25%)的差。
-
計算公式為:Q = Q3-Q1
-
四分位差反映了中間50%數(shù)據(jù)的離散程度噪服,其數(shù)值越小毡泻,說明中間的數(shù)據(jù)越集中;其數(shù)值越大粘优,說明中間的數(shù)據(jù)越分散仇味。四分位差不受極值的影響。此外雹顺,由于中位數(shù)處于數(shù)據(jù)的中間位置丹墨,因此,四分位差的大小在一定程度上也說明了中位數(shù)對一組數(shù)據(jù)的代表程度嬉愧。四分位差主要用于測度順序數(shù)據(jù)的離散程度贩挣。對于數(shù)值型數(shù)據(jù)也可以計算四分位差,但不適合分類數(shù)據(jù)。
-
分類數(shù)據(jù):異眾比率
-
異眾比率(variation ratio)是統(tǒng)計學名詞王财,是統(tǒng)計學當中研究現(xiàn)象離中趨勢的指標之一卵迂。異眾比率指的是總體中非眾數(shù)次數(shù)與總體全部次數(shù)之比。換句話說绒净,異眾比率指非眾數(shù)組的頻數(shù)占總頻數(shù)的比例见咒。
-
其中為變量值的總頻數(shù),為眾數(shù)組的頻數(shù)挂疆。異種比率越大论颅,說明非眾數(shù)組的頻數(shù)占總頻數(shù)的比重越大,眾數(shù)的代表性越差囱嫩,即占比越小恃疯,異種比率越小,說明眾數(shù)的代表性越好墨闲,即占比越大今妄。異種比率主要適合度量分類數(shù)據(jù)的離散程度,當然連續(xù)數(shù)據(jù)可以計算異種比率鸳碧。
-
相對離散程度
-
離散系數(shù)
-
即變異系數(shù)盾鳞,針對不同數(shù)據(jù)樣本的標準差和方差,因數(shù)據(jù)衡量單位不同其結(jié)果自然無法直接進行對比瞻离,為出具一個相同的衡量指標腾仅,則進行了離散系數(shù)的計算。離散系數(shù)為一組數(shù)據(jù)的標準差與平均數(shù)之比套利。離散系數(shù)大推励,說明數(shù)據(jù)的離散程度也大;離散系數(shù)小肉迫,說明數(shù)據(jù)的離散程度也小验辞。
-
分布的形狀
-
偏態(tài)系數(shù)
-
看長尾在哪邊就是往哪偏
-
偏度為0表示其數(shù)據(jù)分布形態(tài)與正態(tài)分布的偏斜程度相同;偏度大于0表示其數(shù)據(jù)分布形態(tài)與正態(tài)分布相比為正偏或右偏喊衫,即有一條長尾巴拖在右邊跌造,數(shù)據(jù)右端有較多的極端值;偏度小于0表示其數(shù)據(jù)分布形態(tài)與正態(tài)分布相比為負偏或左偏族购,即有一條長尾拖在左邊壳贪,數(shù)據(jù)左端有較多的極端值。偏度的絕對值數(shù)值越大表示其分布形態(tài)的偏斜程度越大寝杖。
-
偏度的具體計算公式為:
-
-
正偏態(tài)分布违施,mean > median,對于負偏態(tài)朝墩,mean < median
-
-
峰態(tài)系數(shù)
-
峰度是描述總體中所有取值分布形態(tài)陡緩程度的統(tǒng)計量醉拓。這個統(tǒng)計量需要與正態(tài)分布相比較伟姐,峰度為0表示該總體數(shù)據(jù)分布與正態(tài)分布的陡緩程度相同收苏;峰度大于0表示該總體數(shù)據(jù)分布與正態(tài)分布相比較為陡峭亿卤,為尖頂峰;峰度小于0表示該總體數(shù)據(jù)分布與正態(tài)分布相比較為平坦鹿霸,為平頂峰排吴。峰度的絕對值數(shù)值越大表示其分布形態(tài)的陡緩程度與正態(tài)分布的差異程度越大。
-
峰度的具體計算公式為:
-
-
代碼展示
import numpy as np
import stats as sts
scores = [31, 24, 23, 25, 14, 25, 13, 12, 14, 23,
32, 34, 43, 41, 21, 23, 26, 26, 34, 42,
43, 25, 24, 23, 24, 44, 23, 14, 52,32,
42, 44, 35, 28, 17, 21, 32, 42, 12, 34]
#集中趨勢的度量
print('求和:',np.sum(scores))
print('個數(shù):',len(scores))
print('平均值:',np.mean(scores))
print('中位數(shù):',np.median(scores))
print('眾數(shù):',sts.mode(scores))
print('上四分位數(shù)',sts.quantile(scores,p=0.25))
print('下四分位數(shù)',sts.quantile(scores,p=0.75))
#離散趨勢的度量
print('最大值:',np.max(scores))
print('最小值:',np.min(scores))
print('極差:',np.max(scores)-np.min(scores))
print('四分位差',sts.quantile(scores,p=0.75)-sts.quantile(scores,p=0.25))
print('標準差:',np.std(scores))
print('方差:',np.var(scores))
print('離散系數(shù):',np.std(scores)/np.mean(scores))
#偏度與峰度的度量
print('偏度:',sts.skewness(scores))
print('峰度:',sts.kurtosis(scores))
#幾何平均數(shù)
def GeometricMean(data):
len_d = len(data)
product = 1.0
for i in range(len_d):
product = product * data[i]
# the next line is equal to calculate the n-root
result = product ** (1.0/len_d)
return result
#偏度峰度實現(xiàn)
import matplotlib.pyplot as plt
import math
import numpy as np
def calc(data):
n = len(data)
niu = 0.0
niu2 = 0.0
niu3 = 0.0
for a in data:
niu += a
niu2 += a**2
niu3 += a**3
niu/= n #這是求E(X)
niu2 /= n #這是E(X^2)
niu3 /= n #這是E(X^3)
sigma = math.sqrt(niu2 - niu*niu) #這是D(X)的開方懦鼠,標準差
return [niu,sigma,niu3] #返回[E(X),標準差钻哩,E(X^3)]
def calc_stat(data):
[niu,sigma,niu3] = calc(data)
n = len(data)
niu4 = 0.0
for a in data:
a -= niu
niu4 += a ** 4
niu4 /= n
skew = (niu3 - 3*niu*sigma**2 - niu**3)/(sigma**3)
kurt = niu4/(sigma**2)
return [niu,sigma,skew,kurt] #返回了均值,標準差肛冶,偏度街氢,峰度
if __name__== "__main__":
data = list(np.random.randn(10000))#關(guān)于此處的數(shù)組與列表
data2 = list(2*np.random.randn(10000))
data3 = [x for x in data if x> -0.5]
data4 = list(np.random.uniform(0,4,10000))
[niu,sigma,skew,kurt] = calc_stat(data)
[niu2,sigma2,skew2,kurt2] = calc_stat(data2)
[niu3,sigma3,skew3,kurt3] = calc_stat(data3)
[niu4,sigma4,skew4,kurt4] = calc_stat(data4)
print niu,sigma,skew,kurt
print niu2,sigma2,skew2,kurt2
print niu3,sigma3,skew3,kurt3
print niu4,sigma4,skew4,kurt4
info = r'$\mu=%.2f,\ \sigma=%.2f,\ skew=%.2f,\ kurt=%.2f$'%(niu,sigma,skew,kurt)
info2 =r'$\mu=%.2f,\ \sigma=%.2f,\ skew=%.2f,\ kurt=%.2f$'%(niu2,sigma2,skew2,kurt2)
plt.text(1,0.38,info,bbox=dict(facecolor='red',alpha=0.25))
plt.text(1,0.35,info2,bbox=dict(facecolor='green',alpha=0.25))
#plt.text(x的位置,y的位置睦袖,面板內(nèi)寫的信息珊肃,標簽框的屬性=dict(facecolor='面板顏色',alpha='深淺度'))
plt.hist(data,50,normed=True,facecolor='r',alpha=0.9)
#hist直方圖/箱式圖(
#將data中的元素分到50個等間隔的范圍內(nèi)馅笙,返回每個范圍內(nèi)元素的個數(shù)作為一個行向量伦乔,
#50代表要分的元素的個數(shù)
#
#facecolor,alpha都是代表顏色的)
plt.hist(data2,80,normed=True,facecolor='g',alpha = 0.8)
plt.grid(True)
plt.show()