Jika Anda mencari untuk mendapatkan "efek keluarga" dan "efek barang," kita dapat menganggap ada penyadapan acak untuk keduanya, dan kemudian memodelkan ini dengan paket 'lme4'.
Tapi, pertama-tama kita harus memberi masing-masing saudara id yang unik, bukan id yang unik dalam keluarga.
Kemudian untuk "korelasi antara pengukuran yang dilakukan pada saudara kandung dalam keluarga yang sama untuk item yang berbeda ," kita dapat menentukan sesuatu seperti:
mod<-lmer(value ~ (1|family)+(1|item), data=family)
Ini akan memberi kita intersep efek tetap untuk semua saudara kandung, dan kemudian dua intersep efek acak (dengan varian), untuk keluarga dan item.
Kemudian, untuk "korelasi antara pengukuran yang dilakukan pada saudara kandung dalam keluarga yang sama untuk item yang sama ," kita dapat melakukan hal yang sama tetapi hanya mengelompokkan data kami, jadi kami memiliki sesuatu seperti:
mod2<-lmer(value ~ (1|family), data=subset(family,item=="1"))
Saya pikir ini mungkin pendekatan yang lebih mudah untuk pertanyaan Anda. Tetapi, jika Anda hanya menginginkan ICC untuk item atau keluarga, paket 'psych' memiliki fungsi ICC () - hanya berhati-hati tentang bagaimana item dan nilai dilebur dalam data contoh Anda.
Memperbarui
Beberapa di bawah ini baru bagi saya, tetapi saya senang mengatasinya. Saya benar-benar tidak terbiasa dengan gagasan korelasi intraclass negatif. Meskipun saya melihat di Wikipedia bahwa “definisi ICC awal” memungkinkan adanya korelasi negatif dengan data berpasangan. Tapi seperti yang paling umum digunakan sekarang, ICC dipahami sebagai proporsi dari total varian yang merupakan varian antar-kelompok. Dan nilai ini selalu positif. Meskipun Wikipedia mungkin bukan referensi yang paling otoritatif, ringkasan ini sesuai dengan bagaimana saya selalu melihat ICC digunakan:
Keuntungan dari kerangka kerja ANOVA ini adalah bahwa kelompok yang berbeda dapat memiliki jumlah nilai data yang berbeda, yang sulit untuk ditangani menggunakan statistik ICC sebelumnya. Perhatikan juga bahwa ICC ini selalu non-negatif, yang memungkinkannya untuk ditafsirkan sebagai proporsi dari total varian yang "antara kelompok." ICC ini dapat digeneralisasi untuk memungkinkan efek kovariat, dalam hal ini ICC ditafsirkan sebagai menangkap kesamaan dalam kelas dari nilai data yang disesuaikan kovariat.
Yang mengatakan, dengan data seperti yang Anda berikan di sini, korelasi antar kelas antara item 1, 2, dan 3 bisa sangat negatif. Dan kita dapat memodelkan ini, tetapi proporsi perbedaan yang dijelaskan antara kelompok-kelompok masih akan positif.
# load our data and lme4
library(lme4)
## Loading required package: Matrix
dat<-read.table("http://www.wvbauer.com/fam_sib_item.dat", header=TRUE)
Jadi berapa persentase varians di antara keluarga, mengendalikan juga untuk antara varians kelompok antara item-kelompok? Kami dapat menggunakan model intersepsi acak seperti yang Anda sarankan:
mod<-lmer(yijk ~ (1|family)+(1|item), data=dat)
summary(mod)
## Linear mixed model fit by REML ['lmerMod']
## Formula: yijk ~ (1 | family) + (1 | item)
## Data: dat
##
## REML criterion at convergence: 4392.3
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.6832 -0.6316 0.0015 0.6038 3.9801
##
## Random effects:
## Groups Name Variance Std.Dev.
## family (Intercept) 0.3415 0.5843
## item (Intercept) 0.8767 0.9363
## Residual 4.2730 2.0671
## Number of obs: 1008, groups: family, 100; item, 3
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 2.927 0.548 5.342
Kami menghitung ICC dengan mendapatkan varians dari dua intersep efek acak dan dari residu. Kami kemudian menghitung kuadrat varians keluarga di atas jumlah kuadrat dari semua varians.
temp<-as.data.frame(VarCorr(mod))$vcov
temp.family<-(temp[1]^2)/(temp[1]^2+temp[2]^2+temp[3]^2)
temp.family
## [1] 0.006090281
Kami kemudian dapat melakukan hal yang sama untuk dua estimasi varians lainnya:
# variance between item-groups
temp.items<-(temp[2]^2)/(temp[1]^2+temp[2]^2+temp[3]^2)
temp.items
## [1] 0.04015039
# variance unexplained by groups
temp.resid<-(temp[3]^2)/(temp[1]^2+temp[2]^2+temp[3]^2)
temp.resid
## [1] 0.9537593
# clearly then, these will sum to 1
temp.family+temp.items+temp.resid
## [1] 1
Hasil ini menunjukkan bahwa sangat sedikit dari total varians yang dijelaskan oleh varians antar keluarga atau antar kelompok barang. Tetapi, seperti disebutkan di atas, korelasi antar kelas antara item masih bisa negatif. Pertama mari kita dapatkan data kita dalam format yang lebih luas:
# not elegant but does the trick
dat2<-cbind(subset(dat,item==1),subset(dat,item==2)[,1],subset(dat,item==3)[,1])
names(dat2)<-c("item1","family","sibling","item","item2","item3")
Sekarang kita dapat memodelkan korelasi antara, misalnya, item1 dan item3 dengan intersep acak untuk keluarga seperti sebelumnya. Tapi pertama-tama, mungkin perlu diingat bahwa untuk regresi linier sederhana, akar kuadrat dari model r-kuadrat adalah sama dengan koefisien korelasi antar kelas (pearson r) untuk item1 dan item2.
# a simple linear regression
mod2<-lm(item1~item3,data=dat2)
# extract pearson's r
sqrt(summary(mod2)$r.squared)
## [1] 0.6819125
# check this
cor(dat2$item1,dat2$item3)
## [1] 0.6819125
# yep, equal
# now, add random intercept to the model
mod3<-lmer(item1 ~ item3 + (1|family), data=dat2)
summary(mod3)
## Linear mixed model fit by REML ['lmerMod']
## Formula: item1 ~ item3 + (1 | family)
## Data: dat2
##
## REML criterion at convergence: 1188.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.3148 -0.5348 -0.0136 0.5724 3.2589
##
## Random effects:
## Groups Name Variance Std.Dev.
## family (Intercept) 0.686 0.8283
## Residual 1.519 1.2323
## Number of obs: 336, groups: family, 100
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) -0.07777 0.15277 -0.509
## item3 0.52337 0.02775 18.863
##
## Correlation of Fixed Effects:
## (Intr)
## item3 -0.699
Hubungan antara item1 dan item3 positif. Tapi, hanya untuk memeriksa bahwa kita bisa mendapatkan korelasi negatif di sini, mari kita memanipulasi data kami:
# just going to multiply one column by -1
# to force this cor to be negative
dat2$neg.item3<-dat2$item3*-1
cor(dat2$item1, dat2$neg.item3)
## [1] -0.6819125
# now we have a negative relationship
# replace item3 with this manipulated value
mod4<-lmer(item1 ~ neg.item3 + (1|family), data=dat2)
summary(mod4)
## Linear mixed model fit by REML ['lmerMod']
## Formula: item1 ~ neg.item3 + (1 | family)
## Data: dat2
##
## REML criterion at convergence: 1188.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.3148 -0.5348 -0.0136 0.5724 3.2589
##
## Random effects:
## Groups Name Variance Std.Dev.
## family (Intercept) 0.686 0.8283
## Residual 1.519 1.2323
## Number of obs: 336, groups: family, 100
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) -0.07777 0.15277 -0.509
## neg.item3 -0.52337 0.02775 -18.863
##
## Correlation of Fixed Effects:
## (Intr)
## neg.item3 0.699
Jadi ya, hubungan antar item bisa negatif. Tetapi jika kita melihat proporsi varians yang ada di antara keluarga-keluarga dalam hubungan ini, yaitu ICC (keluarga), angka itu masih akan positif. Seperti sebelumnya:
temp2<-as.data.frame(VarCorr(mod4))$vcov
(temp2[1]^2)/(temp2[1]^2+temp2[2]^2)
## [1] 0.1694989
Jadi untuk hubungan antara item1 dan item3, sekitar 17% dari varian ini adalah karena perbedaan antar keluarga. Dan, kami masih mengizinkan adanya korelasi negatif antar item.
var(family)^2/(var(family)^2+var(item)^2)+var(residual)^2)
bersesuaian? Dan ya, ICC bisa negatif. Seperti yang saya jelaskan di awal pertanyaan saya, orang dapat langsung memperkirakan ICC dengangls()
modelnya, yang memungkinkan untuk perkiraan negatif. Di sisi lain, model komponen varians tidak memungkinkan untuk perkiraan negatif.