Biarkan saya membuat contoh sederhana bagi Anda untuk menjelaskan konsep, maka kami dapat memeriksanya terhadap koefisien Anda.
Perhatikan bahwa dengan memasukkan variabel dummy "A / B" dan istilah interaksi, Anda secara efektif memberikan model Anda fleksibilitas agar sesuai dengan intersep yang berbeda (menggunakan dummy) dan kemiringan (menggunakan interaksi) pada data "A" dan data "B". Dalam apa yang mengikuti itu benar-benar tidak masalah apakah prediktor lainxadalah variabel kontinu atau, seperti dalam kasus Anda, variabel dummy lain. Jika saya berbicara dalam hal "mencegat" dan "kemiringan", ini dapat diartikan sebagai "tingkat ketika boneka adalah nol" dan "berubah tingkat ketika boneka diubah dari0 untuk 1" jika kamu memilih.
Misalkan model yang dipasang OLS pada data "A" saja y^=12+5x dan pada "B" data saja y^=11+7x. Data mungkin terlihat seperti ini:
Sekarang anggaplah kita mengambil "A" sebagai level referensi kita, dan menggunakan variabel dummy b maka b=1 untuk pengamatan di Grup B tetapi b=0 di Grup A. Model yang dipasang pada seluruh dataset adalah
y^i=β^0+β^1xi+β^2bi+β^3xibi
Untuk pengamatan di Grup A kami punya y^i=β^0+β^1xi dan kami dapat meminimalkan jumlah residu kuadratnya dengan menetapkan β^0=12 dan β^1=5. Untuk data Grup B,y^i=(β^0+β^2)+(β^1+β^3)xi dan kita dapat meminimalkan jumlah residu kuadrat dengan mengambil β^0+β^2=11 dan β^1+β^3=7. Jelas bahwa kita dapat meminimalkan jumlah residu kuadrat dalam regresi keseluruhan dengan meminimalkan jumlah untuk kedua kelompok, dan bahwa ini dapat dicapai dengan menetapkanβ^0=12 dan β^1=5 (dari Grup A) dan β^2=−1 dan β^3=2(karena data "B" harus memiliki intersep satu lebih rendah dan kemiringan dua lebih tinggi). Amati bagaimana keberadaan istilah interaksi diperlukan bagi kita untuk memiliki fleksibilitas yang memadai untuk meminimalkan jumlah residu kuadrat untuk kedua kelompok sekaligus . Model saya yang cocok adalah:
y^i=12+5xi−1bi+2xibi
Ganti semua ini sehingga "B" adalah level referensi dan a adalah pengkodean variabel dummy untuk Grup A. Dapatkah Anda melihat bahwa saya sekarang harus cocok dengan model
y^i=11+7xi+1ai−2xiai
Artinya, saya mengambil intersepsi (11) dan kemiringan (7) dari grup "B" awal saya, dan gunakan istilah dummy dan interaksi untuk menyesuaikannya dengan grup "A" saya. Penyesuaian ini saat ini berada di arah sebaliknya (saya perlu intersep satu lebih tinggi dan kemiringan dua lebih rendah ) oleh karena itu tanda-tanda dibalik dibandingkan dengan ketika saya mengambil "A" sebagai kelompok referensi, tetapi harus jelas mengapa koefisien lainnya memiliki tidak hanya beralih tanda.
Mari kita bandingkan dengan output Anda. Dalam notasi yang mirip dengan di atas, model pertama Anda yang dilengkapi dengan baseline "A" adalah:
y^i=100.7484158+0.9030541bi−0.8693598xi+0.8709116xibi
Model pas kedua Anda dengan baseline "B" adalah:
y^saya= 101.651469922 - 0.903054145Sebuahsaya+ 0,001551843xsaya- 0.870911601xsayaSebuahsaya
Pertama, mari kita verifikasi bahwa kedua model ini akan memberikan hasil yang sama. Mari kita taruhbsaya= 1 -Sebuahsaya dalam persamaan pertama, dan kami memperoleh:
y^saya= 100.7484158 + 0.9030541 ( 1 -Sebuahsaya) - 0.8693598xsaya+ 0,8709116xsaya( 1 -Sebuahsaya)
Ini menyederhanakan untuk:
y^saya= ( 100.7484158 + 0.9030541 ) - 0.9030541Sebuahsaya+ ( - 0.8693598 + 0.8709116 )xsaya- 0.8709116xsayaSebuahsaya
Sedikit aritmatika cepat menegaskan bahwa ini sama dengan model pas kedua; Selain itu sekarang harus jelas koefisien mana yang telah bertukar tanda dan koefisien mana yang telah disesuaikan dengan baseline lainnya!
Kedua, mari kita lihat apa model yang dipasang pada kelompok "A" dan "B". Model pertama Anda segera memberiy^saya= 100.7484158 - 0.8693598xsaya untuk grup "A", dan model kedua Anda segera memberi y^saya=101.651469922+0.001551843xiuntuk grup "B". Anda dapat memverifikasi model pertama memberikan hasil yang benar untuk grup "B" dengan menggantibi=1ke dalam persamaannya; aljabar, tentu saja, bekerja dengan cara yang sama seperti contoh yang lebih umum di atas. Demikian pula, Anda dapat memverifikasi bahwa model kedua memberikan hasil yang benar untuk grup "A" dengan menetapkanai=1.
Ketiga, karena dalam kasus Anda, regresi lainnya juga merupakan variabel dummy, saya sarankan Anda menghitung sarana bersyarat yang cocok untuk keempat kategori ("A" dengan x=0, "A" dengan x=1, "B" dengan x=0, "B" dengan x=1) di bawah kedua model dan periksa Anda memahami mengapa mereka setuju. Sebenarnya ini tidak perlu, karena kami telah melakukan aljabar yang lebih umum di atas untuk menunjukkan hasilnya akan konsisten bahkan jikaxterus menerus , tapi saya pikir ini tetap latihan yang berharga. Saya tidak akan mengisi rincian karena aritmatika mudah dan lebih sesuai dengan semangat jawaban JonB yang sangat bagus. Poin utama yang perlu dipahami adalah bahwa, kelompok referensi mana pun yang Anda gunakan, model Anda memiliki cukup fleksibilitas untuk disesuaikan dengan setiap mean bersyarat secara terpisah. (Di sinilah membuat perbedaan bahwa Andax adalah dummy untuk faktor biner daripada variabel kontinu - dengan prediktor kontinu kita biasanya tidak mengharapkan estimasi rata-rata bersyarat y^ untuk mencocokkan rata-rata sampel untuk setiap kombinasi prediktor yang diamati.) Hitung rata-rata sampel untuk masing-masing dari empat kombinasi kategori tersebut, dan Anda akan menemukan mereka cocok dengan rata-rata bersyarat yang sesuai.
Kode R untuk menggambar plot dan mengeksplorasi model yang sesuai, diprediksi y^ dan sarana kelompok
#Make data set with desired conditional means
data.df <- data.frame(
x = c(0,0,0, 1,1,1, 0,0,0, 1,1,1),
b = c(0,0,0, 0,0,0, 1,1,1, 1,1,1),
y = c(11.8,12,12.2, 16.8,17,17.2, 10.8,11,11.2, 17.8,18,18.2)
)
data.df$a <- 1 - data.df$b
baselineA.lm <- lm(y ~ x * b, data.df)
summary(baselineA.lm) #check this matches y = 12 + 5x - 1b + 2xb
baselineB.lm <- lm(y ~ x * a, data.df)
summary(baselineB.lm) #check this matches y = 11 + 7x + 1a - 2xa
fitted(baselineA.lm)
fitted(baselineB.lm) #check the two models give the same fitted values for y...
with(data.df, tapply(y, interaction(x, b), mean)) #...which are the group sample means
colorSet <- c("red", "blue")
symbolSet <- c(19,17)
with(data.df, plot(x, y, yaxt="n", col=colorSet[b+1], pch=symbolSet[b+1],
main="Response y against other predictor x",
panel.first = {
axis(2, at=10:20)
abline(h = 10:20, col="gray70")
abline(v = 0:1, col="gray70")
}))
abline(lm(y ~ x, data.df[data.df$b==0,]), col=colorSet[1])
abline(lm(y ~ x, data.df[data.df$b==1,]), col=colorSet[2])
legend(0.1, 17, c("Group A", "Group B"), col = colorSet,
pch = symbolSet, bg = "gray95")