李 響
(遼寧師范大學附屬中學 大連 116023)
奧運會是目前世界上影響力最大的體育盛會,從系統科學的觀點看,奧運會賽事是一個動態復雜的大系統,如何科學而準確地建立比賽成績的預測模型,揭秘獎牌背后的規律,具有廣泛而深遠的現實意義。隨著數據挖掘技術的發展,越來越多的研究者們將不同的算法和工具應用到奧運會獎牌榜的分析、預測中,所建立的預測模型主要分為三類:時間序列預測模型、經驗模型及智能化預測模型。如黃昌美、李坤等建立了灰色關聯模型對田徑、男籃等賽事進行分析和預測[1~2];張龍、孟剛等進行了奧運會田徑項目金牌時空動態演變分析[3];王國凡、趙武等提出了遺傳算法與回歸分析相結合的奧運會成績預測方法[4];龔劍等研究了基于人工神經網絡的奧運會中國男籃成績預測模型[5]。上述研究為本研究提供了借鑒和參考,但是這些研究所使用的實驗環境大都是Matlab、SPSS之類的傳統工具,雖然這些工具在統計分析、繪圖展示等方面具有強大的功能,但是這些工具都不是開源免費的,使得很多功能的使用受到了限制。為此,本研究選取免費開源且具有豐富算法包的R語言作為實驗環境,使用時間序列分析方法挖掘出歷屆奧運會的歷史成績間的時序關聯關系,從而建立預測模型,預測后續奧運會賽事的獎牌數。
時間序列是按時間順序的一組數字序列,時間序列分析就是利用這組數列,應用定量的數理統計方法加以處理,以預測未來事物的發展[6]。它的基本原理是:承認事物發展的延續性,應用歷史數據可以推測事物的發展趨勢;考慮到事物發展的隨機性,任何事物發展都可能受到偶然因素影響。
2.2.1數據平穩性檢驗
時間序列分析的基礎是選擇合適的數據,通常要求數據是平穩的(或差分后平穩),可以說平穩是時間序列分析非常重要的假設,只有基于平穩時間序列的預測才是有效的,因此平穩性檢驗是時間序列分析的關鍵環節。
所謂時間序列平穩指的是:假定某個時間序列由某一隨機過程生成,即假定時間序列{Xt}(t=1,2,…)的每一個數值都是從一個概率分布中隨機得到的。如果經由該隨機過程所生成的時間序列滿足下列條件:
1)均值E(Xt)=m是與時間t無關的常數;
2)方差Var(Xt)=s^2是與時間t無關的常數;
3)協方差Cov(Xt,Xt+k)=gk 是只與時期間隔k有關,與時間t無關的常數;
則稱經由該隨機過程而生成的時間序列是(弱)平穩的。該隨機過程便是一個平穩的隨機過程。
平穩性檢驗即單位根檢驗,就是檢驗序列中是否存在單位根,如果不存在單位根則認為序列是平穩的,檢驗方法主要包括adf檢驗、kpss檢驗、pp檢驗等[7],adf檢驗是最常用的方法。adf檢驗的原假設是存在單位根(即序列不平穩),檢驗結果如果p值小于0.05則拒絕原假設,認為序列平穩;如果p值大于0.05則接受原假設,認為序列不平穩。
2.2.2時間序列模型與模型參數的確定
常用的時間序列模型包括ar、ma、arma等,這些模型全部建立在時序平穩的基礎上[8]。arma模型的全稱為Auto-Regressive and Moving Average Model,即自回歸滑動平均模型,它由自回歸模型(即ar模型)與滑動平均模型(即ma模型)為基礎混合構成。實際應用中考慮到原始數據序列未必穩定,需要進行差分處理,因此引入了改進的arma模型—arima模型。arima模型的具體形式為arima(p,d,q),這里的d是對原時序進行逐期差分的階數,差分的目的是為了讓某些非平穩(具有一定趨勢的)序列變換為平穩的,通常來說d的取值一般為0,1,2。當d、q為0時,arima(p,d,q)等價于ar(p)模型;當p,d為0時,arima(p,d,q)等價于ma(q)模型,當d為0時,arima(p,d,q)等價于arma(p,q)模型。參數p、q的值通常通過自相關圖(簡稱acf圖)和偏自相關圖(簡稱pacf圖)觀察判斷,具體方法將在本文的第3部分闡述。
R語言是用于統計分析、繪圖的開源數據分析軟件,由一個龐大且活躍的全球性研究型社區維護。與其它流行的統計軟件(如Excel、Matlab、SAS、SPSS)相比,R語言的優勢主要體現在:開源免費、易于擴展、數據包豐富、可視化功能強大、可運行于多種平臺。
本研究所使用的數據來自國際奧組委官方網站(www.olympic.org),研究中對中國、美國、俄羅斯、英國、法國、德國、意大利等奧運強國的比賽成績進行了初步分析,認為法國的奧運會獎牌數據最適合用來做時間序列預測研究。因為從1948~2016年,法國每四年都會參加夏季奧運會,從未間斷過,歷史數據最豐富且具有明顯的周期性,如表1所示。

