Hoofdstuk 7 Method Comparison Regression
Het R packge mcr kan gebruikt worden om twee meetmethoden te vergelijken met regressie-analyse (Potapov et al., 2024a, 2024b). Sommige regressie methoden in dit package houden rekening met meetfouten in de predictor en zijn dus geschikt om de functionele relatie tussen \(Y\) en \(X\) te schatten. De methoden uit dit package hebben geen substudie nodig (geen herhaalde metingen van de predictor). Covariaten kunnen niet in rekening gebracht worden in de modellen van het mcr package. Predicties voor het gebruik in transferfuncties zijn niet mogelijk: in de praktijk beschikt men enkel over de metingen met meetfout dus de functionele relatie kan niet gebruikt worden om predicties te doen. Dit zijn pure line-fitting methoden. Misschien zijn er varianten van deze modellen die meer van toepassing zijn voor SoilHarmony?
# ter vergelijking met de mcr-methoden printen we nog eens de relatie
# Y vs. X:
(lm(pHH2O ~ pHCa, data = data_wosis_pH))##
## Call:
## lm(formula = pHH2O ~ pHCa, data = data_wosis_pH)
##
## Coefficients:
## (Intercept) pHCa
## 1.0425 0.9118
##
## Call:
## lm(formula = pHH2O ~ pHCa_obs, data = data_wosis_pH)
##
## Coefficients:
## (Intercept) pHCa_obs
## 1.7455 0.7957
7.1 Deming regressie (total least-squares)
Deming regressie gebruikt het criterium van total least-squares om een regressie-lijn te fitten (som van de error in de x- en y-richting tov de fit) en meestal wordt er een gelijk gewicht gegeven aan de x- en y-variabele (error.ratio = 1). Dit is equivalent aan een principal-component analyse. Uit de analyse blijkt dat de slope (\(\hat{\beta}_X\)) al dichter licht bij de echte waarde dan zonder rekening te houden met de meetfout op \(X\), maar dat het 95%CI de echte waarde nog niet omvat.
mcr1 <- mcreg(data_train$pHCa_obs, data_train$pHH2O,
method.reg = "Deming", error.ratio = 1,
method.ci = "analytical")
summary(mcr1)##
##
## ------------------------------------------
##
## Reference method: Method1
## Test method: Method2
## Number of data points: 34873
##
## ------------------------------------------
##
## The confidence intervals are calculated with analytical method.
## Confidence level: 95%
## Error ratio: 1
##
## ------------------------------------------
##
## DEMING REGRESSION FIT:
##
## EST SE LCI UCI
## Intercept 1.3611233 0.012695777 1.3362392 1.3860074
## Slope 0.8590822 0.002031395 0.8551006 0.8630638
## NULL
Predicties maken met mcr modellen blijkt niet mogelijk:
## Error in `UseMethod()`:
## ! no applicable method for 'predict' applied to an object of class "c('MCResultAnalytical', 'MCResult')"
7.2 Theil-Sen regressie
Theil-Sen regressie is een robuuste versie van lineaire regressie. De meetfouten in de predictor worden hier niet in rekening genomen, waardoor de slope coëfficiënt niet veel verschilt van de naïeve schatting hierboven.
mcr2 <- mcreg(data_train$pHCa_obs, data_train$pHH2O,
method.reg = "TS",
method.ci = "analytical")
summary(mcr2)##
##
## ------------------------------------------
##
## Reference method: Method1
## Test method: Method2
## Number of data points: 34873
##
## ------------------------------------------
##
## The confidence intervals are calculated with analytical method.
## Confidence level: 95%
##
##
## ------------------------------------------
##
## THEIL-SEN REGRESSION FIT:
##
## EST SE LCI UCI
## Intercept 1.7419360 0.011892037 1.7186273 1.7652448
## Slope 0.7968699 0.001827517 0.7932879 0.8004519
## NULL
7.3 Passing-Bablok regressie
Passing-Bablok regressie is robuust en houdt rekening met meetfouten in de predictor. Passing-Bablok regressie is een robuuste niet-parametrische methode gebaseerd op de paarsgewijze slopes tussen twee observaties.
mcr3 <- mcreg(data_train$pHCa_obs, data_train$pHH2O,
method.reg = "PaBaLarge",
method.ci = "analytical")
summary(mcr3)##
##
## ------------------------------------------
##
## Reference method: Method1
## Test method: Method2
## Number of data points: 34873
##
## ------------------------------------------
##
## The confidence intervals are calculated with analytical method.
## Confidence level: 95%
##
##
## ------------------------------------------
##
## PASSING-BABLOK REGRESSION FIT:
##
## EST SE LCI UCI
## Intercept 1.3503843 NA 1.3266628 1.3746270
## Slope 0.8614642 NA 0.8575476 0.8654015
## NULL
7.4 Equivariante Passing-Bablok regressie
Equivariante Passing-Bablok regressie is robuust en houdt rekening met meetfouten in de predictor.
mcr4 <- mcreg(data_train$pHCa_obs, data_train$pHH2O,
method.reg = "PBequi",
method.ci = "analytical")
summary(mcr4)##
##
## ------------------------------------------
##
## Reference method: Method1
## Test method: Method2
## Number of data points: 34873
##
## ------------------------------------------
##
## The confidence intervals are calculated with analytical method.
## Confidence level: 95%
##
##
## ------------------------------------------
##
## EQUIVARIANT PASSING-BABLOK REGRESSION FIT:
##
## EST SE LCI UCI
## Intercept 1.3173496 0.012505187 1.292839 1.3418601
## Slope 0.8669213 0.001939964 0.863119 0.8707237
## NULL