Bagaimana kekuatan dari regresi logistik dan uji-t dibandingkan?

18

Apakah kekuatan regresi logistik dan uji-t setara? Jika demikian, mereka harus "setara kepadatan data" yang saya maksudkan bahwa jumlah pengamatan yang mendasari yang sama menghasilkan kekuatan yang sama dengan alfa tetap 0,05. Pertimbangkan dua kasus:

  1. [Uji-parametrik]: 30 gambar dari pengamatan binomial dibuat dan nilai-nilai yang dihasilkan dirata-rata. Ini dilakukan 30 kali untuk grup A (yang memiliki pr binomial, dari 70 terjadi) dan 30 kali untuk grup B (yang memiliki pr binomial sebesar, 75 dari yang terjadi). Ini menghasilkan 30 berarti per kelompok yang mewakili ringkasan 1.800 menarik dari distribusi binomial. T-test 58df dilakukan untuk membandingkan cara.
  2. [Regresi logistik]: Regresi logistik dilakukan dengan kemiringan kode dummy yang mewakili keanggotaan grup dan masing-masing dari 1.800 undian.

Pertanyaan saya memiliki dua bagian:

  1. Diberi seperangkat alpha 0,05, akankah kekuatan metodologi ini sama atau berbeda? Mengapa? Bagaimana saya bisa membuktikannya?
  2. Apakah jawaban untuk pertanyaan 1 sensitif terhadap ukuran sampel yang masuk ke uji-t, ukuran sampel masing-masing kelompok dalam uji-t, probabilitas binomial yang mendasarinya, atau faktor lain? Jika demikian, bagaimana saya bisa tahu (tanpa simulasi) bahwa kekuatannya memang berbeda dan perubahan seperti apa yang akan menghasilkan perubahan kekuatan seperti apa? Atau, berikan kode R yang memecahkan masalah menggunakan simulasi.
russellpierce
sumber

Jawaban:

19

Jika saya telah menghitung dengan benar, regresi logistik secara asimptot memiliki kekuatan yang sama dengan uji-t. Untuk melihat ini, tuliskan kemungkinan log-nya dan hitung ekspektasi Hessian-nya pada batas maksimum globalnya (estimasi negatifnya matriks varians-kovarians dari solusi ML). Jangan repot-repot dengan parameterisasi logistik biasa: lebih mudah hanya untuk parameterisasi dengan dua probabilitas yang dimaksud. Detailnya akan tergantung pada bagaimana Anda menguji signifikansi koefisien regresi logistik (ada beberapa metode).

Bahwa tes-tes ini memiliki kekuatan yang sama seharusnya tidak terlalu mengejutkan, karena teori chi-square untuk estimasi ML didasarkan pada perkiraan normal terhadap kemungkinan log, dan uji-t didasarkan pada perkiraan normal terhadap distribusi proporsi. Inti masalahnya adalah bahwa kedua metode membuat estimasi yang sama dari dua proporsi dan kedua estimasi memiliki kesalahan standar yang sama.


Analisis aktual mungkin lebih meyakinkan. Mari kita mengadopsi beberapa terminologi umum untuk nilai-nilai dalam kelompok tertentu (A atau B):

  • p adalah probabilitas 1.
  • n adalah ukuran setiap set undian.
  • m adalah jumlah set undian.
  • N=mn adalah jumlah data.
  • 0 1 j th i thkij (sama dengan atau ) adalah nilai dari menghasilkan set gambar .01jthith
  • i thki adalah jumlah total yang ada di set gambar .ith
  • k adalah jumlah totalnya.

Regresi logistik pada dasarnya adalah penaksir ML dari . Logaritma diberikan olehp

log(L)=klog(p)+(Nk)log(1p).

Turunannya sehubungan dengan parameter adalahp

log(L)p=kpNk1p and

2log(L)p2=kp2+Nk(1p)2.

Menyetel yang pertama ke nol menghasilkan estimasi ML dan menyambungkannya ke kebalikan dari ekspresi kedua menghasilkan varians , yang merupakan kuadrat dari kesalahan standar. p (1 - p )/Np^=k/Np^(1p^)/N

The t statistik akan diperoleh dari penduga berdasarkan data dikelompokkan berdasarkan set menarik; yaitu, sebagai perbedaan rata-rata (satu dari kelompok A dan yang lain dari kelompok B) dibagi dengan kesalahan standar dari perbedaan itu, yang diperoleh dari standar deviasi sarana. Mari kita lihat deviasi mean dan standar untuk kelompok tertentu, lalu. Mean sama dengan , yang identik dengan estimator ML . Standar deviasi yang dimaksud adalah standar deviasi dari sarana pengundian; yaitu, itu adalah standar deviasi dari himpunan . Inilah inti masalahnya, jadi mari kita jelajahi beberapa kemungkinan.p k i / nk/Np^ki/n

  1. Misalkan data tidak dikelompokkan ke dalam menarik sama sekali: yaitu, dan . The adalah sarana imbang. Mereka sampel varians sama kali . Dari sini dapat disimpulkan bahwa kesalahan standar identik dengan kesalahan standar ML terlepas dari faktor , yang pada dasarnya adalah ketika . Oleh karena itu - terlepas dari perbedaan kecil ini - setiap tes yang didasarkan pada regresi logistik akan sama dengan uji-t dan pada dasarnya kami akan mencapai kekuatan yang sama.m = N k i N / ( N - 1 ) p ( 1 - p ) n=1m=NkiN/(N1)p^(1p^) 1N=1800N/(N1)1N=1800

  2. Ketika data dikelompokkan, varians (true) dari sama dengan karena statistik mewakili jumlah variabel Bernoulli ( ), masing-masing dengan varians . Oleh karena itu kesalahan standar yang diharapkan dari rata-rata dari nilai-nilai ini adalah akar kuadrat dari , sama seperti sebelumnya.p ( 1 - p ) / n k i n p p ( 1 - p ) m p ( 1 - p ) / n / m = p ( 1 - p ) / Nki/np(1p)/nkinpp(1p)mp(1p)/n/m=p(1p)/N

