機器學習數學基礎:數理統計與描述性統計

2021-02-19 小小挖掘機

 Datawhale乾貨 

所謂機器學習和深度學習, 背後的邏輯都是數學, 所以數學基礎在這個領域非常關鍵, 而統計學又是重中之重, 機器學習從某種意義上來說就是一種統計學習。

今天是概率統計基礎的第二篇文章, 基於第一篇隨機變量與隨機事件進行整理, 首先理一理這裡面的邏輯,第一篇的內容蘊涵了大部分概率論的知識(除了大數定律和中心極限定理這種理論性的支持, 後期有機會會補上)。而今天的這篇內容是在概率論的基礎上往前一步, 屬於數理統計的內容。概率論中, 我們研究隨機現象, 隨機變量, 但是我們是假設它們的分布已知, 比如已知某一隨機變量服從什麼分布, 在這個基礎上研究性質, 特點和規律(數字特徵啊, 隨機變量分布啊等), 而數理統計中, 我們研究隨機變量的分布未知或者一部分未知, 要去做的就是通過從未知分布中抽取多個樣本, 對這些數據進行統計分析, 從而研究隨機變量的分布等。

大綱如下:


數理統計基礎前面已經分析了數理統計是基於是通過從未知分布中抽取多個樣本, 對這些數據進行統計分析進而去分析隨機變量的規律和特點, 所以在這裡面依然會涉及到一些基本的概念。

基礎概念

這裡的基礎概念包括總體, 個體, 總體容量, 樣本, 簡單隨機樣本, 如果這些概念都知道, 就可以跳過了哈哈。

在數理統計中, 總體就是研究對象的全體, 通常用一個隨機變量表示, 組成總體的每個基本單元叫個體, 而總體中包含的個體總數就是總體容量。

我們研究的就是這個未知分布的總體的統計規律, 所以我們需要從這裡面隨機抽取一部分個體進行統計,利用概率論的知識去分析推斷。所以從總體

簡單隨機樣本:滿足以下兩個條件的隨機樣本

代表性:每個

樣本是具有兩重性,即當在一次具體地抽樣後它是一組確定的數值。但在一般敘述中樣本也是一組隨機變量,因為抽樣是隨機的。

一般地,用

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

統計量與抽樣分布

數理統計的任務是採集和處理帶有隨機影響的數據,或者說收集樣本並對之進行加工,以此對所研究的問題作出一定的結論,這一過程稱為統計推斷。從樣本中提取有用的信息來研究總體的分布及各種特徵數就是構造統計量的過程, 因此,統計量是樣本的某種函數。

常用的統計量

1. 樣本均值

為樣本均值。通常用樣本均值來估計總體分布的均值和對有關總體分布均值的假設作檢驗。均值這個numpy實現就是np.mean()

2. 樣本方差

為樣本方差。通常用樣本方差來估計總體分布的方差和對有關總體分布均值或方差的假設作檢驗。numpy的話就是np.var()

3. k階樣本原點矩

為樣本的

4. k階樣本中心矩

為樣本的

5. 順序統計量

這個numpy的話就是np.max(), np.min()

三種重要的抽樣分布

在使用統計量進行統計推斷的時候常常需要知道它的分布, 統計量的分布稱為抽樣分布, 有三個非常重要的統計量的分布我們需要知道, 因為在參數估計和檢驗假設等其實都有這三個分布的影子或者依賴於這三個分布, 這三個分布就是

1. 

服從自由度為

其中

2. 分布

服從自由度為

概率密度函數圖像如下:

3. 分布

上面這些分布在參數估計的時候, 會用到。當然分布本身可能比較複雜, 尤其是概率密度函數, 到時候會有表可查。描述性統計

數據集中趨勢的度量

1. 平均數

是表示一組數據集中趨勢的量數,是指在一組數據中所有數據之和再除以這組數據的個數。

2. 中位數

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

3. 頻數

指同一觀測值在一組數據中出現的次數(擲骰子中,一共擲了20次,出現數字5的次數)

4. 眾數(mode)

就是一組數據中,出現次數最多的那個數(幾個數)。下圖為均值 VS 中位數 VS 眾數

5. 百分位數

百分位數是中位數的推廣,將數據按從小到大排列後,對於其中,

這個箱線圖可以看到數據的下面幾個性質:

中心位置:中位數所在的位置是數據集的中心

散布程度:全部數據落在

