數據挖掘基礎方法_概率統計_2-數理統計與描述性統計

一、數理統計概念

1.基本概念釋義

定義:在數理統計中,稱研究對象的全體爲總體,通常用一個隨機變量表示總體。組成總體的每個基本單元叫個體。從總體 XX 中隨機抽取一部分個體 X1,X2,...,XnX_1,X_2,...,X_n ,稱 X1,X2,...,XnX_1,X_2,...,X_n 爲取自 XX 的容量爲 nn 的樣本。

例如,爲了研究某廠生產的一批元件質量的好壞,規定使用壽命低於1千小時的爲次品,則該批元件的全體就爲總體,每個元件就是個體。實際上,數理統計學中的總體是指與總體相聯繫的某個(或某幾個)數量指標 XX 取值的全體。比如,該批元件的使用壽命 XX 的取值全體就是研究對象的總體。顯然 XX 是隨機變量,這時,就稱 XX 爲總體。

​ 爲了判斷該批元件的次品率,最精確的辦法是取出全部元件,對作元件的壽命試驗。然而,壽命試驗具有破壞性,即使某些試驗是非破壞性的,因此只能從總體中抽取一部分,對nn 個個體進行試驗。試驗結果可得組數值集合 x1,x2,...,xn{ x_1,x_2,...,x_n } ,其中每個 xix_i 是第 ii 次抽樣觀察的結果。由於要根據這些觀察結果來對總體進行推斷,所以對每次抽樣就需要有一定的要求,要求每次抽取必須是隨機的、獨立的,這樣才能較好地反映總體情況。所謂隨機的是指每個個體被抽到的機會是均等的,這樣抽到的個體才具有代表性。若x1,x2,...,xnx_1,x_2,...,x_n 相互獨立,且每個 xix_iXX 同分布,則稱x1,x2,...,xnx_1,x_2,...,x_n 爲簡單隨機樣本,簡稱樣本.通常把 nn 稱爲樣本容量。

​ 值得注意的是,樣本具有兩重性,即當在一次具體地抽樣後它是一組確定的數值。但在一般敘述中樣本也是一組隨機變量,因爲抽樣是隨機的。一般地,用 X1,X2,...XnX_1,X_2,...,X_n , 表示隨機樣本,它們取到的值記爲 x1,x2,...xnx_1,x_2,...,x_n 稱爲樣本觀測值。

樣本作爲隨機變量,有一定的概率分佈,這個概率分佈稱爲樣本分佈。顯然,樣本分佈取決於總體的性質和樣本的性質。

2.統計量與抽樣

數理統計的任務是採集和處理帶有隨機影響的數據,或者說收集樣本並對之進行加工,以此對所研究的問題作出一定的結論,這一過程稱爲爲統計推斷。在統計推斷中,對樣本進行加工整理,實際上就是根據樣本計算出一些量,使得這些量能夠將所研究問題的信息集中起來。這種根據樣本計算出的量就是下面將要定義的統計量,因此,統計量是樣本的某種函數。

定義:設X1,X2,...,XnX_1,X_2,...,X_n 是總體 XX 的一個簡單隨機樣本, T(X1,X2,...,Xn)T(X_1, X_2,...,X_n) 爲一個 nn 元連續函數,且 TT 中不包含任何關於總體的未知參數,則稱 T(X1,X2,...,Xn)T(X_1, X_2,...,X_n) 是一個統計量,稱統計量的分佈爲抽樣分佈。
3.常用的統計量
樣本均值
設 $X_1,X_2,…,X_n $ 是總體 XX 的一個簡單隨機樣本,稱 X=1ni=1nXi \overline X = \frac{1} {n} {\sum_{i=1}^{n}X_i} 爲樣本均值。通常用樣本均值來估計總體分佈的均值和對有關總體分佈均值的假設作檢驗。

