袁 歐,何 山
(成都錦城學院,四川 成都 611731)
統(tǒng)計學中假設檢驗分析成為了數據分析、概率統(tǒng)計、預測結果等不可或缺的方法,它在社會科學分析,百姓的健康統(tǒng)計,空氣質量預測運用中越來越廣泛,發(fā)揮著重要作用。最早的數據分析是通過人們在紙上進行演算,之后采用計算器,電腦等進行計算,這些方法能解決計算步驟,但無法解決公式記錯、邏輯順序等問題。那么,如果我們采用python語言進行假設檢驗的程序編寫恰巧能解決計算錯誤,公式用錯,邏輯思維混亂等問題。Python語言是解釋性、編譯性、互動性和面向對象的腳本語言,它不僅能調用第三方庫對數據進行分析,完成假設檢驗,也能利用標準庫結合Z檢驗與T檢驗分析方法的概念與思路進行程序編寫來完成假設檢驗。近年來,隨著科學技術的發(fā)展,空氣質量逐年下降。由此,文章將對成都市2021年1月的空氣質量指數進行估計,采用面向對象的方法完成假設檢驗,并且與調用python語言第三方庫的分析方法進行比較。
通過統(tǒng)計學假設檢驗對成都市某月整體空氣指數進行估計,有利于了解當月整體空氣指數狀況,也有利于對下個月空氣質量預測分析提供數據支持。此外,相關部門能及時采取措施,控制和減少工廠對污染物的排放量,防止污染物在大氣中傳播,避免污染物對空氣質量的影響。而采用python語言的標準庫以面向對象的方法對假設檢驗進行分析有利于減少復雜的計算,不僅使邏輯順序條理清晰,也能使Z檢驗與T檢驗的計算公式運用恰當。采用面向對象的方法進行分析更能體現假設檢驗方法的邏輯與思路,也能比較出此方法與調用第三方庫方法的異同,并且利用python語言更能熟練掌握與運用Z檢驗法與T檢驗法。
2.1.1 概念
Z檢驗(U檢驗):由于在實際問題中絕大多數是隨機變量,若總體為正態(tài)分布,則樣本統(tǒng)計量服從正態(tài)分布;若總體為非正態(tài)分布,則樣本統(tǒng)計量近似服從正太分布;由于計算U的分位數或查相應的分布表比較方便。通過比較由樣本觀測值得到的Z的觀測值來判斷數學期望的顯著性,把這種利用服從正態(tài)分布統(tǒng)計量的檢驗方法叫做Z檢驗法。正如,總體標準差已知或者總體標準差未知且樣本容量n>30,這兩種情況分別為服從正態(tài)分布或者近似服從正態(tài)分布,都將采用Z檢驗法。其公式為:

T檢驗:主要用于樣本量較小(0<n<30)且總體標準差未知的分布,是用t分布理論來推論差異發(fā)生的概率。樣本統(tǒng)計量服從t分布,從而比較兩個平均數的差異是否顯著。其公式為:
注意:z,t為符號代表,沒有特殊意義。

Python語言中的面向對象:面向對象中最重要的兩種是類和實例。類是具有相同屬性和行為的一類的實體,它是封裝對象的屬性和行為的載體。而對象是世間萬物中人們隨處可見的、存在的。此方法需注意:定義類時采用的保留字是Class,其次應定義(def)一個構造函數__inite__,初始化時self不能省略,其次在定義實例屬性,實例屬性必須在構造函數中初始化。
2.1.2 流程
Z檢驗與T檢驗法的假設檢驗步驟分為4步,分別是:(1)假設原假設(H0)與備擇假設(H1);(2)計算樞軸量;(3)找臨界值并觀察數據;(4)判斷是否拒絕原假設并得出結論。Z檢驗法與T檢驗法的區(qū)別在于:當總體標準差已知或者當總體標準差未知且是大樣本(n>30)時采用Z檢驗;當總體標準差未知且是小樣本(0<n<30)時采用T檢驗法;文章將根據此步驟著重研究采用python語言中的類的方法分析成都市2021年1月的空氣質量指數。
2.2.1 假設檢驗中公式的函數
文章研究的是基于python 語言的假設檢驗分析,首先定義一個項目類(Class index ),其次定義構造函數(__inite__),寫出實例屬性(self.data=data,self.u=u,self.σ=σ)。根 據Z檢 驗法與T檢驗法的不同將定義5個函數,分別是計算平均值(average);計算方差(val);z檢驗總體標準差已知(z_fun);Z檢驗總體標準差未知且為大樣本(n>30)(z_unknow_fun);T檢驗總體標準差未知且為小樣本(0<n<30)(t_fun)。運用python語言中類與實例方法編寫每一步算式。其核心代碼如下:

