我有一个形状为2701x128
的数据框,它有很多缺失值。问题是某些行可以有95%的填充数据,有些行只有5%。让我试着想象它:
X轴是行数(排序后),y轴是非零值的数量(SORTED,直方图)
X轴是列数(排序后),y轴表示,所有行中有多少非零列(SORTED,类似柱状图)
我需要:我需要尽可能准确地输入数据,因为这是我需要解决的问题。 问题:我无法用手段,中位数和其他统计时刻插入所有内容,因为它非常粗糙。我也无法创建通常的学习模型,因为缺少数据没有结构。
你能否建议像学习模型一样准确的东西,它可以模拟分布,但能够处理完全随机的遗漏。因此,显然,主要问题是从这种非结构化的未命中创建数据集。我目前找不到解决方案。
答案 0 :(得分:2)
我认为第一个问题是将数据视为行结构 尝试将其视为基于列的
有日本游戏叫做数独游戏,我可以建议你遵循它的策略
首先,您需要找出最多(但不是100%填充列) 让我们称之为B柱 丢失数据的百分比是多少?如果它只是一个小部分 - 构建直方图并查看其PDF - 可能是简单的均值和中位数将有效吗?
是否有100%填充色谱柱?让我们称之为G列 试着找出是否有任何非完全填充的列与填充的列密切相关。如果是 - 根据此相关性计算缺失值 - 您可以尝试使用带有基本回归的2个以上填充列
您甚至可以尝试从另一组非完全填充的列中恢复B列中的部分数据,并使用另一组非完全填充的列来恢复其他部分,您可以多次执行此操作
当然你会有一种弗兰肯斯坦怪物 - 但是值得一试,你总能评估基于CV的效果有多好
然而,它只是一个简短的草图