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)

Arguments

Data

Meetgegevens van één boomsoort-domeincombinatie (dataframe zoals de dataframes die in de list teruggegeven worden door de functie initiatie())

Typemodel

"Basis" of "Lokaal"?

BMS

Boomsoort

Value

Dataframe met RMSE_domein (rmseD), RMSE_Vlaams (rmseVL, niet voor lokaal model) en maxResid

Examples

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>