PSO-SVR非线性时间序列模型检测奶牛运动研究

2016-10-17 02:19王永波
现代计算机 2016年22期
关键词:维数奶牛加速度

王永波

(国家知识产权局专利局专利审查协作广东中心,广州 510530)

PSO-SVR非线性时间序列模型检测奶牛运动研究

王永波

(国家知识产权局专利局专利审查协作广东中心,广州510530)

0 引言

家畜行为识别和预测技术受到科研人员越来越广泛的关注。通过奶牛行为的预测实现其健康监测和发情检测,对于规模化养殖生产发展,具有重大意义。

研究人员已经使用各种方法对动物日常生活时间序列数据进行采集和分析,以实现对动物发情、发病等情况的预测。对动物数据集进行预测分析常见的方法有:聚类、分类和回归方法。

聚类方法,如Alon等[1]利用最大期望算法(Expectation-maximization algorithm),对乔治亚理工学院人体步态数据库的时间序列数据进行聚类分析;尹令[2]等对结构相似子序列数据进行快速聚类,实现奶牛的发情检测。聚类方法算法简单,但初始聚类中心的选择对聚类结果影响很大;分类方法,如Altun[3]等利用加速度传感器、陀螺仪和磁力计记录人体运动数据,使用动态时间规整(Dynamic Time Wrapping,DTW)算法对其日常行为进行分类。分类方法准确度高,但需要足够大规模的训练序列,且算法实现的开销大;回归方法,如Cavero等[4]使用带权重的滑动平均回归(Moving-Average,MA)模型,通过产奶量预测实现对奶牛乳房炎的检测;Dorea[5]等回顾性分析加拿大动物健康实验室提供的数据,对动物每日各种综合症出现次数进行泊松回归实现疾病监测,栾培贤等[6]使用ARMA模型对猪瘟发病情况进行预测,以便针对猪瘟发病风险采取防控措施。回归方法对时间序列进行预测,根据模型的预测目标与自变量之间是否呈线性关系,时间序列分为线性序列和非线性序列。目前研究的回归方法主要适用于线性时间序列的预测。

奶牛运动信息采用三轴加速度传感器来采集,由于奶牛运动时间序列为非线性序列,因而需要寻求准确度更高,同时不依赖于训练序列长度的预测方法。支持向量回归机具有以上优点,通过实验把该算法应用于奶牛运动时间序列数据的预测,提出基于PSO-SVR的非线性时间序列模型预测奶牛运动量,从而判断其是否发情。

1 模型建立流程

以系统采集的奶牛三轴加速度运动时间序列数据作为原始数据,如图1,建立基于PSO-SVR的非线性时间序列模型进行预测需要以下模块(如图1)。

2 数据采集和预处理

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表示实际最小值。

3 实验验证和模型评价

计算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

4 结语

通过实验可知,采用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.

猜你喜欢
维数奶牛加速度
乍暖还寒时奶牛注意防冻伤
β-变换中一致丢番图逼近问题的维数理论
“鳖”不住了!从26元/斤飙至38元/斤,2022年甲鱼能否再跑出“加速度”?
夏季奶牛如何预防热应激
一类齐次Moran集的上盒维数
奶牛吃草
天际加速度
创新,动能转换的“加速度”
死亡加速度
《奶牛的家》