◎汪 浩 李 瑩 曹遠(yuǎn)龍(江西師范大學(xué)軟件學(xué)院,江西 南昌 330027)
概率論與數(shù)理統(tǒng)計(jì)課程是IT類(lèi)相關(guān)專(zhuān)業(yè)的理論基礎(chǔ),本文作者根據(jù)大數(shù)據(jù)/人工智能背景下IT類(lèi)專(zhuān)業(yè)人才培養(yǎng)的需求,分析了概率論與數(shù)理統(tǒng)計(jì)課程教學(xué)存在的問(wèn)題,提出根據(jù)IT類(lèi)專(zhuān)業(yè)后續(xù)課程的需要,調(diào)整概率論與數(shù)理統(tǒng)計(jì)的教學(xué)內(nèi)容,并將開(kāi)源統(tǒng)計(jì)軟件R嵌入課程教學(xué)全過(guò)程,以便學(xué)生深刻理解、掌握和應(yīng)用課程知識(shí)點(diǎn)的教學(xué)改革方法.
本文作者在講授概率論與數(shù)理統(tǒng)計(jì)課程相關(guān)知識(shí)點(diǎn)的同時(shí),將R的相關(guān)函數(shù)嵌入知識(shí)點(diǎn)的講解中,利用R進(jìn)行隨機(jī)試驗(yàn)?zāi)M、概率計(jì)算、統(tǒng)計(jì)分析等,探討了將開(kāi)源統(tǒng)計(jì)軟件R融入概率論與數(shù)理統(tǒng)計(jì)課程相關(guān)知識(shí)點(diǎn)的具體舉措,以便學(xué)生能更深刻地理解、掌握和應(yīng)用課程相關(guān)知識(shí)點(diǎn),為后續(xù)專(zhuān)業(yè)課程的學(xué)習(xí)奠定堅(jiān)實(shí)的基礎(chǔ).
本文將按照教材的章節(jié)次序,依次討論將R軟件融入課程教學(xué)全過(guò)程及相關(guān)知識(shí)點(diǎn)的具體舉措,并用相應(yīng)的R代碼舉例進(jìn)行詳細(xì)說(shuō)明.
為使學(xué)生對(duì)隨機(jī)現(xiàn)象和隨機(jī)試驗(yàn)有更直觀(guān)的體會(huì),并深刻理解其本質(zhì)特征,在講解隨機(jī)現(xiàn)象、隨機(jī)試驗(yàn)及其頻率的知識(shí)點(diǎn)時(shí),教師可利用R代碼模擬投硬幣、投骰子和高爾頓板等隨機(jī)試驗(yàn),以便加深學(xué)生對(duì)隨機(jī)試驗(yàn)的頻率波動(dòng)性,以及隨著試驗(yàn)次數(shù)的增加,其頻率趨于穩(wěn)定的理解.例如教師可用R代碼sample(1:2,count,replace=TRUE)模擬投硬幣,sample(1∶6,count,replace=TRUE)模擬投骰子.高爾頓板試驗(yàn)是一個(gè)經(jīng)典的隨機(jī)試驗(yàn),制作一個(gè)高爾頓板的實(shí)物并不容易,但R代碼可模擬高爾頓板試驗(yàn).plot函數(shù)顯示了n個(gè)球(代碼中是10000個(gè)球)分別從最頂層落下,并計(jì)算最終落入最底層編號(hào)分別為1,3,……,17,19的球洞的球所占的比例(中間層是釘子的編號(hào)).教師通過(guò)修改n的值,多次運(yùn)行此段R代碼.學(xué)生通過(guò)R代碼顯示的圖形,可以直觀(guān)地觀(guān)察到:隨著n的增加,落入最底層球洞的球所占比例的穩(wěn)定性.
#記錄落入最底層球洞的球的個(gè)數(shù)
BallHole=rep(0,19)
n=10000 #試驗(yàn)所用球的個(gè)數(shù),可根據(jù)需要修改
for(i in 1:n)
{
CurrentLevel=10 #記錄球當(dāng)前所在層次,球初始在第10層
CurrentHole=10 #記錄球當(dāng)前所在釘子(球洞)的編號(hào),球初始在編號(hào)為10的釘子處
while(CurrentLevel>1)
{ #如果球還沒(méi)有落到最底層球洞,則下降一層
CurrentLevel=CurrentLevel-1
#球隨機(jī)向左或向右落入下一層
CurrentHole=CurrentHole+sample(c(-1,1),1)
}
#球已落入最底層球洞,增加相應(yīng)球洞的球的個(gè)數(shù)
BallHole[CurrentHole]=BallHole[CurrentHole]+1
}
plot(BallHole/n,type="h")#顯示落入最底層每個(gè)球洞的球所占的比例
W=1 #用1表示白球
R=2 #用2表示紅球
A1=0 #放回抽樣時(shí)事件A出現(xiàn)的頻數(shù)
B1=0 #放回抽樣時(shí)事件B出現(xiàn)的頻數(shù)
A2=0 #不放回抽樣時(shí)事件A出現(xiàn)的頻數(shù)
B2=0 #不放回抽樣時(shí)事件B出現(xiàn)的頻數(shù)
n=100000 #隨機(jī)試驗(yàn)總次數(shù)
x=c(W,W,W,W,R,R)#口袋中放6只球,其中4只白球,2只紅球
#總共做n次隨機(jī)試驗(yàn)
for(i in 1:n){
r=sample(x,2,replace=TRUE)#放回抽樣取2只球
if(r[1]==W &&r[2]==W)A1=A1+1 #放回抽樣時(shí),記錄事件A發(fā)生的頻數(shù)
if(r[1]==R &&r[2]==R)B1=B1+1 #放回抽樣時(shí),記錄事件B發(fā)生的頻數(shù)
r=sample(x,2,replace=FALSE)#不放回抽樣取2只球
if(r[1]==W &&r[2]==W)A2=A2+1 #不放回抽樣時(shí),記錄事件A發(fā)生的頻數(shù)
if(r[1]==R &&r[2]==R)B2=B2+1 #不放回抽樣時(shí),記錄事件B發(fā)生的頻數(shù)
}
4/9;A1/n #打印放回抽樣時(shí),事件A發(fā)生概率和頻率
1/9;B1/n #打印放回抽樣時(shí),事件B發(fā)生概率和頻率
2/5;A2/n #打印不放回抽樣時(shí),事件A發(fā)生概率和頻率
1/15;B2/n #打印不放回抽樣時(shí),事件B發(fā)生概率和頻率
隨機(jī)變量及其分布是課程的重點(diǎn)內(nèi)容,也是學(xué)生難以理解的內(nèi)容之一.教師利用R提供的隨機(jī)變量相關(guān)函數(shù),可使學(xué)生直觀(guān)理解隨機(jī)變量及其分布律等概念,并簡(jiǎn)化復(fù)雜的概率計(jì)算.具體內(nèi)容如下:
(1)針對(duì)離散型分布律,教師可用R代碼模擬生成m個(gè)服從該分布律分布的隨機(jī)數(shù),以及模擬生成“多項(xiàng)分布”.
(2)教師利用R代碼sample(c(1,0),n,replace=TRUE,prob=c(p,1-p))可模擬n重伯努利試驗(yàn),其中1代表“成功”(其概率為p),0代表“失敗”(其概率為1-p),以加深學(xué)生對(duì)重復(fù)獨(dú)立試驗(yàn)和“二項(xiàng)分布”的理解.
(3)教師可利用R提供的各種概率分布函數(shù)、密度函數(shù)、分位數(shù)函數(shù)、隨機(jī)數(shù)生成函數(shù)進(jìn)行相關(guān)的概率計(jì)算,或繪制各種概率分布律或概率密度函數(shù)隨其參數(shù)動(dòng)態(tài)變化的圖形.
(4)除了可用R代碼完成復(fù)雜的概率計(jì)算外,教師還可用R代碼繪制概率分布律/密度函數(shù)的圖形.例如,教師可用R代碼x=dbinom(0:20,20,0.2),plot(x,type="h")繪制二項(xiàng)分布b(20,0.2)的分布律;用R代碼x=seq((2-40),(2+40),length.out=1000),plot(x,dnorm(x,mean=2,sd=10),type="l")繪制正態(tài)分布N(2,102)的密度函數(shù).教師通過(guò)調(diào)整分布律或密度函數(shù)的參數(shù),可以讓學(xué)生觀(guān)察理解概率分布及其參數(shù)間的相互關(guān)系.
(5)此外,教師還可以利用R生成滿(mǎn)足特定概率分布的隨機(jī)數(shù).例如教師可用rnorm(100)生成100個(gè)服從標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù),利用runif(100)生成100個(gè)服從(0,1)區(qū)間均勻分布的隨機(jī)數(shù).
為使學(xué)生深刻理解大數(shù)定律和依概率收斂的概念,教師可用以下R代碼通過(guò)每次循環(huán)生成i個(gè)服從指數(shù)分布(分布可以任意選擇)的隨機(jī)數(shù)并計(jì)算其算術(shù)平均,然后繪制散點(diǎn)圖讓學(xué)生觀(guān)察:隨著i的增加,該算術(shù)平均將穩(wěn)定在該分布的數(shù)學(xué)期望附近.
avg=vector()
n=10000
#循環(huán)n次,每次生成i個(gè)服從均值為5的指數(shù)分布的隨機(jī)數(shù)
for(i in 1:n)avg[i]=mean(rexp(i,rate = 1/5))#計(jì)算這i個(gè)隨機(jī)數(shù)的算術(shù)平均
plot(avg)#顯示這n個(gè)平均數(shù)
為使學(xué)生深刻理解中心極限定理,教師可用以下R代碼通過(guò)每次循環(huán)生成i個(gè)服從指數(shù)分布(分布可以任意選擇)的隨機(jī)數(shù)并對(duì)其和進(jìn)行標(biāo)準(zhǔn)化(參見(jiàn)教材第五章定理2),然后繪制直方圖讓學(xué)生觀(guān)察:隨著n的增加,隨機(jī)數(shù)之和經(jīng)標(biāo)準(zhǔn)化后的分布近似服從標(biāo)準(zhǔn)正態(tài)分布.
y=vector()
n=10000
rate=1/5
#循環(huán)n次,每次循環(huán)生成i個(gè)服從均值為5的指數(shù)分布的隨機(jī)數(shù)
#計(jì)算隨機(jī)數(shù)之和,并對(duì)該和進(jìn)行標(biāo)準(zhǔn)化(參見(jiàn)教材第五章定理2)
#計(jì)算結(jié)果存放在向量y中
for(i in 1:n)y[i]=(sum(rexp(i,rate))-i*1/rate)/sqrt(i*1/rate^2)
hist(y,freq=FALSE)#顯示向量y的直方圖
lines(density(y))#在直方圖上顯示密度曲線(xiàn)
教師可進(jìn)一步將上述代碼中的指數(shù)分布隨機(jī)數(shù)生成函數(shù)rexp修改為其他分布(如二項(xiàng)分布)的隨機(jī)數(shù)生成函數(shù):y[i]=(sum(rbinom(i,1000,0.8))-i*1000*0.8)/sqrt(i*1000*0.8*0.2),也可以得到類(lèi)似的直方圖.也就是說(shuō),無(wú)論原始隨機(jī)數(shù)的分布服從何種分布,隨機(jī)變量之和經(jīng)標(biāo)準(zhǔn)化后的分布(隨著隨機(jī)變量個(gè)數(shù)的增加),近似服從標(biāo)準(zhǔn)正態(tài)分布.
最后,借助R代碼,教師可以方便地進(jìn)行大數(shù)定律或中心極限定理所涉及的復(fù)雜概率問(wèn)題的計(jì)算.例如針對(duì)教材第五章例題2,教師可用R代碼sum(dbinom(29500:30500,90000,1/3))或mean=90000*1/3;sd=sqrt(90000*1/3*2/3); pnorm(30500,mean,sd)- pnorm(29500,mean,sd)快速得到計(jì)算結(jié)果.
描述性統(tǒng)計(jì)學(xué)是對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步深入分析的前提和基礎(chǔ),因?yàn)榻處熢谝酝虒W(xué)過(guò)程中沒(méi)有引入相應(yīng)的統(tǒng)計(jì)軟件作為支撐,這部分內(nèi)容在傳統(tǒng)的概率論與數(shù)理統(tǒng)計(jì)課程中沒(méi)有得到充分的重視.引入R軟件后,教師可借助R軟件提供的函數(shù)充實(shí)擴(kuò)充這部分內(nèi)容,培養(yǎng)學(xué)生分析數(shù)據(jù)的初步能力.例如教師可用hist函數(shù)繪制樣本的直方圖,density函數(shù)獲得樣本的核密度估計(jì),boxplot函數(shù)繪制樣本的箱線(xiàn)圖,ecdf函數(shù)獲得樣本的經(jīng)驗(yàn)分布函數(shù),barplot函數(shù)繪制樣本的柱形圖,pie函數(shù)繪制樣本的餅圖,plot繪制樣本的散點(diǎn)圖,summary函數(shù)獲得樣本的最小值、最大值、均值、25%分位數(shù)、50%分位數(shù)及75%分位數(shù),cor、table等函數(shù)對(duì)樣本進(jìn)行相關(guān)性分析,R代碼計(jì)算樣本的偏度、峰度等.
對(duì)參數(shù)進(jìn)行點(diǎn)估計(jì)或區(qū)間估計(jì)是IT專(zhuān)業(yè)機(jī)器學(xué)習(xí)等后續(xù)課程的基本內(nèi)容之一.為了訓(xùn)練學(xué)生對(duì)點(diǎn)估計(jì)或區(qū)間估計(jì)的充分理解,教師可根據(jù)點(diǎn)估計(jì)或置信區(qū)間的計(jì)算公式,編寫(xiě)計(jì)算點(diǎn)估計(jì)值或區(qū)間端點(diǎn)值的R代碼.
假設(shè)檢驗(yàn)是理解和掌握方差分析和回歸分析的基礎(chǔ),為加深學(xué)生對(duì)假設(shè)檢驗(yàn)理論的理解,教師不僅要具備能利用R軟件提供的t.test函數(shù)或軟件中的其他假設(shè)檢驗(yàn)函數(shù)直接進(jìn)行假設(shè)檢驗(yàn)的能力,還要具備能根據(jù)檢驗(yàn)統(tǒng)計(jì)量的公式或算法,編寫(xiě)計(jì)算檢驗(yàn)統(tǒng)計(jì)量及其p值的R代碼的能力.
為使學(xué)生理解并掌握方差分析的基本原理,熟悉方差分析算法的基本思想,教師可針對(duì)單因素方差分析的算法,編寫(xiě)R代碼進(jìn)行單因素方差分析(受篇幅所限,代碼省略),針對(duì)多因素方差分析和回歸分析.鑒于相應(yīng)算法有點(diǎn)復(fù)雜,教師可直接調(diào)用R軟件提供的aov函數(shù)和anova函數(shù)進(jìn)行方差分析,調(diào)用R軟件提供的lm函數(shù)進(jìn)行回歸分析.
論文按照教材知識(shí)點(diǎn)的先后次序,系統(tǒng)討論了將開(kāi)源統(tǒng)計(jì)軟件R融入概率論與數(shù)理統(tǒng)計(jì)課程知識(shí)點(diǎn)教學(xué)的具體舉措,并給出了相應(yīng)的R代碼.實(shí)踐效果表明,這些舉措確實(shí)能顯著提高學(xué)生對(duì)課程知識(shí)點(diǎn)的理解和掌握,從而為IT專(zhuān)業(yè)的后續(xù)課程奠定堅(jiān)實(shí)的基礎(chǔ).
數(shù)學(xué)學(xué)習(xí)與研究2022年11期