樣本方差
設 $X_1,X_2,…,X_n $ 是總體 XX 的一個簡單隨機樣本,X\overline X 爲樣本均值,稱 S2=1n1i=1n(XiX)2 S^2 = \frac{1} {n-1} {\sum_{i=1}^{n}(X_i-\overline X)^2} 爲樣本方差。通常用樣本方差來估計總體分佈的方差和對有關總體分佈均值或方差的假設作檢驗。

kk階樣本原點矩
設 $X_1,X_2,…,X_n $ 是總體 XX 的一個簡單隨機樣本,稱 Ak=1ni=1nXik A_k = \frac{1} {n} {\sum_{i=1}^{n}X_i^k} 爲樣本的 kk 階原點矩(可以看到 k=1k=1 時,相當於樣本均值),通常用樣本的無階原點矩來估計總體分佈的 kk 階原點矩。

kk 階樣本中心矩
設 $X_1,X_2,…,X_n $ 是總體 XX 的一個簡單隨機樣本,X\overline X 爲樣本均值,稱 Mk=1ni=1n(XiX)k M_k = \frac{1} {n} {\sum_{i=1}^{n}(X_i-\overline X)^k} 爲樣本的 kk 階中心矩,通常用樣本的 kk 階中心矩來估計總體分佈的 kk 階中心矩。

其實當樣本量足夠大時,1/n1/n1/(n1)1/(n-1) 近似於相等。

順序統計量
設 $X_1,X_2,…,X_n $ 是抽自總體 XX 的樣本,x1,x2,...xnx_1,x_2,...,x_n 爲樣本觀測值。將 x1,x2,...xnx_1,x_2,...,x_n 按照從小到大的順序排列爲 x1<=x2<=...<=xn x_{(1)}<=x_{(2)}<=...<=x_{(n)} 當樣本 $X_1,X_2,…,X_n $ 取值 x1,x2,...xnx_1,x_2,...,x_n 時,定義 X(k)X_{(k)} 取值 X(k)k=1,2...,nX_{(k)}(k=1,2,...,n),稱 $X_{(1)},X_{(2)},…,X_{(n)} $ 爲 $X_1,X_2,…,X_n $ 的順序統計量。

顯然,X1=minXiX_{(1)} =min {X_i} 是樣本觀察中最小的一個,稱爲最小順序統計量。Xn=maxXiX_{(n)} =max {X_i} 是樣本觀測值中取值最大的一個,成爲最大順序統計量。稱XrX_{(r)} 爲第 rr 個順序統計量。

二、描述性統計
1.數據集中趨勢的度量
平均數:
是表示一組數據集中趨勢的量數,是指在一組數據中所有數據之和再除以這組數據的個數。

平均數公式

中位數:

是指在一組數據,按順序排列後,居於中間位置的數。中位數描述數據中心位置的數字特徵,對於對稱分佈的數據,均值與中位數比較接近;對於偏態分佈的數據,均值與中位數不同。中位數不受異常值的影響,具有穩健性。

中位數

圖片 舉個栗子
圖片舉個栗子 如果數字個數爲奇數,則爲中間那個數字,如果中間位置上有兩個數(數字爲偶數個),則取兩個數的平均數。比如3,7,4,9,2,5,8這組數據的中數爲5;而3,7,4,9,2,5這組數據的中數則是(4+5)/2=4.5。中位數說明的是生活中的中等水平。如“成績班級中等”
頻數:指同一觀測值在一組數據中出現的次數(擲骰子中,一共擲了20次,出現數字5的次數)。
**衆數:**就是一組數據中,出現次數最多的那個數(幾個數)。
圖片 舉個栗子
在1,2,3,3,4,5這組數據的衆數就是3,因爲它出現了兩次。衆數說明的是生活中的多數情況。諸如“最佳”、“最受歡迎”、“最滿意”、“舉手表決”等,都與衆數有關係,它反映了一種最普遍的傾向。
均值 vs 中位數 vs 衆數
優點 缺點
均值 充分利用所有數據,適用性強 容易受極端值影響
中位數 不受極端值影響 缺乏敏感性
衆數 不受極端值影響;當數據具有明顯的集中趨勢時,代表性好 缺乏唯一性
百分位數:

