NHANES voorbeeld

Aangezien een predictie-interval een verbeterde versie is van een referentie-interval bij ongekend populatie gemiddelde en de standaardafwijking, kunnen we a.d.h.v. de lm(.) functie referentie-intervallen beter vervangen door predictie-intervallen. Het PI zal eveneens de onzekerheid meenemen op de parameterschattingen (gemiddelde en standard error).

library(NHANES)
fem <- NHANES %>%
  filter(Gender=="female"&!is.na(DirectChol))

2^(
  fem %>%
  pull(DirectChol) %>%
  log2 %>%
  mean +
    c(-1,1) *
    qnorm(0.975) *
    (fem %>%
      pull(DirectChol) %>%
      log2 %>%
      sd)
  )
## [1] 0.8361311 2.4397130
lmChol <- lm(DirectChol %>% log2 ~ 1, data=fem)
predInt <- predict(
  lmChol,
  interval="prediction",
  newdata=data.frame(noPred=1)
  )
round(2^predInt,2)
##    fit  lwr  upr
## 1 1.43 0.84 2.44

Merk op dat het voorspellingsinterval bijna gelijk is aan het referentie-interval voor de grote steekproef. We konden de parameters inderdaad heel precies schatten.

We zullen hetzelfde doen voor een kleine steekproef van 10 patiƫnten.

set.seed(1)
fem10 <- NHANES %>%
  filter(Gender=="female"&!is.na(DirectChol)) %>%
  sample_n(size=10)

2^(
  fem10 %>%
    pull(DirectChol) %>%
    log2 %>%
    mean +
      c(-1,1) *
      qnorm(0.975) *
      (fem10 %>%
        pull(DirectChol) %>%
        log2 %>%
        sd)
  )
## [1] 0.8976012 2.2571645

Het referentie-interval is veel smaller dan in de grote steekproef.

lmChol10 <- lm(DirectChol %>% log2 ~ 1, data = fem10)
predInt10 <- predict(
  lmChol10,
  interval = "prediction",
  newdata = data.frame(noPred=1)
  )
round(2^predInt10, 2)
##    fit  lwr  upr
## 1 1.42 0.81 2.49