Meskipun jawaban @ Tim ♦ dan @ gung ♦ cukup banyak mencakup semuanya, saya akan mencoba untuk menyatukan keduanya menjadi satu dan memberikan klarifikasi lebih lanjut.
Konteks dari baris yang dikutip sebagian besar mungkin merujuk pada tes klinis dalam bentuk Ambang Batas tertentu, seperti yang paling umum. Bayangkan suatu penyakit , dan segala sesuatu selain termasuk keadaan sehat yang disebut . Kami, untuk pengujian kami, ingin menemukan beberapa pengukuran proksi yang memungkinkan kami mendapatkan prediksi yang baik untuk (1) Alasan kami tidak mendapatkan spesifisitas / sensitivitas absolut adalah bahwa nilai-nilai kuantitas proxy kami tidak berkorelasi sempurna dengan keadaan penyakit tetapi umumnya hanya terkait dengan itu, dan karenanya, dalam pengukuran individu, kita mungkin memiliki peluang jumlah itu melewati ambang batas kita untukD D c D D cDDDcDDcindividu dan sebaliknya. Demi kejelasan, mari kita asumsikan Model Gaussian untuk variabilitas.
Katakanlah kita menggunakan sebagai jumlah proxy. Jika telah dipilih dengan baik, maka harus lebih tinggi dari ( adalah operator nilai yang diharapkan). Sekarang masalah muncul ketika kita menyadari bahwa adalah situasi gabungan (demikian juga ), sebenarnya terbuat dari 3 tingkat keparahan , , , masing-masing dengan nilai ekspektasi yang semakin meningkat untuk . Untuk satu individu, dipilih dari kategori atau darix E [ x D ] E [ x D c ] E D D c D 1 D 2 D 3 x D D c x T D D c x T D x D cxxE[ xD]E[ xD c]EDDcD1D2D3xDDckategori, probabilitas 'tes' positif atau tidak akan tergantung pada nilai ambang yang kita pilih. Katakanlah kita memilih berdasarkan mempelajari sampel yang benar-benar acak yang memiliki individu dan . kami akan menyebabkan beberapa positif dan negatif palsu. Jika kita memilih orang secara acak, probabilitas yang mengatur / nya nilai jika diberikan oleh grafik hijau, dan bahwa dari yang dipilih secara acak orang dengan grafik merah.xTDDcxTDxDc
Angka aktual yang diperoleh akan tergantung pada jumlah aktual dan individu tetapi spesifisitas dan sensitivitas yang dihasilkan tidak akan. Biarkan menjadi fungsi probabilitas kumulatif. Kemudian, untuk prevalensi dari penyakit , inilah tabel 2x2 seperti yang diharapkan dari kasus umum, ketika kami mencoba untuk benar-benar melihat bagaimana kinerja pengujian kami dalam populasi gabungan.D c F ( ) p DDDcF()pD
(D,+)=p(1−FD(xT))
(Dc,−)=(1−p)(1−FDc(xT))
(D,−)=p(FD(xT))
(Dc,+)=(1−p)∗FDc(xT)
Angka aktual tergantung , tetapi sensitivitas dan spesifisitas independen. Namun, keduanya tergantung pada dan . Karenanya, semua faktor yang memengaruhi ini, pasti akan mengubah metrik ini. Jika kita misalnya, bekerja di ICU, kita akan diganti oleh , dan jika kita berbicara tentang pasien rawat jalan, digantikan oleh . Itu adalah masalah terpisah bahwa di rumah sakit, prevalensinya juga berbeda,p F D F D c F D F D 3 F D 1 D c D c x D D c F D F D c D F FppFDFDcFDFD3FD1tetapi bukan prevalensi yang berbeda yang menyebabkan sensitivitas dan spesifisitas berbeda, tetapi distribusi yang berbeda, karena model yang menentukan ambang tidak berlaku untuk populasi yang muncul sebagai pasien rawat jalan, atau rawat inap . Anda dapat melanjutkan dan memecah dalam beberapa subpopulasi, karena sub bagian rawat inap juga akan mengalami peningkatan karena alasan lain (karena sebagian besar proxy juga 'meningkat' dalam kondisi serius lainnya). Memecah populasi menjadi subpopulasi menjelaskan perubahan sensitivitas, sedangkan populasi menjelaskan perubahan dalam spesifisitas (dengan perubahan yang sesuai dalam danDcDcxDDcFDFDc ). Ini adalah apa yang sebenarnya terdiri dari grafik komposit . Setiap warna sebenarnya akan memiliki mereka sendiri , dan karenanya, selama ini berbeda dari di mana sensitivitas dan spesifisitas asli dihitung, metrik ini akan berubah.DFF
Contoh
Asumsikan populasi 11550 dengan 10.000 Dc, 500.750.300 D1, D2, D3 masing-masing. Bagian yang dikomentari adalah kode yang digunakan untuk grafik di atas.
set.seed(12345)
dc<-rnorm(10000,mean = 9, sd = 3)
d1<-rnorm(500,mean = 15,sd=2)
d2<-rnorm(750,mean=17,sd=2)
d3<-rnorm(300,mean=20,sd=2)
d<-cbind(c(d1,d2,d3),c(rep('1',500),rep('2',750),rep('3',300)))
library(ggplot2)
#ggplot(data.frame(dc))+geom_density(aes(x=dc),alpha=0.5,fill='green')+geom_density(data=data.frame(c(d1,d2,d3)),aes(x=c(d1,d2,d3)),alpha=0.5, fill='red')+geom_vline(xintercept = 13.5,color='black',size=2)+scale_x_continuous(name='Values for x',breaks=c(mean(dc),mean(as.numeric(d[,1])),13.5),labels=c('x_dc','x_d','x_T'))
#ggplot(data.frame(d))+geom_density(aes(x=as.numeric(d[,1]),..count..,fill=d[,2]),position='stack',alpha=0.5)+xlab('x-values')
Kita dapat dengan mudah menghitung x-means untuk berbagai populasi, termasuk Dc, D1, D2, D3 dan komposit D.
mean(dc)
mean(d1)
mean(d2)
mean(d3)
mean(as.numeric(d[,1]))
> mean(dc) [1] 8.997931
> mean(d1) [1] 14.95559
> mean(d2) [1] 17.01523
> mean(d3) [1] 19.76903
> mean(as.numeric(d[,1])) [1] 16.88382
Untuk mendapatkan tabel 2x2 untuk kasus uji asli kami, pertama-tama kami menetapkan ambang, berdasarkan data (yang dalam kasus nyata akan ditetapkan setelah menjalankan tes seperti yang ditunjukkan @gung). Lagi pula, dengan asumsi ambang 13,5, kami mendapatkan sensitivitas dan spesifisitas berikut ketika dihitung pada seluruh populasi.
sdc<-sample(dc,0.1*length(dc))
sdcomposite<-sample(c(d1,d2,d3),0.1*length(c(d1,d2,d3)))
threshold<-13.5
truepositive<-sum(sdcomposite>13.5)
truenegative<-sum(sdc<=13.5)
falsepositive<-sum(sdc>13.5)
falsenegative<-sum(sdcomposite<=13.5)
print(c(truepositive,truenegative,falsepositive,falsenegative))
sensitivity<-truepositive/length(sdcomposite)
specificity<-truenegative/length(sdc)
print(c(sensitivity,specificity))
> print(c(truepositive,truenegative,falsepositive,falsenegative)) [1]139 928 72 16
> print(c(sensitivity,specificity)) [1] 0.8967742 0.9280000
Mari kita asumsikan kita bekerja dengan pasien rawat jalan, dan kita mendapatkan pasien yang sakit hanya dari proporsi D1, atau kita bekerja di ICU di mana kita hanya mendapatkan D3. (untuk kasus yang lebih umum, kita perlu membagi komponen Dc juga) Bagaimana sensitivitas dan spesifisitas kita berubah? Dengan mengubah prevalensi (yaitu dengan mengubah proporsi relatif pasien yang termasuk dalam kedua kasus, kami tidak mengubah spesifisitas dan sensitivitas sama sekali. Kebetulan prevalensi ini juga berubah dengan mengubah distribusi)
sdc<-sample(dc,0.1*length(dc))
sd1<-sample(d1,0.1*length(d1))
truepositive<-sum(sd1>13.5)
truenegative<-sum(sdc<=13.5)
falsepositive<-sum(sdc>13.5)
falsenegative<-sum(sd1<=13.5)
print(c(truepositive,truenegative,falsepositive,falsenegative))
sensitivity1<-truepositive/length(sd1)
specificity1<-truenegative/length(sdc)
print(c(sensitivity1,specificity1))
sdc<-sample(dc,0.1*length(dc))
sd3<-sample(d3,0.1*length(d3))
truepositive<-sum(sd3>13.5)
truenegative<-sum(sdc<=13.5)
falsepositive<-sum(sdc>13.5)
falsenegative<-sum(sd3<=13.5)
print(c(truepositive,truenegative,falsepositive,falsenegative))
sensitivity3<-truepositive/length(sd3)
specificity3<-truenegative/length(sdc)
print(c(sensitivity3,specificity3))
> print(c(truepositive,truenegative,falsepositive,falsenegative)) [1] 38 931 69 12
> print(c(sensitivity1,specificity1)) [1] 0.760 0.931
> print(c(truepositive,truenegative,falsepositive,falsenegative)) [1] 30 944 56 0
> print(c(sensitivity3,specificity3)) [1] 1.000 0.944
Untuk meringkas, plot untuk menunjukkan perubahan sensitivitas (spesifisitas akan mengikuti tren yang sama seandainya kami juga menyusun populasi Dc dari subpopulasi) dengan beragam rata-rata x untuk populasi, inilah grafik
df<-data.frame(V1=c(sensitivity,sensitivity1,sensitivity3),V2=c(mean(c(d1,d2,d3)),mean(d1),mean(d3)))
ggplot(df)+geom_point(aes(x=V2,y=V1),size=2)+geom_line(aes(x=V2,y=V1))
- Jika bukan proxy, maka secara teknis kami akan memiliki spesifisitas dan sensitivitas 100%. Katakanlah misalnya kita mendefinisikan sebagai memiliki gambaran patologis tertentu yang didefinisikan secara objektif pada katakanlah Biopsi Hati, maka tes Biopsi Hati akan menjadi standar emas dan sensitivitas kita akan diukur terhadap dirinya sendiri dan karenanya menghasilkan 100%D