数据处理
01
数据获取与目标
拿美赛C题为例,20年、21年的数据压缩前分别为4.6MB和662.8MB,由此可见美赛的C题对于数据量的要求更高了,除此之外,若我们需要额外的数据集,则需从4中找到合适的网站进行搜索。
拿到数据后,一般都是csv或excel文件,我们通常使用python的pandas库进行数据预处理,具体内容包含原始数据的异常值检测、残缺值处理以及特征选择与处理。
1.2 目标
根据题意,我们需要把题目需求抽象成一个合适的数学模型,可能涉及分类、聚类、拟合、预测、评估、优化等方面。为此我们设定一个大方向,然后以流程图的形式绘制出发散性的树形图(即各个小目标),从而完善我们的整个模型框架,从各个小目标中分别对数据进行处理,处理流程如下所示。
02
原始数据的残缺值处理与异常值检测
2.1 残缺值处理
2.1.1 邻近替换【matlab的fillmissing方法】
前/后一个非缺失值将其替换
最近的非缺失值替换
相邻的非离群值线性插值填充
test_data1=fillmissing(test_data,'previous');
test_data1=fillmissing(test_data,'next');
test_data1=fillmissing(test_data,'nearest');
test_data1=fillmissing(test_data,'linear');
2.1.2 插值法填充
2.1.2.1 分段三次Hermite插值法
% x为已知样本点的横坐标,y是已知样本点的纵坐