Hasilkan distribusi null dari pvalues
Saya memiliki satu set eksperimen di mana saya menerapkan tes pasti Fisher untuk menyimpulkan secara statistik perubahan dalam populasi seluler. Beberapa data adalah eksperimen tiruan yang memodelkan eksperimen kontrol kami yang menggambarkan model nol (Kolom Jenis).
Seperti inilah datanya ( tautan ):
Saya menerapkan tes Fisher pada populasi di bawah 2 kondisi (UNTREATED, TREATED) dengan ID yang sama.
data.merged = merge(x=subset(df,condition == 'UNTREATED'), y= subset(df, condition =='TREATED')), by ='ID')
Namun, karena beberapa variasi eksperimental, sebagian besar eksperimen terkontrol menolak hipotesis nol di a $ p_{val} <0.05$. Beberapa hipotesis nol dari kondisi eksperimental aktual juga ditolak di a$ p_{val} <0.05 $. Namun, nilai p ini, besarnya lebih rendah daripada kondisi kontrol saya. Ini menunjukkan efek yang lebih kuat dari kondisi eksperimental ini. Namun, saya tidak mengetahui metode yang tepat untuk mengukur perubahan ini dan menyimpulkannya secara statistik.
Contoh tampilan datanya:
ID Pval Condition
B0_W1 2.890032e-16 DUMMY
B0_W10 7.969311e-38 DUMMY
B0_W11 8.078795e-25 DUMMY
B0_W2 3.149525e-30 Gene_A
B1_W1 3.767914e-287 Gene_B
B1_W10 3.489684e-56 Gene_X
B1_W10 3.489684e-56 Gene_Y
Satu ide yang saya punya:
- memilih kondisi ctrl dan biarkan $ X = -ln(p_{val}) $ yang akan mendistribusikan data yang diubah sebagai distribusi eksponensial.
- Gunakan MLE untuk menemukan $\lambda$parameter distribusi eksponensial. Ini akan menjadi distribusi null saya.
- Terapkan transformasi yang sama ke file $p_{val}$ yang sesuai dengan kondisi pengujian
- Gunakan cdf dari distribusi nol untuk mendapatkan "nilai p yang disesuaikan".
Ini pada dasarnya akan memberikan yang baru $\alpha$ambang batas untuk nilai p asli dan mengubah hasilnya sesuai menggunakan cdf distribusi null. Apakah langkah-langkah ini benar? Apakah menggunakan MLE untuk menemukan nilai yang benar atau melanggar beberapa asumsi untuk mencapai tujuan akhir saya? Ada pendekatan lain yang bisa saya coba?
Jawaban
Seperti dicatat dalam komentar, mungkin akan lebih baik untuk mendekati ini menggunakan model regresi logistik bertingkat, di sepanjang garis
glmer(cbind(Population_Pos, Population_Neg) ~ Condition * Type + (1|ID)
tapi karena itu bukan pertanyaan Anda, saya tidak akan membahasnya secara mendalam.
Pada pendekatan yang Anda ambil, saya rasa ide Anda dengan nilai p yang ditransformasikan tidak berhasil, tetapi ada solusi yang lebih sederhana. Ini mengasumsikan Anda memiliki sejumlah besar eksperimen kontrol.
- Untuk setiap percobaan, hitung ukuran ukuran efek. Ini bisa menjadi statistik Chi-kuadrat (dihitung untuk uji pasti Fisher), tetapi mungkin lebih masuk akal untuk menggunakan rasio peluang:$\frac{\text{Pos}_{\text{Treated}}}{\text{Neg}_{\text{Treated}}} \div \frac{\text{Pos}_{\text{Untreated}}}{\text{Neg}_{\text{Untreated}}} $.
- Plot distribusi ukuran efek untuk eksperimen aktif dan eksperimen kontrol. Anda akan melihat efek yang lebih besar untuk eksperimen aktif.
- Untuk eksperimen aktif apa pun, Anda dapat memeriksa berapa banyak eksperimen kontrol yang memiliki ukuran efek lebih besar. Misalnya, jika eksperimen aktif memiliki ukuran efek yang lebih besar dari pada 99% eksperimen kontrol, nilai p satu arah untuk hipotesis nol bahwa ukuran efek untuk eksperimen ini berasal dari distribusi yang sama seperti ukuran efek kontrol adalah$p < .01$.
Namun, sekali lagi, ini adalah perkiraan yang hanya berfungsi jika Anda memiliki eksperimen kontrol dalam jumlah yang sangat besar. Jika Anda ternyata hanya memiliki 8 eksperimen kontrol, perkiraan ini sama sekali tidak berguna!
-
Untuk menguraikan mengapa ini berbeda dengan yang Anda usulkan, pertama-tama perhatikan bahwa nilai-p bukanlah ukuran ukuran efek, dan bergantung pada ukuran sampel, jadi Anda tidak akan menjawab pertanyaan yang sama jika menggunakan nilai-p sini. Kedua, kita tidak dapat benar-benar mengasumsikan distribusi untuk nilai-p (atau ukuran efek) dari eksperimen kontrol, karena tampaknya hipotesis nol tidak benar untuk mereka (jika nol benar, nilai-p akan menjadi distribusi seragam antara 0 dan 1). Itu sebabnya saya menyarankan pendekatan non-parametrik ini sebagai gantinya.