對稱性:若中位數位於箱子的中間位置,則數據分布較為對稱。若

箱線圖特別適用於比價兩個或者兩個以上數據集的性質。當然箱線圖也可以幫助我們檢測是否存在異常值(不尋常的過大或者過小), 第一四分位數

好了, 關於上面的這些內容,下面看一波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實現, 然後是離散趨勢度量, 方差, 標準差, 極差,四分位點的內容, 然後是峰度和偏度的介紹。

「為數學之美點

相關焦點

  • 數理統計丨剖析均值方差與標準差
    前言:為什麼要學會數理統計?因為我們現在所接觸的所有跟人工智慧相關的算法,特別是機器學習,我們都能在這些領域的算法中看到數理統計的影子。甚至說許多機器學習中我們經常聽到的一些傳統算法,比如SVM之類的,其實都是來源於數理統計。包括許多機器學習中的方法論,其實都是源於數理統計的方法論。
  • 淺說數理統計與概率論
    數理統計            數理統計是伴隨著概率論的發展而發展起來的一個數學分支,研究如何有效的收集、整理和分析受隨機因素影響的數據,並對所考慮的問題作出推斷或預測,為採取某種決策和行動提供依據或建議。       根據上面描述,數理統計可分為描述統計和推斷統計。
  • 機器學習最佳統計書籍推薦
    幾乎每一個機器學習項目中都離不開統計方法。所以需要基礎的統計相關基礎知識和方法對機器學習和AI必不可少。我們說AI不是神話,AI是數學算法,說明紮實數學基礎是做AI的必須,而統計學知識尤其是如此。本書除了介紹傳統數理統計學的全部內容以外,還包含了Bootstrap方法(自舉法)、獨立性推斷、因果推斷、圖模型、非參數回歸、正交函數光滑法、分類、統計學理論及數據挖掘等現代主題,並將其放到數理統計後作為補充後續的課程。本書不但注重概率論與數理統計基本理論的闡述,同時還強調數據分析能力的培養。
  • 概率論和數理統計:向著「不確定性」進軍的數學學科
    而概率論和數理統計就是研究統計規律性的數學學科。概率論的產生和發展概率論產生於17世紀的保險事業,但也來自賭徒的請求,為數學家們提供了思考概率論的問題。1654年,一個賭徒向數學家帕斯卡提出一個困擾他很久的問題:兩個賭徒相約賭若干局,先贏 m局的人勝出,並獲得全部賭本。
  • 考研數學概率與數理統計學科特點
    概率與數理統計這門課程從試卷本身的難度的話,在三門課程中應該算最低的,但是從每年得分的角度來說,這門課程是三門課中得分率最低的。這主要是由兩方面造成的。一方面是時間不充裕,概率解答題位於試卷的最後,學生即使會,也來不及解答;另一方面是概率本身學科的特點,導致很多學生覺得概率非常難。
  • 圖解統計學:簡單易懂的基礎概率&描述性統計
    hyn | 作者知乎專欄 | 來源https://zhuanlan.zhihu.com/p/40756359 從小偏文科的我,聽到數學相關的知識就頭疼,更是毫無統計學基礎,之前用 Excel做零售分析時也從沒覺得統計學和數據分析有什麼必要關聯。
  • 2020年考研數學複習之概率論與數理統計的基礎基本概念
    小編整理了概率論與數理統計基本概念這一部分的總結,希望能夠給準備考研的同學一點點幫助。概率論與數理統計這一部分內容是研究生考試中,廣大考生感到困難同時又是非常重要的一部分。數理統計部分在考研真題形式和所佔比重相對固定,題型一般都是兩個選擇題,一個填空題和兩個解答題總共是34分。縱觀近十年來的考研真題,每年考研數學一的第23題(最後一道壓軸題)都是數理統計的題目。
  • 2021考研數學:概率與數理統計高分複習攻略
    2021考研很多考生抱怨概率論與數理統計部分難度較大,殊不知概率部分其實內容不多,也不難,考察方式單一,只要考生在備考過程2021考研數學概率論與數理統計中重視基礎,取得滿分也是沒問題的,一起來了解一下。概率論與數理統計可分為概率和數理統計兩部分。
  • 《中華醫學統計百科全書. 描述性統計分冊》
    描述性統計分冊》 作者 總主編:徐天和   分冊主編:田考聰書號 ISBN 978-7-5037- 6468-4開本 16開裝幀 平裝出版時間 2012年4月定價 38元內容簡介:    《中華醫學統計百科全書》是一部醫學統計參考工具書,讀者對象主要是醫學統計工作者、醫療衛生機構的統計信息工作者和醫學院校的師生
  • 人工智慧-數學基礎總結
    線性代數的本質在於將具體事物抽象為數學對象,並描述其靜態和動態的特性;線性變換描述了向量或者作為參考系的坐標系的變化,可以用矩陣表示;矩陣的特徵值和特徵向量描述了變化的速度與方向。概率論是線性代數之外,人工智慧的另一個理論基礎,多數機器學習模型採用的都是基於概率論的方法。
  • 2017考研數學概率論與數理統計考情分析
    一、以基礎為綱  從近十年考研數學真題來看,試卷中80%的題目都是基礎計算題目,所謂的難題只是少數。概率論與數理統計這門學科是數一數三的公共考查科目,這部分知識在整張試卷中佔22%的分值,其相對高數知識體系要簡單。
  • 2014年考研數學:概率與數理統計的學科特點及命題規律
    新東方網>大學教育>考研>複習指導>數學>正文2014年考研數學:概率與數理統計的學科特點及命題規律 2013-10-31 16:10 來源:新東方網整理
  • 數據分析:關於社會統計學與數理統計的區別,看完長見識了
    1946年H.克拉默發表的《統計學數學方法》是第一部嚴謹且比較系統的數理統計著作,它是數理統計學進入成熟階段的標誌。由於數理統計其本質是帶著概率意義下的結論。比如:區間估計,假設檢驗,方差分析等。因此數理統計屬於概率論的應用屬於自然科學。
  • 「人工智慧的數理基礎」主題論壇,五位學者從數學角度解決AI問題
    智東西(公眾號:zhidxcom)文| 王小溪導語:來自北京大學的五位學者參加了「人工智慧的數理基礎」主題論壇,他們從數學、統計和計算的角度做了學術報告。
  • 海文:2014年考研數學大綱 概率與數理統計命題規律
    概率與數理統計這門課程從試卷本身的難度的話,在三門課程中應該算最低的,但是從每年得分的角度來說,這門課程是三門課中得分率最低的。這主要是由兩方面造成的。一方面是時間不充裕,概率解答題位於試卷的最後,學生即使會,也來不及解答;另一方面是概率本身學科的特點,導致很多學生覺得概率非常難。  概率與數理統計學科的特點:  1、研究對象是隨機現象。
  • 概率論與數理統計課件
    ‍點擊上方高數君可加關注 帶你一起學習高數,複習考研數學
  • 機器學習數學精華:4個角度輕鬆搞定概率統計
    那恐怕不行,機器學習中的核心思想和大量核心應用都是構建在這些知識的基礎上的:面對一個統計樣本,你想估計出你感興趣的參數,極大似然估計以及有偏性無偏性你能不掌握?如果不巧碰上包含隱變量的場景,EM 迭代的思想你可是躲都躲不開;想進行語音識別?隱馬爾可夫模型你不可不會;想對一句話進行詞性標註?
  • 小白快速上手數據分析模型10 | 描述性統計案例
    ○輸入:單列或者多列定量數據○輸出:對總體的各項統計指標(欄位)進行整體描述分析,包括樣本量、最大值、最小值等統計量描述性統計(又稱敘述統計)用於對調查總體所有變量的有關數據進行統計性描述。它的作用是通過描繪統計圖、統計表或者計算數據分布特徵的基本統計量,來了解樣本觀察值的分布情況,為進一步的統計推斷打下基礎[2]。
  • 2021考研概率論與數理統計衝刺:數理統計的基本概念考試要求_北京...
    考研數學基礎打堅實,衝刺複習要複習到位!概率論與數理統計是考研數學中尤其重要的一門,在這個階段大家一定不要放鬆,持續備戰方可戰勝困難,下面中公考研小編為大家整理概率論與數理統計相關內容,希望對各位考生有所幫助。
  • 概率論和數理統計:必然性的因果關係,遇見多種可能的隨機事件
    這種大量的同類隨機現象所呈現出來的集體規律性,叫做統計規律性。而概率論和數理統計就是研究統計規律性的數學學科。概率論的產生和發展概率論產生於17世紀的保險事業,但也來自賭徒的請求,為數學家們提供了思考概率論的問題。