เป็นไปได้หรือไม่ที่จะรวบรวมชุดของสถิติที่อธิบายตัวอย่างจำนวนมากเช่นนี้จากนั้นฉันสามารถสร้าง boxplot ได้?


22

ฉันต้องชี้แจงทันทีว่าฉันเป็นนักพัฒนาซอฟต์แวร์ฝึกไม่ใช่นักสถิติและชั้นเรียนสถิติของวิทยาลัยของฉันเป็นเวลานานมากแล้ว ...

ที่กล่าวว่าฉันอยากจะรู้ว่ามีวิธีการสะสมชุดของสถิติเชิงพรรณนาที่สามารถนำมาใช้ในการผลิต boxplot ที่ไม่เกี่ยวข้องกับการจัดเก็บตัวอย่างแต่ละกลุ่ม?

สิ่งที่ฉันพยายามทำคือสร้างสรุปกราฟิกของเวลาบริการคิวภายในกระบวนการหลายคิวที่ซับซ้อน ก่อนหน้านี้ฉันเคยใช้แพคเกจที่เรียกว่า tnftools ซึ่งอนุญาตให้กลุ่มตัวอย่างจำนวนมากสะสมและโพสต์ประมวลผลเป็นกราฟเวลาตอบสนองและค่าผิดปกติที่ดี ... แต่ tnftools ไม่พร้อมใช้งานสำหรับแพลตฟอร์มปัจจุบันของฉัน

เป็นการดีที่ฉันต้องการจะสามารถรวบรวมชุดของสถิติเชิงพรรณนา "ในทันที" ในขณะที่กระบวนการทำงานแล้วดึงข้อมูลสำหรับการวิเคราะห์ตามความต้องการ แต่ฉันไม่สามารถให้กระบวนการเก็บตัวอย่างเพียงอย่างเดียวได้เนื่องจากหน่วยความจำ / IO ที่เกี่ยวข้องในการทำเช่นนั้นจะส่งผลกระทบต่อประสิทธิภาพของระบบที่ยอมรับไม่ได้


Kaelin:> คุณหมายถึงมีวิธี 'แบบลอยได้หรือไม่' สำหรับการคำนวณสถิติสรุปเช่นค่ามัธยฐานและควอไทล์? หากนี่คือสิ่งที่คุณต้องการฉันจะให้ลิงก์ไปยังเอกสารที่มีรายละเอียด นอกจากนี้คุณยังสามารถให้รายละเอียดเพิ่มเติมเกี่ยวกับแพลตฟอร์มที่คุณกำลังใช้งานเนื่องจากการใช้ GNU ที่มีประสิทธิภาพของวิธีการเหล่านี้น่าจะมีอยู่ใน R.
user603

@kwak: ใช่ว่าดูเหมือนว่าฉันกำลังมองหา ฉันขอขอบคุณลิงก์เหล่านั้นเป็นอย่างมาก :-) ฉันกำลังทำงานกับ Mac OS X …ฉันสามารถใช้ R เพื่อประมวลผลข้อมูลหลังการโพสต์ แต่ไม่สามารถเชื่อมโยงรหัส GPL เข้ากับผลิตภัณฑ์ของ บริษัท ของฉันได้ด้วยเหตุผลปกติ
Kaelin Colclasure

คำตอบ:


27

สำหรับ boxplot 'on the fly' คุณจะต้อง 'on the fly' min / max (trivial) และ quartiles 'on the fly' (0.25,0.5 = ค่ามัธยฐานและ 0.75)

งานจำนวนมากได้เกิดขึ้นเมื่อเร็ว ๆ นี้ในปัญหาของอัลกอริทึมออนไลน์ (หรือ 'ในทันที') สำหรับการคำนวณค่ามัธยฐาน

Developements ล่าสุดbinmedian ในฐานะที่เป็นด้านเตะก็ยังเพลิดเพลินไปกับความซับซ้อนที่เลวร้ายที่สุดที่ดีขึ้นกว่ากรณีquickselect (ซึ่งเป็นค่าออนไลน์หรือผ่านเดียว)

คุณสามารถค้นหากระดาษที่เกี่ยวข้องเช่นเดียวกับซีและ FORTRAN ออนไลน์รหัสที่นี่ คุณอาจต้องตรวจสอบรายละเอียดใบอนุญาตกับผู้เขียน

คุณจะต้องมีอัลกอริทึมการส่งผ่านครั้งเดียวสำหรับควอไทล์ซึ่งคุณสามารถใช้วิธีการด้านบนและลักษณะการเรียกซ้ำของควอไทล์ต่อไปนี้ในแง่ของค่ามัธยฐาน:

Q0.75(x)Q0.5(xผม:xผม>Q0.5(x))

และ

Q0.25(x)Q0.5(xผม:xผม<Q0.5(x))

นั่นคือควอไทล์ 25 (75) เปอร์เซ็นต์นั้นใกล้เคียงกับค่ามัธยฐานของการสำรวจเหล่านั้นที่เล็กกว่า (ใหญ่กว่า)

ภาคผนวก:

มีโฮสต์ของวิธีการหลายรอบที่เก่ากว่าสำหรับการคำนวณปริมาณ วิธีที่ได้รับความนิยมคือการรักษา / อัพเดทอ่างเก็บน้ำขนาดใหญ่แบบสังเกตได้จากการสุ่มเลือกจากกระแสและคำนวณปริมาณซ้ำ (ดูรีวิวนี้ ) บนอ่างเก็บน้ำนี้ วิธีการ (และที่เกี่ยวข้อง) นี้ถูกแทนที่โดยวิธีที่เสนอข้างต้น


1
+1 ถูกต้อง; ฉันยังอยู่ในยุคมืดของการประมาณจากฮิสโตแกรม

ฉันเข้าใจอย่างถูกต้องหรือไม่ว่านิยามควอไทล์ซ้ำจากค่ากลางนั้นต้องผ่านสองรอบหากใช้งานอย่างไร้เดียงสา? คุณรู้หรือไม่ว่าอัลกอริทึมการส่งผ่านครั้งเดียว?
ควอตซ์

@Quartz: ไม่ต้องผ่านเดียวจะทำ: คุณมีสองรอบเดียวใช้การคำนวณค่ามัธยฐาน
user603

2

แทนที่จะเป็นเพียงการหาค่ามัธยฐานมีอัลกอริทึมที่รักษาฮิสโตแกรมที่ประมาณไว้โดยตรง: " อัลกอริทึม P-Squareสำหรับการคำนวณแบบไดนามิกของ Quantiles และฮิสโตแกรมโดยไม่เก็บการสังเกต" นี่อาจจะมีประสิทธิภาพมากกว่าที่จะทำซ้ำทุกครั้งที่คุณต้องการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.