T-Test in R-programmering: één voorbeeld en gepaarde T-Test [Voorbeeld]

Wat is statistische inferentie?

Statistische gevolgtrekking is de kunst van het genereren van conclusies over de distributie van de gegevens. Een datawetenschapper wordt vaak blootgesteld aan vragen die alleen wetenschappelijk kunnen worden beantwoord. Daarom is statistische gevolgtrekking een strategie om te testen of een hypothese waar is, dat wil zeggen gevalideerd door de gegevens.

Een gebruikelijke strategie om hypothesen te beoordelen is het uitvoeren van een t-test. Een t-test kan uitwijzen of twee groepen hetzelfde gemiddelde hebben. Een t-toets wordt ook wel a genoemd Studententest. Een t-toets kan worden geschat voor:

  1. Een enkele vector (dat wil zeggen een t-test met één monster)
  2. Twee vectoren uit dezelfde monstergroep (dwz gepaarde t-test).

Je gaat ervan uit dat beide vectoren willekeurig zijn bemonsterd, onafhankelijk zijn en afkomstig zijn uit een normaal verdeelde populatie met onbekende maar gelijke varianties.

Wat is T-Test in R-programmering?

Het basisidee achter een T-Test is om statistieken te gebruiken om twee tegengestelde hypothesen te evalueren:

  • H0: NULL-hypothese: Het gemiddelde is hetzelfde als de gebruikte steekproef
  • H3: Ware hypothese: Het gemiddelde wijkt af van de gebruikte steekproef

De T-test wordt vaak gebruikt bij kleine steekproeven. Om een ​​t-test uit te voeren, moet u uitgaan van de normaliteit van de gegevens.

T-Test-syntaxis in R

De basissyntaxis voor t.test() in R is:

t.test(x, y = NULL,
       mu = 0, var.equal = FALSE)
arguments:
- x : A vector to compute the one-sample t-test
- y: A second vector to compute the two sample t-test
- mu: Mean of the population- var.equal: Specify if the variance of the two vectors are equal. By default, set to `FALSE`

Eén voorbeeld van een T-test in R

De One Sample t-test, of studententest, compares het gemiddelde van een vector tegen een theoretisch gemiddelde, Eén voorbeeld van een T-test in R. De formule die wordt gebruikt om de t-toets te berekenen is:

Eén voorbeeld van een T-test in R

Hier

  • Eén voorbeeld van een T-test in R verwijst naar het gemiddelde
  • Eén voorbeeld van een T-test in R naar het theoretisch gemiddelde
  • s is de standaarddeviatie
  • n het aantal waarnemingen.

Om de statistische significantie van de t-toets te evalueren, moet u de p-waarde. De p-waarde varieert van 0 tot 1 en wordt als volgt geïnterpreteerd:

  • Een p-waarde lager dan 0.05 betekent dat u s benttronIk heb er alle vertrouwen in dat ik de nulhypothese kan verwerpen, dus H3 wordt geaccepteerd.
  • Een p-waarde hoger dan 0.05 geeft aan dat je niet genoeg bewijs hebt om de nulhypothese te verwerpen.

Je kunt de p-waarde construeren door te kijken naar de overeenkomstige absolute waarde van de t-toets in de Student-verdeling met een vrijheidsgraad gelijk aan Eén voorbeeld van een T-test in R

Als u bijvoorbeeld vijf waarnemingen heeft, moet u onze t-waarde vergelijken met de t-waarde in de Student-verdeling met 5 vrijheidsgraden en een betrouwbaarheidsinterval van 4 procent. Om de nulhypothese te verwerpen moet de t-waarde hoger zijn dan 95.

Zie onderstaande tabel:

Eén voorbeeld van een T-test in R

Eén voorbeeld van een T-testvoorbeeld in R

Stel dat u een bedrijf bent dat cookies produceert. Elk koekje zou 10 gram suiker moeten bevatten. De koekjes worden geproduceerd door een machine die de suiker in een kom toevoegt voordat alles wordt gemengd. Je denkt dat de machine niet voor elk koekje 10 gram suiker toevoegt. Als uw veronderstelling waar is, moet de machine worden gerepareerd. Je hebt het suikerniveau van dertig koekjes opgeslagen.

Note: U kunt een gerandomiseerde vector maken met de functie rnorm(). Deze functie genereert normaal verdeelde waarden. De basissyntaxis is:

rnorm(n, mean, sd)
arguments
- n: Number of observations to generate
- mean: The mean of the distribution. Optional
- sd: The standard deviation of the distribution. Optional

Je kunt een verdeling maken met 30 waarnemingen met een gemiddelde van 9.99 en een standaarddeviatie van 0.04.

set.seed(123) sugar_cookie <- rnorm(30, mean = 9.99, sd = 0.04)
head(sugar_cookie)

Output:

## [1]  9.967581  9.980793 10.052348  9.992820  9.995172 10.058603

Met een one-sample t-test kunt u controleren of het suikergehalte afwijkt van het recept. Je kunt een hypothesetest maken:

  • H0: Het gemiddelde suikergehalte is gelijk aan 10
  • H3: Het gemiddelde suikergehalte is anders dan 10

U hanteert een significantieniveau van 0.05.

# H0 : mu = 10
t.test(sugar_cookie, mu = 10)

Dit is de uitvoer:

Eén voorbeeld van een T-testvoorbeeld in R

De p-waarde van de one-sample t-test is 0.1079 en hoger dan 0.05. U kunt er met 95% zeker van zijn dat de hoeveelheid suiker die door de machine wordt toegevoegd tussen de 9.973 en 10.002 gram ligt. Je kunt de nulhypothese (H0) niet verwerpen. Er is onvoldoende bewijs dat de hoeveelheid suiker die door de machine wordt toegevoegd, niet het recept volgt.

Gepaarde T-test in R

De gepaarde T-test, of afhankelijke steekproef t-test, wordt gebruikt wanneer het gemiddelde van de behandelde groep tweemaal wordt berekend. De basistoepassing van de gepaarde t-test is:

  • A/B-testing: Vergelijk twee varianten
  • Case Control-onderzoeken: Voor/na de behandeling

Gepaard T-Testvoorbeeld in R

Een drankenbedrijf is geïnteresseerd in knwing de prestaties van een kortingsprogramma op de omzet. Het bedrijf besloot de dagelijkse verkoop te volgen van een van de winkels waar het programma plaatsvindt promoted. Aan het einde van het programma wil het bedrijf weten of er een statistisch verschil is tussen de gemiddelde omzet van de winkel voor en na het programma.

  • Het bedrijf hield de verkopen elke dag bij voordat het programma startte. Dit is onze eerste vector.
  • Het programma is promogedurende een week en de verkopen worden elke dag geregistreerd. Dit is onze tweede vector.
  • Om de effectiviteit van het programma te beoordelen, voer je de t-test uit. Dit wordt een gepaarde t-toets genoemd omdat de waarden van beide vectoren uit dezelfde verdeling komen (dwz uit dezelfde winkel).

Het testen van de hypothese is:

  • H0: Geen verschil in gemiddelde
  • H3: De twee middelen zijn verschillend

Houd er rekening mee dat één aanname in de t-test een onbekende maar gelijke variantie is. In werkelijkheid hebben de gegevens nauwelijks een gelijk gemiddelde, en dit leidt tot onjuiste resultaten voor de t-toets.

Eén oplossing om de aanname van gelijke variantie te versoepelen, is het gebruik van de test van Welch. R gaat ervan uit dat de twee varianties standaard niet gelijk zijn. In uw dataset hebben beide vectoren dezelfde variantie. U kunt var.equal= TRUE instellen.

Je maakt twee willekeurige vectoren uit een Gaussiaanse verdeling met een hoger gemiddelde voor de verkopen na het programma.

set.seed(123)
# sales before the program
sales_before <- rnorm(7, mean = 50000, sd = 50)
# sales after the program.This has higher mean
sales_after <- rnorm(7, mean = 50075, sd = 50)
# draw the distribution
t.test(sales_before, sales_after,var.equal = TRUE)

Gepaard T-Testvoorbeeld in R

U heeft een p-waarde van 0.04606 verkregen, lager dan de drempel van 0.05. Je concludeert dat de gemiddelden van de twee groepen aanzienlijk verschillen. Het programma verbetert de omzet van winkels.

Samengevat

  • Statistische gevolgtrekking is de kunst van het genereren van conclusies over de distributie van de gegevens.
  • De T-Test behoort tot de familie van inferentiële statistieken. Het is meestal employed om erachter te komen of er een statistisch verschil bestaat tussen de gemiddelden van twee groepen.
  • De One Sample t-test, of studententest, compares het gemiddelde van een vector tegen een theoretisch gemiddelde.
  • De gepaarde T-test, of afhankelijke steekproef t-test, wordt gebruikt wanneer het gemiddelde van de behandelde groep tweemaal wordt berekend.

We kunnen optellenmaride t-test is de onderstaande tabel:

test Hypothese om te testen p-waarde Code Optioneel argument
t-test met één monster Het gemiddelde van een vector verschilt van het theoretische gemiddelde 0.05
t.test(x, mu = mean)
gepaarde steekproef t-test Gemiddelde A verschilt van gemiddelde B voor dezelfde groep 0.06
t.test(A,B, mu = mean)
var.equal= TRUE

Als we aannemen dat de varianties gelijk zijn, moeten we de parameter var.equal= TRUE wijzigen.