王永波
(國家知識產權局專利局專利審查協作廣東中心,廣州 510530)
PSO-SVR非線性時間序列模型檢測奶牛運動研究
王永波
(國家知識產權局專利局專利審查協作廣東中心,廣州510530)
家畜行為識別和預測技術受到科研人員越來越廣泛的關注。通過奶牛行為的預測實現其健康監測和發情檢測,對于規模化養殖生產發展,具有重大意義。
研究人員已經使用各種方法對動物日常生活時間序列數據進行采集和分析,以實現對動物發情、發病等情況的預測。對動物數據集進行預測分析常見的方法有:聚類、分類和回歸方法。
聚類方法,如Alon等[1]利用最大期望算法(Expectation-maximization algorithm),對喬治亞理工學院人體步態數據庫的時間序列數據進行聚類分析;尹令[2]等對結構相似子序列數據進行快速聚類,實現奶牛的發情檢測。聚類方法算法簡單,但初始聚類中心的選擇對聚類結果影響很大;分類方法,如Altun[3]等利用加速度傳感器、陀螺儀和磁力計記錄人體運動數據,使用動態時間規整(Dynamic Time Wrapping,DTW)算法對其日常行為進行分類。分類方法準確度高,但需要足夠大規模的訓練序列,且算法實現的開銷大;回歸方法,如Cavero等[4]使用帶權重的滑動平均回歸(Moving-Average,MA)模型,通過產奶量預測實現對奶牛乳房炎的檢測;Dorea[5]等回顧性分析加拿大動物健康實驗室提供的數據,對動物每日各種綜合癥出現次數進行泊松回歸實現疾病監測,欒培賢等[6]使用ARMA模型對豬瘟發病情況進行預測,以便針對豬瘟發病風險采取防控措施。回歸方法對時間序列進行預測,根據模型的預測目標與自變量之間是否呈線性關系,時間序列分為線性序列和非線性序列。目前研究的回歸方法主要適用于線性時間序列的預測。
奶牛運動信息采用三軸加速度傳感器來采集,由于奶牛運動時間序列為非線性序列,因而需要尋求準確度更高,同時不依賴于訓練序列長度的預測方法。支持向量回歸機具有以上優點,通過實驗把該算法應用于奶牛運動時間序列數據的預測,提出基于PSO-SVR的非線性時間序列模型預測奶牛運動量,從而判斷其是否發情。
以系統采集的奶牛三軸加速度運動時間序列數據作為原始數據,如圖1,建立基于PSO-SVR的非線性時間序列模型進行預測需要以下模塊(如圖1)。
2.1數據采集
選取三頭奶牛作為研究對象,分別使用三個加速度傳感器節點Node 1、Node 2和Node 3對其運動狀態進行記錄[3]。奶牛運動過程中,加速度傳感器會記錄在相互正交的三個方向x軸、y軸和z軸(如圖2所示)分別受力的情況。數據采樣頻率為10Hz,單位為0.03個重力單位,即0.03g。每個采樣數據都包含有四個特征值time,x,y,z,分別代表時間點、x軸加速度值、y軸加速度值和z軸加速度值。

圖1 基于PSO-SVR非線性時間序列模型核心模塊流程圖

圖2 奶牛三軸加速度方向示意圖
2.2數據預處理
(1)數據清洗
考慮到采集的三軸加速度數據存在缺失、冗余等情況。通過采用滑動平均的方法,把同1秒內的相鄰數據視為接近平穩的,其均值接近于常量,通過選取每秒鐘的10個采樣數據的平均值來表示這1秒的數據值,達到抑制采樣隨機誤差的目的,得到以1秒為間隔的新數據。
(2)特征提取
數據清洗后得到奶牛每秒運動的三軸加速度時間序列x,y,z,由此可以得到一個新的特征量sum_diff,即三軸對應加速度的一階差分絕對值之和(sum of the absolute difference)[7],單位為0.03個重力單位(0.03g),其計算方法如公式(1)所示。

其中,xt,yt,zt,分別表示第t秒的各軸加速度值,x_diff,y_diff,z_diff為對應的差分值。通過視頻觀察奶牛的日常運動,實現對奶牛運動狀態的人工標注,奶牛運動狀態劃分成:低強度(low active)、中強度(median active)和高強度(high active),對應類標號分別用0、1、2來表示。其中,站立、平躺等為低強度狀態;中強度狀態對應反芻、喂食、慢走等運動行為;起立、奔跑等運動則為高強度狀態。將x,y,z,sum_diff等特征量按各運動類別進行分組統計,可知其與奶牛運動狀態的關聯程度。如圖3,對Node 1第8天(發情期)的活動記錄統計顯示,sum_diff特征量與奶牛各類運動狀態密切相關。

