基于非線性回歸模型參數(shù)的生產(chǎn)預(yù)測(cè)方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及科學(xué)計(jì)算領(lǐng)域,尤其涉及一種基于非線性回歸模型參數(shù)的生產(chǎn)預(yù)測(cè)方 法和系統(tǒng)。
【背景技術(shù)】
[0002] 非線性問(wèn)題在現(xiàn)實(shí)生活中會(huì)經(jīng)常遇到:如在公司運(yùn)營(yíng)、工廠生產(chǎn)等都會(huì)碰到各種 各樣的非線性問(wèn)題。為做決策,描述非線性數(shù)據(jù)的規(guī)律以及對(duì)非線性數(shù)據(jù)進(jìn)行預(yù)測(cè),已經(jīng)成 為生產(chǎn)經(jīng)營(yíng)中重要的環(huán)節(jié)。非線性回歸就是用來(lái)分析非線性數(shù)據(jù)的重要工具。由于非線性 模型一般都比較復(fù)雜,不易獲得其參數(shù)的估計(jì),因此,能夠及時(shí)地得到非線性回歸的結(jié)果, 往往能夠?yàn)樯a(chǎn)經(jīng)營(yíng)帶來(lái)巨大的利益。
[0003] 但實(shí)際上,就現(xiàn)有的基于非線性回歸模型參數(shù)的生產(chǎn)預(yù)測(cè)方法而言(以高斯-牛 頓法為主),非線性回歸參數(shù)的確定往往會(huì)花費(fèi)大量時(shí)間,效率低下。同時(shí),迭代法有個(gè)更加 致命的問(wèn)題:對(duì)參數(shù)的初始估計(jì)值的依賴程度十分高:估計(jì)值與真實(shí)值稍有偏離,就會(huì)導(dǎo) 致迭代失敗。而現(xiàn)有基于非線性回歸模型參數(shù)的生產(chǎn)預(yù)測(cè)方法的這些問(wèn)題直接導(dǎo)致了公司 或工廠對(duì)未來(lái)數(shù)據(jù)的預(yù)測(cè)滯后或錯(cuò)誤預(yù)測(cè),使公司或工廠蒙受損失。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明提出了一種新的基于非線性回歸模型參數(shù)的生產(chǎn)預(yù)測(cè)方法。這種方法不但 計(jì)算速度快,而且對(duì)初值的敏感程度不高。
[0005] 本發(fā)明的基于非線性回歸模型參數(shù)的生產(chǎn)預(yù)測(cè)方法,包括以下步驟:S1、獲取參 數(shù)的初始區(qū)間;S2、對(duì)初始區(qū)間進(jìn)行均分處理以得到各小區(qū)間;S3、在每個(gè)小區(qū)間內(nèi)隨機(jī)取 點(diǎn);S4、按照給定的標(biāo)準(zhǔn)找出最合適的點(diǎn)組合;S5、根據(jù)找出的點(diǎn)組合,找出參數(shù)的新初始 區(qū)間;S6、重復(fù)步驟S1至S5,直至精度達(dá)到預(yù)定值為止。
[0006] 作為優(yōu)選方案的,所述初始區(qū)間的選取需滿足使得整個(gè)問(wèn)題的最優(yōu)解包含在該初 始區(qū)間之內(nèi)。
[0007] 作為優(yōu)選方案的,所述給定的標(biāo)準(zhǔn),是指相對(duì)誤差絕對(duì)值之和為最小值。
[0008] 作為優(yōu)選方案的,在步驟S5,通過(guò)多次實(shí)驗(yàn)獲得所述的點(diǎn)組合所在的區(qū)間,如果參 數(shù)的新區(qū)間在多次實(shí)驗(yàn)下基本保持不變,則被選入下次計(jì)算的新初始區(qū)間。
[0009] 作為優(yōu)選方案的,在步驟S6,所述精度達(dá)到要求,是指所述給定的標(biāo)準(zhǔn)小于某個(gè)給 定的數(shù),或者新舊區(qū)間變化量小于某個(gè)給定的數(shù)。
[0010] 作為優(yōu)選方案的,利用MATLAB軟件實(shí)現(xiàn)非線性回歸模型參數(shù)的計(jì)算。
[0011] 本發(fā)明還提供一種基于非線性回歸模型參數(shù)的生產(chǎn)預(yù)測(cè)系統(tǒng),包括以下模塊:數(shù) 據(jù)收集模塊,用于收集參數(shù)以形成初始區(qū)間,并用于收集給定的標(biāo)準(zhǔn);數(shù)據(jù)分析模塊,用于 對(duì)初始區(qū)間進(jìn)行均分處理以得到各小區(qū)間,在每個(gè)小區(qū)間內(nèi)隨機(jī)取點(diǎn),按照給定的標(biāo)準(zhǔn)找 出最合適的點(diǎn)組合,根據(jù)找出的點(diǎn)組合,找出參數(shù)的新初始區(qū)間,通過(guò)循環(huán)計(jì)算以使得精度 達(dá)到要求時(shí)停止。
[0012] 下面對(duì)本發(fā)明的原理進(jìn)行詳細(xì)闡述。
[0013] 一般的非線性回歸模型為:
[0014]
[0015] 其中,f(X,0)表示一個(gè)以XG Rn為自變量,0G Rp為參數(shù)的非線性函數(shù),yG R1 是因變量。
[0016] 而非線性回歸模型的參數(shù)估計(jì)則是:在已知函數(shù)f(x,0 )的顯式帶參表達(dá)式以及 一組觀測(cè)值丨(UV)丨:二的前提下,根據(jù)給定的標(biāo)準(zhǔn)S,求出參數(shù)0GRP的估計(jì)值即, 需要找出id使得
[0017]
[0018] 其中,S( 0 )為標(biāo)準(zhǔn),常見(jiàn)的標(biāo)準(zhǔn)^
[0019] 基于非線性回歸模型參數(shù)的生產(chǎn)預(yù)測(cè)方法之中,被普遍采用的高斯-牛頓迭代法 在計(jì)算時(shí),取f(x,9)關(guān)于9的Taylor展開式的前兩項(xiàng)作為f(x,0)的近似,再利用線性 最小二乘估計(jì),通過(guò)迭代逐次逼近解,這樣,存在以下問(wèn)題,如要求待擬合的函數(shù)連續(xù)可導(dǎo)、 對(duì)初值敏感、效率不高等等。
[0020] 而國(guó)內(nèi)有方開泰等專家學(xué)者提出了"布點(diǎn)法",參見(jiàn)方開泰、張金廷于1993年03期 在《應(yīng)用數(shù)學(xué)學(xué)報(bào)》發(fā)表的《非線性回歸模型初始估計(jì)的一個(gè)新算法》,效果與高斯-牛頓法 相當(dāng),有些時(shí)候甚至更優(yōu)于高斯_牛頓法。布點(diǎn)法:先獲取每個(gè)參數(shù)的初始估計(jì)值,利用給 定的半徑,獲取估計(jì)區(qū)間,然后對(duì)估計(jì)區(qū)間大量均勻布點(diǎn),找出最優(yōu)點(diǎn)并壓縮區(qū)間半徑,直 至半徑小于給定的數(shù)為止。
[0021] 從上面的方法簡(jiǎn)介可以看出,布點(diǎn)法的優(yōu)點(diǎn)在于:實(shí)際上可以有效地解決高 斯-牛頓法的缺陷,因?yàn)椴键c(diǎn)法并沒(méi)有對(duì)擬合函數(shù)的光滑性提出任何要求,而且也在一定 程度上減弱了計(jì)算對(duì)初值的依賴,但布點(diǎn)法最大的缺陷是布點(diǎn)太多,計(jì)算量太大、效率不 尚。
[0022] 為此,本發(fā)明的基于非線性回歸模型參數(shù)的生產(chǎn)預(yù)測(cè)方法,對(duì)布點(diǎn)法進(jìn)行了改進(jìn), 以點(diǎn)定區(qū)間,來(lái)減少計(jì)算量,提高運(yùn)算效率。
[0023] 先說(shuō)明一下使用的符號(hào):
[0024] 如無(wú)特別說(shuō)明的情況下,□表示矩陣,且矩陣的元素并不限于實(shí)數(shù)范圍;□'表示 矩陣的轉(zhuǎn)置運(yùn)算;
[0025]klX,k2,…,kp]表示所由有參數(shù)的估計(jì)區(qū)間構(gòu)成的區(qū)間,其中k;=[a;,bj表示 每個(gè)參數(shù)的估計(jì)區(qū)間,i= 1,2,…,p;
[0026] 1 = [1^,12,…,lp]表示對(duì)k進(jìn)行的均分處理:將每個(gè)區(qū)間1^= [a^bj均分為1; 份,所得結(jié)果記為kikhki^gr,其中m[?,…,矽],綷表示將第i個(gè)參數(shù)^的 估計(jì)區(qū)間h均分為1 ;份后的第j個(gè)小區(qū)間,i= 1,2,…,p,j= 1,2,…,1 i;
[0027]方法:
[0028]1)、獲取參數(shù)0的初始區(qū)間k ;
[0029]2)、對(duì)初始區(qū)間k進(jìn)行1均分處理得到k1;
[0030] 3)、在每個(gè)小區(qū)間#內(nèi)隨機(jī)取點(diǎn)沒(méi)/阜紀(jì),i= 1,2,…,p,j= 1,2,…,11;
[0031]4)、按照給定的標(biāo)準(zhǔn)S找出最合適的點(diǎn)組合,S卩:找出6=l/U:.…5,, |',e卜*i =1,2,…,p,使得'你)=呼1S(*>) < 其中 〇 = [01,02,…,0p]',〇iGki,i= 1,2,…,p;
[0032]5)、以找出的點(diǎn)組合所在的區(qū)間(4 ,(.ek丨作為參數(shù)0的 新初始區(qū)間,BP:令fc.=k
[0033] 6)、重復(fù)步驟1)_5),直至精度達(dá)到要求為止。
[0034] 下面對(duì)上述各個(gè)步驟作更進(jìn)一步的說(shuō)明:
[0035] 步驟1):關(guān)于初始區(qū)間的選取,雖然大小并沒(méi)有具體的限制,但應(yīng)當(dāng)使得整個(gè)問(wèn) 題的最優(yōu)解包含在這個(gè)初始區(qū)間內(nèi)。同時(shí),初始區(qū)間越小,計(jì)算所得結(jié)果的準(zhǔn)確率當(dāng)然也越 高。而在實(shí)際應(yīng)用中,這個(gè)初始區(qū)間應(yīng)該根據(jù)問(wèn)題的背景來(lái)確定;如果對(duì)初始區(qū)間的選取不 太確定,可以將區(qū)間取得稍微大一些以保證最優(yōu)解包含在其中。
[0036] 步驟2):區(qū)間分割的處理是影響整個(gè)方法的運(yùn)算速度的關(guān)鍵點(diǎn)之一,需要特別指 出的是,不同參數(shù)的分割數(shù)可以不同,而隨著估計(jì)區(qū)間的壓縮,各個(gè)參數(shù)的分割數(shù)也會(huì)應(yīng)所 改變。更重要的是,合理選取分割能夠大大提高方法的精準(zhǔn)度而又不會(huì)耗費(fèi)太多時(shí)間。而 考慮到實(shí)際操作的困難程度,本發(fā)明的具體實(shí)施例統(tǒng)一采用二分處理:將所有估計(jì)區(qū)間都 一分為二。
[0037] 步驟3):隨機(jī)取點(diǎn)是另一個(gè)影響整個(gè)方法速度的關(guān)鍵點(diǎn),與步驟2)相類似,取點(diǎn) 的個(gè)數(shù)也是可變的。合適的取點(diǎn)數(shù)也有助于提高方法的精準(zhǔn)度。如果對(duì)整個(gè)問(wèn)題的背景有 比較深入的了解,甚至可以規(guī)定以某個(gè)特定的分布來(lái)取點(diǎn)。本發(fā)明的具體實(shí)施例出于對(duì)實(shí) 際操作難易程度的考慮,統(tǒng)一以均勻分布在每個(gè)區(qū)間中取1個(gè)點(diǎn)。
[0038] 步驟4):在這步,標(biāo)準(zhǔn)的選取以及計(jì)算方法會(huì)對(duì)方法速度產(chǎn)生很大的影響,因?yàn)?標(biāo)準(zhǔn)會(huì)被反復(fù)使用,所以標(biāo)準(zhǔn)的選取也是至關(guān)重要的。本發(fā)明的具體實(shí)施例選取的標(biāo)準(zhǔn)為 相對(duì)誤差絕對(duì)值之和
[0039] 步驟5):由于取點(diǎn)有隨機(jī)性,因此,最適合的點(diǎn)組合自然會(huì)有擺動(dòng),進(jìn)而,新區(qū)間 也會(huì)隨之?dāng)[動(dòng)。重復(fù)實(shí)驗(yàn)?zāi)軌蛟谝欢ǔ潭壬辖档瓦@種擺動(dòng)性。多次實(shí)驗(yàn),觀察每個(gè)參數(shù)的 新區(qū)間情況,如果參數(shù)的新區(qū)間在多次