11  Verschillen in variabiliteit

Keywords

samenwerken, betrouwbaarheidsinterval, effect size, open onderwijsbron, open studiebeurs, open wetenschap

Soms willen onderzoekers de variaties tussen twee condities of groepen vergelijken in plaats van het gemiddelde. Twee veelgebruikte methoden zijn de natuurlijke logaritme van de variabiliteitsratio (\(lnVR\)) en de variantiecoëfficiëntratio (\(lnCVR\)). Deze laatste kan nuttig zijn als er een gemiddelde-variantieverhouding aanwezig kan zijn (d.w.z. varianties neigen toe te nemen met gemiddelde waarden) om hiermee rekening te houden. Een lnVR of lnCVR van nul zou daarom duiden op geen verschil in variatie tussen de twee groepen, een lnVR of lnCVR van >0 zou duiden op grotere variantie in groep 1, en een lnVR of lnCVR van <0 zou duiden op grotere variantie in groep 2. Er zijn zowel onafhankelijke als afhankelijke versies van deze effectgroottes (zie Senior, Viechtbauer, and Nakagawa 2020). Om betrouwbaarheidsintervallen van een lnVR of lnCVR te verkrijgen, bijvoorbeeld 95% betrouwbaarheidsintervallen, vermenigvuldigen we simpelweg de standaardfout voor de parameter met 1,96, net als bij andere effectgrootte statistieken,

\[ CI_{lnVR/lnCVR}=lnVR \pm 1.96\cdot SE_{lnVR/lnCVR} \]

Hier is een tabel voor elke effect size besproken in dit hoofdstuk:

Type Beschrijving Sectie
Variabilitijdratio’s (VR) Section 11.1
\(lnVR_\text{ind}\) - Natuurlijke logaritme van variabiliteitsratio voor onafhankelijke groepen Gebruikt om de standaarddeviaties (d.w.z. de variabiliteit) tussen twee groepen te vergelijken. Section 11.1.1
\(lnVR_\text{dep}\) - Natuurlijke logaritme van variabiliteitsratio voor afhankelijke groepen Gebruikt om de standaarddeviaties (d.w.z. de variabiliteit) tussen gepaarde groepen te vergelijken (d.w.z. herhaalde metingen). Section 11.1.2
Coëfficient van Variatie Ratio’s (CVR) Section 11.2
\(lnCVR_\text{ind}\) - Natuurlijke logaritme van variatiecoëfficiëntverhouding voor onafhankelijke groepen Wordt gebruikt om de variatie tussen twee groepen te vergelijken. Nuttiger dan een variatiecoëfficiënt (\(lnVR_text{ind}\)) als er een verband is tussen het gemiddelde en de variantie. Section 11.2.1
\(lnCVR_\text{dep}\) - Natuurlijke logaritme van variatiecoëfficiëntverhouding voor afhankelijke groepen Wordt gebruikt om de variatie tussen gepaarde groepen te vergelijken (d.w.z. herhaalde metingen). Nuttiger dan een variatiecoëfficiënt (\(lnVR_text{dep}\)) als er een verband is tussen het gemiddelde en de variantie. Section 11.2.1

11.1 Verhoudingen variabiliteit

11.1.1 Natuurlijke logaritme van de variabiliteitsratio voor onafhankelijke groepen (\(lnVR_\text{ind}\))

De variabiliteitsratio voor onafhankelijke groepen kan worden berekend door de natuurlijke logaritme te nemen van de standaardafwijking binnen één groep gedeeld door de standaardafwijking in een andere groep,

\[ lnVR_\text{ind}=\ln\left(\frac{S_T}{S_C}\right) + CF \]

Waarbij \(CF\) een kleine steekproefcorrectiefactor is, berekend als,

\[ CF=\frac{1}{2(n_T-1)}-\frac{1}{2(n_C-1)} \]

Een \(lnVR\) van nul zou dus duiden op geen verschil in variatie tussen de twee groepen, een \(lnVR\) van >0 zou duiden op een grotere variantie in groep 1, en \(lnVR\) van <0 zou duiden op een grotere variantie in groep 2. De standaardfout van de VR kan als volgt worden berekend,

\[ SE_{lnVR_\text{ind}}=\sqrt{\frac{n_T}{2(n_T-1)^2}+\frac{n_C}{2(n_C-1)^2}} \]

In R kunnen we eenvoudigweg de escalc() functie uit het metafor pakket (Viechtbauer 2010) als volgt gebruiken:

