Cursus
Het proces van hypothesetoetsing houdt in dat je op basis van statistische toetsen op een steekproef conclusies of inferenties trekt over de gehele populatie of dataset. Voor verschillende machinelearningmodellen trekken we vergelijkbare conclusies met behulp van de t-toets, waar ik in deze tutorial op inga.
Om inferenties te kunnen trekken, moeten we aannames doen. Dat leidt tot twee begrippen die in hypothesetoetsing worden gebruikt.
-
Nulhypothese: Dit is de aanname dat er geen afwijkend patroon is, of dat we uitgaan van de veronderstelling zoals gemaakt.
-
Alternatieve hypothese: In tegenstelling tot de nulhypothese laat deze zien dat de observatie het gevolg is van een echt effect.
P-waarde
Dit kan worden gezien als het bewijs of het significantieniveau voor de nulhypothese, of binnen machinelearningalgoritmen. Het geeft de significantie van de voorspellers ten opzichte van de target weer.
Meestal kiezen we een significantieniveau van 5%, maar in sommige gevallen valt daarover te discussiëren. Als je sterke voorkennis hebt over hoe je data zich gedraagt, kun je het significantieniveau zelf bepalen.
Omgekeerd, als de p-waarde in een machinelearningmodel kleiner is dan 0,05 voor een onafhankelijke variabele, dan wordt die variabele meegenomen. Dat betekent dat er een heterogeen verband met de target is, wat nuttig is en geleerd kan worden door machinelearningalgoritmen.
De stappen bij hypothesetoetsing zijn als volgt:
-
Neem een nulhypothese aan; in machinelearningalgoritmen gaan we meestal uit van geen afwijking tussen de target en de onafhankelijke variabele.
-
Verzamel een steekproef
-
Bereken de toetsingsgrootheid
-
Beslis of je de nulhypothese accepteert of verwerpt
Toets- of t-statistiek berekenen
Voor het berekenen van de t-statistiek schetsen we een scenario.
Stel, er is een bedrijf dat scheepscontainers maakt en beweert dat elke container precies 1000 kg weegt, niet minder en niet meer. Zulke claims klinken dubieus, dus we gaan aan de slag met het verzamelen van data en maken een steekproef.
Na het verzamelen van een steekproef van 30 containers blijkt het gemiddelde gewicht 990 kg te zijn, met een standaarddeviatie van 12,5 kg.
De toetsingsgrootheid berekenen we als volgt:
T = (Gemiddelde - Claim)/ (Standaarddeviatie / Steekproefgrootte^(1/2))
Na het invullen van alle getallen komt dit uit op -4,3818.
Nu berekenen we de t-waarde voor een significantie van 0,05 en de vrijheidsgraden.
Let op: Degree of Freedom = Sample Size - 1
From T table the value will be -1.699.
Uit de vergelijking zien we dat de berekende statistiek kleiner is dan de statistiek bij het gewenste significantieniveau. We kunnen de claim dus verwerpen.
Je kunt de t-waarde berekenen met de functie stats.t.ppf() van de stats-class uit de scipy-bibliotheek.
Fouten
Omdat hypothesetoetsing wordt uitgevoerd op een steekproef in plaats van de volledige populatie, vaak vanwege beperkte beschikbaarheid van data, kunnen er fouten optreden bij het trekken van inferenties op basis van steekproefdata. Deze fouten worden onderverdeeld in twee typen:
-
Type I-fout: In deze fout verwerpen we de nulhypothese terwijl die waar is.
-
Type II-fout: In deze fout accepteren we de nulhypothese terwijl die onwaar is.
Andere benaderingen
Er zijn veel verschillende benaderingen voor het toetsen van hypothesen van twee modellen, bijvoorbeeld door twee modellen te maken op basis van de beschikbare features. Eén model bevat alle features en het andere mist er één. Zo kunnen we de significantie van individuele features testen. Feature-interdependentie beïnvloedt echter dit soort eenvoudige methoden.
Bij regressieproblemen volgen we doorgaans de regel van de p-waarde: de feature die het significantieniveau schendt, wordt verwijderd, waardoor het model iteratief verbetert.
Voor elk algoritme bestaan er verschillende benaderingen om de hypothese op verschillende features te toetsen.
Wil je meer leren over de basis van Bayesiaanse inferenties? Volg dan DataCamp's cursus Fundamentals of Bayesian Data Analysis in R.
Bekijk ook onze tutorial Machine Learning Basics.
