我是做医学相关的预测模型,收集到的数据有很多缺失值,比如像白蛋白、血钠、血磷等等这些数据,看到有很多缺失值填补方法是,匀称分布的用的是均值,非匀称分布的是中位数。但是用这样填补的数据,做模型效果会不会不太好啊?有没有其他的方式呢?
1.如果这是一个时间序列下的数据值你可以考虑,用LSTM等时间序列算法模型去拟合求值,最简单的也可以是多元线性回归方程拟合也行
2.如果是一个个独立数据,分两种情况1.一条数据只有白蛋白、血钠、血磷等一个字段缺失,那就做一个预测模型通过其他属性值拟合出这个值得大致结果简单地有BP神经网络这些用一下。2.当存在多个值缺失,选择比如 abcd等有很多字段都有的数据,用1的方法补充;其次完成后再去补充第二个字段依次类推。
虽然有误差,但相对来说会准确很多,毕竟神经网络那么多参数下拟合的结果肯定是比均值中位数来的靠谱。
3.可以考虑降维一下(因子分析等方法)再聚类,在一个簇里的数据求个均值赋值给空值的字段会更合理