# Voorbeeld:
# Groep 1: standaard deviatie = 4.5, sample size = 50
# Groep 2: standaard deviatie = 3.5, sample size = 50

library(metafor)

# data voorbereiden
SD1 <- 4.5
SD2 <- 3.5
n1 <- n2 <- 50

lnVRind <- escalc(
    measure = "VR",
    sd1i = SD1,
    sd2i = SD2,
    n1i = n1,
    n2i = n2
  )


lnVRind$SE <- sqrt(lnVRind$vi)

# berekenen van betrouwbaarheidsinterval
lnVRind_low <- lnVRind$yi - 1.96*lnVRind$SE
lnVRind_high <- lnVRind$yi + 1.96*lnVRind$SE

# druk de VR waarde en betrouwbaarheidsintervallen af
data.frame(lnVRind = MOTE::apa(lnVRind$yi),
           lnVRind_low = MOTE::apa(lnVRind_low),
           lnVRind_high = MOTE::apa(lnVRind_high))
  lnVRind lnVRind_low lnVRind_high
1   0.251      -0.029        0.531

Uit het voorbeeld krijgen we een natuurlijke logvariabiliteitsratio van \(lnVR_text{ind}\) = 0,25 [-0,03, 0,53].

11.1.2 Natuurlijke logaritme van variabiliteitsratio voor afhankelijke groepen (\(lnVR_\text{dep}\))

De variabiliteitsratio voor afhankelijke groepen kan op vergelijkbare wijze worden berekend door de natuurlijke logaritme te nemen van de standaardafwijking binnen de ene groep gedeeld door de standaardafwijking in een andere groep,

\[ lnVR_\text{dep}=\ln\left(\frac{S_T}{S_C}\right) \]

Opmerking: de correctiefactor voor vertekening door kleine steekproefomvang is hier niet relevant, omdat de waarde ervan door de berekening nul is.

\[ SE_{lnVR_\text{dep}}=\sqrt{\frac{n}{n-1} - \frac{r^2}{n-1} + \frac{r^4\left(S^8_T+S^8_C\right)}{2(n-1)^2 S^4_T+S^4_C}} \]

In R kunnen we eenvoudigweg de functie escalc() van het metafor-pakket als volgt gebruiken:

# Voorbeeld:
# Groep 1: standaard deviatie = 4.5
# Groep 2: standaard deviatie = 3.5
# Sample size = 50
# Correlatie = 0.4

library(metafor)

# data voorbereiden
SD1 <- 4.5
SD2 <- 3.5
n <- 50
r <- 0.4

# gebruik escalc om lnVRdep te berekenen
lnVRdep <- escalc(
  measure = "VRC",
  sd1i = SD1,
  sd2i = SD2,
  ni = n1,
  ri = r
)


lnVRdep$SE <- sqrt(lnVRdep$vi)

# bereken betrouwbaarheidsinterval
lnVRdep_low <- lnVRdep$yi - 1.96*lnVRdep$SE
lnVRdep_high <- lnVRdep$yi + 1.96*lnVRdep$SE

# druk de VR waarde af en de betrouwbaarheidsintervallen 
data.frame(lnVRdep = MOTE::apa(lnVRdep$yi),
           lnVRdep_low = MOTE::apa(lnVRdep_low),
           v_high = MOTE::apa(lnVRdep_high))
  lnVRdep lnVRdep_low v_high
1   0.251      -0.005  0.508

11.2 Coëfficient van Variatie Ratioss

11.2.1 Natuurlijke logaritme van de variatiecoëfficiëntverhouding voor onafhankelijke groepen (lnCVR_text{ind})

De variatiecoëfficiënt voor onafhankelijke groepen kan worden berekend door de natuurlijke logaritme te nemen van de variatiecoëfficiënt binnen één groep gedeeld door de variatiecoëfficiënt in een andere groep,

\[ lnCVR_\text{ind}=\ln\left(\frac{CV_T}{CV_C}\right) + CF \]

Waarbij \(CV_T =S_T / M_T\), \(CV_C =S_C / M_C\), en \(M\) het gemiddelde van de respectieve groep aangeeft. De correctiefactor, \(CF\), is een vertekeningscorrectiefactor voor de kleine steekproefomvang die die van de lnRR (eerder gepresenteerd) en de lnVR combineert, berekend als,

