我有 2012 年到 2016 年的每小时温度数据如下:
> head(htemp)
HH_ID TEMPERATURE YY_ID DD_ID MM_ID
1 201201010000 8.98 2012 20120101 201201
2 201201010100 8.67 2012 20120101 201201
3 201201010200 8.69 2012 20120101 201201
4 201201010300 8.50 2012 20120101 201201
5 201201010400 8.30 2012 20120101 201201
6 201201010500 8.10 2012 20120101 201201
数据中有缺失数据
1. Missing data(NA) on individual hour (on 201209281400, 201209290000...)
2. Missing data on consecutive hours(like no observation(NA) on 201210241700, 201210241800, 201210241900).
3. No observation(NA) on a whole day(20130328).
我想知道如何使用相邻数据对丢失的数据进行插值,即对单个丢失的 HH 数据进行线性插值,并对全天丢失数据采用相邻日期的“典型”模式(使用温度对丢失日期的每个 HH 进行线性插值对应的 HH 在相邻的日子)。
编辑
我想对温度数据进行时间序列分析,比如分解(stl
)、建模(auto.arima
)和预测(forecast
)。它似乎stl
无法处理丢失的数据,所以我认为可能有必要先估算丢失的数据。
我有另一个包含电力需求的数据集,其中没有缺失数据。我还可以使用温度数据作为协变量对需求数据进行建模。
更新
我尝试imp<-mice(htemp)
了我的数据,但出现错误:
iter imp variable
1 1 TEMPERATURE
Error in solve.default(xtx + diag(pen)) :
system is computationally singular: reciprocal condition number = 5.03072e-28