การทำพล็อตค่าเฉลี่ยในฮิสโตแกรมนั้นเหมาะสมหรือไม่?


13

"โอเค" เพื่อเพิ่มเส้นแนวตั้งลงในฮิสโตแกรมเพื่อให้เห็นภาพค่าเฉลี่ยหรือไม่

ดูเหมือนว่าจะโอเคสำหรับฉัน แต่ฉันไม่เคยเห็นสิ่งนี้มาในตำราและสิ่งที่ชอบดังนั้นฉันสงสัยว่าจะมีการประชุมบางประเภทที่จะไม่ทำอย่างนั้นหรือ

กราฟเป็นกระดาษคำฉันแค่ต้องการให้แน่ใจว่าฉันจะไม่ละเมิดกฎสถิติที่สำคัญที่ไม่ได้พูด :)


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

บางครั้งเราเห็นฮิสโทแกรมที่มีการแจกแจงแบบซ้อน (เช่นส่วนใหญ่ในประสบการณ์ของฉันการแจกแจงแบบพล็อตที่ใช้ค่าเฉลี่ยตัวอย่างและส่วนเบี่ยงเบนมาตรฐาน) ซึ่งทำสิ่งเดียวกัน (และอีกเล็กน้อย) เป็นการวาดเส้นแนวตั้ง ค่าเฉลี่ยอยู่ที่จุดสูงสุดของเส้นโค้ง)
James Stanley

คำตอบ:


30

แน่นอนทำไมจะไม่ล่ะ?

ฮิสโตแกรมที่มีค่าเฉลี่ย

นี่คือตัวอย่าง (หนึ่งในหลายสิบฉันพบด้วยการค้นหา google ง่าย):

hist ด้วยค่าเฉลี่ยและค่ามัธยฐาน

(แหล่งรูปภาพคือบล็อกการใช้งานการวัดที่นี่ )

ฉันเคยเห็นหมายถึงหมายถึงบวกหรือลบส่วนเบี่ยงเบนมาตรฐานควอนไทล์ต่างๆ (เช่นค่ามัธยฐานควอไทล์ 10 และ 90 เปอร์เซ็นต์) ทั้งหมดแสดงในรูปแบบต่างๆ

แทนที่จะวาดเส้นตรงข้ามพล็อตคุณอาจทำเครื่องหมายข้อมูลที่ด้านล่างของพล็อต - ดังนี้:

ฮิสโตแกรมที่มีกล่องส่วนขอบ

มีตัวอย่าง (หนึ่งในหลาย ๆ ที่จะพบ) เป็นกับ Boxplot ด้านบนแทนที่ด้านล่างที่นี่

บางครั้งผู้คนทำเครื่องหมายในข้อมูล:

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

มีตัวอย่างประเภทนี้ที่ Stata บนหน้านี้ (ดูที่สามได้ที่นี่ )

ฮิสโทแกรมจะดีกว่าโดยมีข้อมูลเพิ่มเติมเล็กน้อยซึ่งสามารถทำให้เข้าใจผิดได้ด้วยตนเอง

คุณเพียงแค่ต้องระมัดระวังในการอธิบายสิ่งที่พล็อตของคุณประกอบด้วย! (คุณต้องการชื่อและแกน x ที่ดีกว่าที่ฉันใช้ที่นี่สำหรับ starters บวกกับคำอธิบายในคำอธิบายภาพที่อธิบายสิ่งที่คุณทำเครื่องหมายไว้)

-

หนึ่งพล็อตสุดท้าย:

ฮิสโตแกรมที่มีแถบกราฟ

-

แปลงของฉันถูกสร้างขึ้นใน R

แก้ไข:

