3.2 Inferens om en populasjon

3.2.1 Videoforelesninger

3.2.2 Kommentarer

Dette er i hovedsak dekket av kapittel 12 i læreboken. Sjekk om du kan svare på følgende kontrollspørsmål:

  1. Hva er det vi tester når vi gjennomfører en \(t\)-test for én populasjon? Hva forutsetter vi?
  2. Hva er forskjellen på en ensidig og en tosidig test? (11-2j)

Det kan også være greit å repetere konfidensintervaller i seksjon 11-2k for de som har glemt det fra MET2.

I Seksjon 11-2g går boken gjennom en ett-utvalgs t-test i bokens Excel-plugin. La oss gjøre det samme i R. På kursets nettside finner du alle datasettene som følger med læreboken. I dette eksempelet er det snakk om Xm11-01.xlsx. Finn tak i denne filen (du kan også godt åpne den og se på den i Excel!), legg den i en mappe som du kan finne igjen, og åpne et nytt script i R-studio der du først sørger for å sette working directory til denne mappen slik vi gjorde i R-forelesningen.

Etterpå leser du inn datasettet ved å bruke read_xlsx()-funksjonen som under:

library(readxl)
data <- read_xlsx("Xm11-01.xlsx")     # Vi bruker read_xslx() fordi det er en .xlsx-fil

Konteksten til datasettet er gitt i eksempel 11.1. Det er altså balansen på 400 tilfeldig utvalgte kredittkontoer i en butikk, og en lurer på om forventet balanse er større enn 170. Vi setter opp følgende test:

\[\begin{align*} &H_0: \mu = 170 \\ &H_A: \mu > 170, \end{align*}\] der vi legger merke til at det blir brukt en ensidig test (hvorfor?).

For å regne ut testobservatoren for å enutvalgs \(z\)-test trenger vi fire tall: \(\overline X\), \(\mu_0\), \(n\) og \(\sigma\). Legger merke til at data har en kolonne som heter Accounts, og vi bruker dollartegnet til å hente den ut som en vektor. Regner ut observatoren:

gj.snitt <- mean(data$Accounts)     # Gjennomsnittet av observasjonene
mu0      <- 170                     # Henter fra teksten
n        <- length(data$Accounts)   # Antall observasjoner
sigma    <- 65                      # Henter fra teksten

Z <- (gj.snitt - mu0)/(sigma/sqrt(n))   # Verdien av testobservatoren
Z                                       # Skriver ut testobservatoren
## [1] 2.460462

Vi ser at testobservatoren har samme verdi som i Excel-gjennomgangen. Kritisk verdi finner vi fra tabell (ensidig, 5%), eller rett fra R:

qnorm(0.95)
## [1] 1.644854

Uansett; vi forkaster \(H_0\) siden testobservatoren er større enn kritisk verdi.

Kapittel 11-3a-d gir enda mer forståelse for hypotesetesting. Hopp over e og f om du vil. Kapittel 11-4 snakker litt om hvordan vi skal bruke hypotesetesting videre.

Kapittel 12 presenterer de tre testene (ett gjennomsnitt, en varians, en andel) i tur og orden. Det du først og fremst må kunne fra dette kapitlet er å gjennomføre disse testene, både for hånd med penn og papir, og i R. Under følger kode for å gjøre noen av bokens eksempler i R (les i boken for kontekst):

Eksempel 12.1:

\[\begin{align*} &H_0: \mu = 2.0 \\ &H_A: \mu > 2.0, \end{align*}\]

data <- read_xlsx("Xm12-01.xlsx")

# Manuell utregning
gj.snitt <- mean(data$Newspaper)
mu0      <- 2.0
n        <- length(data$Newspaper)
s        <- sd(data$Newspaper)

# Testobservator:
(gj.snitt - mu0)/(s/sqrt(n))
## [1] 2.236869

Signifikansnivået er satt til \(\alpha = 1\%\) i eksempelet. Kritisk verdi finner vi i \(t\)-tabell eller rett fra R:

qt(0.99, df = n-1)
## [1] 2.351983

Altså forkaster vi ikke nullhypotesen. Sjekk gjerne verdiene vi regnet ut over og se at de stemmer overens med det som står i boken. Alternativt bruker vi t.test()-funksjonen direkte:

t.test(data$Newspaper, alternative = "greater", mu = 2.0, conf.level = 0.99)
## 
##  One Sample t-test
## 
## data:  data$Newspaper
## t = 2.2369, df = 147, p-value = 0.0134
## alternative hypothesis: true mean is greater than 2
## 99 percent confidence interval:
##  1.990716      Inf
## sample estimates:
## mean of x 
##  2.180405

Resultatet blir selvsagt det samme. Når \(p\)-verdien er større enn signifikansnivået på 1%, kan vi ikke forkaste nullhypotesen. Eksempel 12.2 handler om å lage kondidensintervall, noe du også kan prøve å gjøre ved å regne ut de nødvendige tallene i R. De som synes dette er greit kan kikke på seksjonene 12-1b-e for å utvikle forståelsen enda litt mer.

Eksempel 12.3:

\[\begin{align*} &H_0: \sigma^2 = 1.0 \\ &H_A: \sigma^2 < 1.0. \end{align*}\]

Testobservator:

\[\chi^2 = \frac{(n-1)s^2}{\sigma_0^2}.\]

data <- read_xlsx("Xm12-03.xlsx")

# Regner ut testobservatoren direkte denne gangen, uten å lagre tallene underveis:
(length(data$Fills) - 1)*var(data$Fills)/1

# Kritisk verdi, 5% nivå, ensidig test, nedre hale:
qchisq(0.05, df = length(data$Fills) - 1)     
## [1] 15.2
## [1] 13.84843

Vi kan altså ikke forkaste nullhypotesen. Igjen, les eksempelet i sin fulle lengde i boken for å forstå bedre hva som skjer. Figur 12.4 viser på en fin måte hva tallene betyr.

Eksempel 12.5 kan være grei å kikke på også. Vi kan selvsagt bruke R som kalkulator og regne ut det vi trenger. Vi skal teste:

\[\begin{align*} &H_0: p = 0.5 \\ &H_A: p > 0.5. \end{align*}\]

Vi har en observert andel på \(\widehat p = 407/765 = 0.532\) etter å ha spurt \(n = 765\) personer. Testobservatoren er \[Z = \frac{\widehat p - p}{\sqrt{p(1-p)/n}}.\]

p.hatt <- 407/765
p0     <- 0.5
n      <- 765

(p.hatt - p0)/sqrt(p0*(1-p0)/n)
## [1] 1.771599

Kritisk verdi for en ensidig z-test på 5% nivå er 1.645 (qnorm(0.95)), og vi kan forkaste nullhypotesen.

Seksjonene 12-3d-f bør leses på egen hånd, mens vi hopper over 12-3g.