Saya punya pertanyaan tentang yang merupakan cara terbaik untuk menentukan interaksi dalam model regresi. Pertimbangkan data berikut:
d <- structure(list(r = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("r1","r2"),
class = "factor"), s = structure(c(1L, 1L, 1L, 1L, 1L,
2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L),
.Label = c("s1","s2"), class = "factor"), rs = structure(c(1L, 1L,
1L,1L, 1L,2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L),
.Label = c("r1s1","r1s2", "r2s1", "r2s2"), class = "factor"),
y = c(19.3788027518437, 23.832287726332, 26.2533235300492,
15.962906892112, 24.2873740664331, 28.5181676764727, 25.2757801195961,
25.3601044326474, 25.3066440027202, 24.3298865128677, 32.5684219007394,
31.0048406654209, 31.671238316086, 34.1933764518288, 36.8784821769123,
41.6691435168277, 40.4669714825801, 39.2664137501106, 39.4884849591932,
49.247505535468)), .Names = c("r","s", "rs", "y"),
row.names = c(NA, -20L), class = "data.frame")
Dua cara yang setara untuk menentukan model dengan interaksi adalah:
lm0 <- lm(y ~ r*s, data=d)
lm1 <- lm(y ~ r + s + r:s, data=d)
Pertanyaan saya adalah apakah saya dapat menentukan interaksi mempertimbangkan variabel baru (rs) dengan tingkat interaksi yang sama:
lm2 <- lm(y ~ r + s + rs, data=d)
Apa keuntungan / kerugian dari pendekatan ini? Dan mengapa hasil dari dua pendekatan ini berbeda?
summary(lm1)
lm(formula = y ~ r + s + r:s, data = d, x = TRUE)
coef.est coef.se
(Intercept) 21.94 1.46
rr2 11.32 2.07
ss2 3.82 2.07
rr2:ss2 4.95 2.92
---
n = 20, k = 4
residual sd = 3.27, R-Squared = 0.87
summary(lm2)
lm(formula = y ~ r + s + rs, data = d, x = TRUE)
coef.est coef.se
(Intercept) 21.94 1.46
rr2 11.32 2.07
ss2 8.76 2.07 # ss2 coef is different from lm1
rsr1s2 -4.95 2.92
---
n = 20, k = 4
residual sd = 3.27, R-Squared = 0.87
r
regression
interaction
Manuel Ramón
sumber
sumber
rs
didefinisikaninteraction(r, s)
?attr(terms(lm1),"factors")
danattr(terms(lm2),"factors")
Jawaban:
Hasilnya berbeda karena cara saya mengatur model dengan interaksi berbeda dari cara mengaturnya ketika Anda mengaturnya sendiri. Jika Anda melihat sisa sd, itu sama, yang menunjukkan (tidak pasti) bahwa model yang mendasarinya sama, hanya diekspresikan (ke internal lm) berbeda.
Jika Anda mendefinisikan interaksi Anda sebagai
paste(d$s, d$r)
gantipaste(d$r, d$s)
estimasi parameter Anda akan berubah lagi, dengan cara yang menarik.Perhatikan bagaimana dalam ringkasan model Anda untuk lm1, estimasi koefisien untuk ss2 adalah 4,94 lebih rendah daripada dalam ringkasan untuk lm2, dengan koefisien untuk rr2: ss2 menjadi 4,95 (jika Anda mencetak ke 3 tempat desimal, perbedaannya hilang). Ini adalah indikasi lain bahwa penataan ulang ketentuan internal telah terjadi.
Saya tidak dapat memikirkan keuntungan untuk melakukannya sendiri, tetapi mungkin ada satu dengan model yang lebih kompleks di mana Anda tidak ingin istilah interaksi penuh tetapi sebaliknya hanya beberapa istilah dalam "persilangan" antara dua faktor atau lebih.
sumber
Anda mungkin memahami perilaku ini lebih baik jika Anda melihat matriks model.
Ketika Anda melihat matriks ini, Anda dapat membandingkan rasi bintang
s2=1
dengan variabel lain (yaitu kapans2=1
, nilai mana yang diambil oleh variabel lain?). Anda akan melihat bahwa rasi bintang ini sedikit berbeda, yang berarti bahwa kategori dasarnya berbeda. Segala sesuatu yang lain pada dasarnya sama. Secara khusus, catatan bahwa dalam Andalm1
, koefisien padass2
sama dengan koefisienss2+rsr1s2
darilm2
, yaitu 3.82 = 8,76-4,95, singkat kesalahan pembulatan.Misalnya, mengeksekusi kode berikut memberi Anda output yang sama persis dengan menggunakan pengaturan otomatis R:
Ini juga memberikan jawaban cepat untuk pertanyaan Anda: satu-satunya alasan untuk mengubah cara faktor diatur adalah untuk memberikan kejelasan eksposisi. Pertimbangkan contoh berikut: Misalkan Anda mundur upah pada boneka untuk menyelesaikan sekolah menengah berinteraksi dengan faktor yang menunjukkan apakah Anda termasuk minoritas.
Yaitu:wage=α+β edu+γ edu∗minority+ϵ
Jika faktor minoritas tersebut mengambil nilai 1 jika Anda termasuk dalam minoritas, koefisien dapat diartikan sebagai perbedaan upah untuk individu non-minoritas yang telah menyelesaikan sekolah menengah. Jika ini adalah koefisien minat Anda, maka Anda harus mengkodekannya. Kalau tidak, misalkan faktor minoritas mengambil nilai 1 jika Anda bukan milik minoritas. Kemudian, untuk melihat berapa banyak penghasilan non-minoritas saat mereka menyelesaikan sekolah menengah, Anda harus "secara manual" menghitung . Namun perlu dicatat bahwa semua informasi terkandung dalam perkiraan, dan hasil yang substansial tidak berubah dengan mengatur faktor-faktor secara berbeda!β + γβ β+γ
sumber