何 毅 , 付 蓉 , 何 鑫 , 張盈謙
(1.大連理工大學(xué) 城市學(xué)院,遼寧 大連 116600;2.東北大學(xué) 遼寧 沈陽(yáng) 110000)
當(dāng)今社會(huì)彩票服務(wù)業(yè)已經(jīng)成為人們生活的一部分,通過(guò)調(diào)查顯示,18~45歲的消費(fèi)群體占彩票購(gòu)買主體的83.9%[1],同時(shí)通過(guò)手機(jī)操作購(gòu)彩的方式也逐漸成為很多彩民的選擇。許多人為提高彩票的中獎(jiǎng)概率總結(jié)分析了許多預(yù)測(cè)方法或計(jì)算公式[2-3],文中基于Android手機(jī)平臺(tái),運(yùn)用馬爾可夫鏈算法,設(shè)計(jì)并實(shí)現(xiàn)了彩票預(yù)測(cè)系統(tǒng)的移動(dòng)端。該系統(tǒng)對(duì)歷史開獎(jiǎng)號(hào)碼進(jìn)行分析,進(jìn)而對(duì)下一期開獎(jiǎng)號(hào)碼提供一個(gè)概率較高的解集,同時(shí)通過(guò)各種參數(shù)走勢(shì)分析給出相應(yīng)的走勢(shì)圖表,以供廣大彩民們進(jìn)行分析,有效提升購(gòu)彩的中獎(jiǎng)率。
目前彩票分析預(yù)測(cè)的方法非常多,其中數(shù)學(xué)方法中的概率與統(tǒng)計(jì)學(xué)本身就來(lái)源于古代博彩游戲。但是彩票的隨機(jī)性問(wèn)題使得單純的應(yīng)用概率預(yù)測(cè)下期號(hào)碼的準(zhǔn)確率很低,甚至一些學(xué)者認(rèn)為單一的概率彩票預(yù)測(cè)是不科學(xué)的[4]。馬爾可夫鏈?zhǔn)抢脿顟B(tài)之間轉(zhuǎn)移概率矩陣預(yù)測(cè)事件發(fā)生的狀態(tài)及發(fā)展變化趨勢(shì),也是一種隨機(jī)事件序列分析法,是現(xiàn)在概率論中隨機(jī)過(guò)程理論的一個(gè)重要方面,已經(jīng)滲透到各個(gè)領(lǐng)域并發(fā)揮了重要的作用[5]。
設(shè){Xn,n∈S},S={0,1,2,3…}是一狀態(tài)空間為離散的,參數(shù)為非負(fù)的隨機(jī)過(guò)程,那么{X(n)}滿足:
就稱{X(n)}為馬爾可夫鏈[6-7]。
轉(zhuǎn)移概率矩陣是可以根據(jù)歷史數(shù)據(jù)的頻率 f(i,j)統(tǒng)計(jì)得到。 f(i,j)是狀態(tài) i到狀態(tài) j轉(zhuǎn)移的次數(shù);然后概率轉(zhuǎn)移矩陣
稱為馬爾可夫鏈{Xn,n∈S}的1步轉(zhuǎn)移概率矩陣,它具有的性質(zhì):
也可以定義m步轉(zhuǎn)移概率矩陣,同樣滿足性質(zhì)(1),(2)的矩陣稱為m步轉(zhuǎn)移概率矩陣。
切普曼-柯?tīng)柲缏宸蚍匠毯?jiǎn)稱為C-K方程,它在馬爾可夫鏈的轉(zhuǎn)移概率計(jì)算中起著重要的作用。它的公式是:
該方程表明過(guò)程開始位于狀態(tài)i,經(jīng)過(guò)(m+r)步后轉(zhuǎn)移到狀態(tài)j,必須先經(jīng)過(guò)m步從狀態(tài)i轉(zhuǎn)移到中間狀態(tài)k,再?gòu)闹虚g狀態(tài)k經(jīng)過(guò)余下的r步轉(zhuǎn)移到狀態(tài)j。
基于馬爾可夫鏈可對(duì)多種彩票歷史開獎(jiǎng)數(shù)據(jù)建立數(shù)學(xué)模型,進(jìn)行下期號(hào)碼的預(yù)測(cè)。本文以雙色球?yàn)槔?shù)學(xué)模型,以2014年第05期至2015年第002期(合150期)的雙色球歷史數(shù)據(jù)來(lái)預(yù)測(cè)2015年第003期雙色球的狀態(tài)。
根據(jù)雙色球開獎(jiǎng)藍(lán)號(hào)為例,藍(lán)號(hào)是16選1,因此可以設(shè)置每連續(xù)的兩個(gè)數(shù)據(jù)為一個(gè)狀態(tài),得到8個(gè)狀態(tài)的馬爾可夫鏈,劃分為 S={l,2,3,4,5,6,7,8}的狀態(tài)集合,具體狀態(tài)劃分如表1所示。
由表1可得表2,即確定從2014年第05期至2015年第002期(合150期)的藍(lán)號(hào)開獎(jiǎng)歷史狀態(tài)(歷史開獎(jiǎng)數(shù)據(jù)來(lái)自:http://baidu.lecai.com)。
表1 藍(lán)號(hào)狀態(tài)劃分Tab.1 State division of blue number
表2 藍(lán)號(hào)歷史開獎(jiǎng)數(shù)據(jù)狀態(tài)Tab.2 The history of the lottery data state about blue number
計(jì)算一步轉(zhuǎn)移概率時(shí),可用各狀態(tài)轉(zhuǎn)移出現(xiàn)的頻數(shù)求得頻率,從而根據(jù)公式(1)-(3)得到轉(zhuǎn)移概率矩陣。例如在求p11時(shí),可以看到處于狀態(tài)1的原始樣本是17個(gè),而從狀態(tài)1轉(zhuǎn)移到狀態(tài)1的樣本數(shù)是2(分別是2014108期、2014134期),于是p11=2/17,用同樣的方法,由表2可以統(tǒng)計(jì)出從2014年第05期至2015年第002期的藍(lán)號(hào)狀態(tài)的一步轉(zhuǎn)移頻率矩陣(fi,j)8×8和一步轉(zhuǎn)移概率矩陣(Pi,j)8×8:
同理,雙色球紅號(hào)的狀態(tài)可劃分為如表3所示。
表3 紅號(hào)狀態(tài)劃分Tab.3 State division of red number
根據(jù)雙色球紅號(hào)開獎(jiǎng)歷史可以得到紅號(hào)的歷史開獎(jiǎng)數(shù)據(jù)狀態(tài),從而統(tǒng)計(jì)出紅號(hào)狀態(tài)序列的一步轉(zhuǎn)移頻率矩陣和一步轉(zhuǎn)移概率矩陣。
已知時(shí)刻l時(shí)藍(lán)號(hào)取各個(gè)狀態(tài)的概率視為馬爾可夫鏈的初始分布:
根據(jù)馬爾可夫鏈預(yù)測(cè)模型 X(1)=X(0)(Pij)8×8,(Pij)8×8,為狀態(tài)轉(zhuǎn)移矩陣,于是l+1時(shí)的各個(gè)狀態(tài)的絕對(duì)概率分布:
從而預(yù)測(cè)l+k時(shí)刻的狀態(tài)X(k)=(,…,),然后再根據(jù)狀態(tài)j滿足=max{}(其中1≤j≤8)來(lái)預(yù)測(cè)藍(lán)號(hào)應(yīng)取的狀態(tài)。
由表2可知2015002期藍(lán)號(hào)狀態(tài)為3,從一步轉(zhuǎn)移矩陣中可以看出從狀態(tài)3轉(zhuǎn)到狀態(tài)1和8的概率最大。為更準(zhǔn)確的預(yù)測(cè),可進(jìn)行疊加馬爾可夫鏈預(yù)測(cè),即由一步概率矩陣p(1)與二步馬爾可夫矩陣p(2)對(duì)應(yīng)位數(shù)字相加,然后根據(jù)前一期的開獎(jiǎng)號(hào)碼進(jìn)行進(jìn)一步預(yù)測(cè)。例如狀態(tài)3的一步轉(zhuǎn)移概率與二步轉(zhuǎn)移概率之和如表4所示。
由表4可以看出概率最大的是狀態(tài)8,而2015003期藍(lán)號(hào)實(shí)際上就是處于狀態(tài)8(即開獎(jiǎng)藍(lán)號(hào):15),預(yù)測(cè)準(zhǔn)確。此外,由表 3 可知 2015002 期紅號(hào)狀態(tài)為{3,5,6,9,10,11},從轉(zhuǎn)移矩陣中可以看出下一狀態(tài)的概率最大的集合是{4,6,7,10,11,1}。為提高準(zhǔn)確率,對(duì)紅號(hào)也進(jìn)行二步轉(zhuǎn)移概率計(jì)算,并與一步轉(zhuǎn)移概率求和,最終預(yù)測(cè)2015003期紅號(hào)狀態(tài)為{4,6,7,11,1},而2015003期間紅號(hào)實(shí)際上是處于狀態(tài)集合是{4,5,7,8,11},預(yù)測(cè)準(zhǔn)確的狀態(tài)為:4,7,11。
表4 狀態(tài)3的一步轉(zhuǎn)移概率與二步轉(zhuǎn)移概率之和Tab.4 The sum of the one step transition probability and the two step transition probability
目前手機(jī)系統(tǒng)的存儲(chǔ)能力和計(jì)算能力都很有限,大量的數(shù)據(jù)處理和復(fù)雜計(jì)算還是應(yīng)由服務(wù)器來(lái)完成。因此根據(jù)需求分析,彩票預(yù)測(cè)系統(tǒng)設(shè)計(jì)為Android手機(jī)移動(dòng)端模式,方便廣大彩民網(wǎng)友下載應(yīng)用。
本系統(tǒng)服務(wù)器端是基于PHP開發(fā)的Web系統(tǒng),測(cè)試和部署使用Apache服務(wù)器,應(yīng)用MySQL數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)。手機(jī)通過(guò)Wi-Fi或者3G/4G作為通信通道,通過(guò)HTTP響應(yīng),使用JSON數(shù)據(jù)格式實(shí)現(xiàn)手機(jī)移動(dòng)端與服務(wù)器端數(shù)據(jù)的通信。系統(tǒng)模型如圖1所示。
圖1 系統(tǒng)業(yè)務(wù)模型Fig.1 Service model of the system
簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議SOAP是一種具有擴(kuò)展性的XML消息協(xié)議,與底層的傳輸協(xié)議無(wú)關(guān)。因此應(yīng)用PHP開發(fā)系統(tǒng)服務(wù)端,Android移動(dòng)端訪問(wèn)后,采用JSON和XML提供返回的數(shù)據(jù)。
1)HttpClient
HttpClient是支持 HTTP協(xié)議的客戶端編程工具包,Android移動(dòng)端可以利用這個(gè)組件進(jìn)行Web服務(wù)請(qǐng)求。例如登錄界面部分代碼如下所示:
2)JSON
JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,采用完全獨(dú)立于語(yǔ)言的文本格式,易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成。用戶與服務(wù)器端建立連接后使用JSON數(shù)據(jù)格式在移動(dòng)端和服務(wù)器端進(jìn)行數(shù)據(jù)交換。例如登錄操作中JSON的部分語(yǔ)句如下:
彩票預(yù)測(cè)系統(tǒng)移動(dòng)端實(shí)現(xiàn)的部分效果如圖2、3所示。
圖2 主界面Fig.2 Interface chart of the main system
圖3 預(yù)測(cè)界面Fig.3 Interface chart of the prediction system
當(dāng)今社會(huì)智能手機(jī)的應(yīng)用非常廣泛,很多彩民通過(guò)手機(jī)進(jìn)行彩票的預(yù)測(cè)購(gòu)買操作。針對(duì)彩票數(shù)據(jù)隨機(jī)性很強(qiáng)的特點(diǎn),運(yùn)用馬爾可夫鏈建立歷史數(shù)據(jù)模型,并對(duì)彩票預(yù)測(cè)系統(tǒng)移動(dòng)端進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn)。從模型的實(shí)現(xiàn)結(jié)果來(lái)看,利用轉(zhuǎn)移概率矩陣能較為深入的反映彩票動(dòng)態(tài)變化機(jī)理的內(nèi)在聯(lián)系,從而對(duì)下一期開獎(jiǎng)號(hào)碼提供一個(gè)概率較高的集合。另外系統(tǒng)為彩民提供了較為方便快捷的分析預(yù)測(cè)、購(gòu)買、開獎(jiǎng)查詢、走勢(shì)圖表、收益計(jì)算等多種服務(wù),提高了購(gòu)彩效率。
[1]李智,李勇.北京市電腦體育彩票購(gòu)買者現(xiàn)狀的分析與研究[J].北京體育大學(xué)學(xué)報(bào),2002,25(2):164-165.
[2]朱希偉.用統(tǒng)計(jì)方法研究彩票[J].中國(guó)統(tǒng)計(jì),2001(12):50-56.
[3]張華恩,奚硯濤.彩票的概率和期望中獎(jiǎng)?lì)~[J].零陵學(xué)院學(xué)報(bào),2003,24(2):31-33.
[4]彭姍姍.彩票中獎(jiǎng)的概率研究[J].科技信息,2012(35):774-859.
[5]黃崗.馬爾可夫及隱馬爾可夫模型的應(yīng)用[J].電子設(shè)計(jì)工程,2013,21(17):60-62.
[6]楊接兄.馬爾科夫鏈在彩票分析中的應(yīng)用 [J].科教導(dǎo)刊,2009(28):138-139.
[7]胡文華,龔澍,吳高凱.基于馬爾可夫鏈的彩票分析[J].云南大學(xué)學(xué)報(bào):自然科學(xué)版,2007,29(S2):180-182.