Bobot beta terstandarisasi untuk regresi multilevel

11

Bagaimana seseorang dapat memperoleh bobot regresi standar (efek tetap) dari regresi multilevel?

Dan, sebagai "add-on": Apa cara termudah untuk mendapatkan bobot standar ini dari mer-object (dari lmerfungsi lme4paket di R)?

Felix S
sumber
Khususnya mer atau Anda meminta koefisien model linier?
Robert Kubrick
Sebenarnya saya lebih tertarik pada bagaimana melakukannya secara umum (saya akan membakukan semua variabel sebelumnya, seperti pada model linear biasa, tapi saya tidak yakin apakah pendekatan itu valid dalam MLM). Di atas, saya ingin melihat bagaimana hal itu dilakukan dengan objek lme4. Saya mengulang pertanyaan itu sesuai!
Felix S
1
Anda mungkin tertarik pada makalah ini oleh Andrew Gelman dan Iain Pardoe (2007) Perbandingan Prediktif Rata-Rata untuk Model dengan Nonlinier, Interaksi, dan Komponen Varians .
Andy W

Jawaban:

9

Cukup skala variabel penjelas Anda untuk memiliki rata-rata nol dan varians satu sebelum Anda memasukkannya ke dalam model. Kemudian semua koefisien akan sebanding. Sifat efek campuran dari model tidak berdampak pada masalah ini.

Cara terbaik untuk melakukannya, dan paling tidak salah, adalah dengan menggunakan skala () sebelum Anda cocok dengan model.

Peter Ellis
sumber
Terima kasih, itulah yang ingin saya ketahui: mengganti ke grand berarti (mengabaikan struktur grup ...).
Felix S
3

Untuk cara cepat mendapatkan koefisien beta terstandarisasi langsung dari model lm (atau glm) apa pun di R, coba gunakan lm.beta(model)dari paket QuantPsyc. Sebagai contoh:

library("MASS")
glmModel = glm(dependentResponseVar ~ predictor1 + predictor2, data=myData)
summary(glmModel)

library(QuantPsyc)
lm.beta(glmModel)
CJH
sumber
1
Dalam surel ini Ben Bolker menerjemahkan fungsi ini ke "lmer-land".
crsh
Tetapi kode tertaut yang disediakan Ben sebenarnya tidak berfungsi sebagaimana ditulis dalam email itu, tidak terlihat seperti itu. Ini termasuk kata-kata / pseudocode .... Sunting: Jawaban untuk pertanyaan ini akan memberikan kode kerja: stats.stackexchange.com/questions/123366/…
Bajcz
2

Untuk model linier standar dengan regresi lm () Anda dapat skala () data prediktor Anda atau cukup gunakan rumus sederhana ini:

lm.results = lm(mydata$Y ~ mydata$x1)

sd.y = sd(mydata$Y)
sd.x1 = sd(mydata$x1)
x1.Beta = coef(lm.results)["mydata$x1"] * (sd.x1 / sd.y)
Robert Kubrick
sumber
1

Dengan asumsi Anda telah mengatur output lmermodel Anda lmer.results, fixef(lmer.results)akan mengembalikan keseluruhan koefisien efek tetap.

Michelle
sumber
2
Mereka tidak akan "distandarisasi", kan? Saya membaca pertanyaan sebagai ingin tahu ukuran efek tetap jika variabel penjelas semua pada skala yang sama.
Peter Ellis
Saya tidak tahu bahwa adalah mungkin untuk mendapatkan koefisien terstandarisasi dari merobjek - mereka tidak muncul dalam ringkasan, jadi saya berasumsi lme4metode tidak membuatnya. fixef()akan mengembalikan semua informasi efek tetap yang tersedia dari suatu merobjek.
Michelle
1
Seperti yang sudah dikomentari Peter: fokus pertanyaannya adalah tentang koefisien 'standar' ...
Felix S