如何计算不同时间尺度的 RMSE
How to calculate RMSE on different time scale
我有 18 年的每日模拟和观察数据,我可以使用此代码计算 RMSE;
sqrt( mean( (df$simulated-df$observed)^2 , na.rm = TRUE ) )
但我必须在整个时间段、每年、每月、每周和季节性时间尺度上计算不同时间序列的 RMSE。
此外,我想计算相关系数、方差、偏差和均值,并将所有结果放在一个文件中。
如有任何帮助,我们将不胜感激。
如果缩放是一个问题,那么建议您事先对数据进行标准化和规范化。这可以通过将日期编码成有意义的数字表示来完成。
您可以从拟合模型的摘要中提取所需的大部分统计数据,您可以使用 str()
对其进行探索。您还可以从 Metrics
包中获得很多有用的统计数据,包括 RMSE。
您应该签出 hydroTSM
和 hydroGOF
包。他们应该有你要找的一切
示例:
# Getting the new numeric goodness-of-fit measures
gof(sim = Simulated, obs = Observed)
# Plot 'obs' vs 'sim' for the daily,
# monthly and annual time series
ggof(sim = Simulated, obs = Observed, ylab = "Q (ft3/day)",
ftype = "dma", FUN = mean)
ggof(sim = Sim, obs = Obs, ylab = "Q (ft3/day)",
ftype = "seasonal", FUN = mean)
我有 18 年的每日模拟和观察数据,我可以使用此代码计算 RMSE;
sqrt( mean( (df$simulated-df$observed)^2 , na.rm = TRUE ) )
但我必须在整个时间段、每年、每月、每周和季节性时间尺度上计算不同时间序列的 RMSE。 此外,我想计算相关系数、方差、偏差和均值,并将所有结果放在一个文件中。
如有任何帮助,我们将不胜感激。
如果缩放是一个问题,那么建议您事先对数据进行标准化和规范化。这可以通过将日期编码成有意义的数字表示来完成。
您可以从拟合模型的摘要中提取所需的大部分统计数据,您可以使用 str()
对其进行探索。您还可以从 Metrics
包中获得很多有用的统计数据,包括 RMSE。
您应该签出 hydroTSM
和 hydroGOF
包。他们应该有你要找的一切
示例:
# Getting the new numeric goodness-of-fit measures
gof(sim = Simulated, obs = Observed)
# Plot 'obs' vs 'sim' for the daily,
# monthly and annual time series
ggof(sim = Simulated, obs = Observed, ylab = "Q (ft3/day)",
ftype = "dma", FUN = mean)
ggof(sim = Sim, obs = Obs, ylab = "Q (ft3/day)",
ftype = "seasonal", FUN = mean)