灰色預測的主要特點是模型使用的不是原始數據序列,而是生成的數據序列。其核
心體系是灰色模型(GreyModel,GM),即對原始數據作累加生成(或其他方法生成)得到
近似的指數規律再進行建模的方法。優點是不需要很多的數據,一般只需要4個數據,就
能解決歷史數據少、序列的完整性及可靠性低的問題;能利用微分方程來充分挖掘系統的
本質,精度高;能將無規律的原始數據進行生成得到規律性較強的生成序列,運算簡便,易
於檢驗,不考慮分佈規律,不考慮變化趨勢。缺點是隻適用於中短期的預測,只適合指數
增長的預測。
GM(1,1)預測模型
GM(1,1)模型預測步驟
1)數據的檢驗與處理
首先,爲了保證建模方法的可行性,需要對已知數據列作必要的檢驗處理。設參考數據爲x(0)=(x(0)(1),x(0)(2),...,x(0)(n)),計算序列的級比
λ(k)=x(0)(k)x(0)(k−1),k=2,3,...n。
如果所有的級比λ(k)都落在可容覆蓋Θ=(en+1−2,en+22)內,可以作爲模型GM(1,1)的數據進行灰色預測。否則,需要對序列x(0)做必要的變換處理,使其落入可容覆蓋內。即取適當的常數c,作平移變換
y(0)(k)=y(0)(k)+c,k=1,2,...,n,使序列y(0)=(y(0)(1),y(0)(2),...,y(0)(n))的級比
λy(k)=y(0)(k)y(0)(k−1)∈Θ,k=2,3,...n
2)建立模型
預測值
3)檢驗預測值
(1)殘差檢驗。令殘差爲ϵ(k),計算ϵ(k)=x(0)(k)x(0)(k)−x^(0)(k),k=1,2,...,n
這裏x^(0)(1)=x(0)(1),如果ϵ(k)<0.2,則認爲達到一般要求;如果ϵ(k)<0.1,則認爲達到較高的要求。
級比偏差值檢驗。首先由參考數據:x(0)(k−1),x(0)(k)計算出級比λ(k),再用發展系數a求出相應的級比偏差ρ(k)=1−1+0.5a1−0.5aλ(k)如果ρ(k)<0.2,則可認爲達到一般要求;如果ρ(k)<0.1,則認爲達到較高要求
4)預測預報
由CM(1,1)模型得到指定時區內的預測值,根據實際問題的需要,給出相應的預測
預報。
城市交通噪聲數據
附上matlab代碼
clc, clear
x0=[71.1 72.4 72.4 72.1 71.4 72.0 71.6]';%注意這裏爲列向量
n=length(x0);
lamda =x0(1:n-1)./x0(2:n)%計算級比
range = minmax( lamda') %計算級比的範圍
x1 = cumsum(x0)%累加運算
B=[ -0.5*(x1(1:n-1) +x1(2:n)),ones(n-1,1)];
Y = x0(2:n);
u=B\Y%擬合參數u(1) =a,u(2) =b
syms x(t)
x= dsolve(diff(x) +u(1) *x==u(2),x(0)==x0(1)); %求微分方程的符號解
xt=vpa(x,6)%以小數格式顯示微分方程的解
yucel =subs(x,t,[0:n-1]); %求已知數據的預測值
yucel = double(yucel);%符號數轉換成數值類型,否則無法做差分運算.
yuce=[ x0(1),diff(yucel)]%差分運算,還原數據
epsilon=x0'-yuce%計算殘差
delta = abs( epsilon./x0')%計算相對誤差
rho=1-(1 -0.5*u(1))/(1 +0.5*u(1)) * lamda'%計算級比偏差值,u(1) =a
n=7;
t1=1:n;
t2=1:n;
plot(t1,x0,'bo--');
hold on;
plot(t2,yuce,'r*-');
lamda =
0.9820
1.0000
1.0042
1.0098
0.9917
1.0056
range =
0.9820 1.0098
x1 =
71.1000
143.5000
215.9000
288.0000
359.4000
431.4000
503.0000
u =
0.0023
72.6573
xt =
31000.0 - 30928.9*exp(-0.00234379*t)
yuce =
71.1000 72.4057 72.2362 72.0671 71.8984 71.7301 71.5622
epsilon =
0 -0.0057 0.1638 0.0329 -0.4984 0.2699 0.0378
delta =
0 0.0001 0.0023 0.0005 0.0070 0.0037 0.0005
rho =
0.0203 0.0023 -0.0018 -0.0074 0.0107 -0.0032
>>
轉載請標明出處,謝謝!。
如果感覺本文對您有幫助,請留下您的贊,您的支持是我堅持寫作最大的動力,謝謝!