Apakah ini cara yang dapat diterima untuk menganalisis model efek campuran dengan lme4 di R?

14

Saya memiliki data pengukuran berulang yang tidak seimbang yang ditetapkan untuk dianalisis, dan saya telah membaca bahwa cara sebagian besar paket statistik menangani ini dengan ANOVA (yaitu tipe III jumlah kuadrat) salah. Oleh karena itu, saya ingin menggunakan model efek campuran untuk menganalisis data ini. Saya telah membaca banyak tentang model campuran R, tetapi saya masih sangat baru Rdan model efek campuran dan tidak begitu percaya diri saya melakukan hal yang benar. Perhatikan bahwa saya belum dapat sepenuhnya menceraikan diri saya dari metode "tradisional", dan masih membutuhkan nilai dan tes post hoc.hal

Saya ingin tahu apakah pendekatan berikut ini masuk akal, atau jika saya melakukan sesuatu yang sangat salah. Ini kode saya:

# load packages
library(lme4)
library(languageR)
library(LMERConvenienceFunctions)
library(coda)
library(pbkrtest)

# import data
my.data <- read.csv("data.csv")

# create separate data frames for each DV & remove NAs
region.data <- na.omit(data.frame(time=my.data$time, subject=my.data$subject, dv=my.data$dv1))

# output summary of data
data.summary <- summary(region.data)

# fit model
# "time" is a factor with three levels ("t1", "t2", "t3")
region.lmer <- lmer(dv ~ time + (1|subject), data=region.data)

# check model assumptions
mcp.fnc(region.lmer)

# remove outliers (over 2.5 standard deviations)
rm.outliers <- romr.fnc(region.lmer, region.data, trim=2.5)
region.data <- rm.outliers$data
region.lmer <- update(region.lmer)

# re-check model assumptions
mcp.fnc(region.lmer)

# compare model to null model
region.lmer.null <- lmer(dv ~ 1 + (1|subject), data=region.data)
region.krtest <- KRmodcomp(region.lmer, region.lmer.null)

# output lmer summary
region.lmer.summary <- summary(region.lmer)

# run post hoc tests
t1.pvals <- pvals.fnc(region.lmer, ndigits=10, withMCMC=TRUE)

region.lmer <- lmer(dv ~ relevel(time,ref="t2") + (1|subject), data=region.data)
t2.pvals <- pvals.fnc(region.lmer, ndigits=10, withMCMC=TRUE)

region.lmer <- lmer(dv ~ relevel(time,ref="t3") + (1|subject), data=region.data)
t3.pvals <- pvals.fnc(region.lmer, ndigits=10, withMCMC=TRUE)

# Get mcmc mean and 50/95% HPD confidence intervals for graphs
# repeated three times and stored in a matrix (not shown here for brevity)
as.numeric(t1.pvals$fixed$MCMCmean)
as.numeric(t1.pvals$fixed$HPD95lower)
as.numeric(t1.pvals$fixed$HPD95upper)
HPDinterval(as.mcmc(t1.pvals$mcmc),prob=0.5)
    HPDinterval(as.mcmc(t1.pvals$mcmc),prob=0.5)

Beberapa pertanyaan spesifik yang saya miliki:

  1. Apakah ini cara yang valid untuk menganalisis model efek campuran? Jika tidak, apa yang harus saya lakukan sebagai gantinya.
  2. Apakah plot kritik dihasilkan oleh mcp.fnc cukup baik untuk memverifikasi asumsi model, atau haruskah saya mengambil langkah tambahan.
  3. Saya mendapatkan bahwa untuk model campuran menjadi valid, data perlu menghormati asumsi normalitas dan homoseksualitas. Bagaimana cara saya menilai apa yang "kira-kira normal" dan apa yang tidak dengan melihat plot kritik yang dihasilkan oleh mcp.fnc? Apakah saya hanya perlu merasakan ini, atau apakah mereka cara yang ditentukan untuk melakukan sesuatu? Seberapa kuat model campuran sehubungan dengan asumsi ini?
  4. Saya perlu menilai perbedaan antara tiga titik waktu untuk ~ 20 karakteristik (biomarker) dari subjek dalam sampel saya. Apakah pemasangan dan pengujian model terpisah untuk masing-masing dapat diterima selama saya melaporkan semua tes yang dilakukan (signifikan atau tidak), atau apakah saya memerlukan segala bentuk koreksi untuk beberapa perbandingan.

Agar sedikit lebih tepat dalam hal eksperimen, berikut adalah beberapa detail lainnya. Kami mengikuti sejumlah peserta secara longitudinal saat mereka menjalani perawatan. Kami mengukur sejumlah biomarker sebelum dimulainya pengobatan dan pada dua titik waktu setelahnya. Yang ingin saya lihat adalah jika ada perbedaan dalam biomarker ini antara tiga titik waktu.

