3.3 Inferens om to populasjoner

3.3.1 Videoforelesninger

3.3.2 Kommentarer

Vi har gått gjennom kapittel 13, som i all hovedsak handler om å sammenligne to gjennomsnitt (som vi kan gjøre på tre forskjellige måter), to varianser og to andeler. Her følger noen kontrollspørsmål som du kan tenke over, og bruke som utgangspunkt for diskusjon i f.eks. kollokviegrupper:

  • Hva er nullhypotesen når vi skal gjennomføre en t-test for to populasjoner?
  • … og hvilke antagelser må vi gjøre?
  • Hvordan ser testobservatoren ut for en to-utvalgs t-test, og kan du gi en intuitiv forklaring for hvorfor den ser ut som den gjør?
  • Når kan vi bruke matchede par, og hva er hensikten?
  • Hvilken testobservator brukes for sammenligning av to varianser, og hvilken fordeling har den under nullhypotesen?
  • Kan du gi en intuitiv forklaring for hvorfor den ser ut som den gjør?
  • Hvilken test brukes for å teste om to andeler er like, og hva må du anta?

Videre bør du sjekke at du kan utføre 3 typer \(t\)-tester, test for like varianser og test for like andeler både for hånd (relevant for skoleeksamen) og i R (relevant til hjemmeeksamen og datalabber).

Den enkleste måten å gjøre \(t\)-tester i R på er å bruke funksjonen t.test(). Kikk på eksempel 13.1 i lærebokens 11. utgave, der vi har observert årlige avkastninger til to aksjefond som er kjøpt henholdsvis med og uten megler.

# Leser inn datasettet
funds <- read_xlsx("Xm13-01.xlsx")

# Ser at det er to kolonner, «Direct» og «Broker». Alternativhypotesen på s.433 spesifiserer at
# differansen i forventninger er *større* enn null, signifikansnivået skal være 5%. Antar først 
# ulik varians og at vi ikke skal gjøre en paret test:
t.test(funds$Direct, funds$Broker,
       alternative = "greater",
       paired = FALSE,
       var.equal = FALSE,
       conf.level = 0.95) 
## 
##  Welch Two Sample t-test
## 
## data:  funds$Direct and funds$Broker
## t = 2.2872, df = 97.489, p-value = 0.01217
## alternative hypothesis: true difference in means is greater than 0
## 95 percent confidence interval:
##  0.79661     Inf
## sample estimates:
## mean of x mean of y 
##    6.6312    3.7232

Du kan så sjekke at du får ut de samme tallene på s. 434–435. Videre kan du skrive inn ?t.test i R-konsollen i RStudio for å lese mer om hvilke argumenter vi kan bruke i t.test()-funksjonen. Der ser vi at argumentene paired, var.equal og conf.level som utgangspunkt allerede er satt til FALSE, FALSE og 0.95 henholdsvis, så det hadde vi strengt tatt ikke trengt å spesifisere i funksjonskallet over.

Vi kan enkelt kjøre den samme testen under antakelsen om like varianser ved å sette var.equal = TRUE:

# Ser at det er to kolonner, «Direct» og «Broker». Alternativhypotesen på s.433 spesifiserer at
# differansen i forventninger er *større* enn null, signifikansnivået skal være 5%. Antar først 
# ulik varians og at vi ikke skal gjøre en paret test:
t.test(funds$Direct, funds$Broker,
       alternative = "greater",
       paired = FALSE,
       var.equal = TRUE,
       conf.level = 0.95) 
## 
##  Two Sample t-test
## 
## data:  funds$Direct and funds$Broker
## t = 2.2872, df = 98, p-value = 0.01217
## alternative hypothesis: true difference in means is greater than 0
## 95 percent confidence interval:
##  0.7967156       Inf
## sample estimates:
## mean of x mean of y 
##    6.6312    3.7232

Resultatet bli akkurat det samme. Siden testens \(p\)-verdi er mindre enn 5%, kan vi forkaste nullhypotesen og slå fast at forskjellen i gjennomsnitt er statistisk signifikant.