圖3 Node1第8天各類運動特征量分布圖
在奶牛處于低強度狀態時,x,y,z三個特征量基本處于平穩狀態,但在中、高強度狀態時,以上特征量的變動范圍大;而sum_diff的取值與奶牛的運動狀態呈現強烈的正相關,這是因為sum_diff屬于對三軸加速度值進行的一階差分處理,增加時間序列數據的平穩性,減少隨機噪聲的影響[8]。
(3)數據整理和匯總
應用sum_diff取值與奶牛運動狀態高度相關的結論,對各奶牛各運動狀態的sum_diff屬性進行統計,如表1所示。
從表1可以看出,奶牛各運動狀態占運動總數的比例大致為70%、25%、5%。由于奶牛只有小部分時間處于高強度運動狀態,而對奶牛健康發情行為的研究更多是集中于高強度的運動狀態。此外,奶牛場員工每天進行飼養管理,使得奶牛每天的運動呈現出規律性。為了方便地進行時間序列預測,需要壓縮冗余數據,提取有用的信息進行分類匯總,具體從記錄數據的第1天0時開始,以6個小時為單位,統計單位時間內奶牛的運動指數(Activity Index,下文用AI表示),不足一個單位時間的運動指數數據作剔除處理。如公式(2),運動指數通過加權求和取得:

其中sa,ma,ha分別表示單位時間內低強度運動、中強度運動和高強度運動數據點的數目,w1,w2,w3分別為其對應的權值。為了突出中高強度運動對運動指數的影響,w1,w2,w3分別取值為0、1、2。匯總處理得到的各節點運動指數的時間序列數據如圖4所示。

表1 各節點各運動狀態下sum_diff屬性分布表

圖4 各節點運動指數時間序列圖
圖4顯示匯總處理后得到運動指數,數據點數目大幅減少,但有用信息保留了下來,仍然能準確反映奶牛的運動信息。
2.3時間序列和相空間重構
時間序列,是指由若干個變量在不同時間的觀測值所構成的數據集。本實驗的奶牛運動指數時間序列為單變量序列,可用有限二元組集合{(t1,AI1),(t2,AI2)…(tn,AIn)},ti<ti+1,i=1,2…n-1表示,其中t1,t2…tn表示連續時間變量,AI1,AI2…AIn表示運動指數的數值[9]。
混沌時間序列處理的首要步驟是相空間重構。相空間重構是指把原數據集空間重構到高維空間。對于運動指數時間序列數據變量集合{AIi},i=1,2…n,當延遲時間τ和嵌入維數m選定后,可得另一組向量yi={AIi,AIi+τ,AIi+2τ…AIi+(m-1)τ},只要確定合適的延遲時間和嵌入維數,就能實現相空間重構并獲得理想的預測結果[10]。
(1)延遲時間的確定
延遲時間用τ表示,通常由其自相關函數R(τ)確定,計算方法如公式(3)所示:

(2)嵌入維數的確定
嵌入維數的確定方法有G-P算法[11]、偽最近鄰域法、真實矢量場法、信息量準則法[12]等,其中前兩種方法可能會出現偽臨界現象,而真實矢量場法計算開銷大,信息量準則法不需要選擇主觀參數來確定嵌入維數,并且具有明確的物理意義,能有效規避上述缺陷。信息量準則有多種,這里選擇常用的最終預測誤差準則[13](Final Prediction Error,FPE)。通過此方法計算得到的嵌入維數能使一步預測的平均誤差最小。FPE的計算見公式(4):

其中m表示設定的嵌入維數,N表示相空間重構后產生的新序列的變量個數,yi和y∧i分別表示新序列變量對應的真實值和預測值,σe2是二次損失函數,它隨著m的增大而減小。選擇m時應保證得到的FPE最小。
(3)重構后的相空間
分析奶牛運動時間序列,利用相空間重構理論確定嵌入維數m,把前面的數據序列[ai,ait+1,ait+2,…ait+p-1]作為輸入值,后面的AIt+p作為預測目標值建立模型,其中t=1,2,…,N-p。變換后[14]得到的輸入數據集和輸出數據集如圖5所示:

可以看出,輸入矩陣和輸出矩陣之間存在一一映射的關系,即回歸函數Y=F(X)。

