Uji statistik untuk tabel kontingensi nxm

12

Saya memiliki dataset yang terdiri dari elemen dari tiga grup, sebut saja mereka G1, G2, dan G3. Saya menganalisis karakteristik tertentu dari elemen-elemen ini dan membaginya menjadi 3 jenis "perilaku" T1, T2, dan T3 (saya menggunakan analisis kluster untuk melakukan itu).

Jadi, sekarang saya memiliki tabel kontingensi 3 x 3 seperti ini dengan jumlah elemen dalam tiga kelompok dibagi berdasarkan jenis:

      |    T1   |    T2   |    T3   |
------+---------+---------+---------+---
  G1  |   18    |   15    |   65    | 
------+---------+---------+---------+---
  G2  |   20    |   10    |   70    |
------+---------+---------+---------+---
  G3  |   15    |   55    |   30    |

Sekarang, saya bisa menjalankan tes Fisher pada data ini di R

data <- matrix(c(18, 20, 15, 15, 10, 55, 65, 70, 30), nrow=3)
fisher.test(data)

dan saya mengerti

   Fisher's Exact Test for Count Data

data:  data 
p-value = 9.028e-13
alternative hypothesis: two.sided     

Jadi pertanyaan saya adalah:

  • apakah benar menggunakan tes Fisher dengan cara ini?

  • bagaimana saya tahu siapa yang berbeda dari siapa? Apakah ada tes post-hoc yang bisa saya gunakan? Melihat data yang saya akan mengatakan 3 rd kelompok memiliki perilaku yang berbeda dari dua yang pertama, bagaimana cara menunjukkan bahwa secara statistik?

  • seseorang menunjuk saya ke model logit: apakah mereka opsi yang layak untuk jenis analisis ini?

  • ada pilihan lain untuk menganalisis tipe data ini?

Terima kasih banyak

nico

nico
sumber

Jawaban:

13

Awalnya saya berpikir bahwa tes Fisher digunakan dengan benar.

Penghitungan data lebih baik ditangani menggunakan model log-linear (bukan logit, untuk memastikan bahwa nilai yang dipasang dibatasi di bawah ini). Dalam R Anda dapat menentukan family=poisson(yang menetapkan kesalahan = Poisson dan tautan = log). Tautan log memastikan bahwa semua nilai yang dipasang positif, sedangkan kesalahan Poisson memperhitungkan fakta bahwa data tersebut bilangan bulat dan memiliki varian yang sama dengan kemampuannya. misalnya glm(y~x,poisson)dan model dilengkapi dengan tautan log dan kesalahan Poisson (untuk menjelaskan ketidaknormalan).

Dalam kasus di mana ada overdispersi (penyimpangan residual harus sama dengan derajat sisa kebebasan, jika asumsi kesalahan Poisson sesuai), alih-alih menggunakan quasipoissonsebagai keluarga kesalahan, Anda bisa memasukkan model binomial negatif. (Ini melibatkan fungsi glm.nbdari paket MASS)

Dalam kasus Anda, Anda dapat memuat dan membandingkan model menggunakan perintah seperti berikut:

observed <- as.vector(data)
Ts<-factor(rep(c("T1","T2","T3"),each=3))
Gs<-factor(rep(c("G1","G2","G3"),3))

model1<-glm(observed~Ts*Gs,poisson)

#or and a model without the interaction terms
model2<-glm(observed~Ts+Gs,poisson)


#you can compare the two models using anova with a chi-squared test
anova(model1,model2,test="Chi")
summary(model1)

Selalu pastikan bahwa model minimal Anda mengandung semua variabel gangguan.

Adapun bagaimana kami tahu siapa yang berbeda dari siapa, ada beberapa plot yang dapat membantu Anda. Fungsi R assocplotmenghasilkan plot asosiasi yang menunjukkan penyimpangan dari independensi baris dan kolom dalam tabel kontingensi dua dimensi.

Berikut adalah data yang sama yang diplot sebagai plot mosaik

mosaicplot(data, shade = TRUE)
George Dontas
sumber
Terima kasih, itulah yang saya butuhkan. Saya tidak sepenuhnya yakin apa yang Anda maksudkan ketika Anda berbicara tentang overdispersi (maaf, saya bukan ahli statistik, mungkin itu adalah sesuatu yang sangat mendasar) ... Anda mengatakan bahwa penyimpangan residual harus sama dengan sisa derajat kebebasan ... bagaimana saya memeriksanya?
nico
Jika Anda memberi, summary(model1)Anda akan melihat sesuatu sepertiResidual deviance: -2.7768e-28 on 0 degrees of freedom
George Dontas
4

Anda dapat menggunakan multinom dari paket nnet untuk regresi multinomial. Tes post-hoc Anda dapat menggunakan hipotesis linear dari paket mobil. Anda dapat melakukan uji independensi menggunakan linearHypothesis (Wald test) atau anova (LR test).

Wojtek
sumber