Model log-linear mungkin menjadi pilihan lain untuk dilihat, jika Anda ingin mempelajari struktur data dua arah Anda.
Jika Anda berasumsi bahwa dua sampel cocok (yaitu, ada beberapa jenis ketergantungan antara dua rangkaian lokasi) dan Anda mempertimbangkan bahwa data sebenarnya jumlah yang dapat dianggap sebagai skor atau respons yang dipesan (seperti yang disarankan oleh @caracal ), maka Anda juga dapat melihat model marginal untuk pasangan yang cocok, yang biasanya melibatkan analisis tabel kontingensi kuadrat. Mungkin belum tentu Anda berakhir dengan Tabel persegi seperti itu, tetapi kami juga dapat memutuskan batas atas untuk jumlah, misalnya kalimat pasif. Bagaimanapun, model untuk pasangan yang cocok dijelaskan dengan baik di Bab 10 dari Agresti, Analisis Data Kategorikal ; model yang relevan untuk kategori ordinal dalam tabel kuadrat sedang menguji kuasi-simetri(perbedaan dalam pengaruh kategori dari satu kasus ke yang lain mengikuti tren linear dalam skor kategori), simetri bersyarat ( atau , ), dan asosiasi kuasi-seragam ( asosiasi linier demi linier dari diagonal utama, yang dalam kasus skor interval-sama berarti asosiasi lokal seragam). Ordinal quasi-symmetry (OQS) adalah kasus khusus dari model logit linier, dan dapat dibandingkan dengan model yang lebih sederhana di mana hanya homogenitas marginal berlaku dengan uji LR, karena ordinal kuasi-simetri + homogenitas marginal simetri.πa b<πa bπa b>πa b∀ a , b=
Mengikuti notasi Agresti (hlm. 429), kami menganggap memesan skor untuk variabel (dalam baris) dan variabel (dalam kolom); atau menunjukkan setiap baris atau kolom. Model OQS dibaca sebagai model log-linear berikut:kamu1≤ ⋯ ≤kamusayaXYSebuahb
catatanμa b= λ +λSebuah+λb+ βkamub+λa b
di mana untuk semua . Dibandingkan dengan model QS biasa untuk data nominal yaitu , di mana akan berarti independensi antara kedua variabel , dalam model OQS kami memaksakan (karenanya memperkenalkan gagasan tren linear). Representasi logit yang setara adalah , untuk .λa b=λb aa < bcatatanμa b= λ +λXSebuah+λYb+λa bλa b= 0λYb-λXb= βkamubcatatan(πa b/πb a) = β(kamub-kamuSebuah)a ≤ b
Jika , maka kita memiliki simetri sebagai kasus khusus dari model ini. Jika , maka kami memiliki stok yang dipesan secara stokastik, yaitu berarti rata-rata kolom lebih tinggi dibandingkan dengan rata-rata baris (dan semakin besar , semakin besar perbedaan antara dua distribusi probabilitas gabungan dan adalah, yang akan tercermin dalam perbedaan antara distribusi marginal baris dan kolom). Tes sesuai dengan tes homogenitas marginal. Interpretasi dari estimasi adalah langsung: estimasi probabilitas bahwa skor pada variabel adalahβ= 0β≠ 0β> 0| β|πa bπb aβ= 0βXx unit lebih positif daripada skor pada adalah dikalikan probabilitas terbalik. Dalam kasus khusus Anda, itu berarti memungkinkan untuk mengukur pengaruh yang diberikan oleh satu penutur tertentu.Yexp(β^x )β^
Sebagai catatan, semua kode R disediakan oleh Laura Thompson dalam Manual S- nya untuk Mendampingi Analisis Data Kategorikal Agresti .
Selanjutnya, saya memberikan beberapa contoh kode R sehingga Anda dapat memainkannya dengan data Anda sendiri. Jadi, mari kita coba menghasilkan beberapa data terlebih dahulu:
set.seed(56)
d <- as.data.frame(replicate(2, rpois(420, 1.5)))
colnames(d) <- paste("S", 1:2, sep="")
d.tab <- table(d$S1, d$S2, dnn=names(d)) # or xtabs(~S1+S2, d)
library(vcdExtra)
structable(~S1+S2, data=d)
# library(ggplot2)
# ggfluctuation(d.tab, type="color") + labs(x="S1", y="S2") + theme_bw()
Secara visual, klasifikasi silang terlihat seperti ini:
S2 0 1 2 3 4 5 6
S1
0 17 35 31 8 7 3 0
1 41 41 30 23 7 2 0
2 19 43 18 18 5 0 1
3 11 21 9 15 2 1 0
4 0 3 4 1 0 0 0
5 1 0 0 2 0 0 0
6 0 0 0 1 0 0 0
Sekarang, kita dapat menyesuaikan model OQS. Tidak seperti Laura Thompson yang menggunakan glm()
fungsi dasar dan matriks desain khusus untuk simetri, kita dapat mengandalkan paket gnm ; namun, kita perlu menambahkan vektor untuk skor numerik untuk memperkirakan dalam model di atas.β
library(gnm)
d.long <- data.frame(counts=c(d.tab), S1=gl(7,1,7*7,labels=0:6),
S2=gl(7,7,7*7,labels=0:6))
d.long$scores <- rep(0:6, each=7)
summary(mod.oqs <- gnm(counts~scores+Symm(S1,S2), data=d.long,
family=poisson))
anova(mod.oqs)
Di sini, kita punya β^= 0,123, dan dengan demikian probabilitas bahwa Speaker B mendapat skor 4 ketika Speaker A mendapat skor 3 exp( 0.123 ) = 1.13 kali probabilitas bahwa Speaker B memiliki skor 3 sedangkan Speaker A memiliki skor 4.
Baru-baru ini saya menemukan paket catspec R yang tampaknya menawarkan fasilitas serupa, tetapi saya tidak mencobanya. Ada tutorial yang bagus di UseR! 2009 tentang semua hal ini: Pengantar Generalized Nonlinear Models dalam R , tetapi lihat juga sketsa yang menyertainya, Generalized nonlinear models in R: Tinjauan umum paket gnm .
Jika Anda ingin memahami ide dengan data nyata, ada banyak contoh dengan rangkaian data nyata dalam paket vcdExtra dari Michael Friendly. Tentang model OQS, Agresti menggunakan data tentang Seks Pranikah dan Seks Luar Nikah (Tabel 10.5, p. 421). Hasilnya dibahas dalam §10.4.7 (p. 430), danβ^diperkirakan -2,86. Kode di bawah ini memungkinkan (sebagian diambil dari buku teks Thompson) untuk mereproduksi hasil ini. Kita perlu melepaskan level faktor untuk menetapkan baseline yang sama dari Agresti.
table.10.5 <- data.frame(expand.grid(PreSex=factor(1:4),
ExSex=factor(1:4)),
counts=c(144,33,84,126,2,4,14,29,0,2,6,25,0,0,1,5))
table.10.5$scores <- rep(1:4,each=4)
summary(mod.oqs <- gnm(counts~scores+Symm(PreSex,ExSex), data=table.10.5,
family=poisson)) # beta = -2.857
anova(mod.oqs) # G^2(5)=2.10