百分位數是中位數的推廣,將數據按從小到大排列後,對於 0p<1 0 \leq p < 1 它的p分位點定義爲

其中,[np]表示np的整數部分。所以,0.5分位數(第50百分位數)就是中位數。

​ 百分位數示意圖

圖片 舉個栗子
假如100個學生,將成績從低到高排列,假設成績從最低的1分到最高的100分,那麼成績排在第3的數值(即3分,倒數第三名)就是第3百分位數(P3),而排在第95的數值(即95分,第六名)的就是第95百分位數。
2. python實現
#NumPy系統是Python的一種開源的數值計算擴展。用來存儲和處理大型矩陣。
import numpy as np
a = [1,2,4,5,3,12,12,23,43,52,11,22,22,22]
a_mean = np.mean(a) #均值
a_med = np.median(a) #中位數
print(“a的平均數:”,a_mean)
print(“a的中位數:”,a_med)
#------------------------------------------------------------
from scipy import stats
‘’’
Scipy是一個高級的科學計算庫,Scipy一般都是操控Numpy數組來進行科學計算,
Scipy包含的功能有最優化、線性代數、積分、插值、擬合、特殊函數、快速傅里葉變換、
信號處理和圖像處理、常微分方程求解和其他科學與工程中常用的計算。
‘’’
a_m1 =stats.mode(a)[0][0]
print(“a的衆數:”,a_m)
#-------------------------------------------------------------
import pandas as pd
#將一維數組轉成Pandas的Series,然後調用Pandas的mode()方法
ser = pd.Series(a)
a_m2 = ser.mode()
print(“a的衆數:”,a_m)
3.數據離散趨勢的度量
表示數據分散(離散,差異)程度的特徵量有方差,標準差,極差以及變異係數等。

方差:

用來計算每一個變量(觀察值)與總體均數之間的差異。實際工作中,總體均數難以得到時,應用樣本統計量代替總體參數,經校正後,樣本方差計算公式:

樣本方差

甲、乙兩人同時向目標靶射擊10發子彈,甲射擊的環數分別是:

甲 4 4 4 5 6 8 9 10 10 10
乙 6 6 6 7 7 7 7 8 8 8
射擊結果都爲平均7環。因爲乙的射擊點較集中,射擊的穩定性較好,所以乙的射擊效果較好。這裏的方差的作用就體現了。甲的方差爲2.66,乙的方差爲0.82;

標準差:

樣本方差的開平方成爲樣本標準差。

樣本標準差

極差:
數據越分散,極差越大。

極差

變異係數:
是刻畫數據相對分散性的一種度量。變異係數只在平均值不爲零時有定義,而且一般適用於平均值大於零的情況。變異係數也被稱爲標準離差率或單位風險。
當需要比較兩組數據離散程度大小的時候,如果兩組數據的測量尺度相差太大,或者數據量綱的不同,變異係數可以消除測量尺度和量綱的影響。
變異係數

四分位差:

樣本上、下四分位數之差稱爲四分位差(或半極差)。 R1=Q3Q1 R_1 = Q_3 - Q_1 它也是度量樣本分散性的重要數字特徵,特別對於具有異常值的數據,它作爲分散性具有穩健性 (見百分位數示意圖)。

4.python實現
import numpy as np
a = [1,2,4,5,3,12,12,23,43,52,11,22,22,22]
a_var = np.var(a) #方差
a_std1 = np.sqrt(a_var) #標準差
a_std2 = np.std(a) #標準差
a_mean = np.mean(a) #均值
a_cv = a_std2 /a_mean #變異係數
print(“a的方差:”,a_var)
print(“a的方差:”,a_std1)
print(“a的方差:”,a_std2)
print(“a的變異係數:”,a_cv)
5. 分佈特徵
**引言:**描述一個隨機變量,不僅要說明它能夠取那些值,而且還要關心它取這些值的概率(可能性)。