ในขณะที่ @ gung คาดการณ์abline(v=mean...ถูกนำมาใช้ในการวาดเส้นเฉลี่ยข้ามพล็อตและrugใช้ในการวาดค่าข้อมูล (แม้ว่าฉันจะใช้จริงrug(jitter(...เพราะข้อมูลถูกปัดเป็นจำนวนเต็ม)

นี่คือวิธีในการทำ boxplot ระหว่างฮิสโตแกรมและแกน:

hist(Davis2[,2],n=30)
boxplot(Davis2[,2],
  add=TRUE,horizontal=TRUE,at=-0.75,border="darkred",boxwex=1.5,outline=FALSE)

ฉันจะไม่แสดงรายการว่าทุกอย่างมีไว้เพื่ออะไร แต่คุณสามารถตรวจสอบข้อโต้แย้งในความช่วยเหลือ ( ?boxplot) เพื่อค้นหาว่าพวกเขามีไว้เพื่ออะไรและเล่นกับพวกเขาเอง

อย่างไรก็ตามนี่ไม่ใช่วิธีแก้ปัญหาทั่วไป - ฉันไม่รับประกันว่ามันจะทำงานได้ดีเช่นเดียวกับที่นี่ (โปรดทราบว่าฉันได้เปลี่ยนatและboxwexตัวเลือก *) แล้ว หากคุณไม่ได้เขียนฟังก์ชั่นอัจฉริยะเพื่อดูแลทุกสิ่งคุณจำเป็นต้องใส่ใจกับสิ่งที่ทุกอย่างทำเพื่อให้แน่ใจว่ากำลังทำสิ่งที่คุณต้องการ

นี่คือวิธีการสร้างข้อมูลที่ฉันใช้ (ฉันพยายามแสดงให้เห็นว่าการถดถอยของ Theil นั้นสามารถจัดการกับผู้มีอิทธิพลหลายคนได้อย่างไร) มันเพิ่งจะเป็นข้อมูลที่ฉันเล่นด้วยเมื่อฉันตอบคำถามนี้เป็นครั้งแรก

 library("car")
 add <- data.frame(sex=c("F","F"),
       weight=c(150,130),height=c(NA,NA),repwt=c(55,50),repht=c(NA,NA))
 Davis2 <- rbind(Davis,add)

* - ค่าที่เหมาะสมสำหรับatคือประมาณ -0.5 เท่าของค่าของboxwex; นั่นจะเป็นค่าเริ่มต้นที่ดีถ้าคุณเขียนฟังก์ชั่นที่จะทำ boxwexจะต้องมีการปรับขนาดในลักษณะที่เกี่ยวข้องกับระดับ y (ความสูง) ของรูปแบบกล่อง; ฉันแนะนำ 0.04 ถึง 0.05 เท่าของขีด จำกัด บน y ที่อาจไม่เป็นไร

รหัสสำหรับแถบส่วนขอบ:

 hist(Davis2[,2],n=30)
 stripchart(jitter(Davis2[,2],amount=.5),
       method="jitter",jitter=.5,pch=16,cex=.05,add=TRUE,at=-.75,col='purple3')

+1 นี่เป็นสิ่งที่ดี สนใจที่จะเพิ่มรหัสหรือไม่ abline(v=mean(Davis2[,2]))& rug(Davis2[,2])ฉันจะเดา แต่วิธีที่คุณลิ่ม boxplot ในนั้น?
gung - Reinstate Monica

1
@gung ดูการแก้ไขเพื่อดูรายละเอียดโดยย่อรวมถึงตัวอย่างที่ทำซ้ำได้ซึ่งคล้ายกับที่มี boxplot มันไม่ได้ทำอะไรที่ฉลาดไปกว่าการใช้อากิวเมนต์หลายตัวเข้ากับboxplotฟังก์ชัน ระหว่างboxplotและboxpคุณสามารถทำสิ่งที่ค่อนข้างดีด้วยความพยายามเล็กน้อย
Glen_b

ภูมิปัญญาสำหรับทุกวัย: "ถ้าคุณไม่เขียนฟังก์ชั่นอัจฉริยะเพื่อดูแลทุกอย่างคุณจำเป็นต้องใส่ใจกับสิ่งที่ทุกอย่างทำเพื่อให้แน่ใจว่ามันกำลังทำสิ่งที่คุณต้องการ" ;-)
gung - Reinstate Monica

อ๋อ ฉันยังคิดที่จะเขียนสิ่งที่ฉลาดในการตั้งค่าatและboxwexอื่น ๆ ... แต่ที่ดีที่สุดฉันทำแปลงเพียงไม่กี่ปีเช่นนั้นและมันใช้เวลาไม่กี่วินาทีในการพิมพ์แต่ละ boxplot และตั้งค่าตัวเลือกที่เหมาะสม ฉันคิดว่าง่ายกว่าที่จะใส่ใจกับสิ่งที่ฉันทำ
Glen_b -Reinstate Monica

@gung ฉันแก้ไขเพื่อให้รหัสเพื่อสร้างข้อมูล Davis2 ที่ฉันใช้ หวังว่าจะช่วย
Glen_b -Reinstate Monica

3

แน่นอนคุณสามารถ. เพียงตรวจสอบให้แน่ใจว่าติดป้ายกำกับ / ระบุอย่างชัดเจนถึงความหมายของบรรทัดและหลีกเลี่ยงการทำพล็อตที่ 'ยุ่ง'

ไม่มีอะไรเลวร้ายไปกว่ากราฟที่สื่อถึงข้อมูลที่มากเกินไปที่จะเข้าใจได้ง่าย ตารางเป็นวิธีที่มักจะมองข้ามเพื่อแสดงสถิติสรุปในเรื่องที่ชัดเจนและรัดกุม


2

คำตอบก่อนหน้านี้ให้คะแนนที่ยอดเยี่ยม แต่นี่เป็นพื้นฐานหนึ่งที่จะเพิ่ม

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


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