如何计算不同时间尺度的 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。

您应该签出 hydroTSMhydroGOF 包。他们应该有你要找的一切

示例:

    # 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)