我使用Keras和R来解决我的校准问题。我有一个低成本测量装置的原始温度时间序列数据,它与高成本设备的参考测量有很强的线性关系。然而,低成本设备的测量并不像高成本设备的测量那样精确。因此,考虑到采用LSTM的高成本器件的基准测量,我想对低成本器件的原始测量进行校准。
最近我买了“深度学习与R,第二版”来阅读书中的例子,以便更好地了解深度学习。LSTM也在那里被引入,但是他们用它来预测温度。我只想校准,而不是预测。
我作为基础使用的预测示例和源代码可以在这里找到:https://github.com/t-kalinowski/deep-learning-with-R-2nd-edition-code/blob/main/ch10.R
基本上,他们准备输入的数据是为了解决他们的预测问题:
sampling_rate <- 6 # keeping only one measurement per hour
sequence_length <- 120 # look back time (observations)
delay <-g # forecast targets (24 hours)
batch_size <- 256
df_to_inputs_and_targets <- function(df) {
inputs <- df[input_data_colnames] %>%
normalize_input_data() %>%
as.matrix()
targets <- as.array(df我使用Keras和R来解决我的校准问题。我有一个低成本测量装置的原始温度时间序列数据,它与高成本设备的参考测量有很强的线性关系。然而,低成本设备的测量并不像高成本设备的测量那样精确。因此,考虑到采用LSTM的高成本器件的基准测量,我想对低成本器件的原始测量进行校准。最近我买了“深度学习与R,第二版”来阅读书中的例子,以便更好地了解深度学习。LSTM也在那里被引入,但是他们用它来预测温度。我只想校准,而不是预测。我作为基础使用的预测示例和源代码可以在这里找到:https://github.com/t-kalinowski/deep-learning-with-R-2nd-edition-code/blob/main/ch10.R基本上,他们准备输入的数据是为了解决他们的预测问题:T (degC)`)
list(
head(inputs, -delay),
tail(targets, -delay)
)
}
make_dataset <- function(df) {
c(inputs, targets) %<-% df_to_inputs_and_targets(df)
timeseries_dataset_from_array(
inputs, targets,
sampling_rate = sampling_rate,
sequence_length = sequence_length,
shuffle = TRUE,
batch_size = batch_size
)
}
train_dataset <- make_dataset(train_df)
val_dataset <- make_dataset(val_df)
test_dataset <- make_dataset(test_df)因为我不想预测,但校准,我想,没有必要延迟,如以前的代码?在我的例子中,目标必须是参考度量序列中的最后一个元素。我相应地更改了参数值:
sampling_rate <- 1 # keep all measurements
sequence_length <- 120 # look back time (observations)
delay <- sampling_rate * (sequence_length) - 1 # calibration target (last element of sequence)
batch_size <- 256我是否有正确的想法,通过参数的变化,如果没有,请纠正我。谢谢!
PS。据我所见,当使用低成本传感器时,LSTM似乎完全被用作一种预测方法。所以我觉得我不能用我想用的方式来使用它。
https://datascience.stackexchange.com/questions/112632
复制相似问题