Cara menggunakan fungsi linearhypothesis() di r


Anda dapat menggunakan fungsi LinearHypothesis() dari paket car di R untuk menguji hipotesis linier dalam model regresi tertentu.

Fungsi ini menggunakan sintaks dasar berikut:

 linearHypothesis(fit, c(" var1=0 ", " var2=0 "))

Contoh khusus ini menguji apakah koefisien regresi var1 dan var2 dalam model yang disebut fit sama dengan nol.

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.

Contoh: Cara menggunakan fungsi LinearHypothesis() di R

Misalkan kita memiliki kerangka data berikut di R yang menunjukkan jumlah jam yang dihabiskan untuk belajar, jumlah ujian praktik yang diambil, dan nilai ujian akhir 10 siswa dalam satu kelas:

 #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

Sekarang anggaplah kita ingin memasukkan model regresi linier berganda berikut ke dalam R:

Nilai ujian = β 0 + β 1 (jam) + β 2 (ujian praktik)

Kita dapat menggunakan fungsi lm() untuk mengadaptasi model ini:

 #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

Sekarang misalkan kita ingin menguji apakah koefisien jam dan ujian_latihan keduanya nol.

Kita dapat menggunakan fungsi LinearHypothesis() untuk melakukan ini:

 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

Uji hipotesis menghasilkan nilai berikut:

  • Statistik uji F : 14,035
  • nilai p : 0,003553

Uji hipotesis khusus ini menggunakan hipotesis nol dan hipotesis alternatif berikut:

  • H 0 : Kedua koefisien regresi sama dengan nol.
  • H A : Setidaknya satu koefisien regresi tidak sama dengan nol.

Karena nilai p tes (0,003553) kurang dari 0,05, kami menolak hipotesis nol.

Dengan kata lain, kita tidak mempunyai cukup bukti untuk mengatakan bahwa koefisien regresi untuk jam kerja dan ujian praktik keduanya sama dengan nol.

Sumber daya tambahan

Tutorial berikut memberikan informasi tambahan tentang regresi linier di R:

Bagaimana menafsirkan keluaran regresi di R
Cara melakukan regresi linier sederhana di R
Cara melakukan regresi linier berganda di R
Bagaimana melakukan regresi logistik di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *