Hoe de linearhypothese()-functie in r te gebruiken
U kunt de functie LinearHypothese() uit het car- pakket in R gebruiken om lineaire hypothesen in een specifiek regressiemodel te testen.
Deze functie gebruikt de volgende basissyntaxis:
linearHypothesis(fit, c(" var1=0 ", " var2=0 "))
Dit specifieke voorbeeld test of de regressiecoëfficiënten var1 en var2 in het model dat fit wordt genoemd gezamenlijk gelijk zijn aan nul.
Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.
Voorbeeld: hoe u de functie LinearHypothese() in R gebruikt
Stel dat we het volgende gegevensframe in R hebben dat het aantal uren aan studeren toont, het aantal afgelegde oefenexamens en de eindexamenscore van 10 studenten in een klas:
#create data frame df <- data.frame(score=c(77, 79, 84, 85, 88, 99, 95, 90, 92, 94), hours=c(1, 1, 2, 3, 2, 4, 4, 2, 3, 3), prac_exams=c(2, 4, 4, 2, 4, 5, 4, 3, 2, 1)) #view data frame df score hours prac_exams 1 77 1 2 2 79 1 4 3 84 2 4 4 85 3 2 5 88 2 4 6 99 4 5 7 95 4 4 8 90 2 3 9 92 3 2 10 94 3 1
Stel nu dat we het volgende meervoudige lineaire regressiemodel in R willen passen:
Examenscore = β 0 + β 1 (uren) + β 2 (praktijkexamens)
We kunnen de functie lm() gebruiken om dit model aan te passen:
#fit multiple linear regression model fit <- lm(score ~ hours + prac_exams, data=df) #view summary of model summary(fit) Call: lm(formula = score ~ hours + prac_exams, data = df) Residuals: Min 1Q Median 3Q Max -5.8366 -2.0875 0.1381 2.0652 4.6381 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 72.7393 3.9455 18.436 3.42e-07 *** hours 5.8093 1.1161 5.205 0.00125 ** prac_exams 0.3346 0.9369 0.357 0.73150 --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 3.59 on 7 degrees of freedom Multiple R-squared: 0.8004, Adjusted R-squared: 0.7434 F-statistic: 14.03 on 2 and 7 DF, p-value: 0.003553
Stel nu dat we willen testen of de urencoëfficiënt en de oefenexamens beide nul zijn.
We kunnen hiervoor de functie LinearHypothese() gebruiken:
library (car) #perform hypothesis test for hours=0 and prac_exams=0 linearHypothesis(fit, c(" hours=0 ", " prac_exams=0 ")) Linear hypothesis testing Hypothesis: hours = 0 prac_exams = 0 Model 1: restricted model Model 2: score ~ hours + prac_exams Res.Df RSS Df Sum of Sq F Pr(>F) 1 9 452.10 2 7 90.24 2 361.86 14.035 0.003553 ** --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
De hypothesetest retourneert de volgende waarden:
- F-teststatistiek : 14.035
- p-waarde : .003553
Deze specifieke hypothesetest maakt gebruik van de volgende nul- en alternatieve hypothesen:
- H 0 : Beide regressiecoëfficiënten zijn gelijk aan nul.
- H A : Minstens één regressiecoëfficiënt is niet gelijk aan nul.
Omdat de p-waarde van de test (0,003553) kleiner is dan 0,05, verwerpen we de nulhypothese.
Met andere woorden: we hebben niet genoeg bewijs om te zeggen dat de regressiecoëfficiënten voor uren en praktijkexamens beide gelijk zijn aan nul.
Aanvullende bronnen
De volgende zelfstudies bieden aanvullende informatie over lineaire regressie in R:
Hoe regressie-uitvoer in R te interpreteren
Hoe eenvoudige lineaire regressie uit te voeren in R
Hoe meervoudige lineaire regressie uit te voeren in R
Hoe logistische regressie uit te voeren in R