Mặc dù câu trả lời của @ Tim ♦ và @ gung ♦ bao gồm khá nhiều thứ, tôi sẽ cố gắng tổng hợp cả hai thành một và cung cấp thêm thông tin làm rõ.
Bối cảnh của các dòng trích dẫn có thể chủ yếu đề cập đến các xét nghiệm lâm sàng dưới dạng Ngưỡng nhất định, như là phổ biến nhất. Hãy tưởng tượng một bệnh và mọi thứ ngoài bao gồm cả trạng thái khỏe mạnh được gọi là . Đối với thử nghiệm của chúng tôi, chúng tôi muốn tìm một số phép đo proxy cho phép chúng tôi có được dự đoán tốt cho (1) Lý do chúng tôi không có được độ đặc hiệu / độ nhạy tuyệt đối là các giá trị về số lượng proxy của chúng tôi không hoàn toàn tương quan với tình trạng bệnh nhưng thường chỉ liên quan đến nó, và do đó, trong các phép đo riêng lẻ, chúng ta có thể có cơ hội số lượng đó vượt qua ngưỡng của chúng tôi choD D c D D c cDDDcDDccá nhân và ngược lại. Để rõ ràng, hãy giả sử Mô hình Gaussian cho tính biến đổi.
Giả sử chúng tôi đang sử dụng làm số lượng proxy. Nếu được chọn độc đáo, thì phải cao hơn ( là toán tử giá trị mong đợi). Bây giờ vấn đề phát sinh khi chúng tôi nhận ra rằng là một tình huống tổng hợp ( ), thực sự được tạo thành từ 3 cấp độ nghiêm trọng , , , mỗi loại có giá trị kỳ vọng tăng dần cho . Đối với một cá nhân, được chọn từ danh mục hoặc từx E [ x D ] E [xxE[ xD]E D D c D 1 D 2 D 3 x D D c x T D D c x T D x D cE[ xD c]EDDcD1D2D3xDDcloại, xác suất của 'thử nghiệm' có tích cực hay không sẽ phụ thuộc vào giá trị ngưỡng chúng tôi chọn. Giả sử chúng tôi chọn dựa trên việc nghiên cứu một mẫu thực sự ngẫu nhiên có cả cá nhân và . của chúng tôi sẽ gây ra một số tích cực và tiêu cực sai. Nếu chúng ta chọn ngẫu nhiên một người , xác suất chi phối giá trị của anh ta / cô ta nếu được đưa ra bởi biểu đồ màu xanh lá cây và của người được chọn ngẫu nhiên bằng biểu đồ màu đỏ.xTDDcxTDxDc
Con số thực tế thu được sẽ phụ thuộc vào số lượng thực tế của các cá nhân và nhưng độ đặc hiệu và độ nhạy kết quả sẽ không. Đặt là hàm xác suất tích lũy. Sau đó, về mức độ phổ biến của của bệnh , đây là bảng 2x2 như mong đợi của trường hợp chung, khi chúng ta cố gắng thực sự xem xét nghiệm của mình thực hiện như thế nào trong dân số kết hợp.D c F ( ) p DDDcF( )pD
( D c , - ) = ( 1 - p ) ( 1 - F D c ( x T ) ) ( D , - ) = p ( F D ( x T ) ) ( D c , + )
( D , + ) = p ( 1 - FD( xT) )
( D c , - ) = ( 1 - p ) ( 1 - FD c( xT) )
( Đ , - ) = p ( FD( xT))
( D c , + ) = ( 1 - p ) * FD c( xT)
Các số thực tế phụ thuộc , nhưng độ nhạy và độ đặc hiệu là độc lập. Nhưng, cả hai đều phụ thuộc vào và . Do đó, tất cả các yếu tố ảnh hưởng đến những điều này, chắc chắn sẽ thay đổi các số liệu này. Ví dụ, nếu chúng ta làm việc trong ICU, của chúng ta sẽ được thay thế bằng và nếu chúng ta đang nói về bệnh nhân ngoại trú, được thay thế bằng . Đó là một vấn đề riêng mà trong bệnh viện, tỷ lệ lưu hành cũng khác nhau,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 FppFDFD cFDFD 3FD 1nhưng nó không phải là tỷ lệ phổ biến khác nhau gây ra sự nhạy cảm và đặc hiệu khác nhau, mà là sự phân phối khác nhau, vì mô hình mà ngưỡng được xác định không áp dụng cho dân số xuất hiện dưới dạng bệnh nhân ngoại trú hoặc bệnh nhân nội trú . Bạn có thể tiếp tục và phá vỡ trong nhiều quần thể, vì phần phụ của bệnh nhân nội trú của cũng sẽ tăng do các lý do khác (vì hầu hết các proxy cũng được 'nâng cao' trong các điều kiện nghiêm trọng khác). Việc chia dân số thành dân số giải thích sự thay đổi độ nhạy cảm, trong khi dân số giải thích sự thay đổi về tính đặc hiệu (bằng những thay đổi tương ứng trong vàDcDcxDDcFDFD c ). Đây là những gì đồ thị tổng hợp thực sự bao gồm. Mỗi màu thực sự sẽ có riêng , và do đó, miễn là màu này khác với mà độ nhạy và độ đặc hiệu ban đầu được tính, các số liệu này sẽ thay đổi.DFF
Thí dụ
Giả sử dân số 11550 với 10000 Dc, 500.750.300 D1, D2, D3 tương ứng. Phần nhận xét là mã được sử dụng cho các biểu đồ trên.
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')
Chúng ta có thể dễ dàng tính toán phương tiện x cho các quần thể khác nhau, bao gồm Dc, D1, D2, D3 và hỗn hợp 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
Để có được bảng 2x2 cho trường hợp Thử nghiệm ban đầu của chúng tôi, trước tiên chúng tôi đặt ngưỡng, dựa trên dữ liệu (trong trường hợp thực sẽ được đặt sau khi chạy thử nghiệm như @gung hiển thị). Dù sao, giả sử ngưỡng 13,5, chúng ta có được độ nhạy và độ đặc hiệu sau khi tính toán trên toàn bộ dân số.
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
Giả sử chúng tôi đang làm việc với bệnh nhân ngoại trú và chúng tôi chỉ nhận bệnh nhân mắc bệnh từ tỷ lệ D1 hoặc chúng tôi đang làm việc tại ICU nơi chúng tôi chỉ nhận được D3. (đối với trường hợp tổng quát hơn, chúng ta cũng cần chia thành phần Dc) Độ nhạy và độ đặc hiệu của chúng ta thay đổi như thế nào? Bằng cách thay đổi tỷ lệ lưu hành (tức là bằng cách thay đổi tỷ lệ tương đối của bệnh nhân thuộc một trong hai trường hợp, chúng tôi không thay đổi độ đặc hiệu và độ nhạy cảm.
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
Tóm lại, một âm mưu cho thấy sự thay đổi độ nhạy (độ đặc hiệu sẽ theo xu hướng tương tự, chúng tôi cũng đã tạo ra dân số Dc từ các quần thể) với trung bình x khác nhau cho dân số, đây là một biểu đồ
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))
- D