Angka 2 menunjukkan kekuatan pengujian tidak boleh berbeda secara signifikan dengan bagaimana pengundian dibagi secara proporsional (yaitu, dengan bagaimana dan bervariasi tergantung pada ), selain mungkin dari efek yang cukup kecil dari penyesuaian dalam varians sampel (Kecuali jika Anda begitu bodoh menggunakan sangat sedikit set undian dalam setiap kelompok).n m n = Nmnmn=N

Simulasi terbatas untuk membandingkan ke (dengan 10.000 iterasi masing-masing) yang melibatkan (pada dasarnya regresi logistik); ; dan (memaksimalkan penyesuaian varians sampel) menanggung ini: kekuatan (pada , satu sisi) dalam dua kasus pertama adalah 0,59 sedangkan di ketiga, di mana faktor penyesuaian membuat perubahan materi (sekarang hanya ada dua derajat kebebasan bukannya 1798 atau 58), itu turun menjadi 0,36. Tes lain yang membandingkan hinggap = 0,74 m = 900 , n = 1 m = n = 30 m = 2 , n = 450 α = 0,05 p = 0,50 p = 0,52p=0.70p=0.74m=900,n=1m=n=30m=2,n=450α=0.05p=0.50p=0.52 memberikan kekuatan masing-masing 0,22, 0,21, dan 0,15: sekali lagi, kami mengamati hanya sedikit penurunan dari tidak ada pengelompokan menjadi penarikan (= regresi logistik) ke pengelompokan menjadi 30 kelompok dan penurunan besar ke hanya dua kelompok.

Moral dari analisis ini adalah:

  1. Anda tidak akan kehilangan banyak ketika Anda mempartisi nilai data Anda menjadi sejumlah besar dari kelompok-kelompok "undian" yang relatif kecil.mNm
  2. Anda dapat kehilangan daya yang cukup besar dengan menggunakan sejumlah kecil grup ( kecil, - jumlah data per grup - besar).nmn
  3. Anda sebaiknya tidak mengelompokkan nilai data Anda menjadi "draws" sama sekali. Analisis saja apa adanya (menggunakan uji masuk akal apa pun, termasuk regresi logistik dan uji-t).N
whuber
sumber
1
@suncoolsu Sayang sekali kami tidak dapat memilih pembaruan ...
chl
2
@ chl .. Saya setuju, saya ingin memberi (+2) :-), sebenarnya saya tidak pernah berpikir begitu mendalam tentang pertanyaan ini sampai pembaruan ini.
suncoolsu
Seperti biasa tour de force dari Bill Huber. Saya melihat pertanyaan yang membingungkan tentang bagaimana membandingkan daya untuk uji t dengan regresi logistik. Tetapi tampaknya kesamaan itu menempatkan kedua metode untuk tugas menguji proporsi ..
Michael R. Chernick
8

Berikut ini adalah kode dalam R yang menggambarkan simulasi jawaban whuber . Umpan balik untuk meningkatkan kode R saya lebih dari diterima.

N <- 900            # Total number data points
m <- 30;            # Size of draw per set
n <- 30;            # No of sets

p_null <- 0.70;     # Null hypothesis
p_alternate <- 0.74 # Alternate hypothesis
tot_iter <- 10000;

set.seed(1);        # Initialize random seed
null_rejected <- 0; # Set counter to 0
for (iter in 1:tot_iter)
{
    draws1 <- matrix(0,m,n);
    draws2 <- matrix(0,m,n);
    means1 <- matrix(0,m);
    means2 <- matrix(0,m);

    for (obs in 1:m)
    {
        draws1[obs,] <- rbinom(n,1,p_null);
        draws2[obs,] <- rbinom(n,1,p_alternate);

        means1[obs,] <- mean(draws1[obs,]);
        means2[obs,] <- mean(draws2[obs,]);
    }
    if (t.test(means1,means2,alternative="l")$p.value <= 0.05)
    {
        null_rejected <- null_rejected + 1; 
    }
}
power <- null_rejected / tot_iter
Komunitas
sumber
1
Terima kasih telah berbagi ini! (Saya suka gaya Anda membuat semua variabel parameter dan mengomentari mereka dengan jelas.) Saya semua keluar suara hari ini :-( jadi saya harus menunggu untuk meningkatkannya.
whuber
2
@ Srikant Hanya beberapa kata tentang kode R (sesuai permintaan Anda): Anda dapat menggunakan replicate()kapan saja Anda ingin memanggil fungsi tertentu seperti waktu independen; yang fungsi keluarga yang sangat berguna untuk bekerja dengan matriks, data.frame atau daftar dan membuat panggilan ke fungsi yang sama dengan kolom atau baris; disarankan untuk menghindari garis bawah untuk penamaan variabel (dan sebagai gantinya menggunakan titik), tetapi hal ini dapat diperdebatkan. Kalau tidak, saya juga suka kode R sederhana dan jelas seperti milik Anda karena akan dimengerti oleh semua orang. Saya memberi +1 saya. rbinom() k{*}apply()
chl
@ chl, terima kasih. Saya menggunakan pertanyaan ini untuk mempelajari R! Jadi, umpan balik seperti milik Anda sangat berharga.
@Skrikant LOL Saya baru saja menambahkan: "BTW, saya suka cara Anda belajar R!"
chl
Saya bingung; bukankah ini hanya memberikan kekuatan uji t?
russellpierce