线性回归模型填补

 

线性回归模型填补是模型填补的一种,以需要填补的变量为因变量,其他变量为自变量,利用因变量非缺失部分对应的样本来训练模型,然后用模型对缺失部分的数据进行填补。

例如,使用线性回归模型填补titanic_impute.csv中的Age变量

在这里我们使用linefit()函数来建立线性回归模型


A
1 =file("D://titanic_impute.csv").import@qtc()
2 =A1.select(Age!=null)
3 =A2.array().to(2:)
4 =A3.(~(4))
5 =A3.(~.delete([4,8]))
6 =linefit(A5,A4)
7 =A1.array().to(2:)
8 =A7.(~.delete([4,8]))
9 =mul(A8,A6).conj()
10 =A1.run(Age=if(Age==null,A9(#),Age))

A2 选取变量Age非缺失的样本

A3 数据转化为向量形式,并去掉标题

A4 Age的值作为y

A5 取需要的自变量x

A6 使用最小二乘法线性拟合函数,对xy进行拟合,返回拟合系数

A7 取全部数据的向量形式

A9 在全部数据上进行预测

A10 使用预测值,对缺失值进行填补。如图,每个缺失值都用不同的值取填补。

..