问题标签 [imputation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
312 浏览

r - 如何使用分类值估算连续值

我在连续向量中有缺失值

我有邮政编码

我想使用邮政编码来估算 y。我努力了

但是我收到错误消息,表明它不能做交叉产品(由于我的 rstudio 会话挂起,所以无法发布特定消息)。

关于如何用鼠标或其他包做到这一点的任何想法?


编辑:dput部分数据

0 投票
1 回答
575 浏览

r - 将插补数据与 R 中的 MICE 相乘后的列联表

在使用MICE包在 R 中进行插补后,我想生成列联表。拟合显示列表中的表格,但如果我 pool()是它们,则会引发以下错误:Error in pool(fit) : Object has no coef() method.我在做什么错?

这个基本示例重现了错误:

0 投票
1 回答
278 浏览

r - 使用缺失数据前后的观察对纵向数据进行插补

我正在清理一些纵向数据,我有几个丢失的案例。我正在尝试使用一种插补,该插补结合了缺失案例之前和之后的观察结果。我想知道如何解决下面详述的问题。

我一直试图将问题分解为更小、更易于管理的操作和对象,但是,我不断逼迫我使用基于缺失值上方和下方的行的条件格式的解决方案,坦率地说,我我对如何做到这一点有点茫然。如果您认为您知道我可以使用、试验的一种好技术,或者如果您知道我在查找解决方案时可以使用的任何好的搜索词,我希望得到一些指导。

详情如下:

*粗体字符代表上述数据集的变化

这里的目标是找到一种方法来获取 ID #1(变量 ss)的 NA 值之前 (3) 和之后 (0) 的值的平均值,以便数据看起来像这样:
1,3,2,3 , 1.5 ,0,0,

ID# 2(变量 ss)应如下所示:
2,4,0, 0 ,0,0,0

ID # 3(变量 ss)应该使用最后的观察结转方法,所以它需要看起来像这样:
4,1,2,4,2,3,3

ID #4(变量 ss)有两个连续的 NA 值,不应更改。稍后将在我的项目中标记它以进行不同的分析。所以,它应该是这样的:
2,1,0,NA,NA,0,0(没有变化)。

0 投票
0 回答
68 浏览

r - 将一组缺失函数应用于 R 中的数据集

最近我遇到了R 中的validate包,当您想使用预定义的规则验证完整的数据集时,它非常有用,例如:

现在我想知道是否有类似的东西可用于缺失值插补。有像micemi等非常好的包,但是插补方法是标准的,不是用户定义的或自定义的。任何人都可以建议是否有设置一些预定义的缺失函数并将它们应用于 R data.frame。可以像这样工作的东西:

0 投票
1 回答
9905 浏览

python - Pyspark 数据框插补——根据指定条件用列平均值替换未知和缺失值

给定一个 Spark 数据框,我想根据该列的非缺失值和非未知值计算列均值。然后我想取这个平均值并用它来替换列的缺失和未知值。

例如,假设我正在使用:

  • 名为 df 的数据框,其中每条记录代表一个人,所有列都是整数或数字
  • 名为年龄的列(每条记录的年龄)
  • 名为 missing_age 的列(如果该人没有年龄,则等于 1,否则为 0)
  • 名为 unknown_age 的列(如果该个人年龄未知,则等于 1,否则为 0)

然后我可以计算这个平均值,如下所示。

或通过 SQL 和 windows 函数,

如果可以的话,我不想使用 SQL/Windows函数我的挑战是采用这种平均值并使用非 SQL 方法用它替换未知/缺失值。

我尝试过使用 when()、where()、replace()、withColumn、UDF 和组合...无论我做什么,我要么得到错误,要么结果不是我所期望的。这是我尝试过但不起作用的许多事情之一的示例。

我已经搜索了网络,但没有找到类似的插补类型问题,因此非常感谢任何帮助。这可能是我错过的非常简单的事情。

附注 - 我正在尝试将此代码应用于 Spark Dataframe 中列名中没有 unknown_ 或 missing_ 的所有列。我可以将 Spark 相关代码包装在 Python 的“for 循环”中并遍历所有适用的列来执行此操作吗?

更新:

还想出了如何遍历列...这是一个示例。

0 投票
1 回答
321 浏览

pandas - Select important features then impute or first impute then select important features?

I have a dataset with lots of features (mostly categorical features(Yes/No)) and lots of missing values.

One of the techniques for dimensionality reduction is to generate a large and carefully constructed set of trees against a target attribute and then use each attribute’s usage statistics to find the most informative subset of features. That is basically we can generate a large set of very shallow trees, with each tree being trained on a small fraction of the total number of attributes. If an attribute is often selected as best split, it is most likely an informative feature to retain.

I am also using an imputer to fill the missing values.

My doubt is what should be the order to the above two. Which of the above two (dimensionality reduction and imputation) to do first and why?

0 投票
2 回答
192 浏览

r - 在R中的一天序列中输入缺失的天数

我在使用 R 在数据框中输入缺失的观测值时遇到问题,下面是数据框的快照:

数据框示例

在此处输入图像描述

我实际上有 66 个不同的区,21 天,每一天,每个区应该有 144 个时间段。我拥有的当前数据集缺少观测值,例如,对于第 6 天的第 5 区,缺少时间段 132 的观测值。

我想要实现的是将缺失的观察结果包含到原始数据框中以使其完整,但是对于 y1 和 y2 的值​​,我可以将它们设置为 null。我怎样才能用 R 实现这一点?

0 投票
1 回答
1137 浏览

r - 比较 R 包 missForest 和 Hmisc 的性能

当缺失值超过 50% 时,我试图比较 2 个 R 包(missForest 和 Hmisc)在处理缺失值时的性能。

我以这种方式获得了测试数据:

在missForest中,它有mixError()一种方法可以让您将插补精度与原始数据进行比较。

Hmisc 没有mixError()方法,我是用它强大的功能aregImpute()来进行插补的,像这样:

我希望将估算的结果转换为类似的格式missForest_imputed$ximp,以便我可以使用mixError()method. 问题是,在 中aregImpute(),无论我尝试过n.impute = 1还是n.impute = 5

那么,有没有办法比较missForest和Hmisc在处理缺失值方面的表现呢?

0 投票
2 回答
2412 浏览

r - 使用具有聚类数据的小鼠进行插补

所以我使用mice包来估算丢失的数据。我是插补的新手,所以我已经到了一定程度,但遇到了陡峭的学习曲线。举个玩具例子:

如您所见,我主要使用默认设置对 df1 进行了 10 次估算——我很乐意在回归模型、汇总结果等中使用此结果。但是在我的现实生活数据中,我有来自不同国家的调查数据。因此,缺失的程度因国家而异,特定变量的值也不同——即年龄、教育水平等。因此,我想估算缺失,允许按国家/地区进行聚类。所以我将创建一个没有缺失的分组变量(当然在这个玩具示例中,与其他变量的相关性缺失,但在我的真实数据中它们存在)

那么我如何判断mice()这个变量与其他变量不同 - 即它是多级数据集中的一个级别?

0 投票
4 回答
3624 浏览

python - Python - SkLearn Imputer 用法

我有以下问题:我有一个 pandas 数据框,其中缺失值由 string 标记na。我想在它上面运行一个 Imputer 来用列中的平均值替换缺失的值。根据 sklearn 文档,该参数missing_values应该可以帮助我:

missing_values:整数或“NaN”,可选(默认=“NaN”)缺失值的占位符。所有出现的缺失值都将被估算。对于编码为 np.nan 的缺失值,请使用字符串值“NaN”。

在我的理解中,这意味着,如果我写

这意味着 imputer 用na列的平均值替换数据框中的任何内容。但是,相反,我收到一个错误:

我在误解什么?这不是 imputer 应该如何工作的吗?那么,我怎样才能na用平均值替换字符串呢?我应该只使用 lambda 吗?

谢谢!