Practicum data-analyse – Bonus tentamen document
SS Week 1 - schatting en
toetsen
Een aantal belangrijke ‘notes’ vooraf:
1. Sample sessions (SS) zijn een onderdeel van de leerstof: In een SS wordt
de leerstof herhaald, maar dan op een toegepaste manier: ‘Hoe krijg je
statistieken uit R en hoe interpreteer je de output uit R?’ zijn vragen die je
kunt beantwoorden door het maken van de sample sessions.
2. Tijdens het doorlopen van de SS worden tussendoor oefenvragen gesteld,
zodat je ook oefent met R en ziet wat er gebeurt.
3. De antwoorden op de oefenvragen moeten ingeleverd worden via
Blackboard!
4. Er wordt gewerkt met R code in een R script. Om de vragen te beantwoorden,
moet je in RStudio een R script openen. Hierin kun je de commando’s die zijn
vermeld in de SS kopiëren en zelf de commando’s van de oefenvragen typen,
bijhouden en runnen. Plaats met # ook comments in je R script, zodat je later
je eigen code nog begrijpt. Let op: werk dus niet in de R console, maar
hou een R script bij!
5. Zelfredzaamheid in R is een belangrijk leerdoel van deze cursus. In de
Grasple-lessen van TOE vind je algemene informatie over de R codes die
binnen deze bachelor worden gebruikt. Daarnaast kun je ook veel informatie
over R vinden via Google of door gebruik te maken van de ?()-functie in R.
Doel van deze SS en gerelateerde literatuur:
Geheugen opfrissen wat betreft de schatting van populatie parameters, zoals het
gemiddelde en de variantie (Agresti 2018/2024, hoofdstuk 5), en statistische toetsing
(Agresti 2018/2024, hoofdstuk 6). Dit is een herhaling van het tweede M&S vak (TOE)
in het eerste BA jaar. De nadruk ligt hier op de toepassing in onderzoek en R.
A. PUNTSCHATTINGEN
De verdeling van een variabele zoals uurloon in de populatie wordt een
populatieverdeling genoemd. We kunnen geïnteresseerd zijn in het gemiddelde
uurloon of de variatie in het uurloon, omdat ze belangrijke aspecten van de verdeling
in de populatie kunnen overbrengen. Ofwel: deze twee aspecten zijn kenmerkend
voor de populatieverdeling. Daarom zullen wij ons voornamelijk focussen op deze
twee aspecten en willen we schattingen maken voor deze twee aspecten met behulp
van een (willekeurige) steekproef (ook wel bekend als:(random) sample) van de
populatie.
,In het geval van continue variabelen (d.w.z., ratio/interval meetniveau) wordt
het steekproefgemiddelde (bijv. gemiddelde uurloon) vaak gebruikt als
puntschatting (of schatting) voor het populatiegemiddelde.
In het geval van discrete variabelen (d.w.z., nominaal/ordinaal meetniveau) is
de steekproefproportie van de mensen met een bepaald kenmerk een vaak
gebruikte puntschatting voor het populatiegemiddelde. (bijv. de proportie mensen
die zegt te zullen gaan stemmen als er momenteel verkiezingen zijn).
Omdat de relevante puntschatting (en later ook toetsen) afhangt van het meetniveau
is het belangrijk om altijd de variabelen te inspecteren. Welk meetniveau heeft
de variabele? Inspecteer hiervoor bijvoorbeeld de data met het View() commando.
Het gemiddelde en de proporties zijn maten voor centraliteit/centrale tendentie
(central tendency), terwijl de standaarddeviatie/standaardafwijking en ook
bijvoorbeeld het bereik (range) maten zijn voor de variantie (variance).
Bij het schatten van de populatieproportie is het belangrijk om te beseffen dat
een proportie eigenlijk het gemiddelde is van een 0-1 variabele. Daarom kan
dezelfde methode worden toegepast als bij het schatten van het
populatiegemiddelde van een continue variabele. Het is jammer dat Agresti
2018/2024 niet wijst op deze gelijkenis tussen het gemiddelde en een proportie.
Er zijn verschillende manieren in R om deze puntschattingen te achterhalen.
Voorbeelden hiervan zijn table(), prop.table(), summary() of mean().
Oefenvraag 1
Laad het sbs399.sav databestand in R:
library(haven)
sbs399 <- read_sav("datasets/sbs399.sav", encoding = "latin1")
# Zorg dat je working directory goed staat. Om bovenstaande code te laten
# werken moet het databestand in een folder 'datasets' in je working
directory
# staan.
a. Bereken de gemiddelde leeftijd (age) voor de totale steekproef.
Hint: zie uitleg hierboven: dit kan met verschillende R commando’s.
# Eerst kijken we naar de data, en de meetniveaus van de variabelen.
View(sbs399)
# Leeftijd is een continue variabele, vandaar dat we het gemiddelde willen
# weten. Dit kunnen we opvragen met verschillende commando's,
bijvoorbeeld:
mean(sbs399$age)
,## [1] 37.73313
summary(sbs399$age)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.00 30.00 34.00 37.73 45.00 79.00
# De gemiddelde leeftijd is 37.73.
b. Bereken het gemiddelde uurloon (hrinc) voor de totale steekproef.
# Ook uurloon is een continue variabele, dus een gemiddelde is een goede
# puntschatting.
mean(sbs399$hrinc, na.rm = TRUE)
## [1] 18.15683
# na.rm = TRUE moeten we toevoegen, omdat er missende waardes zijn in
uurloon,
# die genegeerd moeten worden bij het berekenen van het gemiddelde.
# We kunnen het gemiddelde uurloon ook opvragen met summary(). Hierbij zien
we
# ook onder 'NA's' dat er inderdaad 1381 missende waardes zijn.
summary(sbs399$hrinc)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.10 13.40 16.10 18.16 20.20 100.00 1381
# Het gemiddelde uurloon is 18.16.
c. Bereken het gemiddelde uurloon voor mannen en voor vrouwen apart (sex).
Hint: Door sbs399[sbs399$sex == 1, ] of sbs399[sbs399$sex == 0, ] te gebruiken
selecteer je uit de data alleen de observaties die een 1 of 0 scoren op de
variabele sex.
# Het gemiddelde uurloon voor mannen en vrouwen apart, kunnen we berekenen
door
# de data te 'subsetten' met []. In het codeboek zien we dat de waarde
voor
# 'sex' voor mannen = 0 en dat de waarde voor vrouwen = 1.
mean(sbs399[sbs399$sex == 0, ]$hrinc, na.rm = TRUE)
## [1] 19.59728
mean(sbs399[sbs399$sex == 1, ]$hrinc, na.rm = TRUE)
## [1] 16.18424
# Ook dit kan weer met summary():
, summary(sbs399[sbs399$sex == 0, ]$hrinc)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.10 14.40 17.55 19.60 21.80 100.00 561
summary(sbs399[sbs399$sex == 1, ]$hrinc)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.10 12.20 14.60 16.18 17.70 100.00 820
# Het gemiddelde uurloon voor mannen is 19.60, en voor vrouwen 16.18.
d. Kan je andere puntschattingen bedenken dan het gemiddelde als het gaat om
uurloon?
# Andere mogelijke puntschattingen zijn de mediaan of de modus. Om de
modus te
# krijgen hebben we het 'DescTools' pakket nodig.
# install.packages('DescTools')
library(DescTools)
Mode(sbs399$hrinc, na.rm = TRUE)
## [1] 17.3
## attr(,"freq")
## [1] 93
median(sbs399$hrinc, na.rm = TRUE)
## [1] 16.1
# De modus is 17.30 en de mediaan 16.10.
e. Bereken relevante puntschattingen voor de variabelen ouderlijke
scheiding pardiv en sociale klasse class. Interpreteer!
Hint: check eerst of je te maken hebt met een continue of discrete variabele (zie
uitleg hierboven).
# Volg de hint en inspecteer de variabele pardiv.
attributes(sbs399$pardiv)
## $label
## [1] "parents divorced when young"
##
## $format.spss
## [1] "F4.0"
##
## $class
SS Week 1 - schatting en
toetsen
Een aantal belangrijke ‘notes’ vooraf:
1. Sample sessions (SS) zijn een onderdeel van de leerstof: In een SS wordt
de leerstof herhaald, maar dan op een toegepaste manier: ‘Hoe krijg je
statistieken uit R en hoe interpreteer je de output uit R?’ zijn vragen die je
kunt beantwoorden door het maken van de sample sessions.
2. Tijdens het doorlopen van de SS worden tussendoor oefenvragen gesteld,
zodat je ook oefent met R en ziet wat er gebeurt.
3. De antwoorden op de oefenvragen moeten ingeleverd worden via
Blackboard!
4. Er wordt gewerkt met R code in een R script. Om de vragen te beantwoorden,
moet je in RStudio een R script openen. Hierin kun je de commando’s die zijn
vermeld in de SS kopiëren en zelf de commando’s van de oefenvragen typen,
bijhouden en runnen. Plaats met # ook comments in je R script, zodat je later
je eigen code nog begrijpt. Let op: werk dus niet in de R console, maar
hou een R script bij!
5. Zelfredzaamheid in R is een belangrijk leerdoel van deze cursus. In de
Grasple-lessen van TOE vind je algemene informatie over de R codes die
binnen deze bachelor worden gebruikt. Daarnaast kun je ook veel informatie
over R vinden via Google of door gebruik te maken van de ?()-functie in R.
Doel van deze SS en gerelateerde literatuur:
Geheugen opfrissen wat betreft de schatting van populatie parameters, zoals het
gemiddelde en de variantie (Agresti 2018/2024, hoofdstuk 5), en statistische toetsing
(Agresti 2018/2024, hoofdstuk 6). Dit is een herhaling van het tweede M&S vak (TOE)
in het eerste BA jaar. De nadruk ligt hier op de toepassing in onderzoek en R.
A. PUNTSCHATTINGEN
De verdeling van een variabele zoals uurloon in de populatie wordt een
populatieverdeling genoemd. We kunnen geïnteresseerd zijn in het gemiddelde
uurloon of de variatie in het uurloon, omdat ze belangrijke aspecten van de verdeling
in de populatie kunnen overbrengen. Ofwel: deze twee aspecten zijn kenmerkend
voor de populatieverdeling. Daarom zullen wij ons voornamelijk focussen op deze
twee aspecten en willen we schattingen maken voor deze twee aspecten met behulp
van een (willekeurige) steekproef (ook wel bekend als:(random) sample) van de
populatie.
,In het geval van continue variabelen (d.w.z., ratio/interval meetniveau) wordt
het steekproefgemiddelde (bijv. gemiddelde uurloon) vaak gebruikt als
puntschatting (of schatting) voor het populatiegemiddelde.
In het geval van discrete variabelen (d.w.z., nominaal/ordinaal meetniveau) is
de steekproefproportie van de mensen met een bepaald kenmerk een vaak
gebruikte puntschatting voor het populatiegemiddelde. (bijv. de proportie mensen
die zegt te zullen gaan stemmen als er momenteel verkiezingen zijn).
Omdat de relevante puntschatting (en later ook toetsen) afhangt van het meetniveau
is het belangrijk om altijd de variabelen te inspecteren. Welk meetniveau heeft
de variabele? Inspecteer hiervoor bijvoorbeeld de data met het View() commando.
Het gemiddelde en de proporties zijn maten voor centraliteit/centrale tendentie
(central tendency), terwijl de standaarddeviatie/standaardafwijking en ook
bijvoorbeeld het bereik (range) maten zijn voor de variantie (variance).
Bij het schatten van de populatieproportie is het belangrijk om te beseffen dat
een proportie eigenlijk het gemiddelde is van een 0-1 variabele. Daarom kan
dezelfde methode worden toegepast als bij het schatten van het
populatiegemiddelde van een continue variabele. Het is jammer dat Agresti
2018/2024 niet wijst op deze gelijkenis tussen het gemiddelde en een proportie.
Er zijn verschillende manieren in R om deze puntschattingen te achterhalen.
Voorbeelden hiervan zijn table(), prop.table(), summary() of mean().
Oefenvraag 1
Laad het sbs399.sav databestand in R:
library(haven)
sbs399 <- read_sav("datasets/sbs399.sav", encoding = "latin1")
# Zorg dat je working directory goed staat. Om bovenstaande code te laten
# werken moet het databestand in een folder 'datasets' in je working
directory
# staan.
a. Bereken de gemiddelde leeftijd (age) voor de totale steekproef.
Hint: zie uitleg hierboven: dit kan met verschillende R commando’s.
# Eerst kijken we naar de data, en de meetniveaus van de variabelen.
View(sbs399)
# Leeftijd is een continue variabele, vandaar dat we het gemiddelde willen
# weten. Dit kunnen we opvragen met verschillende commando's,
bijvoorbeeld:
mean(sbs399$age)
,## [1] 37.73313
summary(sbs399$age)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.00 30.00 34.00 37.73 45.00 79.00
# De gemiddelde leeftijd is 37.73.
b. Bereken het gemiddelde uurloon (hrinc) voor de totale steekproef.
# Ook uurloon is een continue variabele, dus een gemiddelde is een goede
# puntschatting.
mean(sbs399$hrinc, na.rm = TRUE)
## [1] 18.15683
# na.rm = TRUE moeten we toevoegen, omdat er missende waardes zijn in
uurloon,
# die genegeerd moeten worden bij het berekenen van het gemiddelde.
# We kunnen het gemiddelde uurloon ook opvragen met summary(). Hierbij zien
we
# ook onder 'NA's' dat er inderdaad 1381 missende waardes zijn.
summary(sbs399$hrinc)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.10 13.40 16.10 18.16 20.20 100.00 1381
# Het gemiddelde uurloon is 18.16.
c. Bereken het gemiddelde uurloon voor mannen en voor vrouwen apart (sex).
Hint: Door sbs399[sbs399$sex == 1, ] of sbs399[sbs399$sex == 0, ] te gebruiken
selecteer je uit de data alleen de observaties die een 1 of 0 scoren op de
variabele sex.
# Het gemiddelde uurloon voor mannen en vrouwen apart, kunnen we berekenen
door
# de data te 'subsetten' met []. In het codeboek zien we dat de waarde
voor
# 'sex' voor mannen = 0 en dat de waarde voor vrouwen = 1.
mean(sbs399[sbs399$sex == 0, ]$hrinc, na.rm = TRUE)
## [1] 19.59728
mean(sbs399[sbs399$sex == 1, ]$hrinc, na.rm = TRUE)
## [1] 16.18424
# Ook dit kan weer met summary():
, summary(sbs399[sbs399$sex == 0, ]$hrinc)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.10 14.40 17.55 19.60 21.80 100.00 561
summary(sbs399[sbs399$sex == 1, ]$hrinc)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.10 12.20 14.60 16.18 17.70 100.00 820
# Het gemiddelde uurloon voor mannen is 19.60, en voor vrouwen 16.18.
d. Kan je andere puntschattingen bedenken dan het gemiddelde als het gaat om
uurloon?
# Andere mogelijke puntschattingen zijn de mediaan of de modus. Om de
modus te
# krijgen hebben we het 'DescTools' pakket nodig.
# install.packages('DescTools')
library(DescTools)
Mode(sbs399$hrinc, na.rm = TRUE)
## [1] 17.3
## attr(,"freq")
## [1] 93
median(sbs399$hrinc, na.rm = TRUE)
## [1] 16.1
# De modus is 17.30 en de mediaan 16.10.
e. Bereken relevante puntschattingen voor de variabelen ouderlijke
scheiding pardiv en sociale klasse class. Interpreteer!
Hint: check eerst of je te maken hebt met een continue of discrete variabele (zie
uitleg hierboven).
# Volg de hint en inspecteer de variabele pardiv.
attributes(sbs399$pardiv)
## $label
## [1] "parents divorced when young"
##
## $format.spss
## [1] "F4.0"
##
## $class