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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert