劉娟 萬媛媛
1.廣東財經大學統計與數學學院 廣東 廣州 510320;
2.中山大學新華學院 廣東 廣州 510520
概率論與數理統計是研究現實世界中的隨機現象的統計規律性的學科。進入21世紀以來概率論的思想以及常見統計分析方法已經被廣泛應用于生物醫學、經濟管理及社會學等眾多領域。近年來隨著人工智能技術的飛速發展,推進了信息技術在日常教學中的廣泛應用[1]。當前在數據科學領域,Python作為一種高級程序設計語言,其腳本語言簡單且易用,具有豐富的擴展庫,是數據科學家們最常用的語言。在概率論與梳理統計的課堂中引入Python語言輔助教學,結合教學過程中的理論要點、典型問題,利用Python程序的相關模塊,去完成數理模型計算,統計試驗的模擬,數據建模及統計推斷等,將抽象的數學知識具體化,讓學生根據討論問題展開探索性學習模式,提高學生的學習積極性,可以提升課堂教學效率。
根據研究的內容及方法來看,概率論與數理統計這門課程由兩個部分組成,概率論是研究關于不確定性現象的數學描述,概率思想是統計學的理論基礎,而數理統計則是研究有效整理收集和分析受到隨機影響數據的學科。由于學生在學過微積分、線性代數等課程后會形成一些慣性思維,不太適應和熟悉概率統計研究隨機現象產生的新觀點,比如頻率概率與主觀概率,假設檢驗、最大似然和回歸分析方法等理論性較強的知識點[2]。教師在課堂教學中不能只強調概率統計課程中的公式和定理,片面追求抽象思維能力的訓練,在教學實踐中可結合問題案例教學方法來傳授思想和指導實踐,強調問題解決的過程,讓學生有在課堂上有獲得感,體會到所學知識可以解決實際問題,達到專業素養的提升。
通常認為概率論起于骰子的應用,源于點數問題,也稱為分賭本問題。這是早期概率論從萌芽到成立過程中最重要的一個問題:有一個贏者可以獲得全部獎金的雙人對戰游戲,每局只有勝負之分,每局的得分是10分,先得到60分的人獲勝,A和B兩人正在進行游戲時因某些原因中止,而此時A的得分是50分,B的得分是30分,請問獎金該如何分配給雙方才算公平。
為解決上述問題,費馬和帕斯卡開始了關于這類分配問題的系列著名通信。他們將賭博問題轉化成數學問題,靈活地運用了組合理論,使用加法定理、乘法定理和全概率公式,引進了后來被稱之為數學期望的概念,利用二項分布和負二項分布的思想,費馬和帕斯卡完美解決了分賭本的問題。
貝努利在《猜度術》書中提出了著名的大數定理,大數定理討論的是在什么條件下,隨機變量序列的算術平均依概率收斂到其均值的算術平均[3]。隨著概率論學科的發展,到目前出現了各種推廣形式的大數定律,但其核心觀點都是當樣本量越大,樣本均值的穩定性就越好。概率論中第二個重要定理就是中心極限定理,這一定理是揭示自然規律的重要工具,曾經在兩個多世紀里作為概率論研究中心課題。與大數定理所得到的樣本均值穩定性的結論對比,中心極限定理給出了更精確、更深刻的結論,它討論了在什么條件下獨立隨機變量和的分布函數是正態分布。
數理統計學是基于數據的學科,數據是數字,但不只是數字,在如今大數據時代,除了傳統意義上的數據,現在也包括如視頻、音頻、文本等大量的非結構化數據。 數理統計研究怎樣利用、收集和整理數據帶有隨機性的數據,對總體發分布或者參數做出估計和推斷。
假設檢驗是統計推斷中非常重要的一種方法和思想,它來自英國著名統計學家Ronald Fisher羅納德·費希爾1935年的著作《試驗設計》,書中給出了統計學歷史上著名的女士品茶問題[4]。假設檢驗不僅是一種方法,更是一種重要的統計思想。針對需要研究的問題,把期待的結果置于備擇假設的位置,然后根據原假設在已有理論框架下進行嚴格數學推導,計算模型的P值,這種思想的核心在于“拒絕”,而不是“證明”,這與常規的數學思維方式不盡相同,卻是統計學學習中的重點。
回歸分析是統計學中數據分析的一個非常重要的模型方法,統計學上“回歸”一詞,最早出現在1855年生物學家高爾頓發表的《遺傳的身高向平均數方向的回歸》文章中。回歸分析也是機器學習中最基礎的理論之一,線性回歸模型相對簡單,并且提供了一個易于解釋的數學公式,它可以應用應用于自然科學、社會科學等各個領域,是統計數據分析的最基礎方法。
Python編程語言語法簡潔且具有強大第三方庫的支持,而且Python程序對初學者非常友好,它是人工智能時代重要的編程語言之一,下面結合課程教學的經典應用案例,來展示Python軟件在概率統計課程教學中的應用,培養學生學會利用概率統計知識,初步具備對實際問題的建模的能力,利用計算機程序來輔助學習、探索解決實際問題,達到“學,思,做”的有機結合。
歷史上有許多著名概率統計學者都曾經做過“擲骰子”的試驗,將一枚均勻的骰子重復的拋擲,觀察出現點數的規律,剛開始出現的點數會隨機地出現點1到點6,并不呈現出穩定規律,隨著試驗次數的增加,發現出現的點數的平均值會穩定在3.5附近,這一看似直觀的結論,背后的數學原理正是大數定律。為了讓學生在能夠更直觀感受到這一結論,從被動接受到自己動手實踐,引入Python中的numpy程序包來輔助教學,下面是擲骰子試驗在Python中實現代碼:
import random
import matplotlib.pyplot as plt
import numpy as np
random.seed(1991)
def Roll(n):
result=[]
for i in range(1,n+1):
result.append(random.choice([1,2,3,4,5,6]))
return result
result=Roll(1500)
averages=[]
_cumsum=np.cumsum(result)
for index in range(len(_cumsum)):
averages.append(_cumsum[index]/(index+1))
plt.plot(averages)
plt.rcParams[‘font.family’]= [‘sans-serif’]
plt.rcParams[‘font.sans-serif’]= [‘SimHei’]
plt.xlabel(‘試驗次數')
plt.ylabel(‘骰子點數的平均值')
plt.title(‘擲骰子的大數定律')
plt.show()
及模擬1500次的運行結果如下圖1所示。
圖1 模擬1500次的試驗結果
首先給出教材中一類單正態總體在方差未知情況下的雙側檢驗問題,某廠生產的某種零件的長度服從正態分布,其均值設定為0.8cm,現從該廠抽取9件產品,測定長度分別為0.8511、0.8891、0.8982、0.7625、0.845、0.838、0.8232、0.8883及0.8256。給定顯著性水平0.05,判斷該廠這批零件長度是否符合要求。
假設檢驗是統計學部分的重要內容,利用Python程序SciPy庫中的stats模塊的ttest_lsamp函數可以進行單個正態總體均值的檢驗,利用程序中的對應模塊來完成統計計算,讓學生學會和適應用軟件掌握相關知識點。本題在Python中實現的完整代碼如下,由代碼結果可知,根據p值這批零件不符合要求,拒絕原假設。
In[1]: from scipy import stats as sts
dafa= [0.8511,0.8891,0.8982,0.7652,0.8450,0.8380,0.8232,
0.8883,0.8256]
Print(‘零件長度為: ’,sts.ttest_lsamp(a=data,popmean=0.80))
Out[1]: 零件長度為:
Ttest_lsampResult(statistic=3.3116514531113,
Pvalue=0.010671924137571)
隨著大數據人工智能技術的飛速發展 , 利用數據處理軟件賦能助力教學已成為現實,在概率論與梳理統計的課堂中引入Python語言輔助教學,利用程序的相關模塊,去完成概率定理的模擬,統計試驗的計算及推斷等,將抽象的數學理論具體化,重現知識形成過程,幫助學生更好地理解和掌握教學內容,達到培養學生創新精神和實踐能力的目標。