线性回归模型填补
线性回归模型填补是模型填补的一种,以需要填补的变量为因变量,其他变量为自变量,利用因变量非缺失部分对应的样本来训练模型,然后用模型对缺失部分的数据进行填补。
例如,使用线性回归模型填补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 使用最小二乘法线性拟合函数,对x和y进行拟合,返回拟合系数
A7 取全部数据的向量形式
A9 在全部数据上进行预测
A10 使用预测值,对缺失值进行填补。如图,每个缺失值都用不同的值取填补。