離散變量與連續變量:

離散型隨機變量是指其數值只能用自然數或整數單位計算的則爲離散變量。例如, 班級人數,電腦檯數等,只能按計量單位數計數,這種變量的數值一般用計數方法取得。

反之,在一定區間內可以任意取值的變量叫連續變量,其數值是連續不斷的,即可取無限個數值。例如,人體測量的身高,體重等。

**概率函數:**就是用函數的形式來表達概率。

(大量重複試驗中出現的頻率來估計概率,它約等於事件出現的頻數除以重複試驗的次數)。 Pi=P(X=ai)i=1,2,3,4,5,6 P_i = P(X=a_i)(i=1,2,3,4,5,6) P(X=1)=1/6,這代表用概率函數的形式來表示,當隨機變量X取值爲1的概率爲1/6,一次只能代表一個隨機變量的取值。 (拋骰子游戲)

骰子點數 1 2 3 4 5 6 總計
出現的頻數 16 17 16 17 17 17 100
數字1出現的概率(1/6)約等於(16/100)。

連續型隨機變量的概率函數就叫做概率密度函數。

分佈函數:

設X是一個隨機變量,對任意的實數x,令

則稱F(x)是隨機變量X的分佈函數(概率累積函數)。

​ 密度函數與分佈函數關係

正態分佈:

正態分佈(normal distribution),也稱高斯分佈,是一個非常常見的連續概率分佈。概率密度函數爲

測量誤差、商品的重量或尺寸、某年齡人羣的身高和體重均付出正態分佈。

XN(μ,σ2) X 服從 N(\mu ,\sigma^2) 分佈

​ 正態分佈的概率密度函數曲線

​ 標準正態分佈和對應區間上積分(面積)的百分比

6.偏度與峯度
偏度(skewness):也稱爲偏態,是統計數據分佈偏斜方向和程度的度量,是統計數據分佈非對稱程度的數字特徵。直觀看來就是密度函數曲線尾部的相對長度。**偏度刻畫的是分佈函數(數據)的對稱性。**關於均值對稱的數據其偏度係數爲0,右側更分散的數據偏度係數爲正,左側更分散的數據偏度係數爲負。

正態分佈的偏度爲0,兩側尾部長度對稱。
左偏:
若以bs表示偏度。bs<0稱分佈具有負偏離,也稱左偏態;
此時數據位於均值左邊的比位於右邊的少,直觀表現爲左邊的尾部相對於與右邊的尾部要長;
因爲有少數變量值很小,使曲線左側尾部拖得很長;
3.右偏:

bs>0稱分佈具有正偏離,也稱右偏態;
此時數據位於均值右邊的比位於左邊的少,直觀表現爲右邊的尾部相對於與左邊的尾部要長;
因爲有少數變量值很大,使曲線右側尾部拖得很長;
**峯度(peakedness;kurtosis):**說明的是分佈曲線在平均值處峯值高低的特徵數。直觀看來,峯度反映了峯部的尖度。樣本的峯度是和正態分佈相比較而言統計量,如果峯度大於三,峯的形狀比較尖,比正態分佈峯要陡峭。反之亦然。峯度刻畫的是分佈函數的集中和分散程度。

d

  1. 公式與python實現
    樣本偏度係數:

樣本峯度係數:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = list(np.random.randn(10000))
#生成標準正態分佈的隨機數(10000個)
plt.hist(data,1000,facecolor=‘g’,alpha=0.5)
‘’’
plt.hist(arr, bins=10, facecolor, edgecolor,alpha,histtype=‘bar’)
bins:直方圖的柱數,可選項,默認爲10
alpha: 透明度
‘’’
plt.show()
s = pd.Series(data) #將數組轉化爲序列
print(‘偏度係數’,s.skew())
print(‘峯度係數’,s.kurt())

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