表1 法國歷屆夏奧會獎牌數
我們將表1的數據保存到d:france.csv文件中作為實驗數據。
3.2.1平穩性檢驗
根據前文所述的時間序列分析的基本原理,首先需要從定量的角度對實驗數據進行平穩性檢驗[9]。在R語言中可以使用tseries包提供的adf.test()、kpss.test()、pp.test()等函數進行平穩性檢驗,通常選取一種檢驗方法即可。平穩性檢驗的R語句如下:
1)讀入數據
mydata<-read.csv(“d:\france.csv”,header=T)
2)選取目標列生成時間序列
表1中的gold、silver、bronze數據列分別代表金牌、銀牌、銅牌數,可以任選一列生成時間序列。以silver這一列為例,使用ts()函數將silver列的數據生成時間序列:
ps<-ts(mydata$silver)
3)繪制時間序列圖,從形狀上大體判斷是否平穩
使用下列語句可以繪制上述時間序列圖:
plot(ps,main=“silver”)
繪制出的時間序列圖如圖1所示。從圖1可以看出,銀牌數據近幾屆有明顯的上升趨勢,但也存在起伏,初步斷定原始數據并不平穩。

圖1 法國歷屆夏奧會銀牌數時間序列
4)使用adf.test()函數檢驗平穩性
使用adf.test()可以進一步從定量的角度明確數據序列是否平穩。語句如下:
library(“tseries”)
adf.test(ps)
該命令的執行結果為
Augmented Dickey-Fuller Test
data:ps
Dickey-Fuller=-1.558,Lag order=2,p-value=0.7407
alternative hypothesis:stationary
對于adf檢驗,我們可以通過判斷結果中的p-value值來確定序列是否平穩,如果p-value小于臨界值0.05則認為序列是平穩的。因此,silver列的原始數據不平穩。
如果序列經檢驗后不平穩,則需要進行差分,直到某階差分平穩為止[10];如果最高階差分后仍不平穩,則認為數據無規律,時間序列分析中止。因此需要對silver列的數據進行差分處理,先做1階差分,語句如下:
d1<-diff(ps,1)
繪制差分后的時序圖:
plot(d1,main=“一階差分”)
運行結果如圖2所示。

圖2 銀牌數據一階差分后的結果
對比圖1和圖2發現,差分后的數據明顯比原始數據平穩了很多。進一步用adf.test()檢驗差分后的數據是否平穩:
adf.test(d1)運行結果為
Augmented Dickey-Fuller Test
data:d1
Dickey-Fuller=-3.6109,Lag order=2,p-value=0.04922
alternative hypothesis:stationary
從結果可以看出p-value小于臨界值0.05,可以認為1階差分后的數據是平穩的,差分的階數就是arima(p,d,q)模型中參數d的值,因此,可以斷定預測模型應該是arima(p,1,q),下一步的任務是確定p和q的值。
做好綠色植保建設。以項目實施規模為以及,進行了5盞太陽能殺蟲燈配備,安裝了2800黃板,藍板600張,食誘箱30個。
3.2.2根據自相關圖和偏自相關圖定階p、q
arima模型中參數p、q的確定其實是比較復雜的,在實際應用中通常使用觀察法,也就是繪制自相關圖(acf圖)和偏自相關圖(pacf圖),如果acf圖在q+1處突然截斷,則在q處截尾,可確定參數q;同理,如果pacf圖在p處截尾,則可確定參數p。
在R語言中可以使用forecast包或stats包中的acf()和pacf()函數來繪制自相關圖和偏自相關圖,對于上述一階差分后的平穩數據,使用如下語句:
acf(d1)
繪制出的自相關圖如圖3所示。從圖3可以看出,自相關圖在1階處超過臨界值,2階之后值逐漸減小,因此,認為q取1比較合適。

圖3 自相關圖
接著使用pacf()函數繪制偏自相關圖:
pacf(d1)

