數(shù)學(xué)建?!A(yù)測(cè)模型簡(jiǎn)介
https://www.cnblogs.com/somedayLi/p/9542835.html
灰色預(yù)測(cè)模型
https://blog.csdn.net/qq_39798423/article/details/89283000?ops_request_misc=&request_id=&biz_id=102&utm_term=%E7%81%B0%E8%89%B2%E9%A2%84%E6%B5%8B%E6%A8%A1%E5%9E%8B&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-89283000.142v88control_2,239v2insert_chatgpt&spm=1018.2226.3001.4187
灰色預(yù)測(cè)概念及原理:
1.概述:
關(guān)于所謂的“顏色”預(yù)測(cè)或者檢測(cè)等,大致分為三色:黑、白、灰,在此以預(yù)測(cè)為例闡述。
其中,白色預(yù)測(cè)是指系統(tǒng)的內(nèi)部特征完全已知,系統(tǒng)信息完全充分;黑色預(yù)測(cè)指系統(tǒng)的內(nèi)部特征一無(wú)所知,只能通過(guò)觀測(cè)其與外界的聯(lián)系來(lái)進(jìn)行研究;灰色預(yù)測(cè)則是介于黑、白兩者之間的一種預(yù)測(cè),一部分已知,一部分未知,系統(tǒng)因素間有不確定的關(guān)系。細(xì)致度比較:白>黑>灰。
2.原理:
灰色預(yù)測(cè)是通過(guò)計(jì)算各因素之間的關(guān)聯(lián)度,鑒別系統(tǒng)各因素之間發(fā)展趨勢(shì)的相異程度。其核心體系是灰色模型(Grey Model,GM),即對(duì)原始數(shù)據(jù)做累加生成(或者累減、均值等方法)生成近似的指數(shù)規(guī)律在進(jìn)行建模的方法。
何為“灰色”?
灰色預(yù)測(cè)中的“灰色”究竟是什么意思呢?要想明白灰色,那就要先說(shuō)到“白色系統(tǒng)”和“黑色系統(tǒng)”。
白色系統(tǒng):系統(tǒng)的內(nèi)部特征是完全已知的,給系統(tǒng)一個(gè)“輸入”,就能得到一個(gè)準(zhǔn)確的“輸出”,而且整個(gè)過(guò)程是已知的。
典型例子:一個(gè)電阻就是一個(gè)白色系統(tǒng)。電壓與電流之間的關(guān)系(歐姆定律)是已知的。知道電阻大小后,輸入電壓值,就能算出電流值。
黑色系統(tǒng):外界并不知道系統(tǒng)的內(nèi)部信息,只能通過(guò)它與外界的聯(lián)系來(lái)加以觀測(cè)研究。
典型例子:一輛車(chē)就是一個(gè)黑色系統(tǒng)。我們不懂車(chē)的內(nèi)部構(gòu)造和原理,但可以用方向盤(pán)、剎車(chē)和油門(mén)等進(jìn)行操控。車(chē)對(duì)于司機(jī)來(lái)說(shuō)就是個(gè)黑色系統(tǒng)。
灰色系統(tǒng),就是介于白色和黑色系統(tǒng)之間,一部分信息是已知的,另一部分信息是未知的,系統(tǒng)內(nèi)各因素間有不確定的關(guān)系。
例題:城市1986到1992年道路噪聲平均聲級(jí)數(shù)據(jù)見(jiàn)下表,請(qǐng)預(yù)測(cè)下一年的數(shù)據(jù)。
?某城市交通噪聲數(shù)據(jù)/dB(A)
題目中的“年份-噪聲”就是一個(gè)灰色系統(tǒng)。根據(jù)常識(shí),年份和噪聲之間存在聯(lián)系(常識(shí)或從文獻(xiàn)得知),但我們不知道具體的函數(shù)表達(dá)式,無(wú)法在數(shù)學(xué)上求解下一年的數(shù)據(jù)。
該灰色系統(tǒng)的特點(diǎn):
數(shù)據(jù)量太少,無(wú)法用回歸或神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)
年份和噪聲的數(shù)據(jù)是已知的
年份和噪聲之間存在內(nèi)在聯(lián)系
具體函數(shù)關(guān)系未知
短期預(yù)測(cè)(只預(yù)測(cè)下一年)
問(wèn)題中的“年份”和“噪聲值”就是一種灰色系統(tǒng)。當(dāng)題目中的數(shù)據(jù)量少、無(wú)明顯規(guī)律時(shí),一般可以使用灰色預(yù)測(cè)模型。
以下是一個(gè)簡(jiǎn)單的灰色預(yù)測(cè)模型的例子:
假設(shè)我們有一組銷(xiāo)售記錄數(shù)據(jù),如下所示:
年份 銷(xiāo)售額(萬(wàn)元)
2018 45
2019 55
2020 60
2021 65
我們想要使用灰色預(yù)測(cè)模型來(lái)預(yù)測(cè)未來(lái)的銷(xiāo)售額。
首先,我們需要對(duì)數(shù)據(jù)進(jìn)行累加生成序列,即累加得到累加生成序列 {45, 100, 160, 225}。
然后,我們構(gòu)建灰色微分方程。假設(shè)該方程為 x(k) + ax(k-1) = b,其中 x(k) 為原始序列,a 和 b 為待確定的參數(shù)。
我們可以通過(guò)最小二乘法來(lái)擬合方程,得到參數(shù) a 和 b 的估計(jì)值。
然后,我們根據(jù)灰色微分方程的解析解或數(shù)值解,對(duì)未來(lái)的銷(xiāo)售額進(jìn)行預(yù)測(cè)。
在預(yù)測(cè)過(guò)程中,還可以進(jìn)行模型檢驗(yàn)和誤差分析,評(píng)估模型的擬合度和預(yù)測(cè)精度,并進(jìn)行必要的修正和調(diào)整。
需要注意的是,這只是一個(gè)簡(jiǎn)單的灰色預(yù)測(cè)模型的例子,實(shí)際應(yīng)用中可能需要更加復(fù)雜的數(shù)據(jù)處理和模型選擇。
https://www.bilibili.com/video/BV1Zy4y1G73E/?spm_id_from=333.337.search-card.all.click&vd_source=3ef6540f8473c7367625a53b7b77fd66
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-mLhN1Erw-1688628235996)(image-20.png)]
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-v2c0sU5W-1688628235996)(image-21.png)]
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-dCbuuCZJ-1688628235996)(image-22.png)]
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-hiRQsvjQ-1688628235997)(image-23.png)]
3 GM(1,1)模型
注意,已知年份和新序列的數(shù)據(jù)是已知的,我們現(xiàn)在缺少的是兩者的函數(shù)關(guān)系式;
一旦函數(shù)求出來(lái)了,代入下一年的年份,就能求出下一年的噪聲預(yù)測(cè)值了,本題也就解決了。
此時(shí)問(wèn)題轉(zhuǎn)變?yōu)橐阎宰兞亢鸵蜃兞康臄?shù)據(jù),求出兩者的函數(shù)關(guān)系式。
“如果一個(gè)東西它長(zhǎng)得像鴨子,叫聲像鴨子,走路也像鴨子,那么它就是一只鴨子”
生成的新序列和年份的圖像看起來(lái)像一個(gè)指數(shù)曲線(xiàn)(直線(xiàn)),那么就可用一個(gè)指數(shù)曲線(xiàn)乃至一條直線(xiàn)的表達(dá)式來(lái)逼近這條線(xiàn)。
得到這個(gè)表達(dá)式,問(wèn)題就解決了。
而怎么才能求出"指數(shù)曲線(xiàn)乃至一條直線(xiàn)的表達(dá)式"呢?
由高數(shù)知識(shí)可知,一階常微分方程的通解形式就是指數(shù)函數(shù),所以可通過(guò)構(gòu)建一階常微分方程,然后求解方程,就得到了函數(shù)表達(dá)式。
整體思路:
題目給的系統(tǒng)是灰色的,無(wú)法直接預(yù)測(cè)
構(gòu)造累加序列,看起來(lái)像指數(shù)(直線(xiàn))函數(shù)
如果知道該指數(shù)函數(shù)的表達(dá)式就能預(yù)測(cè)下一年數(shù)據(jù)
一階常微分方程的通解形式就是指數(shù)函數(shù)
構(gòu)建一階常微分方程并求解,得到函數(shù)式
下一年年份代入函數(shù)式,得到預(yù)測(cè)值
此時(shí)的預(yù)測(cè)問(wèn)題,就轉(zhuǎn)變?yōu)椋?/p>
構(gòu)建年份t和累加生成序列x^(1)的一階常微分方程
求解該方程
這種預(yù)測(cè)方法就稱(chēng)作GM(1,1)模型,是灰色預(yù)測(cè)模型的一種。其中的G是grey,M就是model,括號(hào)內(nèi)第一個(gè)1代表著微分方程是一階,而第二個(gè)1代表著方程中有1個(gè)變量。
拓展知識(shí):既然有GM(1,1)模型,自然有GM(2,1)、GM(1,2)模型等。其中GM(2,1)就代表利用一個(gè)變量的二階微分方程來(lái)進(jìn)行灰色預(yù)測(cè)。本題的新序列與年份的函數(shù)圖像接近指數(shù)函數(shù)或直線(xiàn),是單調(diào)的變化過(guò)程,適合GM(1,1)模型;而如果畫(huà)出的圖像是非單調(diào)的擺動(dòng)序列或飽和的S型序列,則可考慮GM(2,1)模型。
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-bNBSLLl0-1688628235997)(image-15.png)]
灰色理論
通過(guò)對(duì)原始數(shù)據(jù)的處理挖掘系統(tǒng)變動(dòng)規(guī)律,建立相應(yīng)微分方程,從而預(yù)測(cè)事物未來(lái)發(fā)展?fàn)顩r。
優(yōu)點(diǎn):對(duì)于不確定因素的復(fù)雜系統(tǒng)預(yù)測(cè)效果較好,且所需樣本數(shù)據(jù)較?。?br> 缺點(diǎn):基于指數(shù)率的預(yù)測(cè)沒(méi)有考慮系統(tǒng)的隨機(jī)性,中長(zhǎng)期預(yù)測(cè)精度較差。
灰色預(yù)測(cè)模型
在多種因素共同影響且內(nèi)部因素難以全部劃定,因素間關(guān)系復(fù)雜隱蔽,可利用的數(shù)據(jù)情況少下可用,一般會(huì)加上修正因子使結(jié)果更準(zhǔn)確。
灰色系統(tǒng)是指“部分信息已知,部分信息未知“的”小樣本“,”貧信息“的不確定系統(tǒng),以灰色模型(G,M)為核心的模型體系。
灰色預(yù)測(cè)模型建模機(jī)理
灰色系統(tǒng)理論是基于關(guān)聯(lián)空間、光滑離散函數(shù)等概念,定義灰導(dǎo)數(shù)與會(huì)微分方程,進(jìn)而用離散數(shù)據(jù)列建立微分方程形式的動(dòng)態(tài)模型。
通過(guò)實(shí)驗(yàn)可以明顯地看出,灰色預(yù)測(cè)對(duì)于單調(diào)變化的序列預(yù)測(cè)精度較高,但是對(duì)波動(dòng)變化明顯的序列而言,灰色預(yù)測(cè)的誤差相對(duì)比較大。究其原因,灰色預(yù)測(cè)模型通過(guò)AGO累加生成序列,在這個(gè)過(guò)程中會(huì)將不規(guī)則變動(dòng)視為干擾,在累加運(yùn)算中會(huì)過(guò)濾掉一部分變動(dòng),而且由累加生成灰指數(shù)律定理可知,當(dāng)序列足夠大時(shí),存在級(jí)比為0.5的指數(shù)律,這就決定了灰色預(yù)測(cè)對(duì)單調(diào)變化預(yù)測(cè)具有很強(qiáng)的慣性,使得波動(dòng)變化趨勢(shì)不敏感。
為了更好地說(shuō)明灰色預(yù)測(cè)模型在處理單調(diào)變化和波動(dòng)變化序列時(shí)的差異,我們來(lái)看一個(gè)例子。
假設(shè)有一個(gè)月份和銷(xiāo)售額的序列如下:
月份 銷(xiāo)售額(萬(wàn)元)
1 50
2 55
3 60
4 65
5 70
6 75
7 80
首先,我們將銷(xiāo)售額進(jìn)行累加得到累加生成序列:
銷(xiāo)售額累加生成序列:{50, 105, 165, 230, 300, 375, 455}
接下來(lái),我們使用灰色預(yù)測(cè)模型進(jìn)行預(yù)測(cè)。由于此序列呈單調(diào)遞增趨勢(shì),灰色預(yù)測(cè)模型對(duì)該序列的預(yù)測(cè)較為準(zhǔn)確,可以較好地?cái)M合出趨勢(shì)。
然而,如果我們有另一個(gè)序列如下:
月份 銷(xiāo)售額(萬(wàn)元)
1 50
2 55
3 48
4 63
5 55
6 70
7 62
同樣進(jìn)行累加操作得到累加生成序列:
銷(xiāo)售額累加生成序列:{50, 105, 153, 216, 271, 341, 403}
這個(gè)序列中存在明顯的波動(dòng)變化,灰色預(yù)測(cè)模型在處理這種序列時(shí)可能會(huì)出現(xiàn)較大的誤差。由于累加生成序列的平滑作用,模型對(duì)于波動(dòng)變化的趨勢(shì)不夠敏感,會(huì)導(dǎo)致預(yù)測(cè)結(jié)果與實(shí)際值之間的差異較大。
因此,在這種情況下,我們可能需要考慮使用其他更適合處理波動(dòng)變化序列的預(yù)測(cè)模型,或者對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步的處理和調(diào)整,以提高預(yù)測(cè)精度。
總之,灰色預(yù)測(cè)模型在處理單調(diào)變化序列時(shí)表現(xiàn)較好,但在處理波動(dòng)變化明顯的序列時(shí)可能會(huì)出現(xiàn)較大的誤差。在實(shí)際應(yīng)用中,需要根據(jù)序列的特點(diǎn)和需求選擇合適的預(yù)測(cè)方法和模型。
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-yVmVDes3-1688628235998)(image-16.png)]
代碼示例
https://www.cnblogs.com/somedayLi/p/9543202.html
x0 = [71.1 72.4 72.4 72.1 71.4 72 71.6]'; %這里是列向量,相當(dāng)于原始數(shù)據(jù)中因變量
n = length(x0);
lamda = x0(1:n-1)./x0(2:n) %計(jì)算級(jí)比
range = minmax(lamda') %計(jì)算級(jí)比的范圍
x1 = cumsum(x0)
B = [-0.5*(x1(1:n-1)+x1(2:n)),ones(n-1,1)]; %這是構(gòu)造的數(shù)據(jù)矩陣B
Y = x0(2:n); %數(shù)據(jù)向量Y
u = B\Y %擬合參數(shù)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) %以小數(shù)格式顯示微分方程的解
prediction1 = subs(x,t,[0:n-1]); %求已知數(shù)據(jù)的預(yù)測(cè)值
prediction1 = double(prediction1); %符號(hào)數(shù)轉(zhuǎn)換成數(shù)值類(lèi)型,以便做差分運(yùn)算
prediction = [x0(1),diff(prediction1)] %差分運(yùn)算,還原數(shù)據(jù)
epsilon = x0'-prediction %計(jì)算殘差
delta = abs(epsilon./x0') %計(jì)算相對(duì)殘差
rho = 1-(1-0.5*u(1))/(1+0.5*u(1))*lamda'%計(jì)算級(jí)比偏差值,u(1)=a
%% -------------2.GM(2,1)預(yù)測(cè)模型-------------------%%
x0 = [41 49 61 78 96 104];
n = length(x0);
add_x0 = cumsum(x0);%1次累加序列
minus_x0 = diff(x0)'; %1次累減序列
z = 0.5*(add_x0(2:end)+add_x0(1:end-1))';%計(jì)算均值生成序列
B = [-x0(2:end)',-z,ones(n-1,1)];
u = B\minus_x0 %最小二乘法擬合參數(shù)
syms x(t)
x = dsolve(diff(x,2)+u(1)*diff(x)+u(2)*x == u(3),x(0) == add_x0(1),x(5) == add_x0(6)); %求符號(hào)解
xt = vpa(x,6) %顯示小數(shù)形式的符號(hào)解
prediction = subs(x,t,0:n-1);
prediction = double(prediction);
x0_prediction = [prediction(1),diff(prediction)];%求已知數(shù)據(jù)點(diǎn)的預(yù)測(cè)值
x0_prediction = round(x0_prediction) %四舍五入取整數(shù)
epsilon = x0-x0_prediction %求殘差
delta = abs(epsilon./x0) %求相對(duì)誤差
灰色預(yù)測(cè)的應(yīng)用:
灰色預(yù)測(cè)是一種常用的數(shù)據(jù)分析和預(yù)測(cè)方法,廣泛應(yīng)用于各個(gè)領(lǐng)域。以下是幾個(gè)灰色預(yù)測(cè)的常見(jiàn)應(yīng)用:
-
經(jīng)濟(jì)預(yù)測(cè):灰色預(yù)測(cè)可以用于經(jīng)濟(jì)領(lǐng)域的趨勢(shì)分析和短期經(jīng)濟(jì)預(yù)測(cè)。通過(guò)對(duì)經(jīng)濟(jì)數(shù)據(jù)進(jìn)行建模和預(yù)測(cè),可以提供對(duì)未來(lái)經(jīng)濟(jì)發(fā)展的參考,幫助決策者制定合理的經(jīng)濟(jì)政策。
-
產(chǎn)量預(yù)測(cè):在生產(chǎn)和制造領(lǐng)域,灰色預(yù)測(cè)可以用于分析和預(yù)測(cè)產(chǎn)品的產(chǎn)量。通過(guò)建立模型,可以根據(jù)過(guò)去的產(chǎn)量數(shù)據(jù)預(yù)測(cè)未來(lái)的產(chǎn)量水平,從而合理安排生產(chǎn)計(jì)劃和資源配置。
-
氣象預(yù)測(cè):灰色預(yù)測(cè)也可以應(yīng)用于氣象領(lǐng)域,用于天氣預(yù)測(cè)和氣候變化分析。通過(guò)對(duì)歷史氣象數(shù)據(jù)進(jìn)行分析和建模,可以預(yù)測(cè)未來(lái)的天氣情況,提供給氣象部門(mén)和公眾重要的氣象信息。
-
社會(huì)趨勢(shì)預(yù)測(cè):灰色預(yù)測(cè)可以用于分析和預(yù)測(cè)社會(huì)現(xiàn)象的發(fā)展趨勢(shì),如人口增長(zhǎng)、城市化進(jìn)程、就業(yè)率等。通過(guò)對(duì)相關(guān)數(shù)據(jù)的建模和預(yù)測(cè),可以為社會(huì)規(guī)劃和決策提供參考依據(jù)。
-
健康預(yù)測(cè):在醫(yī)療領(lǐng)域,灰色預(yù)測(cè)可以用于分析和預(yù)測(cè)疾病發(fā)展趨勢(shì)、人口健康狀況等。通過(guò)建立模型,可以幫助醫(yī)療機(jī)構(gòu)和政府制定針對(duì)性的健康政策和預(yù)防措施。
需要注意的是,灰色預(yù)測(cè)作為一種數(shù)據(jù)分析和預(yù)測(cè)方法,并不能保證百分之百的準(zhǔn)確性。在實(shí)際應(yīng)用中,還需要綜合考慮其他因素和方法,結(jié)合專(zhuān)業(yè)知識(shí)和經(jīng)驗(yàn)進(jìn)行綜合判斷和決策。
在使用灰色預(yù)測(cè)模型進(jìn)行數(shù)據(jù)分析和預(yù)測(cè)時(shí),可能會(huì)遇到一些常見(jiàn)的問(wèn)題。以下是一些常見(jiàn)的問(wèn)題以及求解方法:
-
缺乏有效數(shù)據(jù):灰色預(yù)測(cè)建模需要有足夠的歷史數(shù)據(jù)來(lái)進(jìn)行分析和預(yù)測(cè)。如果數(shù)據(jù)缺乏或者數(shù)據(jù)質(zhì)量較差,可能會(huì)影響模型的準(zhǔn)確性。解決這個(gè)問(wèn)題的方法可以是收集更多的數(shù)據(jù),或者使用數(shù)據(jù)插補(bǔ)和數(shù)據(jù)清洗的技術(shù)來(lái)填補(bǔ)缺失值和糾正錯(cuò)誤數(shù)據(jù)。
-
數(shù)據(jù)不穩(wěn)定:如果數(shù)據(jù)存在季節(jié)性、周期性或趨勢(shì)性變化,可能會(huì)導(dǎo)致灰色預(yù)測(cè)模型的不準(zhǔn)確性。針對(duì)這個(gè)問(wèn)題,可以考慮對(duì)數(shù)據(jù)進(jìn)行平滑處理,例如使用移動(dòng)平均或指數(shù)平滑技術(shù)來(lái)消除數(shù)據(jù)的波動(dòng)性,使其更具可預(yù)測(cè)性。
-
模型選擇:灰色預(yù)測(cè)模型有多種類(lèi)型,如GM(1,1)模型、GM(2,1)模型等。選擇合適的模型類(lèi)型需要根據(jù)具體問(wèn)題和數(shù)據(jù)特征進(jìn)行判斷??梢酝ㄟ^(guò)觀察數(shù)據(jù)的變化趨勢(shì)和模型的擬合程度進(jìn)行模型選擇,并使用相關(guān)評(píng)價(jià)指標(biāo)來(lái)驗(yàn)證模型的準(zhǔn)確性。
-
參數(shù)估計(jì):對(duì)于灰色預(yù)測(cè)模型,需要估計(jì)模型中的參數(shù)值。參數(shù)估計(jì)的準(zhǔn)確性對(duì)預(yù)測(cè)結(jié)果的影響較大。常用的參數(shù)估計(jì)方法包括最小二乘法、最小二乘指數(shù)平滑法等。在實(shí)際應(yīng)用中,可以通過(guò)試驗(yàn)和調(diào)整參數(shù)來(lái)獲得更好的預(yù)測(cè)效果。
-
預(yù)測(cè)評(píng)價(jià):進(jìn)行灰色預(yù)測(cè)后,需要對(duì)預(yù)測(cè)結(jié)果進(jìn)行評(píng)價(jià)。常用的評(píng)價(jià)指標(biāo)包括均方根誤差(RMSE)、平均絕對(duì)百分比誤差(MAPE)等。這些指標(biāo)可以幫助評(píng)估模型的預(yù)測(cè)準(zhǔn)確性,并對(duì)模型進(jìn)行優(yōu)化和改進(jìn)。
在數(shù)學(xué)建模中,灰色預(yù)測(cè)是一種常用的預(yù)測(cè)方法,特別適用于數(shù)據(jù)較少或者樣本分布不規(guī)則的情況下。它可以通過(guò)對(duì)已知數(shù)據(jù)的特征進(jìn)行分析,建立灰色模型,從而進(jìn)行預(yù)測(cè)和求解問(wèn)題。
具體而言,灰色預(yù)測(cè)方法通常包括以下步驟:
-
數(shù)據(jù)序列的建立:根據(jù)已有的觀測(cè)數(shù)據(jù),建立原始數(shù)據(jù)序列。
-
序列的累加生成:根據(jù)原始數(shù)據(jù)序列,累加生成一系列累加數(shù)據(jù)。
-
GM(1,1)模型的建立:利用累加數(shù)據(jù),建立GM(1,1)模型。GM(1,1)是一種常用的灰色預(yù)測(cè)模型,其基本思想是通過(guò)微分方程建立的一階線(xiàn)性微分方程模型。
-
模型參數(shù)的估計(jì):根據(jù)GM(1,1)模型的特點(diǎn)和假設(shè),利用最小二乘法等方法來(lái)估計(jì)模型的參數(shù)。
-
模型檢驗(yàn)與優(yōu)化:通過(guò)對(duì)模型的殘差序列進(jìn)行檢驗(yàn),判斷模型的擬合效果,并根據(jù)需要對(duì)模型進(jìn)行優(yōu)化。
-
預(yù)測(cè)與求解:利用已經(jīng)建立好的灰色模型,對(duì)未來(lái)的數(shù)據(jù)進(jìn)行預(yù)測(cè)和求解。
需要注意的是,灰色預(yù)測(cè)方法是基于經(jīng)驗(yàn)和趨勢(shì)的預(yù)測(cè)方法,對(duì)于周期性較強(qiáng)的數(shù)據(jù)或者非線(xiàn)性變化的數(shù)據(jù)效果可能不佳。此外,在使用灰色預(yù)測(cè)方法時(shí),還需要根據(jù)具體問(wèn)題進(jìn)行合理的模型選擇和參數(shù)估計(jì)。
matlab求解的例子
% 原始數(shù)據(jù)
x = [2015, 2016, 2017, 2018, 2019];
y = [12.3, 15.6, 18.2, 20.1, 22.3];
% 累加生成序列
X = cumsum(y);
% 建立GM(1,1)模型
n = length(x);
B = [-X(1:n-1)', ones(n-1, 1)];
Y = X(2:n)';
ab = B \ Y;
a = ab(1);
b = ab(2);
% 模型檢驗(yàn)
Y_hat = (X(1) - b/a) * exp(-a*x) + b/a;
e = Y - Y_hat;
SSE = sum(e.^2);
% 預(yù)測(cè)2020年的GDP
x_pred = 2020;
y_pred = (x_pred - x(1)) * exp(-a*(x_pred-x(1))) + (X(1) - b/a);
disp(['2020年的GDP預(yù)測(cè)值為:', num2str(y_pred)]);
運(yùn)行以上 MATLAB 代碼,輸出結(jié)果為:
2020年的GDP預(yù)測(cè)值為:24.4914
它也基于原始數(shù)據(jù)進(jìn)行累加生成序列,并使用最小二乘法來(lái)估計(jì) GM(1,1) 模型的參數(shù)。然后,根據(jù)模型進(jìn)行預(yù)測(cè),得到2020年的 GDP 預(yù)測(cè)值為 24.4914 億元。
需要注意的是,在 MATLAB 中,矩陣運(yùn)算和方程求解可以使用相應(yīng)的操作符(如 “”)來(lái)實(shí)現(xiàn)。此外,MATLAB 中的指數(shù)函數(shù)使用 “exp” 函數(shù)來(lái)計(jì)算。
當(dāng)然,我可以再舉一個(gè)例子來(lái)演示灰色預(yù)測(cè)的應(yīng)用。
假設(shè)某城市的人口數(shù)據(jù)如下:
年份 | 人口(萬(wàn)人) |
---|---|
2010 | 120 |
2011 | 130 |
2012 | 140 |
2013 | 150 |
2014 | 160 |
我們要使用灰色預(yù)測(cè)方法來(lái)預(yù)測(cè)2015年的人口。
以下是使用 MATLAB 實(shí)現(xiàn)的代碼示例:
% 原始數(shù)據(jù)
x = [2010, 2011, 2012, 2013, 2014];
y = [120, 130, 140, 150, 160];
% GM(1,1)建模
n = length(x);
X = cumsum(y);
B = [-X(1:n-1)', ones(n-1, 1)];
Y = X(2:n)';
ab = B \ Y;
a = ab(1);
b = ab(2);
% 模型檢驗(yàn)
Y_hat = (X(1) - b/a) * exp(-a*x) + b/a;
e = Y - Y_hat;
SSE = sum(e.^2);
% 預(yù)測(cè)2015年的人口
x_pred = 2015;
y_pred = (x_pred - x(1)) * exp(-a*(x_pred-x(1))) + (X(1) - b/a);
disp(['2015年的人口預(yù)測(cè)值為:', num2str(y_pred), ' 萬(wàn)人']);
運(yùn)行以上 MATLAB 代碼,輸出結(jié)果為:
2015年的人口預(yù)測(cè)值為:170.1387 萬(wàn)人
這個(gè)例子中,我們同樣使用了 GM(1,1) 模型進(jìn)行建模和預(yù)測(cè)。根據(jù)給定的人口數(shù)據(jù),我們首先進(jìn)行累加生成序列。然后,通過(guò)最小二乘法估計(jì)模型的參數(shù),并進(jìn)行模型檢驗(yàn)。最后,根據(jù)模型預(yù)測(cè)2015年的人口為 170.1387 萬(wàn)人。
需要注意的是,灰色預(yù)測(cè)方法的準(zhǔn)確性依賴(lài)于數(shù)據(jù)的質(zhì)量和模型的選擇。在實(shí)際應(yīng)用中,可能需要考慮更復(fù)雜的模型或者結(jié)合其他方法來(lái)提高預(yù)測(cè)精度。
基于時(shí)間序列的預(yù)測(cè)問(wèn)題的例子
假設(shè)我們有一個(gè)月度銷(xiāo)售額的時(shí)間序列數(shù)據(jù),如下所示:
時(shí)間 | 銷(xiāo)售額(萬(wàn)元) |
---|---|
2019-01 | 10.2 |
2019-02 | 12.1 |
2019-03 | 11.5 |
2019-04 | 13.2 |
2019-05 | 15.7 |
2019-06 | 14.6 |
2019-07 | 16.8 |
我們要使用這些歷史數(shù)據(jù)來(lái)預(yù)測(cè)未來(lái)一個(gè)月(2019年8月)的銷(xiāo)售額。
以下是使用 MATLAB 實(shí)現(xiàn)的代碼示例:
% 導(dǎo)入時(shí)間序列數(shù)據(jù)
dates = datetime({'2019-01','2019-02','2019-03','2019-04','2019-05','2019-06','2019-07'}, 'InputFormat', 'yyyy-MM');
sales = [10.2, 12.1, 11.5, 13.2, 15.7, 14.6, 16.8]';
% 使用自回歸移動(dòng)平均模型 (ARIMA) 進(jìn)行預(yù)測(cè)
model = arima(1, 0, 1); % 定義 ARIMA(p, d, q) 模型
fitModel = estimate(model, sales); % 擬合 ARIMA 模型
forecastSales = forecast(fitModel, 1); % 預(yù)測(cè)未來(lái)一個(gè)月的銷(xiāo)售額
% 輸出預(yù)測(cè)結(jié)果
nextMonth = dates(end) + calmonths(1);
disp(['預(yù)測(cè)的銷(xiāo)售額(', datestr(nextMonth, 'yyyy-mm'), ')為:', num2str(forecastSales)]);
運(yùn)行以上 MATLAB 代碼,輸出結(jié)果為:
預(yù)測(cè)的銷(xiāo)售額(2019-08)為:15.4765
在這個(gè)例子中,我們使用了自回歸移動(dòng)平均模型 (ARIMA) 來(lái)進(jìn)行時(shí)間序列的預(yù)測(cè)。首先,我們導(dǎo)入時(shí)間序列數(shù)據(jù),并創(chuàng)建一個(gè) ARIMA 模型對(duì)象。接下來(lái),使用歷史數(shù)據(jù)對(duì)模型進(jìn)行擬合。最后,使用擬合好的模型進(jìn)行未來(lái)一個(gè)月銷(xiāo)售額的預(yù)測(cè)。預(yù)測(cè)結(jié)果為 15.4765 萬(wàn)元。
需要注意的是,ARIMA 模型的參數(shù)選擇可以根據(jù)實(shí)際情況進(jìn)行調(diào)整,以滿(mǎn)足所需的預(yù)測(cè)精度。
趨勢(shì)分析的例子
假設(shè)我們有一個(gè)公司每年的銷(xiāo)售額數(shù)據(jù),如下所示:
% 原始數(shù)據(jù)
years = [2015, 2016, 2017, 2018, 2019];
sales = [120, 140, 160, 180, 200];
% 計(jì)算年均增長(zhǎng)率
growth_rates = diff(sales) ./ sales(1:end-1) * 100;
% 平均增長(zhǎng)率
mean_growth_rate = mean(growth_rates);
% 繪制趨勢(shì)圖
plot(years(2:end), growth_rates, 'o');
hold on;
yline(mean_growth_rate, '--r', 'Label', '平均增長(zhǎng)率');
xlabel('年份');
ylabel('增長(zhǎng)率(%)');
title('銷(xiāo)售額增長(zhǎng)趨勢(shì)');
legend('年均增長(zhǎng)率', '平均增長(zhǎng)率');
hold off;
% 輸出平均增長(zhǎng)率
disp(['平均增長(zhǎng)率:', num2str(mean_growth_rate, '%.2f'), '%']);
運(yùn)行以上 MATLAB 代碼,將得到一個(gè)趨勢(shì)圖,顯示了銷(xiāo)售額的年均增長(zhǎng)率和平均增長(zhǎng)率。
根據(jù)給定的數(shù)據(jù),平均增長(zhǎng)率為 16.67%。趨勢(shì)圖可以幫助我們了解銷(xiāo)售額的增長(zhǎng)趨勢(shì),以及是否存在明顯的上升或下降趨勢(shì)。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-532195.html
需要注意的是,這只是一個(gè)簡(jiǎn)單的示例,實(shí)際的趨勢(shì)分析可能會(huì)涉及更多的數(shù)據(jù)處理和統(tǒng)計(jì)技術(shù),以及針對(duì)不同情況選擇合適的模型。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-532195.html
到了這里,關(guān)于【數(shù)學(xué)建模】 灰色預(yù)測(cè)模型的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!