Deze functie berekent de RMSE door cross-validatie op basis van 6 subsets.
Deze functie kan ook gebruikt worden voor het lokaal model (ze bepaalt het
verschil tussen de datasets op basis van het al dan niet aanwezig zijn van
een veld DOMEIN_ID
in de dataset). Opgelet! In tegenstelling tot de
meeste functies van dit package werkt deze functie op basis van de
meetgegevens van 1 model.
Zie voorbeelden voor een methode om deze functie te kunnen
toepassen vertrekkend van meetgegevens (bv. Data.lokaal
) of vertrekkend van
een model waar de meetgegevens uit gehaald kunnen worden (bv. Basismodel
).
Deze functie berekent de RMSE op basis van testgroepen en omvat de volgende deelstappen:
metingen opdelen in 6 testgroepen (veld testgroep)
modellen fitten voor testgroepen, waarbij ze de functie fit.basis()
6 keer oproept
RMSE berekenen voor domeinmodellen en Vlaams model op basis van de gemeten waarden en schattingen voor de testgroepen
rmse.basis(Data, Typemodel, BMS)
Meetgegevens van één boomsoort-domeincombinatie (dataframe
zoals de dataframes die in de list teruggegeven worden door de functie
initiatie()
)
"Basis" of "Lokaal"?
Boomsoort
Dataframe met RMSE_domein (rmseD
), RMSE_Vlaams (rmseVL
, niet voor
lokaal model) en maxResid
library(dplyr)
#Dataset inladen voor het basismodel
Data <- testdataset()
Datalijst <- initiatie(Data)
Data.basis <- Datalijst[["Basis"]]
#De RMSE berekenen voor een basismodel op basis van de dataset
Data.basis %>%
group_by(
BMS
) %>%
do(
rmse.basis(., "Basis", .data$BMS)
) %>%
ungroup()
#> # A tibble: 6 × 11
#> BMS DOMEIN_ID nBomen nBomenOmtrek05 nBomenInterval nBomenIntervalOmtrek05
#> <chr> <chr> <int> <int> <int> <int>
#> 1 testboom A 200 168 200 168
#> 2 testboom B 100 82 100 82
#> 3 testboom C 500 426 500 426
#> 4 testboom D 100 91 100 91
#> 5 testboom E 100 87 99 86
#> 6 testboom F 100 83 100 83
#> # ℹ 5 more variables: Q5k <dbl>, Q95k <dbl>, rmseD <dbl>, rmseVL <dbl>,
#> # maxResid <dbl>
#Dataset inladen voor het lokaal model
Data.lokaal <- Data.basis %>%
filter(DOMEIN_ID == "A")
#De rmse berekenen voor een lokaal model
Data.lokaal %>%
group_by(
BMS,
DOMEIN_ID
) %>%
do(
rmse.basis(., "Lokaal", .data$BMS)
) %>%
ungroup()
#> # A tibble: 1 × 10
#> BMS DOMEIN_ID nBomen nBomenOmtrek05 nBomenInterval nBomenIntervalOmtrek05
#> <chr> <chr> <int> <int> <int> <int>
#> 1 testboom A 200 168 200 168
#> # ℹ 4 more variables: Q5k <dbl>, Q95k <dbl>, rmseD <dbl>, maxResid <dbl>