线性回归模型填补

 

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

例如,使用线性回归模型填补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 使用预测值,对缺失值进行填补。如图,每个缺失值都用不同的值取填补。

..