种猪生产数据预处理方法之数据清洗

卧枝汇 2024-10-03 04:06:53

数据预处理是大数据处理流程中必不可少的关键步骤,更是进行数据分析和数据挖掘前必不可少的重要工作。由于种猪生产的原始数据比较散乱,

一般不符合数据分析和数据挖掘所要求的规范和标准,因此必须对这些原始数据进行预处理,以改进数据质量,并提高数据挖掘过程的效率、精度和准确性。

一般情况下,数据预处理的流程是:数据的清洗、数据的集成、数据的变换、数据的规约。本文将从数据清洗开始介绍.

数据清洗(data cleaning)是对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正错误,从而保持数据的一致性。在实际操作中,数据清洗通常会占据分析过程50%~80%的时间。数据清洗的质量直接关系到模型使用的效果和分析得到的最终结论。

数据清洗的原理

数据清洗的原理是利用有关技术如数理统计、数据挖掘或预定义的清理规则.将脏数据转化为满足数据质量要求的数据。

数据清洗的方法

数据清洗的标准方法是将数据输入数据清洗处理器,通过一系列步骤“清洗”数据,包括检查一致性,处理无效值和缺失值,将不完整的数据、错误的数据、重复的数据从数据集中识别并处理,然后以期望的格式输出高质量数据。

一致性检查

是根据每个变量的合理取值范围和相互关系,检查数据是否合乎要求,发现超出正常范围、逻辑上不合理或者相互矛盾的数据。例如,仔猪头数出现小数,断奶发情间隔出现负数,都应视为超出了正常值域范围。Excel、SPSS和SAS等计算机软件都能够根据定义的取值范围,自动识别每个超出范围的变量值。逻辑上不一致的答案可能以多种形式出现,如产活仔数比总产仔数高。发现数据不一致时,要列出信息并记录数字、变量名称、错误类别等,便于进一步核对和纠正。

无效值和缺失值的处理

由于记录、编码和录入误差,数据中可能存在一些无效值和缺失值,需要给予适当的处理。常用的处理方法有估算、整列删除和变量删除。

(1)估算

最简单的方法就是用某个变量的样本均值、中位数或众数,代替无效值和缺失值。但这种方法没有充分考虑数据中已有的信息,误差可能较大。此外,可以根据调查对象对其他问题的答案,通过变量之间的相关分析或逻辑推论进行估计。例如,母猪的产仔数与品种、胎次等信息有关,可以根据母猪的这些相关信息推算产仔数。

(2)整例删除

是指剔除含有缺失值的样本。由于生产记录存在缺失值的情况比较突出,所以整例删除可能导致有效样本量大幅减少,无法充分利用已经收集的数据。因此,整例删除只适合关键变量缺失,或者无效值和缺失值的样本比重很小的情况。

(3)变量删除

如果某一变量的无效值和缺失值很多,而且该变量对于所研究的问题不是特别重要,则可以考虑将该变量删除。这种做法减少了供分析用的变量数目,但没有改变样本量。

采用不同的处理方法可能对分析结果产生影响,尤其是当缺失值并非随韧出现且变量之间明显相关时。因此,在数据记录和收集时应当尽量避免出现无效值和缺失值,以保证数据的完整性。

数据清洗的主要类型

残缺数据

这一类数据主要是缺失一些应该有的信息,如母猪的品系,品种/组合、胎次、产仔总数、断奶仔猪数等。需要将这一类缺失的数据过滤出来,按缺失的内容分别写入不同 Excel文件反馈给数据收集人员,并在规定的时间内补全后再次提交到数据仓库中。

错误数据

这一类数据产生的原因是业务系统不够健全,在接收数据输入后没有进行判断而直接写入后台数据库造成,如数值数据输入成全角数字字符、字符串数据后面有一个回车操作、日期格式不正确、日期越界等。

对于类似全角字符、数据前后有不可见字符的问题,需要通过结构化查询语言(structured query language,SQL)的方式找出来。SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL也被称为“数据检索语句”,用以从表中获得数据,然后要求客户在业务系统修正之后抽取。而日期格式不正确或日期越界会导致ETL(extrag transform-load)运行失败。ETL是用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。这一类错误需要去业务系统数据库用SQL的方式挑出来,修正之后再抽取。

例如,在计算母猪的泌乳时间时,可以用 DateDiff、DateDiff:SQl server函数,用来决定两个日期之间所指定的时间间隔

语法:DATEDIFF(datepart.startdate,enddate)。

断奶的时间(enddate“2020-05-05”)减去分娩日期(startdate“2020 05-28”),结果出现了负值“-23”,这就表示日期不正确,需要查证。

重复数据

在测定记录母猪断奶背膘厚或配种背膘厚时,对于断奶7d内发情的母猪,这两项数据只需要测定记录一次,如果分开记录,容易导致重复数据,因此需要将重复数据记录的所有字段导出来,重新确认并整理。

数据清洗是一个反复的过程,不可能在几天内完成,只能发现问题即解决问题。对于是否过滤、是否修正,一般要求客户确认;对于被过滤掉的数据应写入Excel文件或者将过滤数据写入数据表。数据清洗需要注意应避免将有用的数据过滤掉,以及应认真验证和确认每个过滤规则。

0 阅读:0

卧枝汇

简介:感谢大家的关注