如何选择最佳估算数据以在 r 中进行进一步分析
How to choose best imputed data for further analysis in r
我有一个包含随机缺失值的多元时间序列数据集(将近 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 中使用 mice 包
并决定将哪个估算数据集与 with() 和 pool() 一起使用,但我不想在模型中使用所有这些数据集,而是获取最正确的数据集并将其用于进一步分析。
我怎样才能做到这一点?我怎样才能找到最好的?
否则,你能建议我另一种方法来替代鼠标吗?
非常感谢您
如果时间相关性很强,可以使用 imputets 包进行时间序列插补。
library(imputeTS)
na_kalman(your_dataframe)
包中还包含其他几种方法。对于小鼠,多重插补的全部意义在于拥有多个插补数据集。您将分别对它们中的每一个进行分析。然后你可以比较结果。由于插补总是会带来一些不确定性(因为您丢失的数据替换只是估计)。这种技术使您能够对不确定性进行建模/感受。
如果您不想进行多重分析并进行单一插补,您可以使用这些数据集中的任何一个,它们同样 valid/there 不是最好的。
或者您也可以使用像 misssForest 这样的单一插补包。
我有一个包含随机缺失值的多元时间序列数据集(将近 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 中使用 mice 包 并决定将哪个估算数据集与 with() 和 pool() 一起使用,但我不想在模型中使用所有这些数据集,而是获取最正确的数据集并将其用于进一步分析。 我怎样才能做到这一点?我怎样才能找到最好的?
否则,你能建议我另一种方法来替代鼠标吗?
非常感谢您
如果时间相关性很强,可以使用 imputets 包进行时间序列插补。
library(imputeTS)
na_kalman(your_dataframe)
包中还包含其他几种方法。对于小鼠,多重插补的全部意义在于拥有多个插补数据集。您将分别对它们中的每一个进行分析。然后你可以比较结果。由于插补总是会带来一些不确定性(因为您丢失的数据替换只是估计)。这种技术使您能够对不确定性进行建模/感受。
如果您不想进行多重分析并进行单一插补,您可以使用这些数据集中的任何一个,它们同样 valid/there 不是最好的。
或者您也可以使用像 misssForest 这样的单一插补包。