Saya mendasarkan sebagian besar dari apa yang saya lakukan di sini pada tutorial ini , tetapi membuat beberapa perubahan berdasarkan pada kebutuhan dan hal-hal yang saya baca. Perubahan yang saya buat adalah:

  1. lepaskan faktor "waktu" untuk mendapatkan perbandingan t1-t2, t2-t3, dan t1-t3 dengan pvals.fnc (dari paket languageR)
  2. bandingkan model campuran saya dengan model nol menggunakan perkiraan F-tes berdasarkan pendekatan Kenward-Roger (menggunakan paket pbkrtest) daripada tes rasio kemungkinan (karena saya membaca, bahwa Kenward-Roger lebih baik dianggap sekarang)
  3. Gunakan paket LMERConvenienceFunctions untuk memeriksa asumsi dan menghapus outlier (karena saya membaca bahwa model campuran sangat sensitif terhadap outlier)
ダ ン ボ ー
sumber
1
(+1) Pertanyaan yang diformulasikan dengan baik (berganda).
chl

Jawaban:

22

Pertanyaan Anda agak "besar", jadi saya akan mulai dengan beberapa komentar dan kiat umum.

Beberapa paket bacaan latar belakang dan bermanfaat

Anda mungkin harus melihat beberapa pengantar tutorial untuk menggunakan model campuran, saya akan merekomendasikan mulai dengan Baayen et al (2008) - Baayen adalah penulis languageR. Barr et al (2013) membahas beberapa masalah dengan struktur efek acak, dan Ben Bolker adalah salah satu pengembang saat ini lme4. Baayen et al sangat baik untuk pertanyaan Anda karena mereka menghabiskan banyak waktu membahas penggunaan bootstrap / tes permutasi (hal-hal di belakang mcp.fnc).

literatur

Florian Jaeger juga memiliki banyak hal di sisi praktis model campuran di blog lab- nya .

Ada juga sejumlah paket R yang berguna untuk memvisualisasikan dan menguji model campuran, seperti lmerTestdan effects. The effectspaket ini sangat bagus karena memungkinkan Anda plot interval regresi dan keyakinan linear terjadi di balik layar.

Goodness of fit dan membandingkan model

hallmerTest

anova()merχ2χ2hal-nilai untuk secara langsung membandingkan dua model. Kelemahan dari hal ini adalah tidak segera jelas seberapa baik ukuran Anda.

tsummary()|t|>2fixef()

Anda juga harus memastikan bahwa tidak ada efek tetap Anda yang berkorelasi terlalu kuat - multikolinieritas melanggar asumsi model. Florian Jaeger telah menulis sedikit tentang ini, serta beberapa solusi yang mungkin.

Beberapa perbandingan

Saya akan menjawab pertanyaan Anda # 4 sedikit lebih langsung. Jawabannya pada dasarnya sama dengan praktik yang baik dengan ANOVA tradisional, sayangnya ini tampaknya menjadi tempat di mana ada banyak ketidakpastian bagi sebagian besar peneliti. (Ini sama dengan ANOVA tradisional karena baik model efek campuran linier dan ANOVA didasarkan pada model linear umum, hanya saja model campuran memiliki istilah tambahan untuk efek acak.) Jika Anda mengasumsikan bahwa jendela waktu membuat Perbedaan dan ingin membandingkan efek waktu, Anda harus memasukkan waktu dalam model Anda. Ini, kebetulan, juga akan memberikan cara yang nyaman bagi Anda untuk menilai apakah waktu membuat perbedaan: apakah ada efek utama (tetap) untuk waktu? Kelemahan dari mengikuti rute ini adalah bahwa model Anda akan mendapatkan BANYAK yang lebih kompleks dan "super" tunggal model dengan waktu sebagai paramater mungkin akan memakan waktu lebih lama untuk menghitung dari tiga model yang lebih kecil tanpa waktu sebagai paramater. Memang, contoh tutorial klasik untuk model campuran adalahsleepstudy yang menggunakan waktu sebagai paramater.

tforeachlme4χ2

Jika karakteristik Anda adalah variabel dependen, maka Anda harus tetap menghitung model yang berbeda, dan kemudian Anda dapat menggunakan AIC dan BIC untuk membandingkan hasilnya.

Livius
sumber
Terima kasih atas respon yang mendetail! Saya telah membaca beberapa referensi yang disediakan, tetapi pasti akan melihat yang lain. Sejauh saya memahami kejahatan dari nilai-p, sayangnya pengulas sering berpikir sebaliknya (setidaknya untuk saat ini). Seperti yang direkomendasikan oleh Bates, saya menggunakan mcmc sampling, yang dari pemahaman saya menghindari sebagian dari masalah (yaitu bahwa tidak mungkin untuk memperkirakan dengan benar derajat kebebasan untuk model lmer). Karakteristiknya adalah DV, saya akan menambahkan beberapa informasi lebih lanjut untuk menjelaskan.
ダ ン ボ ー