利索能及
我要发布
收藏
专利号: 2024103102956
申请人: 西安艺琳农业发展有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-09-08
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种活牛体尺体重数据异常检测系统,其特征在于,该系统包括以下模块:

数据采集模块:根据采集的牛体尺数据获取第二数据集和第三数据集,获取第一数据集,根据第二数据集建立第一散点图、第二散点图和第三散点图;

所述牛体尺数据包含牛的年龄数据、胸围数据和体直长数据,根据牛体尺数据计算体重数据,将牛体尺数据和体重数据组成的数据集记为第二数据集,将需要进行异常检测的牛的体重数据牛体尺数据和体重数据组成的数据集记为第三数据集,将第二数据集和第三数据集组成的数据集记为第一数据集;其中,第一散点图的横坐标为牛的年龄数据,纵坐标为牛的体重数据,第一散点图中的散点对应同一头牛的年龄数据和体重数据;第二散点图的横坐标为牛的胸围数据,纵坐标为牛的体重数据,第二散点图中的散点对应同一头牛的胸围数据和体重数据;第三散点图的横坐标为牛的体直长数据,纵坐标为牛的体重数据,第三散点图中的散点对应同一头牛的体直长数据和体重数据;第一散点图、第二散点图和第三散点图中包含的散点个数均为第一数据集参数值;

数据密集度模块:获取第一散点图、第二散点图和第三散点图中包含的散点的密集度圆,获取散点的密集度圆的面积和散点的紧邻散点,将散点的紧邻散点的数量与散点的密集度圆的面积的比值记为散点对应的数据密集度;

所述获取第一散点图、第二散点图和第三散点图中包含的散点的密集度圆,获取散点的密集度圆的面积和散点的紧邻散点的方法为:分别将第一散点图、第二散点图和第三散点图中的每个散点作为待分析散点;将以待分析散点为圆心,以第一半径阈值为半径的圆记为待分析散点的密集度圆;将待分析散点的密集度圆内包含的像素点个数记为待分析散点的密集度圆的面积;将待分析散点的密集度圆中包含的散点记为待分析散点的紧邻散点;

体重序列模块:建立第一直方图、第二直方图和第三直方图,获取低谷区间,根据低谷区间将第一直方图、第二直方图和第三直方图的区间划分至不同区间群中,获取区间群的数据密集最大点,获取第一体重序列、第二体重序列和第三体重序列;

所述建立第一直方图、第二直方图和第三直方图,获取低谷区间,根据低谷区间将第一直方图、第二直方图和第三直方图的区间划分至不同区间群中,获取区间群的数据密集最大点的方法为:根据第一散点图建立第一直方图,其中,第一直方图的横轴为牛的年龄,纵轴为年龄在第二数据集中出现的频次,组距为第一组距阈值个月;根据第二散点图建立第二直方图,其中,第二直方图的横轴为牛的胸围,纵轴为胸围在第二数据集中出现的频次,组距为第二组距阈值厘米;根据第三散点图建立第三直方图,其中,第三直方图的横轴牛的体直长,纵轴为体直长在第二数据集中出现的频次,组距为第三组距阈值厘米;分别将第一直方图中每个区间作为待分析区间,获取待分析区间和待分析区间的相邻区间对应的频次的最小值,当待分析区间和待分析区间的相邻区间对应的频次的最小值为待分析区间的频次时,将待分析区间记为低谷区间;低谷区间将待分析区间划分至不同区间群中,其中,低谷区间被划分到左侧相邻区间对应的区间群中;获取同一区间群中包含的牛的年龄数据对应的第一散点图中散点的数据密集度,将数据密集度最大的散点记为区间群的数据密集最大点;将第二直方图和第三直方图中的区间划分至不同区间群中,获取每个区间群的数据密集最大点;

序列相似距离模块:根据第一体重序列、第二体重序列和第三体重序列确定数据的编号,确定第一原始数据序列、第二原始数据序列和第三原始数据序列,根据第一原始数据序列、第二原始数据序列和第三原始数据序列获取每个编号对应的序列相似距离;

所述获取第一体重序列、第二体重序列和第三体重序列的方法为:选取第一直方图的所有区间群的数据密集最大点,获取所有数据密集最大点对应的牛的体重数据,按照牛的体重数据从大到小的顺序,将所有数据密集最大点进行排序,获取第一体重序列;选取第二直方图的所有区间群的数据密集最大点,获取所有数据密集最大点对应的牛的体重数据,按照牛的体重数据从大到小的顺序,将所有数据密集最大点进行排序,获取第二体重序列;

选取第三直方图的所有区间群的数据密集最大点,获取所有数据密集最大点对应的牛的体重数据,按照牛的体重数据从大到小的顺序,将所有数据密集最大点进行排序,获取第三体重序列;

所述根据第一体重序列、第二体重序列和第三体重序列确定数据的编号,确定第一原始数据序列、第二原始数据序列和第三原始数据序列的方法为:将第一体重序列、第二体重序列和第三体重序列中数据的位次记为数据的编号;分别将第一体重序列中每个数据作为第一待分析元素,将第一待分析元素对应的牛的年龄数据、胸围数据、体直长数据和体重数据按顺序排列为第一待分析元素的第一原始数据序列;分别将第二体重序列中每个数据作为第二待分析元素,将第二待分析元素对应的牛的年龄数据、胸围数据、体直长数据和体重数据按顺序排列为第二待分析元素的第二原始数据序列;分别将第三体重序列中每个数据作为第三待分析元素,将第三待分析元素对应的牛的年龄数据、胸围数据、体直长数据和体重数据按顺序排列为第三待分析元素的第三原始数据序列;

所述根据第一原始数据序列、第二原始数据序列和第三原始数据序列获取每个编号对应的序列相似距离的方法为:分别将每个数据的编号作为待分析编号进行分析;将第一体重序列中待分析编号对应的数据的第一原始数据序列与第二体重序列中待分析编号对应的数据的第二原始数据序列之间的距离记为待分析编号的第一距离;将第一体重序列中待分析编号对应的数据的第一原始数据序列与第三体重序列中待分析编号对应的数据的第三原始数据序列之间的距离记为待分析编号的第二距离;将第二体重序列中待分析编号对应的数据的第二原始数据序列与第三体重序列中待分析编号对应的数据的第三原始数据序列之间的距离记待分析编号的为第三距离;将待分析编号的第一距离、第二距离和第三距离的和记为待分析编号对应的序列相似距离;

异常检测结果判定模块:根据编号对应的序列相似距离确定初始聚类中心,获取数据组,根据初始聚类中心对第一数据集中包含的所有数据组进行聚类,获取聚类簇,对第一数据集中包含的所有数据组进行异常检测,获取疑似异常数据点,根据聚类簇和疑似异常数据点对活牛体尺体重数据进行异常检测;

具体方法为:选取最大的第一预设阈值个序列相似距离作为异常数据点的初始聚类中心,选取最小的第一预设阈值个序列相似距离作为正常数据点的初始聚类中心;将第一数据集中同一头牛的牛体尺数据和体重数据作为一个数据组,对第一数据集中所有数据组进行聚类,获取聚类簇;对第一数据集中所有数据组进行异常检测,获取每个数据组的异常评分,将异常评分最大的前第二预设阈值的数据点标记为疑似异常数据点;当聚类簇中的疑似异常数据点占比超出第三预设阈值时,将聚类簇中且在第三数据集中的数据组对应的牛体尺数据和体重数据标记为异常数据。