Skip to contents

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

Usage

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            176            200                    176
#> 2 testboom B            100             90            100                     90
#> 3 testboom C            500            436            500                    436
#> 4 testboom D            100             89            100                     89
#> 5 testboom E            100             95             96                     95
#> 6 testboom F            100             84            100                     84
#> # ℹ 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            176            200                    176
#> # ℹ 4 more variables: Q5k <dbl>, Q95k <dbl>, rmseD <dbl>, maxResid <dbl>