圖5 PSO-SVR與ARMA預測結果對比圖
2.4時間序列預測模型評價指標
采用歸一化平均絕對誤差(Normalized Mean Absolute Error,NMAE)和對稱平均絕對百分誤差(Symmetric Mean Absolute Percentage Error,sMAPE)對非線性的奶牛運動指數時間序列模型的預測準確度和泛化性能進行評價[15],其中NMAE是對MAE的改進,其克服了MAE與尺度相關的問題。sMAPE是對MAPE的改進,主要解決了MAPE中誤差估計不對稱的情況。NMAE和sMAPE的計算可見公式(5-7):

其中yi表示實際值,y∧i表示預測值,ymax表示實際最大值,ymin表示實際最小值。
計算FPE選擇最佳嵌入維數。嵌入維數在2至12之間變化時,其對應的FPE計算結果如表2所示。
本實驗需要選擇最小FPE對應維數作為最佳嵌入維數。如上表所示,最佳的嵌入維數已通過下劃線進行選擇。Node1號奶牛的最佳嵌入維數為2,而Node2和Node3的嵌入維數則為3。由此可見,最佳嵌入維數通常在較小值處取得。
選擇RBF作為SVR的核函數,并使用PSO算法對SVR兩個參數:c和g進行優化,數據訓練為5折交叉驗證,當訓練誤差小于0.001時停止訓練,并將種數數量和進化代數分別控制在20和100以內。PSO-SVR算法進行全局參數優化,針對不同的節點數據產生不同的算法參數。使用ARMA算法對奶牛運動指數時間序列進行回歸分析,與PSO-SVR的比較結果見圖6和表3:

表3 PSO-SVR與ARMA預測結果對比表
從表3可以看出,與ARMA相比,PSO-SVR算法產生的NMAE和MAPE更小。對于Node1,PSO-SVR模型預測的NMAE比ARMA的一半還小,MAPE約為ARMA的1/3;Node2的PSO-SVR模型預測的NMAE和MPAE均約為ARMA的1/3。PSO-SVR算法對Node1和Node2的預測明顯優于ARMA方法。對于Node3,由于訓練樣本相對較小,進而影響PSO-SVR的性能,使預測產生的NMAE較高,而MAPE與ARMA算法差距不大。總的來看,與ARMA相比,PSO-SVR算法的預測曲線更接近于實際值曲線;與ARMA回歸算法相比,PSO-SVR算法回歸模型預測準確度更高,泛化性能更好。

表2 各節點各嵌入維數對應FPE
通過實驗可知,采用PSO-SVM算法預測奶牛運動加速度時間序列數據得到的最大歸一化MSE和sMAPE分別為3.44和10.3%,與ARMA時間序列模型相比均有明顯減少,表現出更高的準確度和可信性。然而,由于數據預處理階段只采用移動平均法進行噪聲平滑處理,PSO-SVM算法的預測準確度有所降低。今后考慮采用卡爾曼濾波、小波變換等方法進一步去除噪聲,提高預測準確度。由于奶牛之間存在個體差異,不同的奶牛發情和發病狀態對應的運動狀態閾值不同,為此要進行算法優化,研究自適應性PSO-SVM算法,提高泛化性能,以便投入到奶牛場的實際應用中。
[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]尹令,洪添勝,劉漢興,等.結構相似子序列快速聚類算法及其在奶牛發情檢測中的應用[J].農業工程學報.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模型的豬瘟月新發生次數預測比較[J].農業工程學報.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]賈澎濤,何華燦,劉麗,等.時間序列數據挖掘綜述[J].計算機應用研究,2007(11):15-18.
[10]雷紹蘭,孫才新,周湶,等.電力短期負荷的多變量時間序列線性回歸預測方法研究[J].中國電機工程學報,2006(2):25-29.
[11]董春嬌,邵春福,張輝,等.基于G-P算法的快速路交通流參數相空間重構[J].吉林大學學報:工學版,2012,42(3).
[12]曹蘭蘭,許小可,索繼東.AR模型仿真相關高斯序列的階數選擇[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].控制理論與應用,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-),男,廣東東莞人,碩士研究生,研究方向為數據挖掘、圖像處理
2016-07-05
2016-07-25
家畜運動行為能用于預測其疾病、發情等異常行為,對規模化畜牧業生產發展具有重大意義。以奶牛運動為研究對象,利用運動三軸加速度時間序列數據,建立基于粒子群算法(PSO)和支持向量回歸機(SVR)的時間序列預測模型。通過選取合適的嵌入維數和SVR參數優化模型,使用回歸算法性能評價指標,實現奶牛運動量的預測。實驗結果表明,與ARMA時間序列模型相比,該方法具備更高的準確度和可信性,為奶牛運動行為實時預測提供新的途徑。
時間序列;非線性回歸;嵌入維數;粒子群算法;支持向量機
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.