2016-07-08 14 views
1

我有18年的每日模拟和观测数据,我可以使用此代码计算RMSE; sqrt(mean((df$simulated-df$observed)^2 , na.rm = TRUE))如何计算不同时间尺度上的RMSE

但我必须计算不同时间序列整个时间段,年度,月度,每周和季节时间尺度上的RMSE。 此外,我想执行相关系数,方差,偏差和均值,并将所有结果放在一个文件中。

任何帮助将不胜感激。

回答

1

您应该结账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) 

Daily, Monthly and Annual timescale simulation vs observation

ggof(sim = Sim, obs = Obs, ylab = "Q (ft3/day)", 
     ftype = "seasonal", FUN = mean) 

Seasonal simulation vs observation

+0

是的,我使用hydroGOF包,你想分享代码? – irfan

+0

@irfan:看我的编辑 – Tung

+0

谢谢你,它的作品完美 – irfan

0

如果缩放是一个问题,那么建议您事先标准化和标准化您的数据。这可以通过将日期编码为有意义的数字表示来完成。

您可以从您的拟合模型摘要中提取大部分的统计数据,您可以使用str()进行探索。您还可以获得很多有用的统计数据,包括Metrics包中的RMSE。