2016-07-08 39 views
1

Ich habe 18 Jahre täglich simulierte und beobachtete Daten und ich kann die RMSE mit diesem Code berechnen; sqrt(mean((df$simulated-df$observed)^2 , na.rm = TRUE))So berechnen Sie RMSE auf unterschiedlichen Zeitskalen

Aber ich muss RMSE auf verschiedenen Zeitreihen ganzen Zeitraum berechnen, jährlich, monatlich, wöchentlich und auf saisonaler Zeitskala. Außerdem würde ich gerne Korrelationskoeffizient, Varianz, Bias und Mittelwert durchführen und alle Ergebnisse in eine Datei schreiben.

Jede Hilfe wird geschätzt.

Antwort

1

Sie sollten hydroTSM und hydroGOF Pakete auschecken. Sie sollten alles haben Sie suchen

Beispiel:

# 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

Ja, ich bin mit hydroGOF Paket, möchten Sie Codes teilen? – irfan

+0

@irfan: siehe meine Bearbeitung – Tung

+0

danke, es funktioniert perfekt – irfan

0

Wenn die Skalierung ein Problem darstellt, sollten Sie Ihre Daten vorher standardisieren und normalisieren. Dies kann mit Daten geschehen, indem sie in eine sinnvolle numerische Darstellung kodiert werden.

Sie können die meisten Statistiken aus der angepassten Modellzusammenfassung extrahieren, die Sie mit str() erkunden können. Sie können auch viele nützliche Statistiken einschließlich RMSE aus dem Metrics Paket erhalten.