ฉันไม่เคยทำเช่นนี้ดังนั้นนี่เป็นเพียงข้อเสนอแนะ
ฉันเห็นความเป็นไปได้สองอย่าง (อื่น ๆ )
ข้อมูลครึ่งหนึ่ง
- โหลดข้อมูลครึ่งหนึ่งและจัดเรียง
- อ่านต่อไปในค่าที่เหลือและเปรียบเทียบกับรายการที่เรียงลำดับของคุณ
- ถ้าค่าใหม่มีขนาดใหญ่กว่าทิ้ง
- มิฉะนั้นให้ใส่ค่าในรายการที่เรียงลำดับแล้วลบค่าที่ใหญ่ที่สุดออกจากรายการนั้น
การกระจายตัวตัวอย่าง
ตัวเลือกอื่นคือใช้การประมาณที่เกี่ยวข้องกับการแจกแจงตัวอย่าง ถ้าข้อมูลของคุณเป็นปกติแล้วข้อผิดพลาดมาตรฐานปานกลางnคือ:
1.253 * sd / sqrt (n)
เพื่อกำหนดขนาดของnที่คุณจะมีความสุขฉันใช้การจำลองแบบมอนติคาร์โลอย่างรวดเร็วใน R
n = 10000
outside.ci.uni = 0
outside.ci.nor = 0
N=1000
for(i in 1:N){
#Theoretical median is 0
uni = runif(n, -10, 10)
nor = rnorm(n, 0, 10)
if(abs(median(uni)) > 1.96*1.253*sd(uni)/sqrt(n))
outside.ci.uni = outside.ci.uni + 1
if(abs(median(nor)) > 1.96*1.253*sd(nor)/sqrt(n))
outside.ci.nor = outside.ci.nor + 1
}
outside.ci.uni/N
outside.ci.nor/N
สำหรับ n = 10,000, 15% ของค่ามัธยฐานของค่าเครื่องแบบอยู่นอก CI