数学建模学习笔记(十一)——预测模型
文章目錄
- 一、綜述
- 二、灰色預(yù)測(cè)簡(jiǎn)介
- 三、GM(1, 1)模型
- 四、使用灰色系統(tǒng)建模的前提 —— 準(zhǔn)指數(shù)規(guī)律檢驗(yàn)
- 五、對(duì)于GM(1, 1)的檢驗(yàn)
- 六、GM(1, 1)模型的拓展
- 七、什么時(shí)候使用灰色預(yù)測(cè)
- 八、神經(jīng)網(wǎng)絡(luò)模型
一、綜述
本文首先介紹了灰色預(yù)測(cè)模型,然后簡(jiǎn)要介紹了神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)中的應(yīng)用。數(shù)據(jù)預(yù)測(cè)在數(shù)學(xué)建模中是一類常見的問題,準(zhǔn)確地對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)是解決問題的關(guān)鍵。
二、灰色預(yù)測(cè)簡(jiǎn)介
| 系統(tǒng)中的信息是已知的 | 系統(tǒng)中一些信息已知,一些信息未知 | 系統(tǒng)中的信息都是未知的 |
灰色預(yù)測(cè)就是根據(jù)原始已知的數(shù)據(jù)來尋找系統(tǒng)變動(dòng)的規(guī)律,然后建立相應(yīng)的微分方程模型,從而對(duì)事物進(jìn)行預(yù)測(cè)。
三、GM(1, 1)模型
在 GM(1, 1) 模型中,第一個(gè) ‘1’ 代表微分方程是 1 階的,后面的 ‘1’ 代表只有一個(gè)變量。
GM(1, 1) 原理介紹
設(shè) x(0)=(x(0)(1),x(0)(2),?,x(0)(n))x^{(0)} = (x^{(0)}(1), x^{(0)}(2), \cdots, x^{(0)}(n))x(0)=(x(0)(1),x(0)(2),?,x(0)(n)) 是最初的非負(fù)數(shù)據(jù)序列 (灰色預(yù)測(cè)模型處理的數(shù)據(jù)一定要是非負(fù)的),對(duì)其進(jìn)行一次累加得到新的生成數(shù)據(jù)列 x(1)x^{(1)}x(1) :x(1)=(x(1)(1),x(1)(2),?,x(1)(n))x^{(1)} = (x^{(1)}(1), x^{(1)}(2), \cdots, x^{(1)}(n))x(1)=(x(1)(1),x(1)(2),?,x(1)(n)) 其中,x(1)(m)=∑i=1mx(0)(i),m=1,2,?,nx^{(1)}(m) = \sum_{i = 1}^{m}x^{(0)}(i), m = 1, 2, \cdots, nx(1)(m)=∑i=1m?x(0)(i),m=1,2,?,n
令 z(1)z^{(1)}z(1) 為數(shù)列 x(1)x^{(1)}x(1) 的緊鄰均值生成數(shù)列,即
z(1)=(z(1)(2),z(1)(3),?,z(1)(n))z^{(1)} = (z^{(1)}(2), z^{(1)}(3), \cdots, z^{(1)}(n))z(1)=(z(1)(2),z(1)(3),?,z(1)(n)) ,
其中 z(1)(m)=δx(1)(m)+(1?δ)x(1)(m?1),m=2,3,?,nz^{(1)}(m) = \delta x^{(1)}(m) + (1 - \delta)x^{(1)}(m - 1), m = 2, 3, \cdots, nz(1)(m)=δx(1)(m)+(1?δ)x(1)(m?1),m=2,3,?,n,并且 δ=0.5\delta = 0.5δ=0.5
稱方程 x(0)(k)+az(1)(k)=bx^{(0)}(k) + az^{(1)}(k) = bx(0)(k)+az(1)(k)=b 為 GM(1, 1) 模型的基本形式 (k=2,3,?,n)(k = 2, 3, \cdots, n)(k=2,3,?,n)。其中,bbb 表示灰作用量,?a-a?a 表示發(fā)展系數(shù)
可以將其看作 y=kx+by = kx + by=kx+b ,從而利用多元回歸中的 OLS 方法可以得到 a^\hat{a}a^ 和 b^\hat{b}b^ ,因此 x(0)(k)=?a^z(1)(k)+b^,(k=2,3,?,n)x^{(0)}(k) = -\hat{a}z^{(1)}(k) + \hat{b}, (k = 2, 3, \cdots, n)x(0)(k)=?a^z(1)(k)+b^,(k=2,3,?,n) x(0)(k)=?a^z(1)(k)+b^?x(1)(k)?x(1)(k?1)=?a^z(1)(k)+b^x^{(0)}(k) = -\hat{a}z^{(1)}(k) + \hat{b} \Rightarrow x^{(1)}(k) - x^{(1)}(k - 1) = -\hat{a}z^{(1)}(k) + \hat{b}x(0)(k)=?a^z(1)(k)+b^?x(1)(k)?x(1)(k?1)=?a^z(1)(k)+b^ 又因?yàn)?span id="ozvdkddzhkzd" class="katex--display">x(1)(k)?x(1)(k?1)=∫k?1kdx(1)(t)dtdtx^{(1)}(k) - x^{(1)}(k - 1) = \int_{k - 1}^{k}\frac{dx^{(1)}(t)}{dt}dtx(1)(k)?x(1)(k?1)=∫k?1k?dtdx(1)(t)?dt z(1)(k)=x(1)(k)+x(1)(k?1)2≈∫k?1kx(1)dtz^{(1)}(k) = \frac{x^{(1)}(k) + x^{(1)}(k - 1)}{2} ≈ \int_{k - 1}^{k}x^{(1)}dtz(1)(k)=2x(1)(k)+x(1)(k?1)?≈∫k?1k?x(1)dt 因此,∫k?1kdx(1)(t)dtdt≈?a^∫k?1kx(1)(t)dt+∫k?1kb^dt=∫k?1k[?a^x(1)(t)+b^]\int_{k - 1}^{k}\frac{dx^{(1)}(t)}{dt}dt ≈ -\hat{a}\int_{k - 1}^{k}x^{(1)}(t)dt + \int_{k - 1}^{k}\hat{b}dt \\= \int_{k - 1}^{k}[-\hat{a}x^{(1)}(t) + \hat{b}]∫k?1k?dtdx(1)(t)?dt≈?a^∫k?1k?x(1)(t)dt+∫k?1k?b^dt=∫k?1k?[?a^x(1)(t)+b^],便可以的帶微分方程:dx(1)(t)dt=?a^x(1)(t)+b^\frac{dx^{(1)}(t)}{dt} = -\hat{a}x^{(1)}(t) + \hat{b}dtdx(1)(t)?=?a^x(1)(t)+b^,這就是 GM(1, 1) 模型的白化方程
取初始值 x^(1)∣t=1=x(0)(1)\hat{x}^{(1)}|_{t = 1} = x^{(0)}(1)x^(1)∣t=1?=x(0)(1),于時(shí)可以求出其對(duì)應(yīng)的解為:x^(1)(m+1)=[x(0)(1)?b^a^]e?a^m+b^a^,m=1,2,?,n?1\hat{x}^{(1)}(m + 1) = [x^{(0)}(1) - \frac{\hat{b}}{\hat{a}}]e^{-\hat{a}m} + \frac{\hat{b}}{\hat{a}}, m = 1, 2, \cdots, n - 1x^(1)(m+1)=[x(0)(1)?a^b^?]e?a^m+a^b^?,m=1,2,?,n?1 由于 x(1)(m)=∑i=1mx(0)(i),m=1,2,?,nx^{(1)}(m) = \sum_{i = 1}{m}x^{(0)}(i), m = 1, 2, \cdots, nx(1)(m)=∑i=1?mx(0)(i),m=1,2,?,n,因此:x^(0)(m+1)=x^(1)(m+1)?x^(1)(m)=(1?ea^)[x(0)(1)?b^a^]e?a^m,m=1,2,?,n?1\hat{x}^{(0)}(m + 1) = \hat{x}^{(1)}(m + 1) - \hat{x}^{(1)}(m) \\= (1 - e^{\hat{a}})[x^{(0)}(1) - \frac{\hat{b}}{\hat{a}}]e^{-\hat{a}m}, m = 1, 2, \cdots, n - 1x^(0)(m+1)=x^(1)(m+1)?x^(1)(m)=(1?ea^)[x(0)(1)?a^b^?]e?a^m,m=1,2,?,n?1
四、使用灰色系統(tǒng)建模的前提 —— 準(zhǔn)指數(shù)規(guī)律檢驗(yàn)
定義原始序列 x(0)x^{(0)}x(0) 的光滑比 ρ(k)=x(0)(k)x(1)(k?1)\rho(k) = \frac{x^{(0)}(k)}{x^{(1)}(k - 1)}ρ(k)=x(1)(k?1)x(0)(k)?,要使 x(1)x^{(1)}x(1) 具有準(zhǔn)指數(shù)規(guī)律,只需要保證 ρ(k)∈(0,0.5)\rho(k) \in (0, 0.5)ρ(k)∈(0,0.5) 即可。
注意:在實(shí)際建模中,我們要計(jì)算出 ρ(k)∈(0,0.5)\rho(k) \in (0, 0.5)ρ(k)∈(0,0.5) 的占比,占比越高越好。(一般前兩期:ρ(2)\rho(2)ρ(2) 和 ρ(3)\rho(3)ρ(3) 可能不符合要求,我們要關(guān)注的是后面的期數(shù))
同時(shí),所有數(shù)據(jù)光滑比 < 0.5 的占比一般要達(dá)到 60%;除去前兩期后,光滑比 < 0.5 的占比一般要達(dá)到 90%
五、對(duì)于GM(1, 1)的檢驗(yàn)
使用 GM(1, 1) 模型對(duì)未來數(shù)據(jù)進(jìn)行預(yù)測(cè)是,我們需要先檢驗(yàn) GM(1, 1) 模型對(duì)原數(shù)據(jù)的擬合程度。一般有殘差檢驗(yàn)和級(jí)比偏差檢驗(yàn)兩種方法。
殘差檢驗(yàn)
絕對(duì)殘差:ε(k)=x(0)(k)?x^(0)(k),k=2,3,?,n\varepsilon(k) = x^{(0)}(k) - \hat{x}^{(0)}(k), k = 2, 3, \cdots, nε(k)=x(0)(k)?x^(0)(k),k=2,3,?,n
相對(duì)殘差:εr(k)=∣x(0)(k)?x^(0)(k)∣x(0)(k)×100%,k=2,3,?,n\varepsilon_r(k) = \frac{|x^{(0)}(k) - \hat{x}^{(0)}(k)|}{x^{(0)}(k)} \times 100\%, k = 2, 3, \cdots, nεr?(k)=x(0)(k)∣x(0)(k)?x^(0)(k)∣?×100%,k=2,3,?,n
平均相對(duì)殘差:εˉr=1n?1∑k=2n∣εr(k)∣\bar{\varepsilon}_r = \frac{1}{n - 1}\sum_{k = 2}^{n}|\varepsilon_r(k)|εˉr?=n?11?∑k=2n?∣εr?(k)∣
如果 εˉr<20%\bar{\varepsilon}_r < 20\%εˉr?<20% ,則認(rèn)為 GM(1, 1) 對(duì)原數(shù)據(jù)的擬合達(dá)到一般要求。
如果 εˉr<10%\bar{\varepsilon}_r < 10\%εˉr?<10% ,則認(rèn)為 GM(1, 1) 對(duì)原數(shù)據(jù)的擬合效果非常不錯(cuò)。
級(jí)比偏差檢驗(yàn)
首先由 x(0)(k?1)x^{(0)}(k - 1)x(0)(k?1) 和 x(0)(k)x^{(0)}(k)x(0)(k) 計(jì)算出原始數(shù)據(jù)的級(jí)比 σ(k)\sigma(k)σ(k):σ(k)=x(0)(k)x(0)(k?1)(k=2,3,?,n)\sigma(k) = \frac{x^{(0)}(k)}{x^{(0)}(k - 1)} (k = 2, 3, \cdots, n)σ(k)=x(0)(k?1)x(0)(k)?(k=2,3,?,n) 再根據(jù)預(yù)測(cè)出來的發(fā)展系數(shù) ?a^-\hat{a}?a^ 計(jì)算出相應(yīng)的級(jí)比偏差和平均級(jí)比偏差:η(k)=∣1?1?0.5a^1+0.5a^1σ(k)∣,ηˉ=∑k=2nη(k)(n?1)\eta(k) = |1 - \frac{1 - 0.5\hat{a}}{1 + 0.5\hat{a}}\frac{1}{\sigma(k)}|, \bar{\eta} = \sum_{k = 2}^{n}\frac{\eta(k)}{(n - 1)}η(k)=∣1?1+0.5a^1?0.5a^?σ(k)1?∣,ηˉ?=k=2∑n?(n?1)η(k)? 如果 ηˉ<0.2\bar{\eta} < 0.2ηˉ?<0.2,則認(rèn)為GM(1, 1) 對(duì)原數(shù)據(jù)的擬合達(dá)到一般要求。
如果 ηˉ<0.1\bar{\eta} < 0.1ηˉ?<0.1,則認(rèn)為 GM(1, 1) 對(duì)原數(shù)據(jù)的擬合效果非常不錯(cuò)。
六、GM(1, 1)模型的拓展
除了上面介紹到的 GM(1, 1) 模型,還可以將 GM(1, 1) 模型做一個(gè)拓展,得到 新信息GM(1, 1) 模型和新陳代謝GM(1, 1) 模型
新信息GM(1, 1)模型
設(shè) x(0)(n+1)x^{(0)}(n + 1)x(0)(n+1) 為最新信息,將 x(0)(n+1)x^{(0)}(n + 1)x(0)(n+1) 置入 X^{(0)},稱用 X(0)=(x(0)(1),x(0)(2),?,x(0)(n+1))X^{(0)} = (x^{(0)}(1), x^{(0)}(2), \cdots, x^{(0)}(n + 1))X(0)=(x(0)(1),x(0)(2),?,x(0)(n+1)) 建立的模型為新信息GM(1, 1)模型。
簡(jiǎn)單來說,新信息GM(1, 1)模型就是將預(yù)測(cè)后的數(shù)據(jù)加入到原始數(shù)據(jù)序列中構(gòu)成一個(gè)新的數(shù)據(jù)序列,然后利用這個(gè)新的數(shù)據(jù)序列來對(duì)后面的期數(shù)進(jìn)行預(yù)測(cè)。
新陳代謝GM(1, 1)模型
置入最新信息 x(0)(n+1)x^{(0)}(n + 1)x(0)(n+1),去掉最老信息 x(0)(1)x^{(0)}(1)x(0)(1),稱用 X(0)=(x(0)(2),?,x(0)(n),x(0)(n+1))X^{(0)} = (x^{(0)}(2), \cdots, x^{(0)}(n), x^{(0)}(n + 1))X(0)=(x(0)(2),?,x(0)(n),x(0)(n+1)) 建立的模型為新陳代謝GM(1, 1)模型
同樣,新陳代謝GM(1, 1)模型就是將預(yù)測(cè)后的新數(shù)據(jù)加入到原始數(shù)據(jù)序列中,然后刪除最原始的哪個(gè)數(shù)據(jù),從而構(gòu)成一個(gè)新的數(shù)據(jù)序列。再利用這個(gè)新的數(shù)據(jù)序列對(duì)后面的期數(shù)進(jìn)行預(yù)測(cè)。
一般來說,GM(1,1), 新信息GM(1, 1)以及新陳代謝GM(1, 1)這三個(gè)模型中,**新陳代謝GM(1, 1)**模型的效果最好。我們可以使用誤差平方和 SSE 來觀測(cè)這三個(gè)模型的好壞,取 SSE 最小的模型即可。
七、什么時(shí)候使用灰色預(yù)測(cè)
同時(shí),我們還可以將數(shù)據(jù)分為訓(xùn)練組和試驗(yàn)組,使用不同模型對(duì)數(shù)據(jù)進(jìn)行建模,從而判斷哪種模型的預(yù)測(cè)效果最好。
(1)如果只有4期數(shù)據(jù),則直接使用上述提到的三種模型進(jìn)行建模,最后求一個(gè)平均值即可。
(2)如果有 > 4 并且 < 7 組數(shù)據(jù),則設(shè)置 2 組試驗(yàn)組,其余的為訓(xùn)練組進(jìn)行建模,選取效果最好的模型。
(3)如果有 > 7 并且 < 10 組數(shù)據(jù),則設(shè)置 3 組試驗(yàn)組,其余的為訓(xùn)練組進(jìn)行建模,選取效果最好的模型。
八、神經(jīng)網(wǎng)絡(luò)模型
可以參考這篇文章:神經(jīng)網(wǎng)絡(luò)
如果有錯(cuò)誤的話,還請(qǐng)斧正~~~
總結(jié)
以上是生活随笔為你收集整理的数学建模学习笔记(十一)——预测模型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【youcans 的 OpenCV 例程
- 下一篇: 计划任务如何使用 java_java –