Datawhale乾貨
所謂機器學習和深度學習, 背後的邏輯都是數學, 所以數學基礎在這個領域非常關鍵, 而統計學又是重中之重, 機器學習從某種意義上來說就是一種統計學習。
大綱如下:
基礎概念
在數理統計中, 總體就是研究對象的全體, 通常用一個隨機變量表示, 組成總體的每個基本單元叫個體, 而總體中包含的個體總數就是總體容量。
代表性:每個與同分布
樣本是具有兩重性,即當在一次具體地抽樣後它是一組確定的數值。但在一般敘述中樣本也是一組隨機變量,因為抽樣是隨機的。
一般地,用,, 表示隨機樣本,它們取到的值記為,稱為樣本觀測值。一般情形下, 兩次觀測, 樣本值是不同的。
樣本作為隨機變量,有一定的概率分布,這個概率分布稱為樣本分布。顯然,樣本分布取決於總體的性質和樣本的性質。
統計量與抽樣分布
數理統計的任務是採集和處理帶有隨機影響的數據,或者說收集樣本並對之進行加工,以此對所研究的問題作出一定的結論,這一過程稱為統計推斷。從樣本中提取有用的信息來研究總體的分布及各種特徵數就是構造統計量的過程, 因此,統計量是樣本的某種函數。
常用的統計量
1. 樣本均值
2. 樣本方差
3. k階樣本原點矩
設是總體的一個簡單隨機樣本,稱
為樣本的階原點矩(可以看到時,相當於樣本均值),通常用樣本的無階原點矩來估計總體分布的階原點矩。
4. k階樣本中心矩
設是總體的一個簡單隨機樣本,為樣本均值,稱
為樣本的階中心矩,通常用樣本的階中心矩來估計總體分布的階中心矩。
5. 順序統計量
三種重要的抽樣分布
在使用統計量進行統計推斷的時候常常需要知道它的分布, 統計量的分布稱為抽樣分布, 有三個非常重要的統計量的分布我們需要知道, 因為在參數估計和檢驗假設等其實都有這三個分布的影子或者依賴於這三個分布, 這三個分布就是分布、分布和分布。
1. 分布
設是來自總體的樣本, 則稱統計量
服從自由度為的分布, 記為。自由度指的獨立變量的個數。概率密度函數長這樣:
其中
2. 分布
設,且相互獨立,則稱隨機變量
服從自由度為的分布。它的概率密度函數:
概率密度函數圖像如下:
3. 分布
設且獨立,則稱隨機變量
的分布, 記
數據集中趨勢的度量
1. 平均數
2. 中位數
3. 頻數
指同一觀測值在一組數據中出現的次數(擲骰子中,一共擲了20次,出現數字5的次數)
4. 眾數(mode)
5. 百分位數
這個箱線圖可以看到數據的下面幾個性質:
中心位置:中位數所在的位置是數據集的中心
散布程度:全部數據落在之內, 在區間,, , 的數據個數各佔1/4。區間較短時表示落在該區間的點較為集中, 反之較為分散。
對稱性:若中位數位於箱子的中間位置,則數據分布較為對稱。若離的距離較離的距離大,則表示數據分布向左傾斜,反之數據右傾斜,且能看出分布尾部的長短。
箱線圖特別適用於比價兩個或者兩個以上數據集的性質。當然箱線圖也可以幫助我們檢測是否存在異常值(不尋常的過大或者過小), 第一四分位數和第三四分位數之間的距離記為IQR, 也就是四分位數間距, 若數據小於IQR或者數據大於IQR,就疑似異常
好了, 關於上面的這些內容,下面看一波python實現了。
首先是列表的元素求均值, 中位數, 眾數, 頻數:由於眾數numpy中沒有直接實現的函數, 所以可以調用scipy包的stats或者自己實現:
def mode(lst): if not lst: return return max(lst, key=lambda v: lst.count(v))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) a_mode = stats.mode(a)[0][0] a_mode1 = mode(a)print("a的平均數:",a_mean)print("a的中位數:",a_med)print('a的眾數', a_mode, a_mode1)b = {k: a.count(k) for k in set(a)}b def mode_duo(d): if len(d) == 0: return max_values = max(d.values()) return [key for key in d if d[key]==max_values] a = [1,2,4,5,3,12,12,23,43,52,11,22,22,22, 1, 1]b = {k: a.count(k) for k in set(a)}mode_duo(b) pd.Series(a).mode()下面看看分位點的情況, 把a轉成Series, 用describe()函數就可以看到分位點:pd.Series(a).describe()## 結果:count 16.000000mean 14.750000std 15.316658min 1.00000025% 2.75000050% 11.50000075% 22.000000max 52.000000dtype: float64## 還可以藉助plt畫出箱型圖import matplotlib.pyplot as pltplt.boxplot(pd.Series(a))下面我們再看看如何根據IQR去掉異常值:異常值可以截尾, 也可以直接去掉:"""這裡包裝了一個異常值處理的代碼,可以隨便調用"""def outliers_proc(data, col_name, scale=1.5): """ 用於截尾異常值, 默認用box_plot(scale=1.5)進行清洗 param: data:接收pandas數據格式 col_name: pandas列名 scale: 尺度 """ data_col = data[col_name] Q1 = data_col.quantile(0.25) Q3 = data_col.quantile(0.75) IQR = Q3 - Q1 data_col[data_col < Q1 - (scale * IQR)] = Q1 - (scale * IQR) data_col[data_col > Q3 + (scale * IQR)] = Q3 + (scale * IQR) return data[col_name] num_data['power'] = outliers_proc(num_data, 'power')上面是截尾異常值, 接收的是pandas的一列, 因為有時候異常值多了的話暴力刪除可能不太好。當然下面的代碼直接刪除掉異常值, 接收的是一個DataFrame, 然後判斷有幾列都出現異常的時候才刪除這個樣本。def detect_and_remove_outliers(df): """這個方法按列檢查異常值,並保存所在的行,如果某個行有兩個以上的異常值,就刪除該行""" outliers = [] col = list(df) for c in col: Q1 = df[c].quantile(0.25) Q3 = df[c].quantile(0.75) IQR = Q3 - Q1 outliers.extend(df[(df[c] < Q1 - (1.5 * IQR)) | (df[c] > Q3 + (1.5 * IQR) )].index) return list(k for k,v in Counter(outliers).items() if v >2) remove_list = detect_and_remove_outliers(data)data_remove = data.drop(remove_list, axis=0)數據離散趨勢的度量表示數據分散(離散,差異)程度的特徵量有方差,標準差,極差以及變異係數等。1. 方差用來計算每一個變量(觀察值)與總體均數之間的差異。實際工作中,總體均數難以得到時,應用樣本統計量代替總體參數,經校正後,樣本方差計算公式:2. 極差是刻畫數據相對分散性的一種度量。變異係數只在平均值不為零時有定義,而且一般適用於平均值大於零的情況。變異係數也被稱為標準離差率或單位風險。當需要比較兩組數據離散程度大小的時候,如果兩組數據的測量尺度相差太大,或者數據量綱的不同,變異係數可以消除測量尺度和量綱的影響。4. 四分位數差這個上面整理過了, 樣本上、下四分位數之差稱為四分位差(或半極差)。它也是度量樣本分散性的重要數字特徵,特別對於具有異常值的數據,它作為分散性具有穩健性。下面是方差, 標準差, 變異係數的numpy實現。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. 偏度與峰度偏度(skewness):也稱為偏態,是統計數據分布偏斜方向和程度的度量,是統計數據分布非對稱程度的數字特徵。直觀看來就是密度函數曲線尾部的相對長度。偏度刻畫的是分布函數(數據)的對稱性。關於均值對稱的數據其偏度係數為0,右側更分散的數據偏度係數為正,左側更分散的數據偏度係數為負。樣本偏度係數如下:正態分布的偏度為0, 兩側尾部長度對稱。左偏右偏峰度(peakedness;kurtosis): 說明的是分布曲線在平均值處峰值高低的特徵數。直觀看來,峰度反映了峰部的尖度。樣本的峰度是和正態分布相比較而言,如果峰度大於三,峰的形狀比較尖,比正態分布峰要陡峭。反之亦然。峰度刻畫的是分布函數的集中和分散程度。峰度係數如下:下面是一波python實現:data = list(np.random.randn(10000)) #⽣生成標準正態分布的隨機數(10000個)plt.hist(data, 1000, facecolor='g', alpha=0.5) # alpha表示透明度plt.show()s = pd.Series(data) #將數組轉化為序列列 print('偏度係數',s.skew()) # 0.0024936359680932723print('峰度係數',s.kurt()) # -0.05970174780792892結果如下:寫到最後 數理統計是從抽樣統計的角度去估計樣本的總體分布或未知的規律, 首先介紹了數理統計裡面的基本概念, 例如總體,個體, 樣本等, 然後是統計量與抽樣分布, 介紹了常用的統計量像均值, 方差, 標準差,中心距,原點矩等。然後介紹了三個非常重要的抽樣分布卡方, T和F。最後是描述性統計這塊,介紹了數據集中趨勢度量, 這裡面包括平均數,中位數, 眾數, 頻數,百分位數等並給出了numpy實現, 然後是離散趨勢度量, 方差, 標準差, 極差,四分位點的內容, 然後是峰度和偏度的介紹。「為數學之美點贊↓
下面看看分位點的情況, 把a轉成Series, 用describe()函數就可以看到分位點:
pd.Series(a).describe()## 結果:count 16.000000mean 14.750000std 15.316658min 1.00000025% 2.75000050% 11.50000075% 22.000000max 52.000000dtype: float64## 還可以藉助plt畫出箱型圖import matplotlib.pyplot as pltplt.boxplot(pd.Series(a))下面我們再看看如何根據IQR去掉異常值:異常值可以截尾, 也可以直接去掉:"""這裡包裝了一個異常值處理的代碼,可以隨便調用"""def outliers_proc(data, col_name, scale=1.5): """ 用於截尾異常值, 默認用box_plot(scale=1.5)進行清洗 param: data:接收pandas數據格式 col_name: pandas列名 scale: 尺度 """ data_col = data[col_name] Q1 = data_col.quantile(0.25) Q3 = data_col.quantile(0.75) IQR = Q3 - Q1 data_col[data_col < Q1 - (scale * IQR)] = Q1 - (scale * IQR) data_col[data_col > Q3 + (scale * IQR)] = Q3 + (scale * IQR) return data[col_name] num_data['power'] = outliers_proc(num_data, 'power')上面是截尾異常值, 接收的是pandas的一列, 因為有時候異常值多了的話暴力刪除可能不太好。當然下面的代碼直接刪除掉異常值, 接收的是一個DataFrame, 然後判斷有幾列都出現異常的時候才刪除這個樣本。def detect_and_remove_outliers(df): """這個方法按列檢查異常值,並保存所在的行,如果某個行有兩個以上的異常值,就刪除該行""" outliers = [] col = list(df) for c in col: Q1 = df[c].quantile(0.25) Q3 = df[c].quantile(0.75) IQR = Q3 - Q1 outliers.extend(df[(df[c] < Q1 - (1.5 * IQR)) | (df[c] > Q3 + (1.5 * IQR) )].index) return list(k for k,v in Counter(outliers).items() if v >2) remove_list = detect_and_remove_outliers(data)data_remove = data.drop(remove_list, axis=0)數據離散趨勢的度量表示數據分散(離散,差異)程度的特徵量有方差,標準差,極差以及變異係數等。1. 方差用來計算每一個變量(觀察值)與總體均數之間的差異。實際工作中,總體均數難以得到時,應用樣本統計量代替總體參數,經校正後,樣本方差計算公式:2. 極差是刻畫數據相對分散性的一種度量。變異係數只在平均值不為零時有定義,而且一般適用於平均值大於零的情況。變異係數也被稱為標準離差率或單位風險。當需要比較兩組數據離散程度大小的時候,如果兩組數據的測量尺度相差太大,或者數據量綱的不同,變異係數可以消除測量尺度和量綱的影響。4. 四分位數差這個上面整理過了, 樣本上、下四分位數之差稱為四分位差(或半極差)。它也是度量樣本分散性的重要數字特徵,特別對於具有異常值的數據,它作為分散性具有穩健性。下面是方差, 標準差, 變異係數的numpy實現。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. 偏度與峰度偏度(skewness):也稱為偏態,是統計數據分布偏斜方向和程度的度量,是統計數據分布非對稱程度的數字特徵。直觀看來就是密度函數曲線尾部的相對長度。偏度刻畫的是分布函數(數據)的對稱性。關於均值對稱的數據其偏度係數為0,右側更分散的數據偏度係數為正,左側更分散的數據偏度係數為負。樣本偏度係數如下:正態分布的偏度為0, 兩側尾部長度對稱。左偏右偏峰度(peakedness;kurtosis): 說明的是分布曲線在平均值處峰值高低的特徵數。直觀看來,峰度反映了峰部的尖度。樣本的峰度是和正態分布相比較而言,如果峰度大於三,峰的形狀比較尖,比正態分布峰要陡峭。反之亦然。峰度刻畫的是分布函數的集中和分散程度。峰度係數如下:下面是一波python實現:data = list(np.random.randn(10000)) #⽣生成標準正態分布的隨機數(10000個)plt.hist(data, 1000, facecolor='g', alpha=0.5) # alpha表示透明度plt.show()s = pd.Series(data) #將數組轉化為序列列 print('偏度係數',s.skew()) # 0.0024936359680932723print('峰度係數',s.kurt()) # -0.05970174780792892結果如下:寫到最後 數理統計是從抽樣統計的角度去估計樣本的總體分布或未知的規律, 首先介紹了數理統計裡面的基本概念, 例如總體,個體, 樣本等, 然後是統計量與抽樣分布, 介紹了常用的統計量像均值, 方差, 標準差,中心距,原點矩等。然後介紹了三個非常重要的抽樣分布卡方, T和F。最後是描述性統計這塊,介紹了數據集中趨勢度量, 這裡面包括平均數,中位數, 眾數, 頻數,百分位數等並給出了numpy實現, 然後是離散趨勢度量, 方差, 標準差, 極差,四分位點的內容, 然後是峰度和偏度的介紹。「為數學之美點贊↓
下面我們再看看如何根據IQR去掉異常值:異常值可以截尾, 也可以直接去掉:
"""這裡包裝了一個異常值處理的代碼,可以隨便調用"""def outliers_proc(data, col_name, scale=1.5): """ 用於截尾異常值, 默認用box_plot(scale=1.5)進行清洗 param: data:接收pandas數據格式 col_name: pandas列名 scale: 尺度 """ data_col = data[col_name] Q1 = data_col.quantile(0.25) Q3 = data_col.quantile(0.75) IQR = Q3 - Q1 data_col[data_col < Q1 - (scale * IQR)] = Q1 - (scale * IQR) data_col[data_col > Q3 + (scale * IQR)] = Q3 + (scale * IQR) return data[col_name] num_data['power'] = outliers_proc(num_data, 'power')上面是截尾異常值, 接收的是pandas的一列, 因為有時候異常值多了的話暴力刪除可能不太好。當然下面的代碼直接刪除掉異常值, 接收的是一個DataFrame, 然後判斷有幾列都出現異常的時候才刪除這個樣本。def detect_and_remove_outliers(df): """這個方法按列檢查異常值,並保存所在的行,如果某個行有兩個以上的異常值,就刪除該行""" outliers = [] col = list(df) for c in col: Q1 = df[c].quantile(0.25) Q3 = df[c].quantile(0.75) IQR = Q3 - Q1 outliers.extend(df[(df[c] < Q1 - (1.5 * IQR)) | (df[c] > Q3 + (1.5 * IQR) )].index) return list(k for k,v in Counter(outliers).items() if v >2) remove_list = detect_and_remove_outliers(data)data_remove = data.drop(remove_list, axis=0)數據離散趨勢的度量表示數據分散(離散,差異)程度的特徵量有方差,標準差,極差以及變異係數等。1. 方差用來計算每一個變量(觀察值)與總體均數之間的差異。實際工作中,總體均數難以得到時,應用樣本統計量代替總體參數,經校正後,樣本方差計算公式:2. 極差是刻畫數據相對分散性的一種度量。變異係數只在平均值不為零時有定義,而且一般適用於平均值大於零的情況。變異係數也被稱為標準離差率或單位風險。當需要比較兩組數據離散程度大小的時候,如果兩組數據的測量尺度相差太大,或者數據量綱的不同,變異係數可以消除測量尺度和量綱的影響。4. 四分位數差這個上面整理過了, 樣本上、下四分位數之差稱為四分位差(或半極差)。它也是度量樣本分散性的重要數字特徵,特別對於具有異常值的數據,它作為分散性具有穩健性。下面是方差, 標準差, 變異係數的numpy實現。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. 偏度與峰度偏度(skewness):也稱為偏態,是統計數據分布偏斜方向和程度的度量,是統計數據分布非對稱程度的數字特徵。直觀看來就是密度函數曲線尾部的相對長度。偏度刻畫的是分布函數(數據)的對稱性。關於均值對稱的數據其偏度係數為0,右側更分散的數據偏度係數為正,左側更分散的數據偏度係數為負。樣本偏度係數如下:正態分布的偏度為0, 兩側尾部長度對稱。左偏右偏峰度(peakedness;kurtosis): 說明的是分布曲線在平均值處峰值高低的特徵數。直觀看來,峰度反映了峰部的尖度。樣本的峰度是和正態分布相比較而言,如果峰度大於三,峰的形狀比較尖,比正態分布峰要陡峭。反之亦然。峰度刻畫的是分布函數的集中和分散程度。峰度係數如下:下面是一波python實現:data = list(np.random.randn(10000)) #⽣生成標準正態分布的隨機數(10000個)plt.hist(data, 1000, facecolor='g', alpha=0.5) # alpha表示透明度plt.show()s = pd.Series(data) #將數組轉化為序列列 print('偏度係數',s.skew()) # 0.0024936359680932723print('峰度係數',s.kurt()) # -0.05970174780792892結果如下:寫到最後 數理統計是從抽樣統計的角度去估計樣本的總體分布或未知的規律, 首先介紹了數理統計裡面的基本概念, 例如總體,個體, 樣本等, 然後是統計量與抽樣分布, 介紹了常用的統計量像均值, 方差, 標準差,中心距,原點矩等。然後介紹了三個非常重要的抽樣分布卡方, T和F。最後是描述性統計這塊,介紹了數據集中趨勢度量, 這裡面包括平均數,中位數, 眾數, 頻數,百分位數等並給出了numpy實現, 然後是離散趨勢度量, 方差, 標準差, 極差,四分位點的內容, 然後是峰度和偏度的介紹。「為數學之美點贊↓
上面是截尾異常值, 接收的是pandas的一列, 因為有時候異常值多了的話暴力刪除可能不太好。當然下面的代碼直接刪除掉異常值, 接收的是一個DataFrame, 然後判斷有幾列都出現異常的時候才刪除這個樣本。
def detect_and_remove_outliers(df): """這個方法按列檢查異常值,並保存所在的行,如果某個行有兩個以上的異常值,就刪除該行""" outliers = [] col = list(df) for c in col: Q1 = df[c].quantile(0.25) Q3 = df[c].quantile(0.75) IQR = Q3 - Q1 outliers.extend(df[(df[c] < Q1 - (1.5 * IQR)) | (df[c] > Q3 + (1.5 * IQR) )].index) return list(k for k,v in Counter(outliers).items() if v >2) remove_list = detect_and_remove_outliers(data)data_remove = data.drop(remove_list, axis=0)數據離散趨勢的度量表示數據分散(離散,差異)程度的特徵量有方差,標準差,極差以及變異係數等。1. 方差用來計算每一個變量(觀察值)與總體均數之間的差異。實際工作中,總體均數難以得到時,應用樣本統計量代替總體參數,經校正後,樣本方差計算公式:2. 極差是刻畫數據相對分散性的一種度量。變異係數只在平均值不為零時有定義,而且一般適用於平均值大於零的情況。變異係數也被稱為標準離差率或單位風險。當需要比較兩組數據離散程度大小的時候,如果兩組數據的測量尺度相差太大,或者數據量綱的不同,變異係數可以消除測量尺度和量綱的影響。4. 四分位數差這個上面整理過了, 樣本上、下四分位數之差稱為四分位差(或半極差)。它也是度量樣本分散性的重要數字特徵,特別對於具有異常值的數據,它作為分散性具有穩健性。下面是方差, 標準差, 變異係數的numpy實現。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. 偏度與峰度偏度(skewness):也稱為偏態,是統計數據分布偏斜方向和程度的度量,是統計數據分布非對稱程度的數字特徵。直觀看來就是密度函數曲線尾部的相對長度。偏度刻畫的是分布函數(數據)的對稱性。關於均值對稱的數據其偏度係數為0,右側更分散的數據偏度係數為正,左側更分散的數據偏度係數為負。樣本偏度係數如下:正態分布的偏度為0, 兩側尾部長度對稱。左偏右偏峰度(peakedness;kurtosis): 說明的是分布曲線在平均值處峰值高低的特徵數。直觀看來,峰度反映了峰部的尖度。樣本的峰度是和正態分布相比較而言,如果峰度大於三,峰的形狀比較尖,比正態分布峰要陡峭。反之亦然。峰度刻畫的是分布函數的集中和分散程度。峰度係數如下:下面是一波python實現:data = list(np.random.randn(10000)) #⽣生成標準正態分布的隨機數(10000個)plt.hist(data, 1000, facecolor='g', alpha=0.5) # alpha表示透明度plt.show()s = pd.Series(data) #將數組轉化為序列列 print('偏度係數',s.skew()) # 0.0024936359680932723print('峰度係數',s.kurt()) # -0.05970174780792892結果如下:寫到最後 數理統計是從抽樣統計的角度去估計樣本的總體分布或未知的規律, 首先介紹了數理統計裡面的基本概念, 例如總體,個體, 樣本等, 然後是統計量與抽樣分布, 介紹了常用的統計量像均值, 方差, 標準差,中心距,原點矩等。然後介紹了三個非常重要的抽樣分布卡方, T和F。最後是描述性統計這塊,介紹了數據集中趨勢度量, 這裡面包括平均數,中位數, 眾數, 頻數,百分位數等並給出了numpy實現, 然後是離散趨勢度量, 方差, 標準差, 極差,四分位點的內容, 然後是峰度和偏度的介紹。「為數學之美點贊↓
數據離散趨勢的度量
表示數據分散(離散,差異)程度的特徵量有方差,標準差,極差以及變異係數等。
1. 方差
2. 極差
4. 四分位數差
它也是度量樣本分散性的重要數字特徵,特別對於具有異常值的數據,它作為分散性具有穩健性。
下面是方差, 標準差, 變異係數的numpy實現。
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. 偏度與峰度偏度(skewness):也稱為偏態,是統計數據分布偏斜方向和程度的度量,是統計數據分布非對稱程度的數字特徵。直觀看來就是密度函數曲線尾部的相對長度。偏度刻畫的是分布函數(數據)的對稱性。關於均值對稱的數據其偏度係數為0,右側更分散的數據偏度係數為正,左側更分散的數據偏度係數為負。樣本偏度係數如下:正態分布的偏度為0, 兩側尾部長度對稱。左偏右偏峰度(peakedness;kurtosis): 說明的是分布曲線在平均值處峰值高低的特徵數。直觀看來,峰度反映了峰部的尖度。樣本的峰度是和正態分布相比較而言,如果峰度大於三,峰的形狀比較尖,比正態分布峰要陡峭。反之亦然。峰度刻畫的是分布函數的集中和分散程度。峰度係數如下:下面是一波python實現:data = list(np.random.randn(10000)) #⽣生成標準正態分布的隨機數(10000個)plt.hist(data, 1000, facecolor='g', alpha=0.5) # alpha表示透明度plt.show()s = pd.Series(data) #將數組轉化為序列列 print('偏度係數',s.skew()) # 0.0024936359680932723print('峰度係數',s.kurt()) # -0.05970174780792892結果如下:寫到最後 數理統計是從抽樣統計的角度去估計樣本的總體分布或未知的規律, 首先介紹了數理統計裡面的基本概念, 例如總體,個體, 樣本等, 然後是統計量與抽樣分布, 介紹了常用的統計量像均值, 方差, 標準差,中心距,原點矩等。然後介紹了三個非常重要的抽樣分布卡方, T和F。最後是描述性統計這塊,介紹了數據集中趨勢度量, 這裡面包括平均數,中位數, 眾數, 頻數,百分位數等並給出了numpy實現, 然後是離散趨勢度量, 方差, 標準差, 極差,四分位點的內容, 然後是峰度和偏度的介紹。「為數學之美點贊↓
5. 偏度與峰度
偏度(skewness):也稱為偏態,是統計數據分布偏斜方向和程度的度量,是統計數據分布非對稱程度的數字特徵。直觀看來就是密度函數曲線尾部的相對長度。偏度刻畫的是分布函數(數據)的對稱性。關於均值對稱的數據其偏度係數為0,右側更分散的數據偏度係數為正,左側更分散的數據偏度係數為負。樣本偏度係數如下:
正態分布的偏度為0, 兩側尾部長度對稱。
左偏
右偏
峰度係數如下:
下面是一波python實現:
data = list(np.random.randn(10000)) #⽣生成標準正態分布的隨機數(10000個)plt.hist(data, 1000, facecolor='g', alpha=0.5) # alpha表示透明度plt.show()s = pd.Series(data) #將數組轉化為序列列 print('偏度係數',s.skew()) # 0.0024936359680932723print('峰度係數',s.kurt()) # -0.05970174780792892結果如下:寫到最後 數理統計是從抽樣統計的角度去估計樣本的總體分布或未知的規律, 首先介紹了數理統計裡面的基本概念, 例如總體,個體, 樣本等, 然後是統計量與抽樣分布, 介紹了常用的統計量像均值, 方差, 標準差,中心距,原點矩等。然後介紹了三個非常重要的抽樣分布卡方, T和F。最後是描述性統計這塊,介紹了數據集中趨勢度量, 這裡面包括平均數,中位數, 眾數, 頻數,百分位數等並給出了numpy實現, 然後是離散趨勢度量, 方差, 標準差, 極差,四分位點的內容, 然後是峰度和偏度的介紹。「為數學之美點贊↓
結果如下:
「為數學之美點贊↓