Hoe grubbs' tester uit te voeren in r
De Grubbs-test is een statistische test die kan worden gebruikt om de aanwezigheid van uitbijters in een dataset te identificeren.
Om deze test te kunnen gebruiken, moet een dataset een ongeveer normale verdeling hebben en minimaal 7 waarnemingen bevatten.
In deze zelfstudie wordt uitgelegd hoe u de Grubbs-test in R uitvoert om uitschieters in een gegevensset te detecteren.
Voorbeeld: Grubbs-test in R
Om de Grubbs-test in R uit te voeren, kunnen we de functie grubbs.test() uit het Outliers- pakket gebruiken, die de volgende syntaxis gebruikt:
grubbs.test(x, type = 10, tegenovergesteld = ONWAAR, dubbelzijdig = ONWAAR)
Goud:
- x: een numerieke vector van gegevenswaarden
- type: 10 = test of de max waarde een uitschieter is, 11 = test of de min en max waarden uitschieters zijn, 20 = test of er twee uitschieters op een staart zitten
- tegenovergestelde: logica die aangeeft of u niet de waarde wilt controleren met het grootste verschil met het gemiddelde, maar het tegenovergestelde (de laagste, als de meest verdachte de hoogste is, enz.)
- bilateraal: logische waarde die aangeeft of u de test al dan niet als bilateraal moet beschouwen
Deze test maakt gebruik van de volgende twee hypothesen:
H 0 (nulhypothese): Er zijn geen uitschieters in de gegevens.
HA (alternatieve hypothese): Er zit een uitbijter in de gegevens.
Het volgende voorbeeld illustreert hoe u de Grubbs-test uitvoert om te bepalen of de maximale waarde in een gegevensset een uitbijter is:
#load Outliers package library(Outliers) #createdata data <- c(5, 14, 15, 15, 14, 13, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40) #perform Grubbs' Test to see if '40' is an outlier grubbs.test(data) # Grubbs test for one outlier # #data:data #G = 2.65990, U = 0.55935, p-value = 0.02398 #alternative hypothesis: highest value 40 is an outlier
De teststatistiek van de test is G = 2,65990 en de overeenkomstige p-waarde is p = 0,02398 . Omdat deze waarde kleiner is dan 0,05, zullen we de nulhypothese verwerpen en concluderen dat de maximale waarde van 40 een uitbijter is.
Als we in plaats daarvan wilden testen of de laagste waarde van „5“ een uitbijter was, zouden we het tegenovergestelde = TRUE commando kunnen gebruiken:
#perform Grubbs' Test to see if '5' is an outlier grubbs.test(data, opposite= TRUE ) # Grubbs test for one outlier # #data:data #G = 1.4879, U = 0.8621, p-value = 1 #alternative hypothesis: lowest value 5 is an outlier
De teststatistiek is G = 1,4879 en de overeenkomstige p-waarde is p = 1 . Omdat deze waarde niet minder dan 0,05 bedraagt, slagen we er niet in de nulhypothese te verwerpen. We hebben niet voldoende bewijs om te zeggen dat de minimumwaarde van „5“ een uitbijter is.
Stel ten slotte dat we aan het ene uiteinde van de dataset twee grote waarden hebben: 40 en 42. Om te testen of deze twee waarden uitschieters zijn, kunnen we de Grubbs-test uitvoeren en type=20 specificeren:
#create dataset with two large values at one end: 40 and 42 data <- c(5, 14, 15, 15, 14, 13, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40, 42) #perform Grubbs' Test to see if both 40 and 42 are outliers grubbs.test(data, type=20) # Grubbs test for two outliers # #data: data #U = 0.38111, p-value = 0.01195 #alternative hypothesis: highest values 40, 42 are outliers
De p-waarde van de test is 0,01195 . Omdat deze waarde kleiner is dan 0,05 kunnen we de nulhypothese verwerpen en concluderen dat we voldoende bewijs hebben om te zeggen dat de waarden 40 en 42 beide uitschieters zijn.
Hoe om te gaan met uitschieters
Als de Grubbs-test een uitbijter in uw dataset identificeert, heeft u verschillende opties:
1. Controleer nogmaals of de waarde geen typefout of gegevensinvoerfout is. Soms zijn waarden die als uitschieters in datasets verschijnen eenvoudigweg typefouten die door een individu zijn gemaakt tijdens het invoeren van gegevens. Ga terug en controleer of de waarde correct is ingevoerd voordat u verdere beslissingen neemt.
2. Wijs een nieuwe waarde toe aan de uitbijter . Als de uitbijter het gevolg blijkt te zijn van een typfout of een fout bij het invoeren van gegevens, kunt u besluiten er een nieuwe waarde aan toe te kennen, zoals het gemiddelde of de mediaan van de dataset.
3. Verwijder de uitbijter. Als de waarde echt een uitschieter is, kunt u ervoor kiezen deze te verwijderen als deze een aanzienlijke impact heeft op uw algehele analyse.