Model Bradley – Terry – Luce (BTL) menyatakan bahwa , di mana adalah probabilitas objek yang dinilai "lebih baik", lebih berat, dll, daripada objek , dan , dan adalah parameter.p i j j i δ i δ j
Ini tampaknya menjadi kandidat untuk fungsi glm, dengan family = binomial. Namun, rumusnya akan seperti "Sukses ~ S1 + S2 + S3 + S4 + ...", di mana Sn adalah variabel dummy, yaitu 1 jika objek n adalah objek pertama dalam perbandingan, -1 jika itu adalah yang kedua, dan 0 sebaliknya. Maka koefisien Sn akan menjadi sesuai .
Ini akan cukup mudah untuk dikelola dengan hanya beberapa objek, tetapi dapat menyebabkan formula yang sangat panjang, dan kebutuhan untuk membuat variabel dummy untuk setiap objek. Saya hanya ingin tahu apakah ada metode yang lebih sederhana. Misalkan nama atau jumlah dari dua objek yang dibandingkan adalah variabel (faktor?) Object1, dan Object2, dan Sukses adalah 1 jika objek 1 dinilai lebih baik, dan 0 jika objek 2 adalah.
Jawaban:
Saya pikir paket terbaik untuk data Paired Comparison (PC) dalam R adalah paket prefmod , yang memungkinkan untuk dengan mudah menyiapkan data agar sesuai (log linear) model BTL di R. Ia menggunakan Poisson GLM (lebih tepatnya, multinomial logit di Poisson formulasi lihat misalnya diskusi ini ).
Yang menyenangkan adalah ia memiliki fungsi
prefmod::llbt.design
yang secara otomatis mengubah data Anda ke dalam format yang diperlukan dan matriks desain yang diperlukan.Misalnya, Anda memiliki 6 objek yang semuanya berpasangan dibandingkan. Kemudian
akan membangun matriks desain dari matriks data yang terlihat seperti ini:
dengan baris yang menunjukkan orang, kolom yang menunjukkan perbandingan dan 0 berarti ragu-ragu 1 berarti objek 1 disukai dan 2 berarti objek 2 disukai. Nilai yang hilang diizinkan. Sunting : Karena ini mungkin bukan sesuatu yang dapat disimpulkan hanya dari data di atas, saya mengejanya di sini. Perbandingan harus dipesan dengan cara berikut ((12) berarti objek perbandingan 1 dengan objek 2):
Pemasangan lebih mudah dilakukan dengan
gnm::gnm
fungsi, karena memungkinkan Anda untuk melakukan pemodelan statistik. (Sunting: Anda juga dapat menggunakanprefmod::llbt.fit
fungsi, yang sedikit lebih sederhana karena hanya menggunakan hitungan dan matriks desain.)Harap perhatikan bahwa istilah eliminasi akan menghilangkan parameter gangguan dari ringkasan. Anda kemudian bisa mendapatkan parameter layak (delta Anda) sebagai
Dan Anda dapat merencanakannya
Jika Anda memiliki banyak objek dan ingin menulis objek rumus dengan
o1+o2+...+on
cepat, Anda dapat menggunakannyauntuk menghasilkan rumus untuk
gnm
(yang tidak Anda perlukanllbt.fit
).Ada artikel JSS , lihat juga https://r-forge.r-project.org/projects/prefmod/ dan dokumentasinya via
?llbt.design
.sumber