郭海如,萬(wàn) 興,吳朋飛
(湖北工程學(xué)院 計(jì)算機(jī)與信息科學(xué)學(xué)院,湖北 孝感 432000)
基于灰色理論的高校招生人數(shù)預(yù)測(cè)
郭海如,萬(wàn) 興,吳朋飛
(湖北工程學(xué)院 計(jì)算機(jī)與信息科學(xué)學(xué)院,湖北 孝感 432000)
以近幾年湖北工程學(xué)院實(shí)際招生人數(shù)為研究對(duì)象,采用VBA(Visual Basic for Applications)編程工具,在Office Excel中設(shè)計(jì)灰色GM(1,1)(Grey Model)的高校招生預(yù)測(cè)系統(tǒng)。該系統(tǒng)能很好地反映學(xué)校招生趨勢(shì),已投入實(shí)際使用,為學(xué)校相關(guān)部門的決策提供一定的參考。
灰色理論;高校招生人數(shù);VBA;EXCEL
神經(jīng)網(wǎng)絡(luò)和灰色模型是兩種非常有效的預(yù)測(cè)模型[1-3]。然而,在樣本較少情況下,神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)性能不佳。而灰色理論則在樣本不足的情況下具有很大的優(yōu)勢(shì),能很好地揭示數(shù)據(jù)序列的發(fā)展趨勢(shì)。湖北工程學(xué)院有70年辦校歷史,歷經(jīng)孝感大學(xué)、武師孝感分院、孝感師范高等??茖W(xué)校、孝感學(xué)院和湖北工程學(xué)院幾個(gè)階段。隨著學(xué)校的每次合并重組更名后,其招生規(guī)模變化差異很大,給招生規(guī)模的預(yù)測(cè)又帶來(lái)很大的不確定性因素。因此,選取近六、七年的招生數(shù)據(jù),采用灰色GM(1,1)模型對(duì)湖北工程學(xué)院招生規(guī)模進(jìn)行預(yù)測(cè),揭示其招生人數(shù)的變化趨勢(shì),比較適合目前的實(shí)際情況。采用VBA(Visual Basic for Application)實(shí)現(xiàn)GM(1,1)的編程,在應(yīng)用最廣泛的Office Excel軟件中開發(fā)湖北工程學(xué)院招生預(yù)測(cè)系統(tǒng)。該系統(tǒng)操作簡(jiǎn)單,容易上手,實(shí)用性強(qiáng),已經(jīng)在學(xué)校相關(guān)部門投入使用。
灰色系統(tǒng)理論[4]是1982年由我國(guó)學(xué)者鄧聚龍教授創(chuàng)立,單序列一階線性灰色模型是以微分?jǐn)M合為核心,根據(jù)系統(tǒng)的數(shù)據(jù)特征,找出各數(shù)據(jù)之間的變化規(guī)律。GM (1 1)模型是灰色系統(tǒng)理論的基本預(yù)測(cè)模型,其動(dòng)態(tài)預(yù)測(cè)建模過程如下[5]:
建模過程如下:
第一步:對(duì)數(shù)據(jù)序列
x(0)(i)={x(0)(1),x(0)(2),…,x(0)(n)}
作一次累加生成處理,得到
x(1)(i)={x(1)(1),x(1)(2),…,x(1)(n)}
(1)
第二步:構(gòu)造累加矩陣B與常數(shù)項(xiàng)向量YN,即
(2)
(3)
第三步:建立GM(1,1)微分方程
(4)
按最小二乘法擬合得到
(5)
第四步:求GM(1,1)預(yù)測(cè)方程為
(6)
湖北工程學(xué)院招生預(yù)測(cè)系統(tǒng)總體設(shè)計(jì)框架如圖1所示,主要包括2個(gè)部分:①VBA程序主體;②Excel數(shù)據(jù)輸入輸出模板。Excel用作界面,VBA用來(lái)實(shí)現(xiàn)灰色GM(1,1)。在Excel中建立宏,利用宏將Excel表格中的單元格和VBA代碼聯(lián)系起來(lái),在Excel表格中輸入數(shù)據(jù),通過調(diào)用宏,運(yùn)行VBA程序,最后將計(jì)算的結(jié)果輸出在Excel界面中,其界面如圖2所示。
圖1 系統(tǒng)總體框架
灰色GM(1,1)程序流程圖如圖3所示,其計(jì)算方法如第2節(jié)中GM(1,1)建模過程。由于在VBA中沒有現(xiàn)成的函數(shù)可調(diào)用,故在具體設(shè)計(jì)中需要編程求矩陣的乘以及求矩陣的逆。
圖3 灰色GM(1,1)流程圖
采用VBA實(shí)現(xiàn)灰色GM(1,1)的完整代碼如下[6]:
Const N = 5
Const N2 = 3
Sub 預(yù)測(cè)()
Dim x0(N) As Single
Dim x1(N) As Single
Dim B(N - 1, 2) As Single
Dim yn(1, N - 1) As Single
Dim B0(2, N - 1) As Single
Dim mn(2, 2) As Single
Dim xx(2, 2) As Single
Dim x(2, 2) As Single
Dim C0(2, N - 1) As Single
Dim yn0(N - 1, 1) As Single
Dim C1(2, 1) As Single
Dim x11(N + 1) As Single
Dim x2(N + 1) As Single
Dim m(N2) As Single
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim t As Integer
Dim a As Double
Dim u As Double
For i = 1 To N
x0(i) = Worksheets("Sheet1").Cells(2 + i, 2) ′定位單元格
Next i
′存儲(chǔ)原始入學(xué)人數(shù)數(shù)據(jù)
For t = 1 To N2
For i = 2 To N
x1(1) = x0(1)
x1(i) = x1(i - 1) + x0(i)
Next i
′求得矩陣B
For i = 1 To N - 1
B(i, 1) = (-0.5) * (x1(i) + x1(i + 1))
B(i, 2) = 1
Next i
′對(duì)原始數(shù)據(jù)進(jìn)行累加
For i = 1 To 1
For j = 1 To N - 1
yn(i, j) = x0(j + 1)
Next j
Next i
′求得數(shù)據(jù)矩陣B0,即是B的轉(zhuǎn)矩矩陣
For i = 1 To N - 1
For j = 1 To 2
B0(j, i) = B(i, j)
Next j
Next i
′求得B0*B
For i = 1 To 2
For j = 1 To 2
mn(i, j) = 0
For k = 1 To N - 1
mn(i, j) = mn(i, j) + B0(i, k) * B(k, j)
Next k
Next j
Next i
′求得B0*B的逆矩陣
xx(1, 1) = mn(2, 2)
xx(1, 2) = -mn(1, 2)
xx(2, 1) = -mn(2, 1)
xx(2, 2) = mn(1, 1)
xn = mn(1, 1) * mn(2, 2) - mn(2, 1) * mn(1, 2)
For i = 1 To 2
For j = 1 To 2
x(i, j) = (1 / (xn)) * xx(i, j)
Next j
Next i
′求得inv(B0*B)*B0
For i = 1 To 2
For j = 1 To N - 1
C0(i, j) = 0
For k = 1 To 2
C0(i, j) = C0(i, j) + x(i, k) * B0(k, j)
Next k
Next j
Next i
′求得yn的轉(zhuǎn)矩yn0
For i = 1 To 1
For j = 1 To N - 1
yn0(j, i) = yn(i, j)
Next j
Next i
′由矩陣C0和yn得到矩陣C1,通過最小二乘法求從而得到參數(shù)a和u
For i = 1 To 2
For j = 1 To 1
C1(i, j) = 0
For k = 1 To N - 1
C1(i, j) = C1(i, j) + C0(i, k) * yn0(k, j)
Next k
Next j
Next i
a = C1(1, 1)
u = C1(2, 1)
′根據(jù)上面的數(shù)據(jù)得到預(yù)期累加值
For i = 0 To N
x11(i + 1) = (x0(1) - u / a) * Exp(-a * i) + u / a
Next i
′根據(jù)預(yù)期的累加值,得到某一年的預(yù)測(cè)值
For i = 1 To N
x2(i + 1) = x11(i + 1) - x11(i)
Next i
m(t) = x2(N + 1)
For i = 1 To N - 1
x0(i) = x0(i + 1)
Next i
x0(N) = m(t)
Next t
′將預(yù)測(cè)的值顯示到預(yù)測(cè)欄
For i = 1 To N2
Cells(2 + i, 5).Select ′選定B1單元格,使其成為當(dāng)前單元格
ActiveCell = m(i) ′以I+1為當(dāng)前單元格賦值
Next i
End Sub
采用灰色GM(1,1)模型對(duì)湖北工程學(xué)院招生規(guī)模進(jìn)行預(yù)測(cè),其擬合與預(yù)測(cè)結(jié)果如圖2中數(shù)據(jù)所示,其擬合最大誤差不超過6.4%,能夠較好地反映學(xué)校招生人數(shù)的變化趨勢(shì)。其實(shí)際入學(xué)人數(shù)與預(yù)測(cè)人數(shù)變化趨勢(shì)如圖4所示。從圖4可以看出,灰色GM(1,1)模型基本上能對(duì)近幾年的入學(xué)人數(shù)進(jìn)行擬合,對(duì)湖北工程學(xué)院未來(lái)五年的招生預(yù)測(cè)也基本上延續(xù)了該上升趨勢(shì)。文獻(xiàn)[1]中采用BP網(wǎng)絡(luò)做預(yù)測(cè)時(shí),預(yù)測(cè)精度相對(duì)來(lái)講比較高,但對(duì)樣本的數(shù)量要求比較多,需要最近二十年左右的招生人數(shù)。由于湖北工程學(xué)院幾經(jīng)合并重組更名等發(fā)展,前十幾年數(shù)據(jù)基本上沒有參考價(jià)值。由于灰色預(yù)方法對(duì)貧信息具有很大的優(yōu)勢(shì),選取最近六年比較穩(wěn)定的數(shù)據(jù)作為樣本,更加適合于本校招生規(guī)模的預(yù)測(cè)。
圖4 湖北工程學(xué)院招生趨勢(shì)圖
湖北工程學(xué)院招生規(guī)模變動(dòng)比較大,灰色理論對(duì)貧信息的預(yù)測(cè)有一定的優(yōu)越性,只選取近幾年數(shù)據(jù)作為樣本,能夠很好地反映學(xué)校招生人數(shù)的變化趨勢(shì),灰色理論比較適合學(xué)校招生規(guī)模的預(yù)測(cè)。設(shè)計(jì)的灰色預(yù)測(cè)系統(tǒng)在人們熟悉的Excel上進(jìn)行二次開發(fā),界面簡(jiǎn)潔,便于操作,便于推廣應(yīng)用。隨著時(shí)間的推移,為了進(jìn)一步提高預(yù)測(cè)精度,可以根據(jù)實(shí)際情況更新近幾年的數(shù)據(jù)。
[1] 郭海如,馮凱,鄒遴.基于BP網(wǎng)絡(luò)的孝感學(xué)院未來(lái)數(shù)年招生規(guī)模預(yù)測(cè)[J].孝感學(xué)院學(xué)報(bào), 2010,30(3):60-63.
[2] 韓維娜,周少華.基于GM(1,2)殘差模型的混凝土靶強(qiáng)度預(yù)測(cè)[J].科學(xué)技術(shù)與工程,2012,12(8):1950-1953.
[3] 袁森,郭海如.基于灰色理論的人口預(yù)測(cè)系統(tǒng)的實(shí)現(xiàn)[J].讀寫算,2010(6):117-119.
[4] 鄧聚龍.灰色系統(tǒng)基本方法[M].武漢:華中科技大學(xué)出版社, 2004:17-40.
[5] 劉思峰,謝乃明.灰色系統(tǒng)理論及其應(yīng)用[M].4版.北京:科學(xué)出版社, 2008: 96-99.
[6] 韓波,孫利. 基于VBA灰色預(yù)測(cè)模型預(yù)測(cè)北海市南流江水質(zhì)[J].廣州環(huán)境科學(xué),2011,26(3):8-9,22.
(責(zé)任編輯:張凱兵)
G647
A
2095-4824(2013)06-0048-04
2013-04-21
湖北工程學(xué)院科研項(xiàng)目(Z2011019)
郭海如(1978- ),男,湖北武穴人,湖北工程學(xué)院計(jì)算機(jī)與信息科學(xué)學(xué)院教師,碩士。
萬(wàn) 興(1990- ),男,湖北應(yīng)城人,湖北工程學(xué)院計(jì)算機(jī)與信息科學(xué)學(xué)院助教。