徐平峰 陳婷 董小剛 袁小惠
摘要:概率論與數(shù)理統(tǒng)計作為一門數(shù)據(jù)分析課程,其開設(shè)廣泛、應(yīng)用興強。如何選擇軟件輔助教學(xué)是一個非常重要的問題,本文結(jié)合R軟件的特點,通過經(jīng)典教材例題,對比分析討論R軟件輔助教學(xué)的優(yōu)勢。
關(guān)鍵詞:R軟件;概率統(tǒng)計;輔助教學(xué)
一、使用軟件的必要性
隨著計算機、互聯(lián)網(wǎng)的迅速發(fā)展,數(shù)據(jù)的采集、整理以及儲存的方式發(fā)生了巨大的變化。現(xiàn)代的數(shù)據(jù)分析也越來越離不開計算機和相關(guān)軟件。概率論與數(shù)理統(tǒng)計作為一門數(shù)據(jù)分析課程,也應(yīng)與現(xiàn)代的數(shù)據(jù)分析方式相契合,凸顯其實用性,因而有必要在課程教學(xué)中進入相關(guān)的軟件教學(xué)。在這方面,魏宗舒等編著的《概率論與數(shù)理統(tǒng)計教程》的第二版[1]和盛驟等編著的《概率論與數(shù)理統(tǒng)計》第四版[2],都引入了Excel幫助進行統(tǒng)計分析,以適用應(yīng)用性的需要。Excel作為Office的一部分應(yīng)用相當(dāng)廣泛,學(xué)生也有一定的操作基礎(chǔ),作為概率論與數(shù)理統(tǒng)計的教學(xué)軟件,無疑是最容易被學(xué)生接受,也是最方便的。
二、使用R軟件的優(yōu)勢
單從統(tǒng)計模擬以及課堂演示的角度考慮,專業(yè)的統(tǒng)計分析軟件,在這方面更具有優(yōu)勢。例如:被統(tǒng)計學(xué)者或科研人員廣泛應(yīng)用的R軟件就是一個不錯的選擇,而軟件與商業(yè)軟件SAS和SPSS不同,它是免費、開源的,而且其統(tǒng)計分析和統(tǒng)計制圖功能不亞與SAS和SPSS。美國時代周刊2009年曾指出,R是可以和SAS相媲美,占有相當(dāng)比例的市場份額[3] 。而且R軟件只有七十多兆,不會占用很多磁盤空間,安裝時間僅僅幾分鐘。同時R軟件有相當(dāng)多的統(tǒng)計分析軟件包,截止2018年9月,共有13095個軟件包。這些軟件包不僅功能強大,而且大多數(shù)都含有真實數(shù)據(jù),如果恰當(dāng)選擇,將可作為概率統(tǒng)計教學(xué)的非常新穎的實例。更重要的是R是一種數(shù)學(xué)計算環(huán)境,它提供各種數(shù)學(xué)計算,統(tǒng)計計算的函數(shù),不僅方便學(xué)生和老師調(diào)用,而且能更加靈活地進行統(tǒng)計模擬,從而使學(xué)生更好的理解概念和性質(zhì)。
下面通過幾個例題,對比分析一下R軟件輔助教學(xué)的優(yōu)勢。在講概率論部分,生日問題是學(xué)生非常感興趣的問題之一,設(shè)一個班有n( 365)個學(xué)生,求至少有兩個學(xué)生的生日相同的概率。如果假設(shè)學(xué)生的生日在365天每一天都具有相同的概率,則該概率為 。這個概率看起來簡單,但實際上筆算或者用計算器計算,工作量是很大的。為魏宗舒、盛驟、茆詩松等編著的教材中均有此例題,均給出了概率隨學(xué)生數(shù)n的變化表格。茆詩松的教材中給出了近似計算的方法,但也涉及指數(shù)運算,如果用R軟件進行計算,就方便多了,結(jié)果見圖1。該過程在課堂上演示或讓學(xué)生下課重復(fù)R件計算過程,使學(xué)生更加真實地感受這一結(jié)果。
圖1 生日問題結(jié)果
在概率論部分,在講授二項分布的內(nèi)容時,其中一個重要的知識點是二項分布的分布列可由泊松分布的分布列近似計算:即當(dāng)n較大,p較小,np不太大時,有 ,其中 。詳見魏宗舒第二版第67頁。教材中表2.2給出了精確的二項分布率和近似的泊松分布率的比較結(jié)果,為了驗證這一結(jié)果,我們可以利用R軟件進行比較。計算結(jié)果見圖2,其中紅色為泊松概率,其他顏色的圓圈表示n不同二項分布的概率。
圖2 泊松概率與二項概率比較結(jié)果
在講授置信區(qū)間內(nèi)容時,從頻率學(xué)派的觀點,我們通常會強調(diào),在重復(fù)采樣情況下,將得到許多不同的置信區(qū)間,這些區(qū)間將有大約 的區(qū)間包含未知參數(shù),而對于一次采樣所得的置信區(qū)間,絕不能說未知參數(shù)落入?yún)^(qū)間的概率為 。但對于學(xué)生來說,理解是有一定困難的。茆詩松老師[4]的教材上給出了例6.6.1模擬上的過程,我們可以通過R軟件重復(fù)茆詩松老師的模擬過程,展示給學(xué)生,增加學(xué)生的印象,使學(xué)生理解更深刻。如圖3.
圖3 置信區(qū)間模擬結(jié)果
通過以上三個例子可以說明,R軟件輔助教學(xué),具有活潑、生動,使學(xué)生理解更深刻的優(yōu)點。有的老師可能會說,從模擬和計算角度,Matlab也可以實現(xiàn)上述過程。的確如此,而R依然具有占用空間小,免費開源的優(yōu)勢。此外R軟件的自己獨特的變量類型,表示數(shù)據(jù)更方便,更符合人們的習(xí)慣。例如數(shù)據(jù)框,它通常是一個矩陣形式的數(shù)據(jù),但矩陣各類可以是不同的類型,它的每一列表示一個變量,每行表示一個樣本。
圖4 數(shù)據(jù)框結(jié)果
三、總結(jié)
綜上所述,在概率論與數(shù)理統(tǒng)計中恰當(dāng)?shù)囊隦軟件不僅可以解決計算的問題,而且可以進行統(tǒng)計模擬,便于學(xué)生更易理解重要的概念,激發(fā)學(xué)生的學(xué)習(xí)興趣。但同時也存在一定的問題,例如對學(xué)生來說,R軟件相對于Excel要操作相對難以掌握,另外如何分配R軟件教學(xué)學(xué)時與理論課學(xué)時,特別值得研究的問題。
參考文獻:
[1] 魏宗舒,等. 概率論與數(shù)理統(tǒng)計教程.(第二版)[M]. 北京:高等教育出版社, 2008.
[2] 盛驟,等. 概率論與數(shù)理統(tǒng)計(第四版)[M]. 北京:高等教育出版社, 2008.
[3] Ashlee Vance. Data Analysts Captivated by Rs Power, The New York Times, 2009
[4] 茆詩松,等. 概率論與數(shù)理統(tǒng)計教程(第二版) [M]. 北京:高等教育出版社, 2011.
附錄:
生日問題代碼:
m <- seq(10,50,5)
P.E<- function(m){
c(Student = m,ProbAtL2SB = 1-prod((365:(365-m+1)/365)))
}
t(sapply(m,P.E))
泊松概率與二項概率代碼:
x<- 0:10
px<- dpois(x,1)
n<- 10;p<- 0.1;px10<- dbinom(x,n,p)
n<- 20;p<- 0.05;px20<- dbinom(x,n,p)
n<- 40;p<- 0.025;px40<- dbinom(x,n,p)
n<- 100;p<- 0.01;px100<- dbinom(x,n,p)
plot(x,px,ylim = c(0,max(px10,px20,px40,px100)),
type = "h",xlab = "x",ylab = "P(X=x)",col="red")
par(new=TRUE);points(x,px10,col= "yellow")
par(new=TRUE);points(x,px20,col= "blue")
par(new=TRUE);points(x,px40,col= "black")
par(new=TRUE);points(x,px100,col= "green")
legend("topright",legend = c("pios","n=10","n=20","n=40","n=100"),
lty = 1,col=c("red","yellow","blue","black","green"))
置信區(qū)間模擬代碼:
norsim<- function(sims=100,n=36,mu=15,sigma=2,conf.level=0.90){
alpha<- 1-conf.level
CL<- conf.level*100
l1<- numeric(sims)
u1<- numeric(sims)
for (i in 1:sims) {
x<- rnorm(n,mu,sigma)
xbar<- mean(x)
s<- sd(x)
l1[i]<- xbar-qt(1-alpha/2,df=n-1)*s/sqrt(n)
u1[i]<- xbar+qt(1-alpha/2,df=n-1)*s/sqrt(n)
}
notin<- sum((l1>mu)+(u1 percentage<- round((notin/sims)*100,2) SCL<- 100-percentage plot(l1,type = "n",ylim = c(min(l1),max(u1)),xlab = "",ylab = "") for (i in 1:sims) { low<- l1[i] high<- u1[i] if(low segments(i,low,i,high) } else if(low>mu&high;>mu){ segments(i,low,i,high,col = "red",lwd=5) } else{ segments(i,low,i,high,col = "blue",lwd=5) } } abline(h=mu) cat(SCL,"\b% of the random confidence intervals contain Mu=",mu,"\b.","\n") } norsim() 數(shù)據(jù)框代碼: df<- data.frame( 姓名=c("陳一","黃二","張三","李四","王五"), 性別=c("女","女","男","男","男"), 年齡=c(13,12,13,12,14), 體重=c(56.5,56.2,45,44,57) ) df 作者簡介: 徐平峰(1979—),男,漢族,吉林省遼源市人,職務(wù):長春工業(yè)大學(xué)數(shù)學(xué)與統(tǒng)計學(xué)院副院長,職稱:教授,學(xué)歷:博士研究生,研究方向圖模型、缺失數(shù)據(jù)統(tǒng)計分析。