蟻群算法優(yōu)化最小二乘支持向量機(jī)的溶解氧預(yù)測方法
【專利摘要】本發(fā)明公開了一種蟻群算法優(yōu)化最小二乘支持向量機(jī)的溶解氧預(yù)測方法,其先對原始溶解氧數(shù)據(jù)序列進(jìn)行預(yù)處理以丟棄或修復(fù)壞點(diǎn)數(shù)據(jù);然后將預(yù)處理后的溶解氧數(shù)據(jù)序列分成訓(xùn)練集和測試集;接著根據(jù)訓(xùn)練集中的所有溶解氧數(shù)據(jù),利用蟻群算法優(yōu)化最小二乘支持向量機(jī)的懲罰因子和核函數(shù)寬度參數(shù),得到各自的最佳優(yōu)化值;最后根據(jù)懲罰因子和核函數(shù)寬度參數(shù)的最佳優(yōu)化值,計算測試集中的每個溶解氧數(shù)據(jù)的預(yù)測值;優(yōu)點(diǎn)是利用蟻群算法優(yōu)化最小二乘支持向量機(jī)的懲罰因子和核函數(shù)寬度參數(shù),并在迭代搜索過程中,對頭蟻的位置進(jìn)行精細(xì)搜索獲得頭蟻的新位置,且保留每只螞蟻搜索過程中的最佳位置,將螞蟻的最佳位置引入搜索過程,提高了溶解氧的預(yù)測精度。
【專利說明】
蟻群算法優(yōu)化最小二乘支持向量機(jī)的溶解氧預(yù)測方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及一種水產(chǎn)品養(yǎng)殖環(huán)境中的溶解氧預(yù)測技術(shù),尤其是涉及一種蟻群算法 優(yōu)化最小二乘支持向量機(jī)的溶解氧預(yù)測方法。
【背景技術(shù)】
[0002] 溶解氧是水產(chǎn)品養(yǎng)殖水體的一項(xiàng)十分重要的水質(zhì)指標(biāo),其對水產(chǎn)品的生長、病害 預(yù)防均有著重要影響,如果不能精確掌握養(yǎng)殖池塘水域的溶解氧的動態(tài)變化趨勢,不能在 養(yǎng)殖水體低氧或者缺氧之前進(jìn)行增氧,則在養(yǎng)殖水體低氧或者缺氧的脅迫環(huán)境中制約著水 產(chǎn)品健康生長,甚至?xí)?dǎo)致水產(chǎn)品病害爆發(fā)致使大面積死亡,從而會給水產(chǎn)品養(yǎng)殖戶造成 巨額損失,會嚴(yán)重影響水產(chǎn)品養(yǎng)殖業(yè)的健康可持續(xù)發(fā)展。
[0003] 傳統(tǒng)的溶解氧預(yù)測方法為神經(jīng)網(wǎng)絡(luò)預(yù)測方法,其假設(shè)樣本無限大,并基于經(jīng)驗(yàn)風(fēng) 險最小化原則,其存在易陷于局部最優(yōu)值、過學(xué)習(xí)、不適于高維數(shù)和小樣本預(yù)測等缺陷。目 前比較有效的溶解氧預(yù)測方法是基于最小二乘支持向量機(jī)(LSSVM)的預(yù)測方法,此方法解 決了傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)預(yù)測方法存在的缺陷,并且能以任意精度逼近任意函數(shù),但是此方法 中最小二乘支持向量機(jī)的核函數(shù)寬度參數(shù)與懲罰因子選定是否合適,嚴(yán)重制約著此方法的 預(yù)測精度和性能,因此如何獲取最優(yōu)的核函數(shù)寬度參數(shù)與懲罰因子是提高溶解氧的預(yù)測精 度的關(guān)鍵,然而目前還沒有有效的方法能夠?qū)ふ业阶钚《酥С窒蛄繖C(jī)的最優(yōu)的核函數(shù)寬 度參數(shù)與懲罰因子。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術(shù)問題是提供一種蟻群算法優(yōu)化最小二乘支持向量機(jī)的溶 解氧預(yù)測方法,其通過尋找到最小二乘支持向量機(jī)的最優(yōu)的核函數(shù)寬度參數(shù)與懲罰因子, 有效地實(shí)現(xiàn)了溶解氧快速、精確的預(yù)測。
[0005] 本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案為:一種蟻群算法優(yōu)化最小二乘支持 向量機(jī)的溶解氧預(yù)測方法,其特征在于包括以下步驟:
[0006] ①在需要預(yù)測溶解氧的水產(chǎn)品養(yǎng)殖水體中布置一個溶解氧傳感器,溶解氧傳感器 實(shí)時等時間間隔連續(xù)采集溶解氧數(shù)據(jù);
[0007] ②將溶解氧傳感器等時間間隔連續(xù)采集的T個溶解氧數(shù)據(jù)按采集時間先后順序排 列構(gòu)成原始溶解氧數(shù)據(jù)序列,記為Y,Y= {yi,y2,···,yt,···,yi·};再對Y進(jìn)行預(yù)處理,以丟棄或 修復(fù)Y中的壞點(diǎn)數(shù)據(jù)而保留Y中的有效數(shù)據(jù),得到預(yù)處理后的溶解氧數(shù)據(jù)序列,記為X,X = {xi,X2,…,Xs,…,Xs};
[0008] 其中,T>Z,Z表示設(shè)定的溶解氧數(shù)據(jù)最小需求量,1 < t<T,yi,y2,…,yt,…,yT對應(yīng) 表示Y中的第1個溶解氧數(shù)據(jù)、第2個溶解氧數(shù)據(jù)、…、第t個溶解氧數(shù)據(jù)、…、第T個溶解氧數(shù) 據(jù),3<1',1< 8<5,^,^,一,^,-_,^對應(yīng)表示乂中的第1個溶解氧數(shù)據(jù)、第2個溶解氧數(shù) 據(jù)、…、第s個溶解氧數(shù)據(jù)、…、第S個溶解氧數(shù)據(jù),壞點(diǎn)數(shù)據(jù)定義為:若Υ中的任一個溶解氧數(shù) 據(jù)大于Υ中的所有溶解氧數(shù)據(jù)的平均值的60 %或者小于Υ中的所有溶解氧數(shù)據(jù)的平均值的 40%,則確定該溶解氧數(shù)據(jù)為壞點(diǎn)數(shù)據(jù);有效數(shù)據(jù)定義為:若Y中的任一個溶解氧數(shù)據(jù)大于 或等于Υ中的所有溶解氧數(shù)據(jù)的平均值的40%且小于或等于Υ中的所有溶解氧數(shù)據(jù)的平均 值的60%,則確定該溶解氧數(shù)據(jù)為有效數(shù)據(jù);
[0009]③判斷S多Ζ是否成立,如果成立,則執(zhí)行步驟④;否則,返回步驟②重新獲取原始 溶解氧數(shù)據(jù)序列,再進(jìn)行預(yù)處理;
[00?0]④選取X中的前ST個溶解氧數(shù)據(jù)構(gòu)成訓(xùn)練集,記為Train,Train= {χι,Χ2,…, xst,…,xst};并將剩余的S-ST個溶解氧數(shù)據(jù)構(gòu)成測試集,記為Test,Test= {xst+i,xst+2,…, xs};其中,S X 60 %彡ST彡S X 80 %,X1,χ2,…,xst,…,xST對應(yīng)表示Train中的第1個溶解氧數(shù) 據(jù)、第2個溶解氧數(shù)據(jù)、…、第st個溶解氧數(shù)據(jù)、…、第ST個溶解氧數(shù)據(jù), X1,χ2,…,Xst,…,XST 亦對應(yīng)表示X中的第1個溶解氧數(shù)據(jù)、第2個溶解氧數(shù)據(jù)、…、第st個溶解氧數(shù)據(jù)、…、第ST個 溶解氧數(shù)據(jù),XST+1,XST+2,…,XS對應(yīng)表示Test中的第1個溶解氧數(shù)據(jù)、第2個溶解氧數(shù)據(jù)、…、 第S-ST個溶解氧數(shù)據(jù), XST+1,XST+2,…,xs亦對應(yīng)表示X中的第ST+1個溶解氧數(shù)據(jù)、第ST+2個溶 解氧數(shù)據(jù)、…、第S個溶解氧數(shù)據(jù);
[0011]⑤根據(jù)Train中的所有溶解氧數(shù)據(jù),利用蟻群算法優(yōu)化最小二乘支持向量機(jī)的懲 罰因子和核函數(shù)寬度參數(shù),得到最小二乘支持向量機(jī)的懲罰因子和核函數(shù)寬度參數(shù)各自的 最佳優(yōu)化值,具體過程為:
[0012]
作為最小二乘支持向量機(jī)的核函 數(shù);然后選擇最小二乘支持向量機(jī)的懲罰因子c和核函數(shù)寬度參數(shù)〇作為優(yōu)化選擇參數(shù);再 將區(qū)間[0, 150]作為懲罰因子的值選擇范圍,將區(qū)間[0.1,10]作為核函數(shù)寬度參數(shù)的值選 擇范圍;其中,k()為徑向基函數(shù)的表示形式,X為最小二乘支持向量機(jī)的核函數(shù)的輸入變 量,D為最小二乘支持向量機(jī)的核函數(shù)中心,expO表示以自然基數(shù)e為底的指數(shù)函數(shù), 〇為最 小二乘支持向量機(jī)的核函數(shù)寬度參數(shù),X、D和σ的值均為實(shí)數(shù);
[0013] (D_2、設(shè)定蟻群算法中所需的螞蟻數(shù)量為Ν;然后從懲罰因子的值選擇范圍中隨機(jī) 選擇N個值分別作為懲罰因子C的值,對應(yīng)記為Cl,C2,…,Cp,…,CN ;并從核函數(shù)寬度參數(shù)的 值選擇范圍中隨機(jī)選擇N個值分別作為核函數(shù)寬度參數(shù)〇的值,對應(yīng)記為,σ2,…,σ ρ,…, σΝ;其中,1〈Ν彡ST,1彡口^^,〇1、〇2、(^和(^對應(yīng)為從懲罰因子的值選擇范圍中隨機(jī)選擇的第1 個值、第2個值、第p個值和第N個值,σ:、σ 2、σρ和σΝ對應(yīng)為從核函數(shù)寬度參數(shù)的值選擇范圍中 隨機(jī)選擇的第1個值、第2個值、第ρ個值和第Ν個值;
[0014] (D_3、獲取蟻群算法第1次搜索時每只螞蟻的位置,將蟻群算法第1次搜索時第ρ只 螞蟻的位置記為乂六 1),1,乂41),1=[(^,01)];其中,[(^,0 1)]表示由第?個懲罰因子(;的值(^和第?個 核函數(shù)寬度參數(shù)σ的值σ Ρ構(gòu)成的第P只螞蟻的初始位置矢量;
[0015] ?_4、確定蟻群算法第1次搜索時的頭蟻及其位置,將蟻群算法第1次搜索時的頭 蟻的位置記為并確定蟻群算法第1次搜索時每只螞蟻的最佳位置,將蟻群算法第1次 搜索時第Ρ只螞蟻的最佳位置記為iftT ;
[0016] Ζ4-和Χ<Γ的獲取過程為:
[0017] al、根據(jù)Train中的所有溶解氧數(shù)據(jù)和蟻群算法第1次搜索時每只螞蟻的位置,獲 取蟻群算法第1次搜索時每只螞蟻對應(yīng)的ST個拉格朗日乘子和偏差,將蟻群算法第1次搜索 時第P只螞蟻對應(yīng)的ST個拉格朗日乘子對應(yīng)記為a1>P,a2,P,…,a ST,P,將蟻群算法第1次搜索 時第P只螞蟻對應(yīng)的偏差記為bp,ai,p,a2,p,…,asT,P和b P是根據(jù)Train中的所有溶解氧數(shù)據(jù)和
[0018] a2、根據(jù)Train中的所有溶解氧數(shù)據(jù)和蟻群算法第1次搜索時每只螞蟻的位置,計 算蟻群算法第1次搜索時每只螞蟻對應(yīng)的Train中的每個溶解氧數(shù)據(jù)的估計值,將蟻群算法 第1次搜索時第P只螞蟻對應(yīng)的T r a i η中的第s t個溶解氧數(shù)據(jù)X s t的估計值記為毛.,.
實(shí)中,a1>P表示蟻群算法第1次搜索時第p只螞蟻對應(yīng)的第 i個拉格朗日乘子;
[0019] a3、計算蟻群算法第1次搜索時每只螞蟻的位置對應(yīng)的預(yù)測誤差,將蟻群算法第1 次搜索時第P只螞蟻的位置對應(yīng)的預(yù)測誤差記為MSE(XA P>1),
[0020] a4、計算蟻群算法第1次搜索時每只螞蟻的信息素,將蟻群算法第1次搜索時第p只 螞蟻的信息素記為τ(ρ,1),T(p,l)=exp(_MSE(XA P,i));
[0021] a5、將蟻群算法第1次搜索時N只螞蟻的信息素按序構(gòu)成一個維數(shù)為1XN的信息素 矩陣,記為1111,111 1=[1(1,1)1(2,1)一1(叱1)];其中^(1,1)表示蟻群算法第1次搜索時第1 只螞蟻的信息素,τ(2,1)表示蟻群算法第1次搜索時第2只螞蟻的信息素,τ(Ν,1)表示蟻群 算法第1次搜索時第Ν只螞蟻的信息素;
[0022] a6、將Im中值最大的信息素對應(yīng)的螞蟻確定為蟻群算法第1次搜索時的頭蟻,將 Im中值最大的信息素對應(yīng)的螞蟻的位置作為蟻群算法第1次搜索時的頭蟻的位置X4產(chǎn);
[0023] a7、確定蟻群算法第1次搜索時第p只螞蟻的最佳位置1<卩為·,
[0024] (D_5、令g表示蟻群算法的搜索次數(shù),并令gmax表示設(shè)定的最大搜索次數(shù);其中,g的 初始值為2,2彡g彡g max,gmax>2;
[0025] (D_6、獲取蟻群算法第g次搜索時每只螞蟻的位置,將蟻群算法第g次搜索時第p只 螞蟻的位置記為XAP,g,= + 0.51x :其中,λ表示啟發(fā)因 子,1^[0,1]4~11表示蟻群算法第8-1次搜索時第?只螞蟻的位置,1^%1表示蟻群算法第 g-Ι次搜索時的頭蟻的位置,^.表示蟻群算法第g-Ι次搜索時第Ρ螞蟻的最佳位置;
[0026] ?_7、確定蟻群算法第g次搜索時的頭蟻及其位置,將蟻群算法第g次搜索時的頭 蟻的位置記為并確定蟻群算法第g次搜索時每只螞蟻的最佳位置,將蟻群算法第g次 搜索時第P只螞蟻的最佳位置記為
[0027] 和的獲取過程為:
[0028] bl、計算蟻群算法第g次搜索時每只螞蟻的信息素,將蟻群算法第g次搜索時第ρ只 螞蟻的信息素記為T(p,g),T(p,g) = (l-p) XT(p,g-l)+T(p,l);其中,p表示信息素?fù)]發(fā)數(shù), pe[0,l],T(P,g-l)表示蟻群算法第g-Ι次搜索時第P只螞蟻的信息素,τ(Ρ,1)表示蟻群算 法第1次搜索時第Ρ只螞蟻的信息素;
[0029] b2、構(gòu)建一個維數(shù)為gXN的信息素矩陣,記為Ing,Ing中的第h行中的Ν個信息素對 應(yīng)為蟻群算法第h次搜索時N只螞蟻的信息素;其中,1 ;
[0030] b3、將Ing中的第ρ列中的g個信息素中值最大的信息素對應(yīng)的螞蟻的位置確定為 蟻群算法第g次搜索時第P只螞蟻的最佳位置;
[0031] b4、將Ing中值最大的信息素對應(yīng)的螞蟻確定為蟻群算法第g次搜索時的頭蟻,將 1?中值最大的信息素對應(yīng)的螞蟻的位置作為蟻群算法第g次搜索時的頭蟻的位置Μ?·,
[0032] b5、對·進(jìn)行精細(xì)搜索,得到蟻群算法第g次搜索時的頭蟻的新位置,記為 = + A X CVwc# (0,1) X ;其中,Cauchy (0,1)為用于產(chǎn)生0 ~1 之間分 布的隨機(jī)數(shù)的函數(shù);
[0033] b6、更新將更新后的位置記為
再令ZJf ;其中,表示蟻群算法第8次搜索時的頭蟻的新位置對應(yīng)的 預(yù)測誤差,表示蟻群算法第g次搜索時的頭蟻的位置對應(yīng)的預(yù)測誤差, = 中的"="為賦值符號;
[0034] ?_8、判斷8〈8111£?是否成立,如果成立,則令g = g+l,然后返回步驟?_6繼續(xù)執(zhí)行; 否則,確定蟻群算法搜索結(jié)束,得到最終的頭蟻的位置,記為XAW,D+=X4g°l,然后將 XA-對應(yīng)的位置矢量[c氣0叫中的C-作為最小二乘支持向量機(jī)的懲罰因子c的最佳優(yōu)化 值,并將XA-對應(yīng)的位置矢量[c°bV°b"中的ο-作為最小二乘支持向量機(jī)的核函數(shù)寬度參 數(shù)σ的最佳優(yōu)化值;其中,g = g+l中的"="為賦值符號,表示蟻群算法第gmax次搜索時 的頭蟻的位置;
[0035] ⑥根據(jù)最小二乘支持向量機(jī)的懲罰因子c的最佳優(yōu)化值和核函數(shù)寬度參數(shù)〇的 最佳優(yōu)化值σ^,計算Test中的每個溶解氧數(shù)據(jù)的預(yù)測值,將Test中的第r個溶解氧數(shù)據(jù)的 ;其中,1彡r彡S-ST,xST+j表示
Te s t中的第j個溶解氧數(shù)據(jù),xsT+i?表示Te s t中的第r個溶解氧數(shù)據(jù),aj表示Tes t對應(yīng)的第j個 拉格朗日乘子,b表示Test對應(yīng)的偏差,ajPb是根據(jù)Test中的所有溶解氧數(shù)據(jù)及和
[0036]所述的步驟①中的溶解氧傳感器采集溶解氧數(shù)據(jù)的時間間隔為1~5分鐘。
[0037]所述的步驟②中的X的獲取過程為:
[0038] (D_l、找出Υ中的所有有效數(shù)據(jù)和所有壞點(diǎn)數(shù)據(jù),并將有效數(shù)據(jù)的標(biāo)記設(shè)為1;
[0039] ?_2、按序?qū)中的每個壞點(diǎn)數(shù)據(jù)進(jìn)行處理,將Y中當(dāng)前待處理的壞點(diǎn)數(shù)據(jù)定義為 當(dāng)前數(shù)據(jù);
[0040] (D_3、如果當(dāng)前數(shù)據(jù)為Y中的第1個溶解氧數(shù)據(jù)或當(dāng)前數(shù)據(jù)為Y中的第T個溶解氧數(shù) 據(jù)或時間上先于當(dāng)前數(shù)據(jù)的所有溶解氧數(shù)據(jù)均為壞點(diǎn)數(shù)據(jù)或時間上后于當(dāng)前數(shù)據(jù)的所有 溶解氧數(shù)據(jù)均為壞點(diǎn)數(shù)據(jù),則將當(dāng)前數(shù)據(jù)的標(biāo)記設(shè)為〇,再執(zhí)行步驟②_4;
[0041] 如果當(dāng)前數(shù)據(jù)不為Y中的第1個溶解氧數(shù)據(jù)且當(dāng)前數(shù)據(jù)不為Y中的第T個溶解氧數(shù) 據(jù)且時間上先于當(dāng)前數(shù)據(jù)的所有溶解氧數(shù)據(jù)不全為壞點(diǎn)數(shù)據(jù)且時間上后于當(dāng)前數(shù)據(jù)的所 有溶解氧數(shù)據(jù)不全為壞點(diǎn)數(shù)據(jù),則對當(dāng)前數(shù)據(jù)進(jìn)行線性插值以修復(fù)當(dāng)前數(shù)據(jù),使當(dāng)前數(shù)據(jù) 轉(zhuǎn)變成有效數(shù)據(jù),假設(shè)當(dāng)前數(shù)據(jù)為Y中的第t '個溶解氧數(shù)據(jù)yv,那么yv經(jīng)線性插值修復(fù)后
,然后將經(jīng)線性插值修復(fù)后的當(dāng)前數(shù)據(jù)的標(biāo)記設(shè)為2,再執(zhí)行步驟 (D_4;其中,八表示時間上先于yt'且與yt'最鄰近的標(biāo)記為1的有效數(shù)據(jù),亦為Y中的第。個 溶解氧數(shù)據(jù),八表示時間上后于yv且與yv最鄰近的標(biāo)記為1的有效數(shù)據(jù),八亦為Y中的第t2 個溶解氧數(shù)據(jù),1彡T,1彡t2彡T,tKt ' <t2;
[0042] ?_4、將Y中下一個待處理的壞點(diǎn)數(shù)據(jù)作為當(dāng)前數(shù)據(jù),然后返回步驟②_3繼續(xù)執(zhí) 行,直至Y中的所有壞點(diǎn)數(shù)據(jù)處理完畢,再執(zhí)行步驟(D_5;
[0043] (D_5、丟棄Y中所有標(biāo)記為0的壞點(diǎn)數(shù)據(jù),而保留其余溶解氧數(shù)據(jù),得到新的溶解氧 數(shù)據(jù)序列,作為預(yù)處理后的溶解氧數(shù)據(jù)序列X。
[0044] 與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:
[0045] 1)本發(fā)明方法利用蟻群算法優(yōu)化最小二乘支持向量機(jī)的懲罰因子和核函數(shù)寬度 參數(shù),提高了最小二乘支持向量機(jī)的懲罰因子和核函數(shù)寬度參數(shù)的精度和泛化性能,從而 提高了溶解氧的預(yù)測精度。
[0046] 2)本發(fā)明方法在蟻群算法的迭代搜索過程中,在通過最大信息素確定頭蟻的位置 后,對頭蟻的位置進(jìn)行精細(xì)搜索,獲得頭蟻的新位置,從而獲得最小二乘支持向量機(jī)的懲罰 因子和核函數(shù)寬度參數(shù)的更優(yōu)解,提高了溶解氧的預(yù)測精度。
[0047] 3)本發(fā)明方法在蟻群算法的迭代搜索過程中,保留每只螞蟻搜索過程中的最佳位 置,并將螞蟻個體的最佳位置引入搜索過程,提高了最小二乘支持向量機(jī)的懲罰因子和核 函數(shù)寬度參數(shù)的精度和泛化性能,從而提高了溶解氧的預(yù)測精度。
【附圖說明】
[0048] 圖1為本發(fā)明方法的總體流程框圖。
【具體實(shí)施方式】
[0049]以下結(jié)合附圖實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)描述。
[0050] 本發(fā)明提出的一種蟻群算法優(yōu)化最小二乘支持向量機(jī)的溶解氧預(yù)測方法,其總體 流程框圖如圖1所示,其包括以下步驟:
[0051] ①在需要預(yù)測溶解氧的水產(chǎn)品養(yǎng)殖水體中布置一個溶解氧傳感器,溶解氧傳感器 實(shí)時等時間間隔連續(xù)采集溶解氧數(shù)據(jù)。
[0052] 在此具體實(shí)施例中,步驟①中的溶解氧傳感器采集溶解氧數(shù)據(jù)的時間間隔可設(shè)為 1~5分鐘,如具體設(shè)為2分鐘。
[0053] ②將溶解氧傳感器等時間間隔連續(xù)采集的T個溶解氧數(shù)據(jù)按采集時間先后順序排 列構(gòu)成原始溶解氧數(shù)據(jù)序列,記為Y,Y= {yi,y2,···,yt,···,yi·};再對Y進(jìn)行預(yù)處理,以丟棄或 修復(fù)Y中的壞點(diǎn)數(shù)據(jù)而保留Y中的有效數(shù)據(jù),得到預(yù)處理后的溶解氧數(shù)據(jù)序列,記為X,X = {χ?,Χ2,…,Xs,…,xs} 〇
[0054] 其中,T>Z,Z表示設(shè)定的溶解氧數(shù)據(jù)最小需求量,Z的值一般可選定為600個,1 < t ,yi,y2,…,yt,…,yT對應(yīng)表示Y中的第1個溶解氧數(shù)據(jù)、第2個溶解氧數(shù)據(jù)、…、第t個溶解 氧數(shù)據(jù)、…、第T個溶解氧數(shù)據(jù),S<T,1 <s$S,X1,X2,…,Xs,…,xs對應(yīng)表示X中的第1個溶解 氧數(shù)據(jù)、第2個溶解氧數(shù)據(jù)、…、第s個溶解氧數(shù)據(jù)、…、第S個溶解氧數(shù)據(jù),壞點(diǎn)數(shù)據(jù)定義為: 若Y中的任一個溶解氧數(shù)據(jù)大于Y中的所有溶解氧數(shù)據(jù)的平均值的60%或者小于Y中的所有 溶解氧數(shù)據(jù)的平均值的40%,則確定該溶解氧數(shù)據(jù)為壞點(diǎn)數(shù)據(jù);有效數(shù)據(jù)定義為:若Y中的 任一個溶解氧數(shù)據(jù)大于或等于Y中的所有溶解氧數(shù)據(jù)的平均值的40%且小于或等于Y中的 所有溶解氧數(shù)據(jù)的平均值的60%,則確定該溶解氧數(shù)據(jù)為有效數(shù)據(jù)。
[0055] 在此具體實(shí)施例中,步驟②中的X的獲取過程為:
[0056] (D_l、找出Y中的所有有效數(shù)據(jù)和所有壞點(diǎn)數(shù)據(jù),并將有效數(shù)據(jù)的標(biāo)記設(shè)為1。
[0057] ?_2、按序?qū)中的每個壞點(diǎn)數(shù)據(jù)進(jìn)行處理,將Y中當(dāng)前待處理的壞點(diǎn)數(shù)據(jù)定義為 當(dāng)前數(shù)據(jù)。
[0058] (D_3、如果當(dāng)前數(shù)據(jù)為Υ中的第1個溶解氧數(shù)據(jù)或當(dāng)前數(shù)據(jù)為Υ中的第Τ個溶解氧數(shù) 據(jù)或時間上先于當(dāng)前數(shù)據(jù)的所有溶解氧數(shù)據(jù)均為壞點(diǎn)數(shù)據(jù)或時間上后于當(dāng)前數(shù)據(jù)的所有 溶解氧數(shù)據(jù)均為壞點(diǎn)數(shù)據(jù),則將當(dāng)前數(shù)據(jù)的標(biāo)記設(shè)為〇,再執(zhí)行步驟②_4。
[0059] 如果當(dāng)前數(shù)據(jù)不為Y中的第1個溶解氧數(shù)據(jù)且當(dāng)前數(shù)據(jù)不為Y中的第T個溶解氧數(shù) 據(jù)且時間上先于當(dāng)前數(shù)據(jù)的所有溶解氧數(shù)據(jù)不全為壞點(diǎn)數(shù)據(jù)且時間上后于當(dāng)前數(shù)據(jù)的所 有溶解氧數(shù)據(jù)不全為壞點(diǎn)數(shù)據(jù),則對當(dāng)前數(shù)據(jù)進(jìn)行線性插值以修復(fù)當(dāng)前數(shù)據(jù),使當(dāng)前數(shù)據(jù) 轉(zhuǎn)變成有效數(shù)據(jù),假設(shè)當(dāng)前數(shù)據(jù)為Y中的第t '個溶解氧數(shù)據(jù)yv,那么yv經(jīng)線性插值修復(fù)后
,然后將經(jīng)線性插值修復(fù)后的當(dāng)前數(shù)據(jù)的標(biāo)記設(shè)為2,再執(zhí)行步驟 (D_4;其中,八表示時間上先于yt'且與yt'最鄰近的標(biāo)記為1的有效數(shù)據(jù),λ,亦為Y中的第七個 溶解氧數(shù)據(jù),八表示時間上后于yt'且與yt'最鄰近的標(biāo)記為1的有效數(shù)據(jù),八亦為Υ中的第t 2 個溶解氧數(shù)據(jù),1彡乜彡T,1彡t2彡T,tKt ' <t2。
[0060] ?_4、將Y中下一個待處理的壞點(diǎn)數(shù)據(jù)作為當(dāng)前數(shù)據(jù),然后返回步驟②_3繼續(xù)執(zhí) 行,直至Y中的所有壞點(diǎn)數(shù)據(jù)處理完畢,再執(zhí)行步驟(D_5。
[0061] (D_5、丟棄Y中所有標(biāo)記為0的壞點(diǎn)數(shù)據(jù),而保留其余溶解氧數(shù)據(jù),得到新的溶解氧 數(shù)據(jù)序列,作為預(yù)處理后的溶解氧數(shù)據(jù)序列X。
[0062]③判斷S多Z是否成立,如果成立,則執(zhí)行步驟④;否則,返回步驟②重新獲取原始 溶解氧數(shù)據(jù)序列,再進(jìn)行預(yù)處理。
[0063]④選取X中的前ST個溶解氧數(shù)據(jù)構(gòu)成訓(xùn)練集,記為Train,Train= {χι,Χ2,…, xst,…,xst};并將剩余的S-ST個溶解氧數(shù)據(jù)構(gòu)成測試集,記為Test,Test= {xst+i,xst+2,…, xs};其中,S X 60 %彡ST彡S X 80 %,如具體實(shí)施時取ST = S X 70 %,X1,χ2,…,xst,…,xST對應(yīng) 表示Train中的第1個溶解氧數(shù)據(jù)、第2個溶解氧數(shù)據(jù)、…、第st個溶解氧數(shù)據(jù)、…、第ST個溶 解氧數(shù)據(jù), X1,X2,…,xst,…,xst亦對應(yīng)表示X中的第1個溶解氧數(shù)據(jù)、第2個溶解氧數(shù)據(jù)、…、 第st個溶解氧數(shù)據(jù)、…、第ST個溶解氧數(shù)據(jù),XST+1,XST+2,…,xs對應(yīng)表示Test中的第1個溶解 氧數(shù)據(jù)、第2個溶解氧數(shù)據(jù)、…、第S-ST個溶解氧數(shù)據(jù), XST+1,XST+2,…,xs亦對應(yīng)表示X中的第 ST+1個溶解氧數(shù)據(jù)、第ST+2個溶解氧數(shù)據(jù)、…、第S個溶解氧數(shù)據(jù)。
[0064]⑤根據(jù)Train中的所有溶解氧數(shù)據(jù),利用蟻群算法優(yōu)化最小二乘支持向量機(jī)的懲 罰因子和核函數(shù)寬度參數(shù),得到最小二乘支持向量機(jī)的懲罰因子和核函數(shù)寬度參數(shù)各自的 最佳優(yōu)化值,具體過程為:
[0065]
作為最小二乘支持向量機(jī)的核函 數(shù);然后選擇最小二乘支持向量機(jī)的懲罰因子c和核函數(shù)寬度參數(shù)〇作為優(yōu)化選擇參數(shù);再 將區(qū)間[0, 150]作為懲罰因子的值選擇范圍,將區(qū)間[0.1,10]作為核函數(shù)寬度參數(shù)的值選 擇范圍;其中,k()為徑向基函數(shù)的表示形式,X為最小二乘支持向量機(jī)的核函數(shù)的輸入變 量,D為最小二乘支持向量機(jī)的核函數(shù)中心,expO表示以自然基數(shù)e為底的指數(shù)函數(shù), 〇為最 小二乘支持向量機(jī)的核函數(shù)寬度參數(shù),X、D和σ的值均為實(shí)數(shù)。
[0066] (D_2、設(shè)定蟻群算法中所需的螞蟻數(shù)量為N;然后從懲罰因子的值選擇范圍中隨機(jī) 選擇N個值分別作為懲罰因子C的值,對應(yīng)記為Cl,C2,…,Cp,…,CN ;并從核函數(shù)寬度參數(shù)的 值選擇范圍中隨機(jī)選擇N個值分別作為核函數(shù)寬度參數(shù)〇的值,對應(yīng)記為,σ2,…,σ ρ,…, σΝ;其中,1〈Ν彡ST,1彡口^^,〇1、〇2、(^和(^對應(yīng)為從懲罰因子的值選擇范圍中隨機(jī)選擇的第1 個值、第2個值、第p個值和第N個值,ο:、σ 2、σρ和σΝ對應(yīng)為從核函數(shù)寬度參數(shù)的值選擇范圍中 隨機(jī)選擇的第1個值、第2個值、第ρ個值和第Ν個值。
[0067] (D_3、獲取蟻群算法第1次搜索時每只螞蟻的位置,將蟻群算法第1次搜索時第ρ只 螞蟻的位置記為乂六 1),1,乂41),1=[(^,01)];其中,[(^,0 1)]表示由第?個懲罰因子(;的值(^和第?個 核函數(shù)寬度參數(shù)σ的值σ Ρ構(gòu)成的第P只螞蟻的初始位置矢量。
[0068] ?_4、確定蟻群算法第1次搜索時的頭蟻及其位置,將蟻群算法第1次搜索時的頭 蟻的位置記為尤并確定蟻群算法第1次搜索時每只螞蟻的最佳位置,將蟻群算法第1次 搜索時第Ρ只螞蟻的最佳位置記為。
[0069] 和的獲取過程為:
[0070] al、根據(jù)Train中的所有溶解氧數(shù)據(jù)和蟻群算法第1次搜索時每只螞蟻的位置,獲 取蟻群算法第1次搜索時每只螞蟻對應(yīng)的ST個拉格朗日乘子和偏差,將蟻群算法第1次搜索 時第P只螞蟻對應(yīng)的ST個拉格朗日乘子對應(yīng)記為a 1>P,a2,P,…,aST,P,將蟻群算法第1次搜索 時第P只螞蟻對應(yīng)的偏差記為bp,ai, p,a2,p,…,asT,p和bp是根據(jù)Train中的所有溶解氧數(shù)據(jù)和
[0071] a2、根據(jù)Train中的所有溶解氧數(shù)據(jù)和蟻群算法第1次搜索時每只螞蟻的位置,計 算蟻群算法第1次搜索時每只螞蟻對應(yīng)的Train中的每個溶解氧數(shù)據(jù)的估計值,將蟻群算法 第1次搜索時第P只螞蟻對應(yīng)的Train中的第st個溶解氧數(shù)據(jù)Xst的估計值記為毛,
;其中,a1>P表示蟻群算法第1次搜索時第p只螞蟻對應(yīng)的第 i個拉格朗日乘子。
[0072] a3、選擇均方根誤差作為預(yù)測精度衡量標(biāo)準(zhǔn),計算蟻群算法第1次搜索時每只螞蟻 的位置對應(yīng)的預(yù)測誤差,將蟻群算法第1次搜索時第P只螞蟻的位置對應(yīng)的預(yù)測誤差記為
[0073] a4、計算蟻群算法第1次搜索時每只螞蟻的信息素,將蟻群算法第1次搜索時第p只 螞蟻的信息素記為τ(ρ,1),T(p,l)=exp(_MSE(XA P,i))。
[0074] a5、將蟻群算法第1次搜索時N只螞蟻的信息素按序構(gòu)成一個維數(shù)為1XN的信息素 矩陣,記為1111,111 1=[1(1,1)1(2,1)一1(叱1)];其中^(1,1)表示蟻群算法第1次搜索時第1 只螞蟻的信息素,τ(2,1)表示蟻群算法第1次搜索時第2只螞蟻的信息素,τ(Ν,1)表示蟻群 算法第1次搜索時第Ν只螞蟻的信息素。
[0075] a6、將Im中值最大的信息素對應(yīng)的螞蟻確定為蟻群算法第1次搜索時的頭蟻,將 Im中值最大的信息素對應(yīng)的螞蟻的位置作為蟻群算法第1次搜索時的頭蟻的位置:
[0076] a7、確定蟻群算法第1次搜索時第p只螞蟻的最佳位置Χ4?:Γ為= 。
[0077] (D_5、令g表示蟻群算法的搜索次數(shù),并令gmax表示設(shè)定的最大搜索次數(shù);其中,g的 初始值為2,2彡g彡gmax,gmax>2,在本實(shí)施例中取gmax=100。
[0078] (D_6、獲取蟻群算法第g次搜索時每只螞蟻的位置,將蟻群算法第g次搜索時第p只 螞蟻的位置記為XAP,g,J^^=^ax:沿^, + (1-1)尤^十0.5心尤4^1:;其中,λ表示啟發(fā)因 子,λε[0,1],在本實(shí)施例中取A = 〇.4,XAP>irl表示蟻群算法第g-Ι次搜索時第ρ只螞蟻的位 置,;0?表示蟻群算法第g-Ι次搜索時的頭蟻的位置,表示蟻群算法第次搜索時 第P螞蟻的最佳位置。
[0079] ?_7、確定蟻群算法第g次搜索時的頭蟻及其位置,將蟻群算法第g次搜索時的頭 蟻的位置記為并確定蟻群算法第g次搜索時每只螞蟻的最佳位置,將蟻群算法第g次 搜索時第P只螞蟻的最佳位置記為力。
[0080] 和尤4=的獲取過程為:
[0081] bl、計算蟻群算法第g次搜索時每只螞蟻的信息素,將蟻群算法第g次搜索時第p只 螞蟻的信息素記為T(p,g),T(p,g) = (l-p) XT(p,g-l)+T(p,l);其中,p表示信息素?fù)]發(fā)數(shù), pe[0,l],在本實(shí)施例中取p = 〇.6,T(p,g_l)表示蟻群算法第g-Ι次搜索時第p只螞蟻的信 息素,τ(Ρ,1)表示蟻群算法第1次搜索時第P只螞蟻的信息素。
[0082] b2、構(gòu)建一個維數(shù)為gXN的信息素矩陣,記為Ing,Ing中的第h行中的Ν個信息素對 應(yīng)為蟻群算法第h次搜索時N只螞蟻的信息素;其中,l<h<g。
[0083] b3、將Ing中的第p列中的g個信息素中值最大的信息素對應(yīng)的螞蟻的位置確定為 蟻群算法第g次搜索時第P只螞蟻的最佳位置。
[0084] b4、將Ing中值最大的信息素對應(yīng)的螞蟻確定為蟻群算法第g次搜索時的頭蟻,將 1?中值最大的信息素對應(yīng)的螞蟻的位置作為蟻群算法第g次搜索時的頭蟻的位置
[0085] b5、對進(jìn)行精細(xì)搜索,得到蟻群算法第g次搜索時的頭蟻的新位置,記為 ,X沿f + i X Owe# (0,1) X ;其中,Cauchy (0,1)為用于產(chǎn)生0 ~1 之間分 布的隨機(jī)數(shù)的函數(shù)。
[0086] b6、更新Uf,將更新后的位置記為
再令=GX4f ;其中,;)表示蟻群算法第g次搜索時的頭蟻的新位置對應(yīng)的 預(yù)測誤差,表示蟻群算法第g次搜索時的頭蟻的位置對應(yīng)的預(yù)測誤差, = 中的"="為賦值符號。
[0087] 在此,(AX4f )的獲取過程為:
[0088] cl、根據(jù)Train中的所有溶解氧數(shù)據(jù)和蟻群算法第g次搜索時的頭蟻的新位置,獲取 蟻群算法第g次搜索時的頭蟻對應(yīng)的ST個拉格朗日乘子和偏差,對應(yīng)記為…,嘗,將 蟻群算法第g次搜索時的頭蟻對應(yīng)的偏差記為13'°^廣,《,,一,《嘗和13'%是根據(jù)1'^^11中的
[0089] c2、根據(jù)Train中的所有溶解氧數(shù)據(jù)和蟻群算法第g次搜索時的頭蟻的新位置,計 算蟻群算法第g次搜索時的頭蟻對應(yīng)的Train中的每個溶解氧數(shù)據(jù)的估計值,將蟻群算法第 g次搜索時的頭蟻對應(yīng)的T r a i η中的第s t個溶解氧數(shù)據(jù)X s t的估計值記為九,
其中,表示蟻群算法第g次搜索時的頭蟻對應(yīng)的第i 個拉格朗日乘子。
[0090] C3、計算蟻群算法第g次搜索時的頭蟻的新位置對應(yīng)的預(yù)測誤差;),
[0091] 在此,)的獲取過程為:
[0092] dl、根據(jù)Train中的所有溶解氧數(shù)據(jù)和蟻群算法第g次搜索時的頭蟻的位置,獲取蟻 群算法第g次搜索時的頭蟻對應(yīng)的ST個拉格朗日乘子和偏差,對應(yīng)記為···,?貨,將蟻 群算法第g次搜索時的頭蟻對應(yīng)的偏差記為b~,af',···,^貨和b~是根據(jù)Train中的所有
[0093] d2、根據(jù)Train中的所有溶解氧數(shù)據(jù)和蟻群算法第g次搜索時的頭蟻的位置,計算 蟻群算法第g次搜索時的頭蟻對應(yīng)的Train中的每個溶解氧數(shù)據(jù)的估計值,將蟻群算法第g 次搜索時的頭蟻對應(yīng)的T r a i η中的第s t個溶解氧數(shù)據(jù)X s t的估計值記為元,,
;其中,表示蟻群算法第g次搜索時的頭蟻對應(yīng)的第i 個拉格朗日乘子。
[0094] d3、計算蟻群算法第g次搜索時的頭蟻的位置對應(yīng)的預(yù)測誤差MS'£fA〔4f j,
[0095] ?_8、判斷g〈gmax是否成立,如果成立,則令g = g+l,然后返回步驟?_6繼續(xù)執(zhí)行; 否則,確定蟻群算法搜索結(jié)束,得到最終的頭蟻的位置,記為然后將 XA-對應(yīng)的位置矢量[c氣σ°,中的作為最小二乘支持向量機(jī)的懲罰因子c的最佳優(yōu)化 值,并將XA-對應(yīng)的位置矢量[c°bV°,中的作為最小二乘支持向量機(jī)的核函數(shù)寬度參 數(shù)σ的最佳優(yōu)化值;其中,g = g+l中的"="為賦值符號,表示蟻群算法第gmax次搜索時 的頭蟻的位置。
[0096] ⑥根據(jù)最小二乘支持向量機(jī)的懲罰因子c的最佳優(yōu)化值和核函數(shù)寬度參數(shù)〇的 最佳優(yōu)化值σ^,計算Test中的每個溶解氧數(shù)據(jù)的預(yù)測值,將Test中的第r個溶解氧數(shù)據(jù)的
;其中,1彡r彡S-ST,xST+j表示 Te s t中的第j個溶解氧數(shù)據(jù),xsT+i?表示Te s t中的第r個溶解氧數(shù)據(jù),aj表示Tes t對應(yīng)的第j個 拉格朗日乘子,b表示Test對應(yīng)的偏差,ajPb是根據(jù)Test中的所有溶解氧數(shù)據(jù)及c°W和
[0097] 為了驗(yàn)證本發(fā)明方法的可行性和有效性,對本發(fā)明方法進(jìn)行試驗(yàn)。
[0098]在某南美白對蝦養(yǎng)殖池塘,于2015年9月12日、13日兩天,將溶解氧傳感器采集的 所有溶解氧數(shù)據(jù)構(gòu)成原始溶解氧數(shù)據(jù)序列;對原始溶解氧數(shù)據(jù)序列進(jìn)行預(yù)處理,得到預(yù)處 理后的溶解氧數(shù)據(jù)序列,預(yù)處理后的溶解氧數(shù)據(jù)序列包含1400個溶解氧數(shù)據(jù);預(yù)處理后的 溶解氧數(shù)據(jù)序列中的前980(1400X70% =980)個溶解氧數(shù)據(jù)構(gòu)成訓(xùn)練集,預(yù)處理后的溶解 氧數(shù)據(jù)序列中剩余的420 (1400 X 30 % = 420)個溶解氧數(shù)據(jù)構(gòu)成測試集;設(shè)Ν= 120,gmax = 100,λ = 0.4,Ρ = 0.6,根據(jù)訓(xùn)練集中的980個溶解氧數(shù)據(jù),利用蟻群算法優(yōu)化最小二乘支持 向量機(jī)的懲罰因子和核函數(shù)寬度參數(shù),得到最小二乘支持向量機(jī)的懲罰因子的最佳優(yōu)化值 為61和核函數(shù)寬度參數(shù)的最佳優(yōu)化值為1.22;根據(jù)最小二乘支持向量機(jī)的懲罰因子c的最 佳優(yōu)化值61和核函數(shù)寬度參數(shù) 〇的最佳優(yōu)化值1.22,計算測試集中的每個溶解氧數(shù)據(jù)的預(yù) 測值。
[0099]采用均方根誤差(RMSE)和平均誤差(ΜΑΡΕ)作為溶解氧數(shù)據(jù)的預(yù)測值的誤差標(biāo)準(zhǔn),
理后的溶解氧數(shù)據(jù)序列中的第980+j個溶解氧數(shù)據(jù),即為測試集中的第j個溶解氧數(shù)據(jù), 表示預(yù)處理后的溶解氧數(shù)據(jù)序列中的第980+j個溶解氧數(shù)據(jù)的預(yù)測值,即為測試集中 的第j個溶解氧數(shù)據(jù)的預(yù)測值,符號" I I"為取絕對值符號。
[0100] 為驗(yàn)證本發(fā)明方法的有效性,分別采用BP神經(jīng)網(wǎng)絡(luò)的溶解氧預(yù)測方法、傳統(tǒng)蟻群 算法優(yōu)化最小二乘支持向量機(jī)的溶解氧預(yù)測方法(AC0-LSSVM)和本發(fā)明方法(CAC0-LSSVM) 對上述的原始溶解氧數(shù)據(jù)序列進(jìn)行處理,溶解氧數(shù)據(jù)的預(yù)測值的誤差標(biāo)準(zhǔn)如表1所列。
[0101] 表1采用不同的溶解氧預(yù)測方法,得到的溶解氧數(shù)據(jù)的預(yù)測值的誤差標(biāo)準(zhǔn)
[0103]從表1中可知,本發(fā)明方法的均方根誤差(RMSE)和平均誤差(MAPE)均低于現(xiàn)有的 兩種溶解氧預(yù)測方法,說明采用本發(fā)明方法預(yù)測得到的溶解氧數(shù)據(jù)的預(yù)測值的精度更高, 足以說明本發(fā)明方法是有效的。
【主權(quán)項(xiàng)】
1. 一種蟻群算法優(yōu)化最小二乘支持向量機(jī)的溶解氧預(yù)測方法,其特征在于包括W下步 驟: ① 在需要預(yù)測溶解氧的水產(chǎn)品養(yǎng)殖水體中布置一個溶解氧傳感器,溶解氧傳感器實(shí)時 等時間間隔連續(xù)采集溶解氧數(shù)據(jù); ② 將溶解氧傳感器等時間間隔連續(xù)采集的T個溶解氧數(shù)據(jù)按采集時間先后順序排列構(gòu) 成原始溶解氧數(shù)據(jù)序列,記為¥八=^1,72,-',7*,-',7了};再對¥進(jìn)行預(yù)處理,^丟棄或修復(fù) Y中的壞點(diǎn)數(shù)據(jù)而保留Y中的有效數(shù)據(jù),得到預(yù)處理后的溶解氧數(shù)據(jù)序列,記為X,X= {XI, X2,··· ,Xs,··· ,Xs}; 其中,Τ〉Ζ,Ζ表示設(shè)定的溶解氧數(shù)據(jù)最小需求量,l《t《T,yi,y2,…,yt,-',yT對應(yīng)表示Υ 中的第1個溶解氧數(shù)據(jù)、第2個溶解氧數(shù)據(jù)、…、第t個溶解氧數(shù)據(jù)、…、第Τ個溶解氧數(shù)據(jù),S《 T,1《s《S,XI,X2,…,xs,…,XS對應(yīng)表示X中的第1個溶解氧數(shù)據(jù)、第2個溶解氧數(shù)據(jù)、…、第S 個溶解氧數(shù)據(jù)、…、第S個溶解氧數(shù)據(jù),壞點(diǎn)數(shù)據(jù)定義為:若Y中的任一個溶解氧數(shù)據(jù)大于Y中 的所有溶解氧數(shù)據(jù)的平均值的60%或者小于Y中的所有溶解氧數(shù)據(jù)的平均值的40%,則確 定該溶解氧數(shù)據(jù)為壞點(diǎn)數(shù)據(jù);有效數(shù)據(jù)定義為:若Y中的任一個溶解氧數(shù)據(jù)大于或等于Y中 的所有溶解氧數(shù)據(jù)的平均值的40%且小于或等于Y中的所有溶解氧數(shù)據(jù)的平均值的60%, 則確定該溶解氧數(shù)據(jù)為有效數(shù)據(jù); ③ 判斷S>Z是否成立,如果成立,則執(zhí)行步驟④;否則,返回步驟②重新獲取原始溶解 氧數(shù)據(jù)序列,再進(jìn)行預(yù)處理; @選取乂中的前51'個溶解氧數(shù)據(jù)構(gòu)成訓(xùn)練集,記為時曰;[]1,時曰;[]1={>1,義2,'''心1;,···, xst};并將剩余的S-ST個溶解氧數(shù)據(jù)構(gòu)成測試集,記為Test,Test= {xsT+1,xsT+2,…,xs};其 中,SX60%《ST《SX80%,xl,X2,···,Xst,···,xsτ對應(yīng)表示Train中的第l個溶解氧數(shù)據(jù)、第2 個溶解氧數(shù)據(jù)、…、第St個溶解氧數(shù)據(jù)、…、第ST個溶解氧數(shù)據(jù),XI,X2,…,Xst,…,XST亦對應(yīng) 表示X中的第1個溶解氧數(shù)據(jù)、第2個溶解氧數(shù)據(jù)、…、第St個溶解氧數(shù)據(jù)、…、第ST個溶解氧 數(shù)據(jù),XST+1,XST+2,…,X擁應(yīng)表示TeSt中的第1個溶解氧數(shù)據(jù)、第2個溶解氧數(shù)據(jù)、…、第S-ST 個溶解氧數(shù)據(jù),XST+1,XST+2,…,XS亦對應(yīng)表示X中的第ST+1個溶解氧數(shù)據(jù)、第ST+2個溶解氧數(shù) 據(jù)、…、第S個溶解氧數(shù)據(jù); ⑤根據(jù)Train中的所有溶解氧數(shù)據(jù),利用蟻群算法優(yōu)化最小二乘支持向量機(jī)的懲罰因 子和核函數(shù)寬度參數(shù),得到最小二乘支持向量機(jī)的懲罰因子和核函數(shù)寬度參數(shù)各自的最佳 優(yōu)化值,具體過程為: (D_l、選擇徑向基函數(shù)作為最小二乘支持向量機(jī)的核函數(shù);然 后選擇最小二乘支持向量機(jī)的懲罰因子C和核函數(shù)寬度參數(shù)0作為優(yōu)化選擇參數(shù);再將區(qū)間 [0,150]作為懲罰因子的值選擇范圍,將區(qū)間[0.1,10]作為核函數(shù)寬度參數(shù)的值選擇范圍; 其中,k()為徑向基函數(shù)的表示形式,X為最小二乘支持向量機(jī)的核函數(shù)的輸入變量,D為最 小二乘支持向量機(jī)的核函數(shù)中屯、,exp0表示W(wǎng)自然基數(shù)e為底的指數(shù)函數(shù),σ為最小二乘支 持向量機(jī)的核函數(shù)寬度參數(shù),X、D和σ的值均為實(shí)數(shù); @_2、設(shè)定蟻群算法中所需的媽蟻數(shù)量為Ν;然后從懲罰因子的值選擇范圍中隨機(jī)選擇 Ν個值分別作為懲罰因子C的值,對應(yīng)記為C1,C2,…,Cp,…,CN ;并從核函數(shù)寬度參數(shù)的值選 擇范圍中隨機(jī)選擇N個值分別作為核函數(shù)寬度參數(shù)σ的值,對應(yīng)記為σι,〇2,…,Op,…,ON;其 中,l<N《ST,l《p《N,cl、C2、Cp和CN對應(yīng)為從懲罰因子的值選擇范圍中隨機(jī)選擇的第l個 值、第2個值、第P個值和第N個值,〇i、〇2、〇p和〇N對應(yīng)為從核函數(shù)寬度參數(shù)的值選擇范圍中隨 機(jī)選擇的第1個值、第2個值、第P個值和第N個值; @_3、獲取蟻群算法第1次捜索時每只媽蟻的位置,將蟻群算法第1次捜索時第P只媽蟻 的位置記為ΧΑρ, 1,XAp, 1= kp,Op];其中,kp,Op]表示由第P個懲罰因子C的值Cp和第P個核函 數(shù)寬度參數(shù)σ的值Op構(gòu)成的第P只媽蟻的初始位置矢量; @_4、確定蟻群算法第1次捜索時的頭蟻及其位置,將蟻群算法第1次捜索時的頭蟻的 位置記為龍并確定蟻群算法第1次捜索時每只媽蟻的最佳位置,將蟻群算法第1次捜索 時第P只媽蟻的最佳位置記為沿; 乂的獲取過程為: al、根據(jù)化ain中的所有溶解氧數(shù)據(jù)和蟻群算法第1次捜索時每只媽蟻的位置,獲取蟻 群算法第1次捜索時每只媽蟻對應(yīng)的ST個拉格朗日乘子和偏差,將蟻群算法第1次捜索時第 P只媽蟻對應(yīng)的ST個拉格朗日乘子對應(yīng)記為ai,p,a2,p,…,asT,p,將蟻群算法第1次捜索時第P 只媽蟻對應(yīng)的偏差記為bp,ai,p ,a2,p,…,asT,p和bp是根據(jù)Train中的所有溶解氧數(shù)據(jù)和ΧΑρ,ι,a2、根據(jù)化ain中的所有溶解氧數(shù)據(jù)和蟻群算法第1次捜索時每只媽蟻的位置,計算蟻 群算法第1次捜索時每只媽蟻對應(yīng)的化ain中的每個溶解氧數(shù)據(jù)的估計值,將蟻群算法第1 次捜索時第P只媽蟻對應(yīng)的Train中的第St個溶解氧數(shù)據(jù)xst的估計值記為%,;其中,ai,p表示蟻群算法第1次捜索時第P只媽蟻對應(yīng)的第 i個拉格朗日乘子; a3、計算蟻群算法第1次捜索時每只媽蟻的位置對應(yīng)的預(yù)測誤差,將蟻群算法第1次捜 索時第P只媽蟻的位置對應(yīng)的預(yù)測誤差記為MSE(XAp,i)a4、計算蟻群算法第1次捜索時每只媽蟻的信息素,將蟻群算法第1次捜索時第P只媽蟻 的信息素記為τ(ρ,1),T(P,l)=exp(-MSE(XAp,i)); a5、將蟻群算法第1次捜索時N只媽蟻的信息素按序構(gòu)成一個維數(shù)為IXN的信息素矩 陣,記為Ιηι,Ιηι=[τ(1,1) τ(2,1)…τ(Ν,1)];其中,τ(1,1)表示蟻群算法第1次捜索時第 1只媽蟻的信息素,τ(2,1)表示蟻群算法第1次捜索時第2只媽蟻的信息素,τ(Ν,1)表示蟻群 算法第1次捜索時第Ν只媽蟻的信息素; a6、將Im中值最大的信息素對應(yīng)的媽蟻確定為蟻群算法第1次捜索時的頭蟻,將Im中 值最大的信息素對應(yīng)的媽蟻的位置作為蟻群算法第1次捜索時的頭蟻的位置 a7、確定蟻群算法第1次捜索時第P只媽蟻的最佳位置為; @_5、令g表示蟻群算法的捜索次數(shù),并令gmax表示設(shè)定的最大捜索次數(shù);其中,g的初始 值為2,2《g《gmax ,抑ax〉2 ; @_6、獲取蟻群算法第g次捜索時每只媽蟻的位置,將蟻群算法第g次捜索時第p只媽蟻 的位置記為XAp,g,義心g=0.52χ義4p.g_l+(l-iμ?"?+0.5スχ義(6:_l;其中,人表示啟發(fā)因子,入 £[0,1],乂4。,8-1表示蟻群算法第曰-1次捜索時第9只媽蟻的位置,^半&,表示蟻群算法第邑-1 次捜索時的頭蟻的位置,舍1表示蟻群算法第g-1次捜索時第P媽蟻的最佳位置; @_7、確定蟻群算法第g次捜索時的頭蟻及其位置,將蟻群算法第g次捜索時的頭蟻的 位置記為并確定蟻群算法第g次捜索時每只媽蟻的最佳位置,將蟻群算法第g次捜索 時第P只媽蟻的最佳位置記為; 和的獲取過程為: bl、計算蟻群算法第g次捜索時每只媽蟻的信息素,將蟻群算法第g次捜索時第P只媽蟻 的信息素記為T(P,g),T(P,g) = (l-p) XT(P,g-l)h(P,l);其中,P表示信息素?fù)]發(fā)數(shù),pe [0,1],1(9,肖-1)表示蟻群算法第肖-1次捜索時第9只媽蟻的信息素,1(9,1)表示蟻群算法第 1次捜索時第P只媽蟻的信息素; b2、構(gòu)建一個維數(shù)為gXN的信息素矩陣,記為Ing,Ing中的第h行中的N個信息素對應(yīng)為 蟻群算法第h次捜索時N只媽蟻的信息素;其中,l《h《g; b3、將Ing中的第P列中的g個信息素中值最大的信息素對應(yīng)的媽蟻的位置確定為蟻群算 法第g次捜索時第P只媽蟻的最佳位置; b4、將Ing中值最大的信息素對應(yīng)的媽蟻確定為蟻群算法第g次捜索時的頭蟻,將Ing中 值最大的信息素對應(yīng)的媽蟻的位置作為蟻群算法第g次捜索時的頭蟻的位置為f; b5、對進(jìn)行精細(xì)捜索,得到蟻群算法第g次捜索時的頭蟻的新位置,記為 乂\'/if = 乂+乂χΓ""Φ'(〇,!)χ 乂<";其中,CauchWO,1)為用于產(chǎn)生0~1之間分布的隨 機(jī)數(shù)的函數(shù); b6、更新乂,將更新后的位置記為(再令=GX4f ;其中,;)表示蟻群算法第g次捜索時的頭蟻的新位置對應(yīng)的 預(yù)測誤差,表示蟻群算法第g次捜索時的頭蟻的位置對應(yīng)的預(yù)測誤差, = GOf中的"="為賦值符號; @_8、判斷g<gmax是否成立,如果成立,則令g = g+l,然后返回步驟@_6繼續(xù)執(zhí)行;否則, 確定蟻群算法捜索結(jié)束,得到最終的頭蟻的位置,記為XA°W,,然后將XA°W對應(yīng) 的位置矢量中的cdW作為最小二乘支持向量機(jī)的懲罰因子c的最佳優(yōu)化值,并將 XA°W對應(yīng)的位置矢量^°",〇°叫中的0°叫乍為最小二乘支持向量機(jī)的核函數(shù)寬度參數(shù)。的最 佳優(yōu)化值;其中,g = g+l中的"="為賦值符號,表示蟻群算法第gmax次捜索時的頭蟻的 位置; ⑥根據(jù)最小二乘支持向量機(jī)的懲罰因子C的最佳優(yōu)化值和核函數(shù)寬度參數(shù)0的最佳 優(yōu)化值計算Test中的每個溶解氧數(shù)據(jù)的預(yù)測值,將Test中的第r個溶解氧數(shù)據(jù)的預(yù)測 值記為去邸.+,6'巧中,l《r《S-ST,xsτ+j表示Test中 的第j個溶解氧數(shù)據(jù),xsT+r表示Test中的第r個溶解氧數(shù)據(jù),aj表示Test對應(yīng)的第j個拉格朗 日乘子,b表示Test對應(yīng)的偏差,a神化是根據(jù)Test中的所有溶解氧數(shù)據(jù)及和計算2.根據(jù)權(quán)利要求1所述的蟻群算法優(yōu)化最小二乘支持向量機(jī)的溶解氧預(yù)測方法,其特 征在于所述的步驟①中的溶解氧傳感器采集溶解氧數(shù)據(jù)的時間間隔為1~5分鐘。3.根據(jù)權(quán)利要求1所述的蟻群算法優(yōu)化最小二乘支持向量機(jī)的溶解氧預(yù)測方法,其特 征在于所述的步驟②中的X的獲取過程為: (D_1、找出Y中的所有有效數(shù)據(jù)和所有壞點(diǎn)數(shù)據(jù),并將有效數(shù)據(jù)的標(biāo)記設(shè)為1; @_2、按序?qū)中的每個壞點(diǎn)數(shù)據(jù)進(jìn)行處理,將Y中當(dāng)前待處理的壞點(diǎn)數(shù)據(jù)定義為當(dāng)前 數(shù)據(jù); @_3、如果當(dāng)前數(shù)據(jù)為Y中的第1個溶解氧數(shù)據(jù)或當(dāng)前數(shù)據(jù)為Y中的第T個溶解氧數(shù)據(jù)或 時間上先于當(dāng)前數(shù)據(jù)的所有溶解氧數(shù)據(jù)均為壞點(diǎn)數(shù)據(jù)或時間上后于當(dāng)前數(shù)據(jù)的所有溶解 氧數(shù)據(jù)均為壞點(diǎn)數(shù)據(jù),則將當(dāng)前數(shù)據(jù)的標(biāo)記設(shè)為0,再執(zhí)行步驟②_4; 如果當(dāng)前數(shù)據(jù)不為Y中的第1個溶解氧數(shù)據(jù)且當(dāng)前數(shù)據(jù)不為Y中的第T個溶解氧數(shù)據(jù)且 時間上先于當(dāng)前數(shù)據(jù)的所有溶解氧數(shù)據(jù)不全為壞點(diǎn)數(shù)據(jù)且時間上后于當(dāng)前數(shù)據(jù)的所有溶 解氧數(shù)據(jù)不全為壞點(diǎn)數(shù)據(jù),則對當(dāng)前數(shù)據(jù)進(jìn)行線性插值W修復(fù)當(dāng)前數(shù)據(jù),使當(dāng)前數(shù)據(jù)轉(zhuǎn)變 成有效數(shù)據(jù),假設(shè)當(dāng)前數(shù)據(jù)為Y中的第t'個溶解氧數(shù)據(jù)yt',那么yt'經(jīng)線性插值修復(fù)后等于然后將經(jīng)線性插值修復(fù)后的當(dāng)前數(shù)據(jù)的標(biāo)記設(shè)為2,再執(zhí)行步驟②_4; 其中,義,表示時間上先于yt'且與yt'最鄰近的標(biāo)記為1的有效數(shù)據(jù),亦為Y中的第ti個溶解 氧數(shù)據(jù),&表示時間上后于yt'且與yt'最鄰近的標(biāo)記為1的有效數(shù)據(jù),.Vf:亦為Y中的第t2個溶 解氧數(shù)據(jù),1《ti《T,1《t2《T,tl<t ' <t2 ; @_4、將Υ中下一個待處理的壞點(diǎn)數(shù)據(jù)作為當(dāng)前數(shù)據(jù),然后返回步驟②_3繼續(xù)執(zhí)行,直 至Y中的所有壞點(diǎn)數(shù)據(jù)處理完畢,再執(zhí)行步驟(D_5; @_5、丟棄Y中所有標(biāo)記為0的壞點(diǎn)數(shù)據(jù),而保留其余溶解氧數(shù)據(jù),得到新的溶解氧數(shù)據(jù) 序列,作為預(yù)處理后的溶解氧數(shù)據(jù)序列X。
【文檔編號】G06Q10/04GK106096780SQ201610414075
【公開日】2016年11月9日
【申請日】2016年6月13日 公開號201610414075.3, CN 106096780 A, CN 106096780A, CN 201610414075, CN-A-106096780, CN106096780 A, CN106096780A, CN201610414075, CN201610414075.3
【發(fā)明人】張秀麗, 王建平
【申請人】浙江萬里學(xué)院