So verwenden sie die funktion linearhypothesis() in r
Sie können die Funktion LinearHypothesis() aus dem Paket car in R verwenden, um lineare Hypothesen in einem bestimmten Regressionsmodell zu testen.
Diese Funktion verwendet die folgende grundlegende Syntax:
linearHypothesis(fit, c(" var1=0 ", " var2=0 "))
In diesem speziellen Beispiel wird getestet, ob die Regressionskoeffizienten var1 und var2 im Modell namens „Fit“ zusammen gleich Null sind.
Das folgende Beispiel zeigt, wie Sie diese Funktion in der Praxis nutzen können.
Beispiel: Verwendung der Funktion LinearHypothesis() in R
Angenommen, wir haben den folgenden Datenrahmen in R, der die Anzahl der Lernstunden, die Anzahl der abgelegten Übungsprüfungen und die Abschlussprüfungsnote von 10 Schülern einer Klasse anzeigt:
#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
Nehmen wir nun an, wir möchten das folgende multiple lineare Regressionsmodell in R anpassen:
Prüfungsergebnis = β 0 + β 1 (Stunden) + β 2 (praktische Prüfungen)
Wir können die Funktion lm() verwenden, um dieses Modell anzupassen:
#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
Nehmen wir nun an, wir möchten testen, ob der Stundenkoeffizient und prac_exams beide Null sind.
Wir können dazu die Funktion LinearHypothesis() verwenden:
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
Der Hypothesentest liefert die folgenden Werte:
- F-Test-Statistik : 14.035
- p-Wert : .003553
Dieser spezielle Hypothesentest verwendet die folgenden Null- und Alternativhypothesen:
- H 0 : Beide Regressionskoeffizienten sind gleich Null.
- H A : Mindestens ein Regressionskoeffizient ist ungleich Null.
Da der p-Wert des Tests (0,003553) kleiner als 0,05 ist, lehnen wir die Nullhypothese ab.
Mit anderen Worten: Wir haben nicht genügend Beweise, um zu sagen, dass die Regressionskoeffizienten für Stunden und prac_exams beide gleich Null sind.
Zusätzliche Ressourcen
Die folgenden Tutorials bieten zusätzliche Informationen zur linearen Regression in R:
So interpretieren Sie die Regressionsausgabe in R
So führen Sie eine einfache lineare Regression in R durch
So führen Sie eine multiple lineare Regression in R durch
So führen Sie eine logistische Regression in R durch