首页 > 编程语言 >如何应对缺失值带来的分布变化?探索填充缺失值的最佳插补算法

如何应对缺失值带来的分布变化?探索填充缺失值的最佳插补算法

时间:2024-06-10 12:22:16浏览次数:20  
标签:变量 填充 插补 分布 观察 缺失 向量

本文将探讨了缺失值插补的不同方法,并比较了它们在复原数据真实分布方面的效果,处理插补是一个不确定性的问题,尤其是在样本量较小或数据复杂性高时的挑战,应选择能够适应数据分布变化并准确插补缺失值的方法。

我们假设存在一个潜在的分布P,从中得出观察值X。此外,还绘制了一个与X相同维数的0/1向量,我们称这个向量为M,实际观测到的数据向量X被M掩码为X。我们观测到联合向量(X,M)的n个独立同分布(i.i.d)副本。如果我们把它写成一个数据矩阵,它可能看起来像这样:

较小的x,m表示“观察到的”,而较大的值则表示随机数量。大家讨论的缺失机制就是对(X*,M)的关系或联合分布的假设:

完全随机缺失(MCAR):一个值丢失的概率就像抛硬币一样,与数据集中的任何变量无关。缺失值只是一件麻烦事。你可以忽略它们,只关注数据集中完全观察到的部分,这样就不会有偏差。在数学中,对于所有m和x:

随机缺失(MAR):缺失的概率现在可以依赖于数据集中观察到的变量。一个典型的例子是两个变量,比如收入和年龄,其中年龄总是被观察到,但收入可能会因为年龄的某些值而丢失。这可能听起来很合理,但这里可能会变得复杂。在数学中,对于所有m和x:

非随机缺失(MNAR):这里一切皆有可能,我们不能笼统地概括。但是最终我们需要学习给定一个模式m '中观测值的缺失值的条件分布,以便在另一个模式m中推算。

实现这一点的著名的方法称为链式方程多重插补(Multiple Imputation by Chained Equations, MICE):首先使用简单的插补方法填充值,例如均值插补。然后对于每一次迭代t,对每一个变量j,根据所有其他已插补的变量进行回归分析(这些变量已被插补)。然后将这些变量的值填入已学习的插补器中,用于所有未观察到的X_j。在R语言中,可以方便地使用mice包来实现。我这种方法在实际应用中效果非常好,MICE中重现某些实例的底层分布的能力非常惊人。我们下面会用一个非常简单的例子(只有一个变量缺失,因此我们可以手动编码),模拟MICE通常会迭代执行的过程,以更好地了解他的工作原理。

 

https://avoid.overfit.cn/post/9f66c5f8cd204ed685af0744b935ddd5

标签:变量,填充,插补,分布,观察,缺失,向量
From: https://www.cnblogs.com/deephub/p/18240570

相关文章

  • AI论文速读 | 2024[KDD]GinAR—变量缺失端到端多元时序预测
    题目:GinAR:AnEnd-To-EndMultivariateTimeSeriesForecastingModelSuitableforVariableMissing作者:ChengqingYu(余澄庆),FeiWang(王飞),ZezhiShao(邵泽志),TangwenQian,ZhaoZhang,WeiWei(魏巍),YongjunXu(徐勇军)机构:中科院计算所,华中科技大学arXiv网址:https......
  • 苍穹外卖笔记-06-菜品管理-菜品分类,公共字段填充
    菜品分类1菜品分类模块1.1需求分析与设计1.1.1产品原型1.1.2接口设计1.1.3表设计1.3代码实现1.4测试分类分页查询启用禁用分类修改分类信息新增菜品分类删除菜品分类2公共字段自动填充2.1问题分析2.2实现思路自定义注解AutoFill自定义切面AutoFillAspectMap......
  • 爱剪辑升级后遇困:mfc140u.dll文件缺失怎么办?
    在享受视频编辑的乐趣时,爱剪辑作为一款广受欢迎的视频编辑软件,其每一次更新都牵动着众多用户的心。然而,近期部分用户在兴奋地升级到最新版本后,却遇到了一个棘手的问题——系统提示缺少“mfc140u.dll”文件,导致软件无法正常启动。这一突如其来的错误让不少视频创作爱好者措手不......
  • 在 Excel 中使用 Python 自动填充公式
    安转Python包的国内镜像源清华大学https://pypi.tuna.tsinghua.edu.cn/simple阿里云https://mirrors.aliyun.com/pypi/simple/豆瓣https://pypi.douban.com/simple/百度云https://mirror.baidu.com/pypi/simple/中科大https://pypi.mirrors.ustc.edu.cn/simpl......
  • 如何在Ant-Design-Vue中实现动态表头并填充数据
    在现代前端开发中,基于Vue.js的AntDesignVue已经成为许多开发者构建高质量用户界面的首选工具之一。它提供了一整套丰富的UI组件,其中的Table组件广泛应用于数据展示和操作。本文将深入探讨如何在AntDesignVue中实现动态表头并填充数据,以满足复杂多变的业务需求。一、引言......
  • Ant Design Vue 动态表头并填充数据
    AntDesignVue动态表头并填充数据AntDesignVue是基于AntDesign的Vue版本,它为Vue.js提供了一套高质量的UI组件库。在本文中,我们将介绍如何使用AntDesignVue创建一个动态表头并填充数据。首先,确保你已经安装了AntDesignVue。如果还没有安装,可以通过以下命......
  • 解决canvas上fillText填充后用clearRect清除失效,文字重叠问题
    最初写的demo:如下图: 文字内容未被清除掉,出现了重叠的问题,尝试了网上说的ctx.save(),ctx.restore(),beginPath()等方法都不好用,后来经过一番查找,终于解决了:改写如下: 在这里需要主要的点就是fillText的方法里参数表示的真正含义: 默认情况下,文本基线是位于文字底部,所......
  • android viewbinding 自动填充工具
    `importandroid.content.Contextimportandroid.view.LayoutInflaterimportandroidx.lifecycle.*importandroidx.viewbinding.ViewBindingimportjava.lang.reflect.ParameterizedType/**查找某个类找到带有指定泛型的具体类/fungetGenericSuperclass(clazz:Class<......
  • LeetCode-2887. 填充缺失值
    2887.填充缺失值DataFrameproducts+-------------+--------+|ColumnName|Type|+-------------+--------+|name|object||quantity|int||price|int|+-------------+--------+编写一个解决方案,在quantity列中将缺失的值填充为0。返回......
  • Leetcode-2028. 找出缺失的观测数据
    2028.找出缺失的观测数据现有一份n+m次投掷单个六面骰子的观测数据,骰子的每个面从1到6编号。观测数据中缺失了n份,你手上只拿到剩余m次投掷的数据。幸好你有之前计算过的这n+m次投掷数据的平均值。给你一个长度为m的整数数组rolls,其中rolls[i]是第i......