【问题标题】:How to choose best imputed data for further analysis in r如何在 r 中选择最佳估算数据进行进一步分析
【发布时间】:2021-11-01 20:17:10
【问题描述】:

我有一个包含随机缺失值的多元时间序列数据集(近 30 年)。

T S po4 si din
9.00000 NA 0.290 5.310 18.51
8.45000 NA 0.130 6.180 14.74
13.60000 36.46000 0.010 0.500 1.86
23.20000 32.12000 0.010 6.580 0.81
26.00000 32.13000 0.070 0.500 0.23
NA 35.41400 0.010 1.670 0.72
24.80000 36.42000 0.000 3.540
24.20000 33.16000 0.110 2.020
22.50000 37.60000 0.040 0.400
16.32000 36.01000 0.020 2.900
17.60000 38.04000 0.010 0.970
9.70000 36.36000 0.120 7.950
13.80000 38.33000 0.010 5.760
7.90000 35.51000 0.060 2.350
11.90000 38.33000 0.030 3.410
24.10000 36.30000 0.020 0.730
25.20000 35.77000 0.020 1.370
24.70000 37.54000 0.330 0.700
5.75000 33.26000 0.120 0.860
13.30000 33.14000 0.000 0.000
13.60000 38.21265 0.000 0.190
15.70000 28.33000 0.040 11.500 41.64

我想填补空白,以便在时间序列分析的内容中尝试不同的技术以保持恒定的频率(我有一个带有缺失值的月度频率)。 我曾尝试在 r 中使用 mouse 包 并决定与 with() 和 pool() 一起使用哪个估算数据集,但我不想在模型中使用所有这些数据集,而是获得最正确的数据集并使用该数据集进行进一步分析。 我怎样才能做到这一点?我怎样才能找到最好的?

否则,您能建议我另一种方法来替代老鼠吗?

非常感谢您

【问题讨论】:

  • 您的意思是从多个估算数据集中“正确一个”数据集还是从不同建模方法中提取多个数据集?如果第一个,没有“正确”的,这正是使用多个数据集进行多重插补的点。
  • 对于时间序列:forecast、tsibble 或 timetk 包。它们包含用于填充时间序列中缺失值的函数。

标签: r time-series missing-data imputation r-mice


【解决方案1】:

如果您有很强的时间相关性,您可以使用 imputets 包进行时间序列插补。

library(imputeTS)
na_kalman(your_dataframe)

包中还包含其他几种方法。至于老鼠,多重插补的重点是有几个插补数据集。您将分别对它们中的每一个执行分析。然后你可以比较结果。由于插补总是伴随着一些不确定性(因为您丢失的数据替换只是估计)。这种技术使您能够对不确定性进行建模/感受。

如果您不想进行多重分析和单一插补,您可以使用这些数据集中的任何一个,它们同样有效/没有最好的。

或者你也可以使用一个单一的插补包,比如misssForest。

【讨论】:

    猜你喜欢
    • 2019-03-31
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    • 2018-02-11
    • 2017-09-14
    • 2015-02-11
    • 2021-02-07
    • 1970-01-01
    相关资源
    最近更新 更多