【问题标题】:How to imput inhomogeneously missing data如何输入不均匀的缺失数据
【发布时间】:2017-11-23 09:15:11
【问题描述】:

我有一个形状为2701x128 的数据框,它有很多缺失值。问题是有些行可以有 95% 的填充数据,而有些 - 只有 5%。让我试着想象一下:

X 轴是行数(排序后),y 轴是非零值的个数(已排序,类似直方图)

X 轴是列数(排序后),y 轴说明在所有行中有多少非零列(已排序,类似直方图)

我需要:我需要尽可能准确地输入数据,因为这是我需要解决的问题。 问题:我无法使用均值、中位数和其他统计矩对所有内容进行插值,因为它非常粗糙。我也无法创建通常的学习模型,因为缺失数据中没有结构。

您能否建议一些像学习模型一样准确的东西,它可以对分布进行建模,但能够处理完全随机的缺失。因此,显然,主要问题是从这种非结构化未命中创建数据集。我暂时找不到解决方案。

【问题讨论】:

    标签: machine-learning imputation


    【解决方案1】:

    我认为第一个问题是将数据视为行结构 尝试将其视为基于列的

    有一个日本游戏叫数独,我建议你遵循它的策略

    首先,您需要找出最多(但不是 100% 填充的列) 让我们将此称为 B 列 缺失数据的百分比是多少?如果它是一小部分 - 构建一个直方图并查看它的 PDF - 可能是简单的平均值,中位数会解决这个问题吗?

    是否有任何 100% 填充的列?让我们称之为 G 柱 尝试找出是否有任何未完全填充的列与已填充的列密切相关。如果是这样 - 根据这种相关性估算缺失值 - 您可以尝试使用超过 2 个填充列和基本回归

    您甚至可以尝试从一组其他未完全填充的列中恢复 B 列中的部分数据,并通过另一组未完全填充的列恢复其他部分数据,您可以多次这样做

    当然,你会有一种科学怪人怪物——但值得一试,你总是可以根据 CV 评估它的效果有多好

    但这只是一个简短的草图

    【讨论】:

    • 1.我不认为它是行结构的 - 我什至绘制了 2 个图表:一个显示未命中的图表是行,其他的 - 在列中。 2.这些迭代算法很好,实际上,这是我的基线,但从“错误”的角度来看,这不是很好。我的意思是,对于数独来说,它会很好地工作,因为条件是严格确定的,但在数据集中甚至没有一个。因此,如果您插入列/行,则忽略该行/列可能是其他一些行/列的非常接近的邻居,并强制此观察具有一般分布。你能想到这种“贝叶斯”方法吗?
    • 那么为什么不使用贝叶斯方法 - 基于列中的填充数据,您可以有概率类别的连续变量概率在范围内 - 比其他列中的一些数据和可以尝试计算后验概率,从而对整个范围进行计算。或者你可以在 python 中使用来自 sklearn 的朴素贝叶斯
    猜你喜欢
    • 2015-04-20
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 2017-11-22
    • 2021-05-31
    • 2018-06-11
    • 1970-01-01
    • 2017-03-14
    相关资源
    最近更新 更多