王永波
(國家知識產(chǎn)權(quán)局專利局專利審查協(xié)作廣東中心,廣州 510530)
PSO-SVR非線性時間序列模型檢測奶牛運動研究
王永波
(國家知識產(chǎn)權(quán)局專利局專利審查協(xié)作廣東中心,廣州510530)
家畜行為識別和預測技術(shù)受到科研人員越來越廣泛的關(guān)注。通過奶牛行為的預測實現(xiàn)其健康監(jiān)測和發(fā)情檢測,對于規(guī)模化養(yǎng)殖生產(chǎn)發(fā)展,具有重大意義。
研究人員已經(jīng)使用各種方法對動物日常生活時間序列數(shù)據(jù)進行采集和分析,以實現(xiàn)對動物發(fā)情、發(fā)病等情況的預測。對動物數(shù)據(jù)集進行預測分析常見的方法有:聚類、分類和回歸方法。
聚類方法,如Alon等[1]利用最大期望算法(Expectation-maximization algorithm),對喬治亞理工學院人體步態(tài)數(shù)據(jù)庫的時間序列數(shù)據(jù)進行聚類分析;尹令[2]等對結(jié)構(gòu)相似子序列數(shù)據(jù)進行快速聚類,實現(xiàn)奶牛的發(fā)情檢測。聚類方法算法簡單,但初始聚類中心的選擇對聚類結(jié)果影響很大;分類方法,如Altun[3]等利用加速度傳感器、陀螺儀和磁力計記錄人體運動數(shù)據(jù),使用動態(tài)時間規(guī)整(Dynamic Time Wrapping,DTW)算法對其日常行為進行分類。分類方法準確度高,但需要足夠大規(guī)模的訓練序列,且算法實現(xiàn)的開銷大;回歸方法,如Cavero等[4]使用帶權(quán)重的滑動平均回歸(Moving-Average,MA)模型,通過產(chǎn)奶量預測實現(xiàn)對奶牛乳房炎的檢測;Dorea[5]等回顧性分析加拿大動物健康實驗室提供的數(shù)據(jù),對動物每日各種綜合癥出現(xiàn)次數(shù)進行泊松回歸實現(xiàn)疾病監(jiān)測,欒培賢等[6]使用ARMA模型對豬瘟發(fā)病情況進行預測,以便針對豬瘟發(fā)病風險采取防控措施?;貧w方法對時間序列進行預測,根據(jù)模型的預測目標與自變量之間是否呈線性關(guān)系,時間序列分為線性序列和非線性序列。目前研究的回歸方法主要適用于線性時間序列的預測。
奶牛運動信息采用三軸加速度傳感器來采集,由于奶牛運動時間序列為非線性序列,因而需要尋求準確度更高,同時不依賴于訓練序列長度的預測方法。支持向量回歸機具有以上優(yōu)點,通過實驗把該算法應(yīng)用于奶牛運動時間序列數(shù)據(jù)的預測,提出基于PSO-SVR的非線性時間序列模型預測奶牛運動量,從而判斷其是否發(fā)情。
以系統(tǒng)采集的奶牛三軸加速度運動時間序列數(shù)據(jù)作為原始數(shù)據(jù),如圖1,建立基于PSO-SVR的非線性時間序列模型進行預測需要以下模塊(如圖1)。
2.1數(shù)據(jù)采集
選取三頭奶牛作為研究對象,分別使用三個加速度傳感器節(jié)點Node 1、Node 2和Node 3對其運動狀態(tài)進行記錄[3]。奶牛運動過程中,加速度傳感器會記錄在相互正交的三個方向x軸、y軸和z軸(如圖2所示)分別受力的情況。數(shù)據(jù)采樣頻率為10Hz,單位為0.03個重力單位,即0.03g。每個采樣數(shù)據(jù)都包含有四個特征值time,x,y,z,分別代表時間點、x軸加速度值、y軸加速度值和z軸加速度值。
圖1 基于PSO-SVR非線性時間序列模型核心模塊流程圖
圖2 奶牛三軸加速度方向示意圖
2.2數(shù)據(jù)預處理
(1)數(shù)據(jù)清洗
考慮到采集的三軸加速度數(shù)據(jù)存在缺失、冗余等情況。通過采用滑動平均的方法,把同1秒內(nèi)的相鄰數(shù)據(jù)視為接近平穩(wěn)的,其均值接近于常量,通過選取每秒鐘的10個采樣數(shù)據(jù)的平均值來表示這1秒的數(shù)據(jù)值,達到抑制采樣隨機誤差的目的,得到以1秒為間隔的新數(shù)據(jù)。
(2)特征提取
數(shù)據(jù)清洗后得到奶牛每秒運動的三軸加速度時間序列x,y,z,由此可以得到一個新的特征量sum_diff,即三軸對應(yīng)加速度的一階差分絕對值之和(sum of the absolute difference)[7],單位為0.03個重力單位(0.03g),其計算方法如公式(1)所示。
其中,xt,yt,zt,分別表示第t秒的各軸加速度值,x_diff,y_diff,z_diff為對應(yīng)的差分值。通過視頻觀察奶牛的日常運動,實現(xiàn)對奶牛運動狀態(tài)的人工標注,奶牛運動狀態(tài)劃分成:低強度(low active)、中強度(median active)和高強度(high active),對應(yīng)類標號分別用0、1、2來表示。其中,站立、平躺等為低強度狀態(tài);中強度狀態(tài)對應(yīng)反芻、喂食、慢走等運動行為;起立、奔跑等運動則為高強度狀態(tài)。將x,y,z,sum_diff等特征量按各運動類別進行分組統(tǒng)計,可知其與奶牛運動狀態(tài)的關(guān)聯(lián)程度。如圖3,對Node 1第8天(發(fā)情期)的活動記錄統(tǒng)計顯示,sum_diff特征量與奶牛各類運動狀態(tài)密切相關(guān)。
圖3 Node1第8天各類運動特征量分布圖
在奶牛處于低強度狀態(tài)時,x,y,z三個特征量基本處于平穩(wěn)狀態(tài),但在中、高強度狀態(tài)時,以上特征量的變動范圍大;而sum_diff的取值與奶牛的運動狀態(tài)呈現(xiàn)強烈的正相關(guān),這是因為sum_diff屬于對三軸加速度值進行的一階差分處理,增加時間序列數(shù)據(jù)的平穩(wěn)性,減少隨機噪聲的影響[8]。
(3)數(shù)據(jù)整理和匯總
應(yīng)用sum_diff取值與奶牛運動狀態(tài)高度相關(guān)的結(jié)論,對各奶牛各運動狀態(tài)的sum_diff屬性進行統(tǒng)計,如表1所示。
從表1可以看出,奶牛各運動狀態(tài)占運動總數(shù)的比例大致為70%、25%、5%。由于奶牛只有小部分時間處于高強度運動狀態(tài),而對奶牛健康發(fā)情行為的研究更多是集中于高強度的運動狀態(tài)。此外,奶牛場員工每天進行飼養(yǎng)管理,使得奶牛每天的運動呈現(xiàn)出規(guī)律性。為了方便地進行時間序列預測,需要壓縮冗余數(shù)據(jù),提取有用的信息進行分類匯總,具體從記錄數(shù)據(jù)的第1天0時開始,以6個小時為單位,統(tǒng)計單位時間內(nèi)奶牛的運動指數(shù)(Activity Index,下文用AI表示),不足一個單位時間的運動指數(shù)數(shù)據(jù)作剔除處理。如公式(2),運動指數(shù)通過加權(quán)求和取得:
其中sa,ma,ha分別表示單位時間內(nèi)低強度運動、中強度運動和高強度運動數(shù)據(jù)點的數(shù)目,w1,w2,w3分別為其對應(yīng)的權(quán)值。為了突出中高強度運動對運動指數(shù)的影響,w1,w2,w3分別取值為0、1、2。匯總處理得到的各節(jié)點運動指數(shù)的時間序列數(shù)據(jù)如圖4所示。
表1 各節(jié)點各運動狀態(tài)下sum_diff屬性分布表
圖4 各節(jié)點運動指數(shù)時間序列圖
圖4顯示匯總處理后得到運動指數(shù),數(shù)據(jù)點數(shù)目大幅減少,但有用信息保留了下來,仍然能準確反映奶牛的運動信息。
2.3時間序列和相空間重構(gòu)
時間序列,是指由若干個變量在不同時間的觀測值所構(gòu)成的數(shù)據(jù)集。本實驗的奶牛運動指數(shù)時間序列為單變量序列,可用有限二元組集合{(t1,AI1),(t2,AI2)…(tn,AIn)},ti<ti+1,i=1,2…n-1表示,其中t1,t2…tn表示連續(xù)時間變量,AI1,AI2…AIn表示運動指數(shù)的數(shù)值[9]。
混沌時間序列處理的首要步驟是相空間重構(gòu)。相空間重構(gòu)是指把原數(shù)據(jù)集空間重構(gòu)到高維空間。對于運動指數(shù)時間序列數(shù)據(jù)變量集合{AIi},i=1,2…n,當延遲時間τ和嵌入維數(shù)m選定后,可得另一組向量yi={AIi,AIi+τ,AIi+2τ…AIi+(m-1)τ},只要確定合適的延遲時間和嵌入維數(shù),就能實現(xiàn)相空間重構(gòu)并獲得理想的預測結(jié)果[10]。
(1)延遲時間的確定
延遲時間用τ表示,通常由其自相關(guān)函數(shù)R(τ)確定,計算方法如公式(3)所示:
(2)嵌入維數(shù)的確定
嵌入維數(shù)的確定方法有G-P算法[11]、偽最近鄰域法、真實矢量場法、信息量準則法[12]等,其中前兩種方法可能會出現(xiàn)偽臨界現(xiàn)象,而真實矢量場法計算開銷大,信息量準則法不需要選擇主觀參數(shù)來確定嵌入維數(shù),并且具有明確的物理意義,能有效規(guī)避上述缺陷。信息量準則有多種,這里選擇常用的最終預測誤差準則[13](Final Prediction Error,F(xiàn)PE)。通過此方法計算得到的嵌入維數(shù)能使一步預測的平均誤差最小。FPE的計算見公式(4):
其中m表示設(shè)定的嵌入維數(shù),N表示相空間重構(gòu)后產(chǎn)生的新序列的變量個數(shù),yi和y∧i分別表示新序列變量對應(yīng)的真實值和預測值,σe2是二次損失函數(shù),它隨著m的增大而減小。選擇m時應(yīng)保證得到的FPE最小。
(3)重構(gòu)后的相空間
分析奶牛運動時間序列,利用相空間重構(gòu)理論確定嵌入維數(shù)m,把前面的數(shù)據(jù)序列[ai,ait+1,ait+2,…ait+p-1]作為輸入值,后面的AIt+p作為預測目標值建立模型,其中t=1,2,…,N-p。變換后[14]得到的輸入數(shù)據(jù)集和輸出數(shù)據(jù)集如圖5所示:
可以看出,輸入矩陣和輸出矩陣之間存在一一映射的關(guān)系,即回歸函數(shù)Y=F(X)。
圖5 PSO-SVR與ARMA預測結(jié)果對比圖
2.4時間序列預測模型評價指標
采用歸一化平均絕對誤差(Normalized Mean Absolute Error,NMAE)和對稱平均絕對百分誤差(Symmetric Mean Absolute Percentage Error,sMAPE)對非線性的奶牛運動指數(shù)時間序列模型的預測準確度和泛化性能進行評價[15],其中NMAE是對MAE的改進,其克服了MAE與尺度相關(guān)的問題。sMAPE是對MAPE的改進,主要解決了MAPE中誤差估計不對稱的情況。NMAE和sMAPE的計算可見公式(5-7):
其中yi表示實際值,y∧i表示預測值,ymax表示實際最大值,ymin表示實際最小值。
計算FPE選擇最佳嵌入維數(shù)。嵌入維數(shù)在2至12之間變化時,其對應(yīng)的FPE計算結(jié)果如表2所示。
本實驗需要選擇最小FPE對應(yīng)維數(shù)作為最佳嵌入維數(shù)。如上表所示,最佳的嵌入維數(shù)已通過下劃線進行選擇。Node1號奶牛的最佳嵌入維數(shù)為2,而Node2和Node3的嵌入維數(shù)則為3。由此可見,最佳嵌入維數(shù)通常在較小值處取得。
選擇RBF作為SVR的核函數(shù),并使用PSO算法對SVR兩個參數(shù):c和g進行優(yōu)化,數(shù)據(jù)訓練為5折交叉驗證,當訓練誤差小于0.001時停止訓練,并將種數(shù)數(shù)量和進化代數(shù)分別控制在20和100以內(nèi)。PSO-SVR算法進行全局參數(shù)優(yōu)化,針對不同的節(jié)點數(shù)據(jù)產(chǎn)生不同的算法參數(shù)。使用ARMA算法對奶牛運動指數(shù)時間序列進行回歸分析,與PSO-SVR的比較結(jié)果見圖6和表3:
表3 PSO-SVR與ARMA預測結(jié)果對比表
從表3可以看出,與ARMA相比,PSO-SVR算法產(chǎn)生的NMAE和MAPE更小。對于Node1,PSO-SVR模型預測的NMAE比ARMA的一半還小,MAPE約為ARMA的1/3;Node2的PSO-SVR模型預測的NMAE和MPAE均約為ARMA的1/3。PSO-SVR算法對Node1和Node2的預測明顯優(yōu)于ARMA方法。對于Node3,由于訓練樣本相對較小,進而影響PSO-SVR的性能,使預測產(chǎn)生的NMAE較高,而MAPE與ARMA算法差距不大。總的來看,與ARMA相比,PSO-SVR算法的預測曲線更接近于實際值曲線;與ARMA回歸算法相比,PSO-SVR算法回歸模型預測準確度更高,泛化性能更好。
表2 各節(jié)點各嵌入維數(shù)對應(yīng)FPE
通過實驗可知,采用PSO-SVM算法預測奶牛運動加速度時間序列數(shù)據(jù)得到的最大歸一化MSE和sMAPE分別為3.44和10.3%,與ARMA時間序列模型相比均有明顯減少,表現(xiàn)出更高的準確度和可信性。然而,由于數(shù)據(jù)預處理階段只采用移動平均法進行噪聲平滑處理,PSO-SVM算法的預測準確度有所降低。今后考慮采用卡爾曼濾波、小波變換等方法進一步去除噪聲,提高預測準確度。由于奶牛之間存在個體差異,不同的奶牛發(fā)情和發(fā)病狀態(tài)對應(yīng)的運動狀態(tài)閾值不同,為此要進行算法優(yōu)化,研究自適應(yīng)性PSO-SVM算法,提高泛化性能,以便投入到奶牛場的實際應(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è)工程學報.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ù)預測比較[J].農(nóng)業(yè)工程學報.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ù)據(jù)挖掘綜述[J].計算機應(yīng)用研究,2007(11):15-18.
[10]雷紹蘭,孫才新,周湶,等.電力短期負荷的多變量時間序列線性回歸預測方法研究[J].中國電機工程學報,2006(2):25-29.
[11]董春嬌,邵春福,張輝,等.基于G-P算法的快速路交通流參數(shù)相空間重構(gòu)[J].吉林大學學報:工學版,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].控制理論與應(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-),男,廣東東莞人,碩士研究生,研究方向為數(shù)據(jù)挖掘、圖像處理
2016-07-05
2016-07-25
家畜運動行為能用于預測其疾病、發(fā)情等異常行為,對規(guī)模化畜牧業(yè)生產(chǎn)發(fā)展具有重大意義。以奶牛運動為研究對象,利用運動三軸加速度時間序列數(shù)據(jù),建立基于粒子群算法(PSO)和支持向量回歸機(SVR)的時間序列預測模型。通過選取合適的嵌入維數(shù)和SVR參數(shù)優(yōu)化模型,使用回歸算法性能評價指標,實現(xiàn)奶牛運動量的預測。實驗結(jié)果表明,與ARMA時間序列模型相比,該方法具備更高的準確度和可信性,為奶牛運動行為實時預測提供新的途徑。
時間序列;非線性回歸;嵌入維數(shù);粒子群算法;支持向量機
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.