1.一种基于KNN的改进缺失数据填补算法,其特征在于包括步骤:
(1)对数据属性进行精简预处理,包括步骤:
设数据集X={X1,X2,…,Xn},n为事例的个数;定义数据集中第i条事例Xi的属性j值为xij,将xij表示为:
xij=k1jxi1+k2jxi2+…ktjxit+…+kmjxim,t≠j
式(1)中,m为Xi的属性总数目,ktj表示属性t对于属性j的权重系数;
定义属性t和属性j之间的相关系数为ptj,ptj的表达式为:
计算权重系数ktj为:
设置阈值A,当满足ktj<A时,删除属性t;
(2)选择缺失事例的邻近样本,包括步骤:
基于步骤(1)精简后的剩余属性数据,分别计算缺失事例各属性之间的马氏距离以及缺失事例与其他事例间的灰色相关系数;根据计算出的马氏距离和灰色相关系数计算邻近样本选择距离:
a∈[1,2,…,n]且a≠i
式中,CRG(xa,xi)表示事例Xa与Xi之间的灰色关联度,Mahal(xaj,xij)表示属性xa与xi之间的马氏距离;
从数据集X中挑选出与缺失事例之间的距离dk满足dk≤Dist(xt,xi)的K个完整事例,k∈[1,2,…,K];
(3)计算缺失事例的填补估计值,包括步骤:
将步骤(2)中选出的K个完整事例形成的数据集记为Y=[y1,y2,…,yk,…,yK]
计算事例yk对应属性的熵权值Ek为:
Ek=-Mpklnpk
根据熵权值Ek计算事例yk的属性权值:
其中,0≤wk≤1,
计算缺失事例的填补估计值为:
2.根据权利要求1所述的一种基于KNN的改进缺失数据填补算法,其特征在于,所述步骤(2)中的马氏距离Mahal(xtj,xij)的计算方法为:
式中,T代表转置矩阵,Σ代表样本协方差。
3.根据权利要求2所述的一种基于KNN的改进缺失数据填补算法,其特征在于,所述步骤(2)中的灰色相关系数的计算方法为:
将所有属性值均量化到区间[0,1],计算事例Xa与事例Xi在属性p上灰色相关系数为:
式中,ρ为调整参数,ρ∈(0,1);q∈[1,2,…,m];
根据GRC(xap,xip)计算事例Xa与事例Xi之间的灰色相关系数为: