徐小華,胡曉飛,趙艷春
(1.昭通學(xué)院 網(wǎng)絡(luò)信息中心;2.昭通學(xué)院 數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,云南 昭通 657000)
基于多項(xiàng)式非線性擬合問(wèn)題的探討
徐小華1,胡曉飛2,趙艷春2
(1.昭通學(xué)院 網(wǎng)絡(luò)信息中心;2.昭通學(xué)院 數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,云南 昭通 657000)
在實(shí)際問(wèn)題中,變量之間存在大量的非線性關(guān)系.文章選取非線性模型的多項(xiàng)式方法來(lái)進(jìn)行變量之間的數(shù)據(jù)擬合,從而推出單一的高階多項(xiàng)式擬合方法的缺點(diǎn),提出采用兩個(gè)或多個(gè)三階多項(xiàng)式方法來(lái)彌補(bǔ)缺陷.
擬合;多項(xiàng)式;非線性
在實(shí)際的生產(chǎn)生活問(wèn)中,變量之間幾乎不是簡(jiǎn)簡(jiǎn)單單的線性關(guān)系,而是非線性的,使得分析實(shí)際問(wèn)題比較困難.要找出這些變量間的關(guān)系,就需用非線性來(lái)擬合.選擇恰當(dāng)?shù)姆蔷€性擬合模型尤為重要.常見(jiàn)的非線性擬合模型有:冪函數(shù)模型、指數(shù)函數(shù)模型多項(xiàng)式模型等.其中,多項(xiàng)式模型在非線性擬合分析中占有重要的地位.
曲線擬合的最優(yōu)標(biāo)準(zhǔn)是采用常見(jiàn)的最小二乘法原理,所構(gòu)造的函數(shù)p(x)是一個(gè)次數(shù)小于觀測(cè)值個(gè)數(shù)的多項(xiàng)式.即設(shè)測(cè)得n個(gè)離散數(shù)據(jù)點(diǎn)(xi,yi)(i=1,2,3,…,n),構(gòu)造一個(gè)m(m≤n)次多項(xiàng)式p(x):
曲線擬合的評(píng)價(jià)有兩個(gè)因數(shù):一是擬合的多項(xiàng)式在各節(jié)點(diǎn)處的偏差(殘差)J=(p(xi)-yi)2;二是決定系數(shù)r2=1-J/S.對(duì)于較好的擬合來(lái)說(shuō),J的值應(yīng)越接近0,r2的值應(yīng)越接近1.
文章主要討論多項(xiàng)式的非線性擬合,所得到的數(shù)據(jù)是通過(guò)MATLAB語(yǔ)言來(lái)實(shí)現(xiàn)的.
某產(chǎn)品測(cè)得21個(gè)數(shù)據(jù)如下表:
x y x y x y 0 0.1 14 2.022 28 0.4308 2 1.884 16 1.65 30 0.203 4 2.732 18 1.5838 32 0.1652 6 3.388 20 1.35 34 -0.073 8 3.346 22 1.0082 36 -0.002 10 3 24 0.718 38 -0.1122 12 2.644 26 0.689 40 0.106
對(duì)其4至6階多項(xiàng)式的擬合.利用MATLAB程序得到的擬合表達(dá)式如下:
四階:
五階:
六階:
繪圖如圖1所示,并且得到四階至六階殘差J值分別是3.489346710108339,0.987557698632428,0.19017256778587 1.決定系數(shù)r2的值分別是:0.965805850678412, 0.993415281771642,0.993498647389725.
圖1 4至6階多項(xiàng)式的擬合圖
從擬合的圖形和擬合品質(zhì)可以得到,使用越高階的多項(xiàng)式,其J的值越來(lái)越小,r2平方的值越來(lái)越大.也就是說(shuō)階數(shù)越高,可以得到更好的數(shù)據(jù)擬合.但是高階多項(xiàng)式存在兩個(gè)問(wèn)題:數(shù)據(jù)點(diǎn)之間顯現(xiàn)出較大的誤差;需要使用大量的有效數(shù)位來(lái)表示它們的系數(shù).如果減少其有效位數(shù),則可能會(huì)產(chǎn)生較大的誤差,不具有魯棒性.如上例中對(duì)六階的取其八位的小數(shù)數(shù)位,那么產(chǎn)生的多項(xiàng)式是:
繪圖如圖2所示,J和r2的值分別是1.857245941222893,0.935692926976283.顯然,殘差比準(zhǔn)確的系數(shù)要大,決定系數(shù)比準(zhǔn)確的系數(shù)要大,所以擬合效果不好.從圖2也可以看出,當(dāng)x的值很大,這個(gè)多項(xiàng)式偏離數(shù)據(jù)值較遠(yuǎn).擬合效果很差,對(duì)于x>30的值來(lái)說(shuō),幾乎沒(méi)有用處.也就是說(shuō),如果沒(méi)有足夠準(zhǔn)確的找到多項(xiàng)式的系數(shù),多項(xiàng)式就很容易在較大的x值產(chǎn)生較大的誤差.
圖2 8位小數(shù)位精確度的效果
利用MATLAB完成以上功能程序如下:
為了解決高階多項(xiàng)式在回歸中出現(xiàn)的問(wèn)題,采用兩個(gè)或多個(gè)函數(shù)來(lái)進(jìn)行分段擬合數(shù)據(jù).文章中采用兩個(gè)三階多項(xiàng)式進(jìn)行擬合.其區(qū)間在0≤x≤15上用一個(gè)三階多項(xiàng)式進(jìn)行擬合;15≤x≤40上用另外的一個(gè)三階函數(shù)進(jìn)行擬合.這是因?yàn)椋喝A比二階多項(xiàng)式更具有靈活性,并且比高階多項(xiàng)式更不容易受到數(shù)值不確定行的影響.得到回歸的表達(dá)式如下:
繪圖如圖3所示,J和r2的值分別是0.086280739926740,0.993296620892077.與前面的高階多項(xiàng)式回歸比較,后者都有更好的擬合品質(zhì)和效果.
圖3 使用兩個(gè)三階多項(xiàng)式的數(shù)據(jù)擬合
對(duì)上面的式子將系數(shù)取其八位小數(shù)位,利用MATLAB計(jì)算的到J和r2的值分別是0.086280740359406,0.993296620892077.利用MATLAB程序完成以上功能程序如下:
對(duì)于系數(shù)取其八位小數(shù)與精確的系數(shù)進(jìn)行運(yùn)算是的所獲得J和r2結(jié)果保持一致.其擬合圖形也幾乎和準(zhǔn)確系數(shù)兩個(gè)多項(xiàng)式一樣,所以兩個(gè)三階多項(xiàng)式具有魯棒性.利用兩個(gè)或多個(gè)函數(shù)來(lái)擬合數(shù)據(jù),從而解決了一個(gè)高階多項(xiàng)式擬合產(chǎn)生的問(wèn)題.
〔1〕W illiam J.Palm.MATLAB 7面向基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2007.300-320.
〔2〕盛驟,謝式千,潘承毅.概率論與數(shù)理統(tǒng)計(jì)[M].北京:高等教育出版社,2009.292-313.
〔3〕劉衛(wèi)國(guó).MATLAB程序設(shè)計(jì)與應(yīng)用[M].北京:高等教育出版社,2008.148-152.
TP317
A
1673-260X(2014)01-0037-02