圖1 計算平均值與方差

圖2 Z檢驗與T檢驗
2.2.2 調用函數進行驗證分析
這段研究是建立在假設檢驗中Z檢驗與T檢驗的的函數之上的,采用from Indext import indext與項目類緊密相連,是對項目類(Class indext)的測試。其次,是對Z檢驗與T檢驗邏輯思想的體現,Z檢驗和T檢驗法的分析步驟將分為5步:(1)用戶假設原假設(H0)和備擇假設(H1);(2)輸入數據并確認數據是否正確;(3)用戶輸入總體均值,判斷總體標準差是否已知;(4)判斷Z檢驗還是T檢驗并找出臨界值;(5)最后得出結論。測試的核心代碼如下所示:

圖3 平均值與方差

圖4 計算樞軸量

圖5 分析并得出結論
隨著時代的進步,人們對健康狀況的關注程度不斷提高,空氣成為了影響身體健康的因素之一。空氣質量指數(AQI)是定量描述空氣質量狀況的無量綱指數。根據空氣質量指數,它能判斷當天環(huán)境的污染程度。即假設空氣質量沒有被污染的標準空氣質量指數為100,成都市2021年1月每天的空氣質量指數(AQI)為:

已知成都市2021年1月每天的空氣質量指數服從正態(tài)分布,在顯著水平?為0.05的情況下,檢驗成都市2021年1月空氣質量整體指數是否處于污染階段。
由上述實驗所示:本實驗將檢驗成都市2021年1月空氣質量整體指數是否處于污染階段,則原假設H0為成都市2021年1月空氣質量整體指數處于污染階段,備澤假設H1為成都市2021年1月空氣質量整體指數不處于污染階段。此外,1月空氣指數的總體均值為100,總體標準差未知,且樣本n為31,由于31>30,故為大樣本,近似服從正態(tài)分布,故此實驗將是顯著水平?=0.05的Z檢驗。
通過面向對象方法分析成都市2021年1月空氣質量指數得出以下相應結果:

表1 空氣質量指數分析表
由此可得出:z1<a,H0成立,不拒絕原假設,成都市2021年1月空氣質量整體指數處于污染階段。
調用第三方庫對成都市2021年1月空氣指數分析的核心代碼為:

圖6 調用第三方庫代碼
經過對比,第三方庫所得結果與類的方法是所得結果一致。由此可得:第三方庫的方法所得到的結果與本研究的類的方法所得結果一致,且類的方法與調用第三方庫的方法(如numpy庫,matplotlib庫,scipy庫 statsmodels庫)雖然都能解決Z檢驗與T檢驗,并得出結論。但是兩者的區(qū)別在于:直接導入統(tǒng)計學需要的第三方庫可以避免一些復雜的數學公式及計算,它可以提高檢驗效率,代碼簡潔明了。但是它不能體現假設檢驗的思想方法,不能直觀反映數學公式。而類的方法恰巧與它相反,它的代碼復雜并且長,但它能夠清楚表現統(tǒng)計學中假設檢驗的三個步驟和方法,也能表明數學思維。
文章對統(tǒng)計學中假設檢驗進行了分析,研究了基于python語言的Z檢驗和T檢驗,并分析了成都市2021年1月空氣質量指數是否處于污染階段進行了檢驗與結果分析。此外,比較了python語言中類的方法與導入第三方庫的方法的區(qū)別。文中的代碼主要體現在類的方法上,它從數學公式反映假設檢驗的思路,使其能熟練掌握假設檢驗方法與原理。其實,筆者認為文章所研究的面向對象的方法與調用第三方庫的方法存在一些劣勢,正如在數據處理上,兩種方法都需要一個一個輸入數據,當數據龐大時容易出現兩個問題:(1)容易輸入錯誤數據;(2)花費時間較長。在未來,筆者將采用pandas庫處理這方面的問題。其次,對于采用面向對象的方法所研究的Z檢驗與T檢驗,其代碼部分筆者認為并不精簡,筆者將會保持假設檢驗的方法與步驟對代碼進行優(yōu)化,讓它達到最精致。