王永波
(國家知識(shí)產(chǎn)權(quán)局專利局專利審查協(xié)作廣東中心,廣州 510530)
PSO-SVR非線性時(shí)間序列模型檢測奶牛運(yùn)動(dòng)研究
王永波
(國家知識(shí)產(chǎn)權(quán)局專利局專利審查協(xié)作廣東中心,廣州510530)
家畜行為識(shí)別和預(yù)測技術(shù)受到科研人員越來越廣泛的關(guān)注。通過奶牛行為的預(yù)測實(shí)現(xiàn)其健康監(jiān)測和發(fā)情檢測,對(duì)于規(guī)?;B(yǎng)殖生產(chǎn)發(fā)展,具有重大意義。
研究人員已經(jīng)使用各種方法對(duì)動(dòng)物日常生活時(shí)間序列數(shù)據(jù)進(jìn)行采集和分析,以實(shí)現(xiàn)對(duì)動(dòng)物發(fā)情、發(fā)病等情況的預(yù)測。對(duì)動(dòng)物數(shù)據(jù)集進(jìn)行預(yù)測分析常見的方法有:聚類、分類和回歸方法。
聚類方法,如Alon等[1]利用最大期望算法(Expectation-maximization algorithm),對(duì)喬治亞理工學(xué)院人體步態(tài)數(shù)據(jù)庫的時(shí)間序列數(shù)據(jù)進(jìn)行聚類分析;尹令[2]等對(duì)結(jié)構(gòu)相似子序列數(shù)據(jù)進(jìn)行快速聚類,實(shí)現(xiàn)奶牛的發(fā)情檢測。聚類方法算法簡單,但初始聚類中心的選擇對(duì)聚類結(jié)果影響很大;分類方法,如Altun[3]等利用加速度傳感器、陀螺儀和磁力計(jì)記錄人體運(yùn)動(dòng)數(shù)據(jù),使用動(dòng)態(tài)時(shí)間規(guī)整(Dynamic Time Wrapping,DTW)算法對(duì)其日常行為進(jìn)行分類。分類方法準(zhǔn)確度高,但需要足夠大規(guī)模的訓(xùn)練序列,且算法實(shí)現(xiàn)的開銷大;回歸方法,如Cavero等[4]使用帶權(quán)重的滑動(dòng)平均回歸(Moving-Average,MA)模型,通過產(chǎn)奶量預(yù)測實(shí)現(xiàn)對(duì)奶牛乳房炎的檢測;Dorea[5]等回顧性分析加拿大動(dòng)物健康實(shí)驗(yàn)室提供的數(shù)據(jù),對(duì)動(dòng)物每日各種綜合癥出現(xiàn)次數(shù)進(jìn)行泊松回歸實(shí)現(xiàn)疾病監(jiān)測,欒培賢等[6]使用ARMA模型對(duì)豬瘟發(fā)病情況進(jìn)行預(yù)測,以便針對(duì)豬瘟發(fā)病風(fēng)險(xiǎn)采取防控措施?;貧w方法對(duì)時(shí)間序列進(jìn)行預(yù)測,根據(jù)模型的預(yù)測目標(biāo)與自變量之間是否呈線性關(guān)系,時(shí)間序列分為線性序列和非線性序列。目前研究的回歸方法主要適用于線性時(shí)間序列的預(yù)測。
奶牛運(yùn)動(dòng)信息采用三軸加速度傳感器來采集,由于奶牛運(yùn)動(dòng)時(shí)間序列為非線性序列,因而需要尋求準(zhǔn)確度更高,同時(shí)不依賴于訓(xùn)練序列長度的預(yù)測方法。支持向量回歸機(jī)具有以上優(yōu)點(diǎn),通過實(shí)驗(yàn)把該算法應(yīng)用于奶牛運(yùn)動(dòng)時(shí)間序列數(shù)據(jù)的預(yù)測,提出基于PSO-SVR的非線性時(shí)間序列模型預(yù)測奶牛運(yùn)動(dòng)量,從而判斷其是否發(fā)情。
以系統(tǒng)采集的奶牛三軸加速度運(yùn)動(dòng)時(shí)間序列數(shù)據(jù)作為原始數(shù)據(jù),如圖1,建立基于PSO-SVR的非線性時(shí)間序列模型進(jìn)行預(yù)測需要以下模塊(如圖1)。
2.1數(shù)據(jù)采集
選取三頭奶牛作為研究對(duì)象,分別使用三個(gè)加速度傳感器節(jié)點(diǎn)Node 1、Node 2和Node 3對(duì)其運(yùn)動(dòng)狀態(tài)進(jìn)行記錄[3]。奶牛運(yùn)動(dòng)過程中,加速度傳感器會(huì)記錄在相互正交的三個(gè)方向x軸、y軸和z軸(如圖2所示)分別受力的情況。數(shù)據(jù)采樣頻率為10Hz,單位為0.03個(gè)重力單位,即0.03g。每個(gè)采樣數(shù)據(jù)都包含有四個(gè)特征值time,x,y,z,分別代表時(shí)間點(diǎn)、x軸加速度值、y軸加速度值和z軸加速度值。
圖1 基于PSO-SVR非線性時(shí)間序列模型核心模塊流程圖
圖2 奶牛三軸加速度方向示意圖
2.2數(shù)據(jù)預(yù)處理
(1)數(shù)據(jù)清洗
考慮到采集的三軸加速度數(shù)據(jù)存在缺失、冗余等情況。通過采用滑動(dòng)平均的方法,把同1秒內(nèi)的相鄰數(shù)據(jù)視為接近平穩(wěn)的,其均值接近于常量,通過選取每秒鐘的10個(gè)采樣數(shù)據(jù)的平均值來表示這1秒的數(shù)據(jù)值,達(dá)到抑制采樣隨機(jī)誤差的目的,得到以1秒為間隔的新數(shù)據(jù)。
(2)特征提取
數(shù)據(jù)清洗后得到奶牛每秒運(yùn)動(dòng)的三軸加速度時(shí)間序列x,y,z,由此可以得到一個(gè)新的特征量sum_diff,即三軸對(duì)應(yīng)加速度的一階差分絕對(duì)值之和(sum of the absolute difference)[7],單位為0.03個(gè)重力單位(0.03g),其計(jì)算方法如公式(1)所示。
其中,xt,yt,zt,分別表示第t秒的各軸加速度值,x_diff,y_diff,z_diff為對(duì)應(yīng)的差分值。通過視頻觀察奶牛的日常運(yùn)動(dòng),實(shí)現(xiàn)對(duì)奶牛運(yùn)動(dòng)狀態(tài)的人工標(biāo)注,奶牛運(yùn)動(dòng)狀態(tài)劃分成:低強(qiáng)度(low active)、中強(qiáng)度(median active)和高強(qiáng)度(high active),對(duì)應(yīng)類標(biāo)號(hào)分別用0、1、2來表示。其中,站立、平躺等為低強(qiáng)度狀態(tài);中強(qiáng)度狀態(tài)對(duì)應(yīng)反芻、喂食、慢走等運(yùn)動(dòng)行為;起立、奔跑等運(yùn)動(dòng)則為高強(qiáng)度狀態(tài)。將x,y,z,sum_diff等特征量按各運(yùn)動(dòng)類別進(jìn)行分組統(tǒng)計(jì),可知其與奶牛運(yùn)動(dòng)狀態(tài)的關(guān)聯(lián)程度。如圖3,對(duì)Node 1第8天(發(fā)情期)的活動(dòng)記錄統(tǒng)計(jì)顯示,sum_diff特征量與奶牛各類運(yùn)動(dòng)狀態(tài)密切相關(guān)。
圖3 Node1第8天各類運(yùn)動(dòng)特征量分布圖
在奶牛處于低強(qiáng)度狀態(tài)時(shí),x,y,z三個(gè)特征量基本處于平穩(wěn)狀態(tài),但在中、高強(qiáng)度狀態(tài)時(shí),以上特征量的變動(dòng)范圍大;而sum_diff的取值與奶牛的運(yùn)動(dòng)狀態(tài)呈現(xiàn)強(qiáng)烈的正相關(guān),這是因?yàn)閟um_diff屬于對(duì)三軸加速度值進(jìn)行的一階差分處理,增加時(shí)間序列數(shù)據(jù)的平穩(wěn)性,減少隨機(jī)噪聲的影響[8]。
(3)數(shù)據(jù)整理和匯總
應(yīng)用sum_diff取值與奶牛運(yùn)動(dòng)狀態(tài)高度相關(guān)的結(jié)論,對(duì)各奶牛各運(yùn)動(dòng)狀態(tài)的sum_diff屬性進(jìn)行統(tǒng)計(jì),如表1所示。
從表1可以看出,奶牛各運(yùn)動(dòng)狀態(tài)占運(yùn)動(dòng)總數(shù)的比例大致為70%、25%、5%。由于奶牛只有小部分時(shí)間處于高強(qiáng)度運(yùn)動(dòng)狀態(tài),而對(duì)奶牛健康發(fā)情行為的研究更多是集中于高強(qiáng)度的運(yùn)動(dòng)狀態(tài)。此外,奶牛場員工每天進(jìn)行飼養(yǎng)管理,使得奶牛每天的運(yùn)動(dòng)呈現(xiàn)出規(guī)律性。為了方便地進(jìn)行時(shí)間序列預(yù)測,需要壓縮冗余數(shù)據(jù),提取有用的信息進(jìn)行分類匯總,具體從記錄數(shù)據(jù)的第1天0時(shí)開始,以6個(gè)小時(shí)為單位,統(tǒng)計(jì)單位時(shí)間內(nèi)奶牛的運(yùn)動(dòng)指數(shù)(Activity Index,下文用AI表示),不足一個(gè)單位時(shí)間的運(yùn)動(dòng)指數(shù)數(shù)據(jù)作剔除處理。如公式(2),運(yùn)動(dòng)指數(shù)通過加權(quán)求和取得:
其中sa,ma,ha分別表示單位時(shí)間內(nèi)低強(qiáng)度運(yùn)動(dòng)、中強(qiáng)度運(yùn)動(dòng)和高強(qiáng)度運(yùn)動(dòng)數(shù)據(jù)點(diǎn)的數(shù)目,w1,w2,w3分別為其對(duì)應(yīng)的權(quán)值。為了突出中高強(qiáng)度運(yùn)動(dòng)對(duì)運(yùn)動(dòng)指數(shù)的影響,w1,w2,w3分別取值為0、1、2。匯總處理得到的各節(jié)點(diǎn)運(yùn)動(dòng)指數(shù)的時(shí)間序列數(shù)據(jù)如圖4所示。
表1 各節(jié)點(diǎn)各運(yùn)動(dòng)狀態(tài)下sum_diff屬性分布表
圖4 各節(jié)點(diǎn)運(yùn)動(dòng)指數(shù)時(shí)間序列圖
圖4顯示匯總處理后得到運(yùn)動(dòng)指數(shù),數(shù)據(jù)點(diǎn)數(shù)目大幅減少,但有用信息保留了下來,仍然能準(zhǔn)確反映奶牛的運(yùn)動(dòng)信息。
2.3時(shí)間序列和相空間重構(gòu)
時(shí)間序列,是指由若干個(gè)變量在不同時(shí)間的觀測值所構(gòu)成的數(shù)據(jù)集。本實(shí)驗(yàn)的奶牛運(yùn)動(dòng)指數(shù)時(shí)間序列為單變量序列,可用有限二元組集合{(t1,AI1),(t2,AI2)…(tn,AIn)},ti<ti+1,i=1,2…n-1表示,其中t1,t2…tn表示連續(xù)時(shí)間變量,AI1,AI2…AIn表示運(yùn)動(dòng)指數(shù)的數(shù)值[9]。
混沌時(shí)間序列處理的首要步驟是相空間重構(gòu)。相空間重構(gòu)是指把原數(shù)據(jù)集空間重構(gòu)到高維空間。對(duì)于運(yùn)動(dòng)指數(shù)時(shí)間序列數(shù)據(jù)變量集合{AIi},i=1,2…n,當(dāng)延遲時(shí)間τ和嵌入維數(shù)m選定后,可得另一組向量yi={AIi,AIi+τ,AIi+2τ…AIi+(m-1)τ},只要確定合適的延遲時(shí)間和嵌入維數(shù),就能實(shí)現(xiàn)相空間重構(gòu)并獲得理想的預(yù)測結(jié)果[10]。
(1)延遲時(shí)間的確定
延遲時(shí)間用τ表示,通常由其自相關(guān)函數(shù)R(τ)確定,計(jì)算方法如公式(3)所示:
(2)嵌入維數(shù)的確定
嵌入維數(shù)的確定方法有G-P算法[11]、偽最近鄰域法、真實(shí)矢量場法、信息量準(zhǔn)則法[12]等,其中前兩種方法可能會(huì)出現(xiàn)偽臨界現(xiàn)象,而真實(shí)矢量場法計(jì)算開銷大,信息量準(zhǔn)則法不需要選擇主觀參數(shù)來確定嵌入維數(shù),并且具有明確的物理意義,能有效規(guī)避上述缺陷。信息量準(zhǔn)則有多種,這里選擇常用的最終預(yù)測誤差準(zhǔn)則[13](Final Prediction Error,F(xiàn)PE)。通過此方法計(jì)算得到的嵌入維數(shù)能使一步預(yù)測的平均誤差最小。FPE的計(jì)算見公式(4):
其中m表示設(shè)定的嵌入維數(shù),N表示相空間重構(gòu)后產(chǎn)生的新序列的變量個(gè)數(shù),yi和y∧i分別表示新序列變量對(duì)應(yīng)的真實(shí)值和預(yù)測值,σe2是二次損失函數(shù),它隨著m的增大而減小。選擇m時(shí)應(yīng)保證得到的FPE最小。
(3)重構(gòu)后的相空間
分析奶牛運(yùn)動(dòng)時(shí)間序列,利用相空間重構(gòu)理論確定嵌入維數(shù)m,把前面的數(shù)據(jù)序列[ai,ait+1,ait+2,…ait+p-1]作為輸入值,后面的AIt+p作為預(yù)測目標(biāo)值建立模型,其中t=1,2,…,N-p。變換后[14]得到的輸入數(shù)據(jù)集和輸出數(shù)據(jù)集如圖5所示:
可以看出,輸入矩陣和輸出矩陣之間存在一一映射的關(guān)系,即回歸函數(shù)Y=F(X)。
圖5 PSO-SVR與ARMA預(yù)測結(jié)果對(duì)比圖
2.4時(shí)間序列預(yù)測模型評(píng)價(jià)指標(biāo)
采用歸一化平均絕對(duì)誤差(Normalized Mean Absolute Error,NMAE)和對(duì)稱平均絕對(duì)百分誤差(Symmetric Mean Absolute Percentage Error,sMAPE)對(duì)非線性的奶牛運(yùn)動(dòng)指數(shù)時(shí)間序列模型的預(yù)測準(zhǔn)確度和泛化性能進(jìn)行評(píng)價(jià)[15],其中NMAE是對(duì)MAE的改進(jìn),其克服了MAE與尺度相關(guān)的問題。sMAPE是對(duì)MAPE的改進(jìn),主要解決了MAPE中誤差估計(jì)不對(duì)稱的情況。NMAE和sMAPE的計(jì)算可見公式(5-7):
其中yi表示實(shí)際值,y∧i表示預(yù)測值,ymax表示實(shí)際最大值,ymin表示實(shí)際最小值。
計(jì)算FPE選擇最佳嵌入維數(shù)。嵌入維數(shù)在2至12之間變化時(shí),其對(duì)應(yīng)的FPE計(jì)算結(jié)果如表2所示。
本實(shí)驗(yàn)需要選擇最小FPE對(duì)應(yīng)維數(shù)作為最佳嵌入維數(shù)。如上表所示,最佳的嵌入維數(shù)已通過下劃線進(jìn)行選擇。Node1號(hào)奶牛的最佳嵌入維數(shù)為2,而Node2和Node3的嵌入維數(shù)則為3。由此可見,最佳嵌入維數(shù)通常在較小值處取得。
選擇RBF作為SVR的核函數(shù),并使用PSO算法對(duì)SVR兩個(gè)參數(shù):c和g進(jìn)行優(yōu)化,數(shù)據(jù)訓(xùn)練為5折交叉驗(yàn)證,當(dāng)訓(xùn)練誤差小于0.001時(shí)停止訓(xùn)練,并將種數(shù)數(shù)量和進(jìn)化代數(shù)分別控制在20和100以內(nèi)。PSO-SVR算法進(jìn)行全局參數(shù)優(yōu)化,針對(duì)不同的節(jié)點(diǎn)數(shù)據(jù)產(chǎn)生不同的算法參數(shù)。使用ARMA算法對(duì)奶牛運(yùn)動(dòng)指數(shù)時(shí)間序列進(jìn)行回歸分析,與PSO-SVR的比較結(jié)果見圖6和表3:
表3 PSO-SVR與ARMA預(yù)測結(jié)果對(duì)比表
從表3可以看出,與ARMA相比,PSO-SVR算法產(chǎn)生的NMAE和MAPE更小。對(duì)于Node1,PSO-SVR模型預(yù)測的NMAE比ARMA的一半還小,MAPE約為ARMA的1/3;Node2的PSO-SVR模型預(yù)測的NMAE和MPAE均約為ARMA的1/3。PSO-SVR算法對(duì)Node1和Node2的預(yù)測明顯優(yōu)于ARMA方法。對(duì)于Node3,由于訓(xùn)練樣本相對(duì)較小,進(jìn)而影響PSO-SVR的性能,使預(yù)測產(chǎn)生的NMAE較高,而MAPE與ARMA算法差距不大。總的來看,與ARMA相比,PSO-SVR算法的預(yù)測曲線更接近于實(shí)際值曲線;與ARMA回歸算法相比,PSO-SVR算法回歸模型預(yù)測準(zhǔn)確度更高,泛化性能更好。
表2 各節(jié)點(diǎn)各嵌入維數(shù)對(duì)應(yīng)FPE
通過實(shí)驗(yàn)可知,采用PSO-SVM算法預(yù)測奶牛運(yùn)動(dòng)加速度時(shí)間序列數(shù)據(jù)得到的最大歸一化MSE和sMAPE分別為3.44和10.3%,與ARMA時(shí)間序列模型相比均有明顯減少,表現(xiàn)出更高的準(zhǔn)確度和可信性。然而,由于數(shù)據(jù)預(yù)處理階段只采用移動(dòng)平均法進(jìn)行噪聲平滑處理,PSO-SVM算法的預(yù)測準(zhǔn)確度有所降低。今后考慮采用卡爾曼濾波、小波變換等方法進(jìn)一步去除噪聲,提高預(yù)測準(zhǔn)確度。由于奶牛之間存在個(gè)體差異,不同的奶牛發(fā)情和發(fā)病狀態(tài)對(duì)應(yīng)的運(yùn)動(dòng)狀態(tài)閾值不同,為此要進(jìn)行算法優(yōu)化,研究自適應(yīng)性PSO-SVM算法,提高泛化性能,以便投入到奶牛場的實(shí)際應(yīng)用中。
[1]Alon J,Sclaroff S,Kollios G,et al.Discovering Clusters in Motion Time-Series Data:Computer Vision and Pattern Recognition,2003.Proceedings.2003 IEEE Computer Society Conference on[Z].2003:1,375-381.
[2]尹令,洪添勝,劉漢興,等.結(jié)構(gòu)相似子序列快速聚類算法及其在奶牛發(fā)情檢測中的應(yīng)用[J].農(nóng)業(yè)工程學(xué)報(bào).2012(3).
[3]Altun K,Barshan B,Tun?el O.Comparative Study on Classifying Human Activities with Miniature Inertial and Magnetic Sensors[J]. Pattern Recognition.2010,43(10):3605-3620.
[4]Cavero D,T?lle K H,Rave G,et al.Analysing Serial Data for Mastitis Detection by Means of Local Regression[J].Livestock Science,2007,110(1-2):101-110.
[5]Dorea F C,Revie C W,Mcewen B J,et al.Retrospective Time Series Analysis of Veterinary Laboratory Data:Preparing a Historical Baseline for Cluster Detection in Syndromic Surveillance[J].Prev Vet Med,2012.
[6]欒培賢,肖建華,陳欣,等.基于灰色模型和ARMA模型的豬瘟月新發(fā)生次數(shù)預(yù)測比較[J].農(nóng)業(yè)工程學(xué)報(bào).2011(9).
[7]Denis A,Crémoux F.Using the Entropy of Curves to Segment a Time or Spatial Series[J].Mathematical Geology.2002,34:899-914.
[8]Rajamanickam V,Marikkannan S.Performance Evaluation of Motion Estimation in H.264/AVC Encoder:Proceedings of the International Conference on Advances in Computing,Communications and Informatics[Z].Chennai,India:ACM,20121249-1253.
[9]賈澎濤,何華燦,劉麗,等.時(shí)間序列數(shù)據(jù)挖掘綜述[J].計(jì)算機(jī)應(yīng)用研究,2007(11):15-18.
[10]雷紹蘭,孫才新,周湶,等.電力短期負(fù)荷的多變量時(shí)間序列線性回歸預(yù)測方法研究[J].中國電機(jī)工程學(xué)報(bào),2006(2):25-29.
[11]董春嬌,邵春福,張輝,等.基于G-P算法的快速路交通流參數(shù)相空間重構(gòu)[J].吉林大學(xué)學(xué)報(bào):工學(xué)版,2012,42(3).
[12]曹蘭蘭,許小可,索繼東.AR模型仿真相關(guān)高斯序列的階數(shù)選擇[J].火力與指揮控制,2009(4):142-145.
[13]Li P,Tan Z,Yan L,et al.Time Series Prediction of Mining Subsidence Based on a SVM[J].Mining Science and Technology(China). 2011,21(4):557-562.
[14]張軍峰,胡壽松.基于聚類和支持向量機(jī)的非線性時(shí)間序列故障預(yù)報(bào)[J].控制理論與應(yīng)用,2007(5).
[15]Li G,Shi J.On Comparing Three Artificial Neural Networks for Wind Speed Forecasting[J].Applied Energy,2010,87(7):2313-2320.
Time Series;Nonlinear Regression Analysis;Embedding Dimension;Particle Swarm Optimization(PSO);Support Vector Machine(SVR)
Research on PSO-SVR Based on Nonlinear Time Series in Dairy Cow Movement Detection Model
WANG Yong-bo
(Patent Examination Cooperation Guangdong Center of the Patent Office of SIPO,Guangzhou 510530)
1007-1423(2016)22-0007-06DOI:10.3969/j.issn.1007-1423.2016.22.002
王永波(1987-),男,廣東東莞人,碩士研究生,研究方向?yàn)閿?shù)據(jù)挖掘、圖像處理
2016-07-05
2016-07-25
家畜運(yùn)動(dòng)行為能用于預(yù)測其疾病、發(fā)情等異常行為,對(duì)規(guī)模化畜牧業(yè)生產(chǎn)發(fā)展具有重大意義。以奶牛運(yùn)動(dòng)為研究對(duì)象,利用運(yùn)動(dòng)三軸加速度時(shí)間序列數(shù)據(jù),建立基于粒子群算法(PSO)和支持向量回歸機(jī)(SVR)的時(shí)間序列預(yù)測模型。通過選取合適的嵌入維數(shù)和SVR參數(shù)優(yōu)化模型,使用回歸算法性能評(píng)價(jià)指標(biāo),實(shí)現(xiàn)奶牛運(yùn)動(dòng)量的預(yù)測。實(shí)驗(yàn)結(jié)果表明,與ARMA時(shí)間序列模型相比,該方法具備更高的準(zhǔn)確度和可信性,為奶牛運(yùn)動(dòng)行為實(shí)時(shí)預(yù)測提供新的途徑。
時(shí)間序列;非線性回歸;嵌入維數(shù);粒子群算法;支持向量機(jī)
The livestock behavior and movements can be used for predicting its abnormal behavior like diseases or estrus and which has proved to be of significance importance for the development of large-scale livestock production.Establishes a time series model used for motion prediction based on particle swarm optimization(PSO)and support vector regression(SVR)and is optimized by using data collected with a tri-axial accelerometer.By choosing the appropriate embedding dimension and epsilon-SVR parameters,establishes a time series model to predict behavioral activity levels in cows.After training samples and choosing the appropriate embedding dimension and epsilon-SVR parameters,uses some indicators for performance evaluation of regression.Experimental results show that,compared with an ARMA time series model,the proposed method is more accurate and more credible,and it also provides a new way to produce real-time forecast of cow behavior.