I kapittel 13-3 leser vi om matchede par. Datasettet i eksempel 13.1 har like mange observasjoner i de to populasjonene, så vi kan tenke oss at målingene er gjort sekvensielt i tid, slik at vi kan matche dem, og heller se om gjennomsittet av differansene er signifikant forskjellig fra null. Enkelt:

# Ser at det er to kolonner, «Direct» og «Broker». Alternativhypotesen på s.433 spesifiserer at
# differansen i forventninger er *større* enn null, signifikansnivået skal være 5%. Antar først 
# ulik varians og at vi ikke skal gjøre en paret test:
t.test(funds$Direct, funds$Broker,
       alternative = "greater",
       paired = TRUE,
       conf.level = 0.95) 
## 
##  Paired t-test
## 
## data:  funds$Direct and funds$Broker
## t = 2.5178, df = 49, p-value = 0.007563
## alternative hypothesis: true mean difference is greater than 0
## 95 percent confidence interval:
##  0.9716497       Inf
## sample estimates:
## mean difference 
##           2.908

Da ser vi at \(p\)-verdien ble enda mindre. I eksemplene 13.4 og 13.5 kan du prøve selv. Pass på at du kan gjøre beregningene manuelt også, der du regner ut gjennomsnitt, testobservator, kritisk verdi osv, slik at du forstår hva som foregår.

Kapittel 13-2 omhandler forskjellen mellom observasjonsdata og eksperimentelle data. Det er i grunn ganske viktig å sette seg inn i den forskjellen fordi det ofte har betydning for tolkningen vår av statistiske resultater. Det er et eksplisitt krav for å lykkes i MET4 at du er i stand til å sette resultatene inn i en fornuftig kontekst.

I kapittel 13-4 kan vi lese om varianstesten. Eksempel 13.7 ser slik ut i R:

bottle <- read_xlsx("Xm13-07.xlsx")
var.test(bottle$`Machine 1`, bottle$`Machine 2`,
         alternative = "greater")
## 
##  F test to compare two variances
## 
## data:  bottle$`Machine 1` and bottle$`Machine 2`
## F = 1.3988, num df = 24, denom df = 24, p-value = 0.2085
## alternative hypothesis: true ratio of variances is greater than 1
## 95 percent confidence interval:
##  0.7051295       Inf
## sample estimates:
## ratio of variances 
##           1.398807

Også her kan du sammenligne med tallene som fremgår av bokens gjennomgang, og sørg for at du får til dette på egen hånd, spesielt det å finne frem i tabellen, for det du kunne på eksamen.

Til slutt har vi test for to andeler i kapittel 13-5. De setter opp to varianter, en der vi sjekker om differansen mellom to andeler er like (\(p_1 - p_2 = 0\)), som er det vi har dett på i forelesning, men det går selvsagt like fint å sette opp en nullhypotese der differansen mellom andelene er lik et bestemt tall \(D\).

Det finnes ingen ferdig prosedyre for denne testen i R, men vi kan sette den opp likevel ved å regne ut testobservatoren fra datasettet. Vi ser på eksempel 13.9, der vi får oppgitt salget av en del forskjellige varenummer, og vi ønsker å finne ut om andelen «9077» er større i Supermarked 1 enn i Supermarked 2:

# Laster inn data. Her er det to utvalg med forskjellig antall observasjoner, så jeg 
# velger å lese inn de to kolonnene hver for seg:
soap1 <- read_xlsx("Xm13-09.xlsx", range = cell_cols("A"))
soap2 <- read_xlsx("Xm13-09.xlsx", range = cell_cols("B"))

# Hvor stor andel utgjør «9077» i de to kolonnene?
p1 <- mean(soap1 == 9077)
p2 <- mean(soap2 == 9077)

# De to utvalgsstørrelsene:
n1 <- nrow(soap1)
n2 <- nrow(soap2)

# Felles estimat for p under nullhypotesen:
p <- (n1*p1 + n2*p2)/(n1 + n2)

# Testobservatoren:
z <- (p1 - p2)/sqrt(p * (1-p)*(1/n1 + 1/n2))

# Kritisk verdi på 5% nivå for en ensidig test:
qnorm(0.95)
## [1] 1.644854

Siden \(z = 2.9\) forkaster vi nullhypotesen om at det er lik andel «9077» i de to populasjonene.