圖4 偏自相關圖
3.2.3預測模型的構建及檢驗
確定好arima模型中的參數后,在R語言中可以使用stats包中的arima()函數構建預測模型,語句如下:
model<-arima(ps,order=c(1,1,1))
構建完模型后,需要對模型進行檢驗,只有通過檢驗,才證明是可靠、有效的模型,才能用來進行后續的預測。實質上是對模型殘差序列進行白噪聲檢驗。若殘差序列不是白噪聲,說明還有一些重要信息沒被提取,應重新設定模型[11]。通常對殘差序列進行白噪聲檢驗使用Ljung-Box檢驗,在R語言中可以使用stats包中的Box.test()函數進行該項檢驗,語句如下:
Box.test(model$residuals)
model$residuals表示模型的殘差序列,檢驗結果如下:
Box-Pierce test
data:model$residuals
X-squared=0.2588,df=1,p-value=0.6109
從結果可以看出,p-value大于臨界值0.05,所以認為模型的殘差序列為白噪聲序列,模型通過檢驗,建立成功。
3.2.4使用模型進行預測
模型建立成功后,可以用來進行預測,比如預測下一次奧運會法國的銀牌數目,在R語言下可使用如下語句:
predict(model,n.ahead=1)
預測結果如下:
$pred
Time Series:
Start=19
End=19
Frequency=1
[1]12.48319
$se
Time Series:
Start=19
End=19
Frequency=1
[1]2.95902
上面結果中,變量$pred表示預測值,變量$se為誤差。
本研究使用時間序列分析挖掘奧運會歷史成績中存在的時序關聯關系,并以法國歷屆夏奧會的銀牌數為實驗數據,在R語言下根據時間序列分析原理,建立了預測模型并作了模型檢驗,成功預測出下一屆賽事法國的銀牌數。使用同樣的方法也可以對金牌數和銅牌數進行預測。研究結果表明:
1)對于簡單、穩定或周期性的數據,使用時間序列分析建立預測模型具有較好的效果。但是,時間序列分析并不適用于任何數據,比如,對于有明顯上升趨勢的中國體育競賽成績而言,使用時間序列預測,預測值可能會低于實際值。
2)奧運會比賽成績的影響因素很多,除了可以從歷史數據中找尋規律外,還應該全面考慮綜合國力、東道主效應等其他因素,使用神經網絡、遺傳算法等智能方法進行更加完善的預測。這也是本研究的后續研究方向。
[1]黃昌美.奧運會田徑運動成績的灰預測建模及其變化發展趨勢分析[D].湘潭:湖南科技大學,2012.HUANG ChangMei.Grey Prediction modeling and Development Trend Analysis ofOlympic Track and Field Events Achievement[D].Xiangtan:Hunan University of Science and Technology,2012.
[2]李坤.第29屆奧運會中國男籃技術指標的灰色關聯分析[D].北京:北京體育大學,2010.LIKun.Grey Incidence Analysis of Technical Statistic of Chinese Men's Basketball Team in the 29th Olympic Games[D].Beijing:Beijing SportUniversity,2010.
[3]張龍,孟剛,郭朝廷.奧運會田徑項目金牌時空動態演變分析[J].中國體育科技,2013,49(5):17-27.ZHANG Long,MENGGang,GUOChanting.Dynamic Evolution of Gold Medal Time and Space of Olympic Games Athletics[J].China Sport Science and Technology,2013,49(5):17-27.
[4]王國凡,趙武,劉徐軍,等.基于GA和回歸分析的奧運會成績預測研究[J].中國體育科技,2011,47(1):4-8,16.WANG Guofan,ZHAO Wu,LIU Xujun,et al.Olympic Performance Prediction based on GA and Regression Analysis[J].China Sport Science and Technology,2011,47(1):4-8,16.
[5]龔劍.基于人工神經網絡2008奧運會中國男籃成績預測實驗研究[D].武漢:武漢體育學院,2007.GONG Jian.An Empirical Analysis of The Chinese Men's Basketball Achievement PredictioninTheOlympic Games of 2008 Based on ANN[D].Wuhan:Wuhan Institute of Physical Education,2007.
[6]首招勇,楊媛媛.時間序列問題的建模方法和過程[J].數學理論與應用,2012,32(1):112-120.SHOU Zhaoyong,YANG Yuanyuan.On the Modelling of Time Series[J].Mathematical Theory and Applications,2012,32(1):112-120.
[7]管河山,鄒清明,羅智超.時間序列平穩性分類識別研究[J].統計與信息論壇,2016,31(4):3-8.GUAN Heshan,ZOU Qingming,LUO Zhichao.Study on Classification and Identification of Time Series Stationarity[J].Statistics&Information Forum,2016,31(4):3-8.
[8]王娜.時間序列建模、預報的原理[J].吉林工程技術師范學院學報,2012,23(3):78-80.WANG Na.Time Series Modeling,Forecast Principle[J].Journalof Jilin Teachers Institute of Engineering and Technology,2012,23(3):78-80.
[9]劉羅曼.時間序列平穩性檢驗[J].沈陽師范大學學報(自然科學版),2010,28(3):357-359.LIU Luoman.Checking of Time Series Stationarity[J].Journalof Shenyang Normal University(Natural Science),2010,28(3):357-359.
[10]麥鴻坤,肖堅紅,吳熙辰,等.基于R語言的負荷預測ARIMA模型并行化研究[J].電網技術,2015,39(11):3216-3220.MAI Hongkun,XIAO Jianhong,WU Xichen,et al.Research on ARIMA Model Parallelization in Load Prediction Based on R Language[J].Power System Technology,2015,39(11):3216-3220.
[11]劉瑤.基于ARMA模型的人民幣匯率預測研究——以人民幣兌美元匯率為例[J].廊坊師范學院學報(自然科學版),2016,16(2):53-58.LIU Yao.Research on RMB Exchange Rate Prediction Based on ARMA Model——A Case Study of RMB againstUSD[J].Journalof Lang fang Teachers University(Natural Science Edition),2016,16(2):53-58.