2016-07-08 1 views
1

У меня есть 18 лет ежедневно смоделированные и наблюдаемые данные, и я могу рассчитать RMSE с помощью этого кода; sqrt(mean((df$simulated-df$observed)^2 , na.rm = TRUE))Как рассчитать RMSE по разному временному шкале

Но мне нужно рассчитать RMSE по разным временным рядам весь период времени, ежегодно, ежемесячно, еженедельно и по сезонной шкале времени. Кроме того, я хотел бы выполнить коэффициент корреляции, дисперсию, смещение и среднее значение и поместить весь результат в один файл.

Любая помощь будет оценена по достоинству.

ответ

1

Оформить заказ 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) 

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(). Вы также можете получить много полезной статистики, включая RMSE из пакета Metrics.

Смежные вопросы