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