首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MNAR型缺失值连续变量

MNAR型缺失值连续变量
EN

Data Science用户
提问于 2022-08-04 08:03:42
回答 1查看 25关注 0票数 1

我有连续变量(天气特征),缺少MNAR类型的值(一个不同的分布,有和没有缺失的值)。我了解到,这些变量应该通过添加一个“缺失”类别来转换为分类。在这种情况下,填充case /中位数/模式不是一种选择(虽然我在不同的项目中看到,尽管存在MNAR值,但有些人仍然用均值/中位数来计算它们,这与我所了解的情况相反)。

例如:包含MNAR缺失值的云覆盖特性被转换为具有以下子类的分类特性:“非常高”、“高”、“中等”、“低”、“非常低”、“失踪”

我想检查季节性和趋势(时间序列数据)并将这些特性添加到数据集中,但是当我在转换变量之前检查它时,它只会给出更多缺少值的变量,从而导致同样的MNAR问题。

代码语言:javascript
复制
import statsmodels.api as sm

df.set_index('timestamp', inplace=True)
analysis = df[['cloud_coverage']].dropna().copy()
s = sm.tsa.seasonal_decompose(analysis, period=30)

df['trend_cloud_coverage'] = s.trend
df['seasonal_cloud_coverage'] = s.seasonal
df['residual_cloud_coverage'] = s.resid

所有这3个新特性都包含与cloud_coverage特性中缺失值相对应的缺失值。

在时间序列很重要的情况下,我如何处理丢失的值?

谢谢你们的帮助。

EN

回答 1

Data Science用户

回答已采纳

发布于 2022-08-04 09:08:32

我不知道哪一个是你的具体问题。

不过,我建议您使用KNNImputer。此函数将使用knn算法更改“缺失值”。这意味着它将输入集中在其他类似样本上的值。

要做到这一点,您可能首先要LabelEncoder您的列保持NaN (因为您的值是序号的,所以没有问题)。然后应用KNNImputer。

如果您只想获得没有十进制的输入值,请将邻居的数目设置为1。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/113238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档