\[ CF=\frac{1}{2(n_T-1)}-\frac{1}{2(n_C-1)} + \frac{S_T^2}{2(n_TM_T^2)} + \frac{S_C^2}{2(n_CM_C^2)} \] In R kunnen we eenvoudigweg de escalc() functie uit het metafor pakket als volgt gebruiken:

# Bijvoorbeeld:
# Groep 1: gemiddelde = 22.4, standaard deviatie = 4.5, sample size = 50
# Groep 2: gemiddelde = 20.1, standaard deviatie = 3.5, sample size = 50

library(metafor)

# data voorbereiden
M1 <- 22.4
M2 <- 20.1
SD1 <- 4.5
SD2 <- 3.5
n1 <- n2 <- 50

lnCVRind <- escalc(
  measure = "CVR",
  m1i = M1,
  m2i = M2,
  sd1i = SD1,
  sd2i = SD2,
  n1i = n1,
  n2i = n2
)

lnCVRind$SE <- sqrt(lnCVRind$vi) 

# berekenen betrouwbaarheidsinterval
lnCVRind_low <- lnCVRind$yi - 1.96*lnCVRind$SE
lnCVRind_high <- lnCVRind$yi + 1.96*lnCVRind$SE

# druk de VR waarde en betrouwbaarheidsintervallen af
data.frame(lnCVRind = MOTE::apa(lnCVRind$yi),
           lnCVRind_low = MOTE::apa(lnCVRind_low),
           lnCVRind_high = MOTE::apa(lnCVRind_high))
  lnCVRind lnCVRind_low lnCVRind_high
1    0.143       -0.147         0.433

11.2.2 Natuurlijke logaritme van de variatiecoëfficiëntverhouding voor onafhankelijke groepen (\(lnCVR_\text{dep}\))

De variatiecoëfficiënt voor afhankelijke groepen kan op vergelijkbare wijze worden berekend door de natuurlijke logaritme te nemen van de variatiecoëfficiënt binnen de ene groep gedeeld door de variatiecoëfficiënt in een andere groep,

\[ lnCVR_\text{dep}=\ln\left(\frac{CV_T}{CV_C}\right) + CF \]

Waarbij \(CV_T =S_T / M_T\), \(CV_C =S_C / M_C\) en CF een vertekeningscorrectiefactor voor de kleine steekproefomvang is die die van de \(lnVR\) (eerder gepresenteerd) combineert met de \(lnVR\) (merk op dat deze voor afhankelijke gevallen nul is en dus wordt weggelaten), berekend als,

\[ CF = \frac{S^2_T}{2n M_T^2} - \frac{S^2_C}{2nM_C^2} \]

De standaardfout van de \(lnCVR_text{dep}\) kan worden berekend als,

\[ \small{SE_{lnCVR_\text{dep}} = \sqrt{\frac{S^2_T}{n M_T^2} + \frac{S^2_T}{nM_T^2} + \frac{S^4_T}{2n^2 M_T^4} + \frac{S^4_T}{2n^2 M_T^4} + \frac{2rS_CS_T}{n M_C M_T} + \frac{r^2S^2_T S^2_C (M^4_T + M^4_C)}{2n^2M_T^4M^4_C}}} \] In R kunnen we eenvoudigweg de functie metafor packages escalc() als volgt gebruiken:

# Bijvoorbeeld:
# Groep 1: standaard deviatie = 4.5
# Groep 2: standaard deviatie = 3.5
# Sample size = 50
# Correlatie = 0.4
library(metafor)

# data voorbereiden
M1 <- 22.4
M2 <- 20.1
SD1 <- 4.5
SD2 <- 3.5
n <- 50
r <- 0.4

lnCVRdep <- escalc(
  measure = "CVRC",
  m1i = M1,
  m2i = M2,
  sd1i = SD1,
  sd2i = SD2,
  ni = n1,
  ri = r
)

lnCVRdep$SE <- sqrt(lnCVRdep$vi)

# berekenen betrouwbaarheidsinterval
lnCVRdep_low <- lnCVRdep$yi - 1.96*lnCVRdep$SE
lnCVRdep_high <- lnCVRdep$yi + 1.96*lnCVRdep$SE

# afdrukken van CVR waarde en betrouwbaarheidsintervallen
data.frame(lnCVRdep = MOTE::apa(lnCVRdep$yi),
           lnCVRdep_low = MOTE::apa(lnCVRdep_low),
           lnCVRdep_high = MOTE::apa(lnCVRdep_high))
  lnCVRdep lnCVRdep_low lnCVRdep_high
1    0.143       -0.120         0.406