ประเมินการกระจายตัวของข้อมูลโดยประมาณตามฮิสโตแกรม


111

สมมติว่าฉันต้องการดูว่าข้อมูลของฉันเป็นเลขชี้กำลังอิงตามฮิสโตแกรมหรือไม่ (เช่นเอียงไปทางขวา)

ฉันสามารถรับฮิสโตแกรมที่แตกต่างกันอย่างดุเดือดขึ้นอยู่กับว่าฉันจัดกลุ่มหรือถังข้อมูล

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


20
ทำไมไม่ลืมฮิสโทแกรมเพราะปัญหาที่คุณอธิบายนั้นได้รับการยอมรับอย่างดีแล้วและพิจารณาเครื่องมือทางเลือกอื่น ๆ เช่นแผนการคิวคิวและการทดสอบแบบพอดี?
whuber

คำตอบ:


163

ความยากลำบากในการใช้ฮิสโตแกรมเพื่ออนุมานรูปร่าง

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

ปัญหานี้เป็นที่ทราบกันมานานแล้วถึงแม้ว่าอาจจะไม่ครอบคลุมเท่าที่ควร - คุณไม่ค่อยเห็นว่ามีการพูดถึงในการสนทนาระดับประถม (แม้ว่าจะมีข้อยกเว้น)

ตัวอย่างเช่น Paul Rubin [1] พูดแบบนี้: " เป็นที่ทราบกันดีว่าการเปลี่ยนจุดสิ้นสุดในฮิสโตแกรมสามารถเปลี่ยนรูปลักษณ์ของมันได้อย่างมีนัยสำคัญ " .

ฉันคิดว่ามันเป็นปัญหาที่ควรพูดคุยกันอย่างกว้างขวางยิ่งขึ้นเมื่อแนะนำฮิสโตแกรม ฉันจะยกตัวอย่างและการอภิปราย

เหตุใดคุณจึงควรระมัดระวังการใช้ฮิสโตแกรมเดี่ยวของชุดข้อมูล

ดูฮิสโตแกรมทั้งสี่เหล่านี้:

สี่ฮิสโทแกรม

นั่นคือฮิสโตแกรมที่ดูแตกต่างกันสี่แบบ

หากคุณวางข้อมูลต่อไปนี้ใน (ฉันใช้ R ที่นี่):

Annie <- c(3.15,5.46,3.28,4.2,1.98,2.28,3.12,4.1,3.42,3.91,2.06,5.53,
5.19,2.39,1.88,3.43,5.51,2.54,3.64,4.33,4.85,5.56,1.89,4.84,5.74,3.22,
5.52,1.84,4.31,2.01,4.01,5.31,2.56,5.11,2.58,4.43,4.96,1.9,5.6,1.92)
Brian <- c(2.9, 5.21, 3.03, 3.95, 1.73, 2.03, 2.87, 3.85, 3.17, 3.66, 
1.81, 5.28, 4.94, 2.14, 1.63, 3.18, 5.26, 2.29, 3.39, 4.08, 4.6, 
5.31, 1.64, 4.59, 5.49, 2.97, 5.27, 1.59, 4.06, 1.76, 3.76, 5.06, 
2.31, 4.86, 2.33, 4.18, 4.71, 1.65, 5.35, 1.67)
Chris <- c(2.65, 4.96, 2.78, 3.7, 1.48, 1.78, 2.62, 3.6, 2.92, 3.41, 1.56, 
5.03, 4.69, 1.89, 1.38, 2.93, 5.01, 2.04, 3.14, 3.83, 4.35, 5.06, 
1.39, 4.34, 5.24, 2.72, 5.02, 1.34, 3.81, 1.51, 3.51, 4.81, 2.06, 
4.61, 2.08, 3.93, 4.46, 1.4, 5.1, 1.42)
Zoe <- c(2.4, 4.71, 2.53, 3.45, 1.23, 1.53, 2.37, 3.35, 2.67, 3.16, 
1.31, 4.78, 4.44, 1.64, 1.13, 2.68, 4.76, 1.79, 2.89, 3.58, 4.1, 
4.81, 1.14, 4.09, 4.99, 2.47, 4.77, 1.09, 3.56, 1.26, 3.26, 4.56, 
1.81, 4.36, 1.83, 3.68, 4.21, 1.15, 4.85, 1.17)

จากนั้นคุณสามารถสร้างพวกเขาเอง:

opar<-par()
par(mfrow=c(2,2))
hist(Annie,breaks=1:6,main="Annie",xlab="V1",col="lightblue")
hist(Brian,breaks=1:6,main="Brian",xlab="V2",col="lightblue")
hist(Chris,breaks=1:6,main="Chris",xlab="V3",col="lightblue")
hist(Zoe,breaks=1:6,main="Zoe",xlab="V4",col="lightblue")
par(opar)

ตอนนี้ดูแผนภูมิเส้นนี้:

x<-c(Annie,Brian,Chris,Zoe)
g<-rep(c('A','B','C','Z'),each=40)
stripchart(x~g,pch='|')
abline(v=(5:23)/4,col=8,lty=3)
abline(v=(2:5),col=6,lty=3)

แผนภูมิ 4 แถบ

(ถ้ามันยังไม่ชัดเจนเห็นสิ่งที่เกิดขึ้นเมื่อคุณลบข้อมูลของแอนนี่จากแต่ละชุด: head(matrix(x-Annie,nrow=40)))

ข้อมูลถูกเลื่อนไปทางซ้ายทุกครั้งเพียง 0.25

แต่ความประทับใจที่เราได้รับจากฮิสโทแกรม - ความเบ้ด้านขวาชุดเบ้ซ้ายและบิโมดัลนั้นแตกต่างกันอย่างสิ้นเชิง ความประทับใจของเราได้ทั้งหมดภายใต้สถานที่ตั้งของถังแรกกำเนิดเทียบกับขั้นต่ำ

ดังนั้นไม่ใช่แค่ 'เอ็กซ์โปเนนเชียล' และ 'ไม่เอ็กซ์โปเนนเชียล' แต่ 'ขวาเบ้' 'กับ' เบ้ซ้าย 'หรือ' bimodal 'vs' เครื่องแบบ 'เพียงแค่ย้ายตำแหน่งที่ถังขยะของคุณเริ่มต้น


แก้ไข: หากคุณเปลี่ยนความกว้างของช่องรับสัญญาณคุณจะได้รับสิ่งนี้เกิดขึ้น:

เบ้ vs เบลล์

นั่นเป็นเหมือนกัน 34 ข้อสังเกตในทั้งสองกรณีเพียงจุดพักที่แตกต่างกันเป็นหนึ่งเดียวกับ binwidthและอื่น ๆ ที่มี binwidth 0.80.810.8

x <- c(1.03, 1.24, 1.47, 1.52, 1.92, 1.93, 1.94, 1.95, 1.96, 1.97, 1.98, 
  1.99, 2.72, 2.75, 2.78, 2.81, 2.84, 2.87, 2.9, 2.93, 2.96, 2.99, 3.6, 
  3.64, 3.66, 3.72, 3.77, 3.88, 3.91, 4.14, 4.54, 4.77, 4.81, 5.62)
hist(x,breaks=seq(0.3,6.7,by=0.8),xlim=c(0,6.7),col="green3",freq=FALSE)
hist(x,breaks=0:8,col="aquamarine",freq=FALSE)

ดีใช่มั้ย

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

พวกเราทำอะไรได้บ้าง?

ฮิสโทแกรมมีการใช้กันอย่างแพร่หลายสะดวกในการขอรับและคาดหวังในบางครั้ง เราจะทำอย่างไรเพื่อหลีกเลี่ยงหรือบรรเทาปัญหาดังกล่าว

ดังที่Nick Cox ชี้ให้เห็นในการแสดงความคิดเห็นกับคำถามที่เกี่ยวข้อง : กฎง่ายๆควรเป็นรายละเอียดที่แข็งแกร่งต่อความแปรปรวนของความกว้างของถังขยะและที่มาของถังขยะมีแนวโน้มที่จะเป็นของแท้ รายละเอียดที่เปราะบางดังกล่าวมีแนวโน้มที่จะปลอมหรือจิ๊บจ๊อย

อย่างน้อยที่สุดคุณควรทำฮิสโตแกรมที่ความกว้างหรือความกว้างของ bin-origins ที่ต่างกัน

หรือตรวจสอบการประมาณความหนาแน่นของเคอร์เนลที่แบนด์วิดท์ที่ไม่กว้างเกินไป

วิธีการหนึ่งที่อื่น ๆ ที่ช่วยลดความเด็ดขาดของ histograms จะเฉลี่ยขยับ histograms ,

ค่าเฉลี่ยฮิสโตแกรมที่ถูกเลื่อน

(เป็นหนึ่งในชุดข้อมูลล่าสุด) แต่ถ้าคุณใช้ความพยายามนั้นฉันคิดว่าคุณอาจใช้การประมาณความหนาแน่นของเคอร์เนลด้วย

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

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

[1]: Rubin, Paul (2014) "Histogram Abuse!",
โพสต์บล็อก, หรือในโลก OB ,
ลิงก์ 23 มกราคม 2014 ... (ลิงก์สำรอง)


1
กราฟของความจำเป็นทุกถังเก็บข้อมูลเช่นนี้จริง ถังขยะมีขนาดเล็กพอ (ความกว้างของพิกเซลหนึ่งพิกเซลตามแนวแกน) ที่มันไม่สำคัญ?
AJMansfield

1
@JMansfield นี่เป็นเพียงการพูดว่า "การกระจายทุกครั้งไม่ต่อเนื่อง" - ในขณะที่ความจริงแท้จริงมันปิดบังปัญหาที่เกี่ยวข้อง จำนวนถังขยะทั่วไปในตัวประมาณค่า binned นั้นมีขนาดเล็กกว่าจำนวนพิกเซลทั่วไปอย่างมาก ... และสำหรับกราฟิกใด ๆ ที่ใช้ anti-aliasing จำนวนพิกเซลที่มีประสิทธิภาพนั้นมีขนาดใหญ่กว่า ความแตกต่างของตำแหน่งระหว่างพิกเซล)
Glen_b

2
ปัญหาพื้นฐานคือฮิสโทแกรมนั้นขึ้นอยู่กับขนาดของถังขยะเป็นอย่างมาก เป็นการยากที่จะระบุว่าเป็นนิรนัย

29

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

 Buja, A., Cook, D. Hofmann, H., Lawrence, M. Lee, E.-K., Swayne,
 D.F and Wickham, H. (2009) Statistical Inference for exploratory
 data analysis and model diagnostics Phil. Trans. R. Soc. A 2009
 367, 4361-4383 doi: 10.1098/rsta.2009.0120

แนวคิดสั้น ๆ (ยังอ่านกระดาษเพื่อดูรายละเอียด) คือคุณสร้างข้อมูลจากการแจกแจงโมฆะและสร้างหลายแปลงหนึ่งซึ่งเป็นข้อมูลต้นฉบับ / จริงและส่วนที่เหลือถูกจำลองจากการแจกแจงเชิงทฤษฎี จากนั้นคุณนำเสนอแผนการให้ใครบางคน (อาจเป็นตัวคุณเอง) ที่ไม่ได้เห็นข้อมูลต้นฉบับและดูว่าพวกเขาสามารถเลือกข้อมูลจริงได้หรือไม่ หากพวกเขาไม่สามารถระบุข้อมูลจริงได้คุณก็จะไม่มีหลักฐานที่เป็นโมฆะ

vis.testฟังก์ชั่นในแพคเกจสำหรับ TeachingDemos R ช่วยดำเนินการในรูปแบบของการทดสอบนี้

นี่คือตัวอย่างด่วน หนึ่งในแผนการด้านล่างนี้คือ 25 คะแนนที่สร้างจากการแจกแจงที่มีอิสระ 10 องศาส่วนอีก 8 อันนั้นถูกสร้างขึ้นจากการแจกแจงแบบปกติที่มีค่าเฉลี่ยและความแปรปรวนเหมือนกัน

ป้อนคำอธิบายรูปภาพที่นี่

vis.testฟังก์ชั่นที่สร้างพล็อตนี้แล้วแจ้งให้ผู้ใช้เลือกแปลงที่พวกเขาคิดว่าเป็นที่แตกต่างกันแล้วซ้ำกระบวนการ 2 ครั้งมากขึ้น (3 total)


@ScottStafford ฉันเพิ่มสำเนาของพล็อตด้านบน อันนี้ใช้ qqplots แต่ฟังก์ชั่นจะสร้างฮิสโตแกรมหรือแปลงความหนาแน่นสามารถตั้งโปรแกรมได้
เกร็กสโนว์

28

แผนการกระจายแบบสะสม [ MATLAB , R ] - ซึ่งคุณวางแผนส่วนของค่าข้อมูลน้อยกว่าหรือเท่ากับช่วงของค่า - เป็นวิธีที่ดีที่สุดในการดูการกระจายของข้อมูลเชิงประจักษ์ ตัวอย่างเช่นที่นี่เป็น ECDF ของข้อมูลนี้ที่ผลิตใน R:

อลิซ, Brian, คริสและแผนการ ECDF ของ Zoe

สิ่งนี้สามารถสร้างขึ้นด้วยอินพุต R ต่อไปนี้ (พร้อมกับข้อมูลข้างต้น):

plot(ecdf(Annie),xlim=c(min(Zoe),max(Annie)),col="red",main="ECDFs")
lines(ecdf(Brian),col="blue")
lines(ecdf(Chris),col="green")
lines(ecdf(Zoe),col="orange")

อย่างที่คุณเห็นเห็นได้ชัดว่าการแจกแจงทั้งสี่นี้เป็นเพียงการแปลซึ่งกันและกัน โดยทั่วไปประโยชน์ของ ECDF ในการแสดงการแจกแจงเชิงประจักษ์ของข้อมูลคือ:

  1. พวกเขานำเสนอข้อมูลตามที่เกิดขึ้นจริงโดยไม่มีการแปลงอื่น ๆ นอกเหนือจากการสะสมดังนั้นจึงไม่มีความเป็นไปได้ที่จะหลอกลวงตัวเองโดยไม่ตั้งใจเนื่องจากมีฮิสโตแกรมและการประมาณความหนาแน่นของเคอร์เนลเนื่องจากวิธีที่คุณประมวลผลข้อมูล
  2. พวกเขาให้ความรู้สึกภาพที่ชัดเจนของการกระจายข้อมูลเนื่องจากแต่ละจุดถูกบัฟเฟอร์โดยข้อมูลทั้งหมดก่อนและหลัง เปรียบเทียบสิ่งนี้กับการสร้างภาพความหนาแน่นที่ไม่ได้สะสมซึ่งความถูกต้องของแต่ละความหนาแน่นนั้นไม่เป็นธรรมชาติดังนั้นจึงต้องประเมินทั้งโดยการ binning (ฮิสโตแกรม) หรือการปรับให้เรียบ (KDE)
  3. มันทำงานได้ดีเท่าเทียมกันไม่ว่าข้อมูลจะเป็นไปตามการกระจายตัวแบบพารามิเตอร์ที่ดีส่วนผสมบางอย่างหรือการแจกแจงแบบไม่อิงพารามิเตอร์ที่ยุ่งเหยิง

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


มีเอกสารอะไรบ้างในการอ่าน CDFs เช่นจะเกิดอะไรขึ้นถ้าการแจกแจง cdf ของฉันเหมือนที่คุณได้แสดงไว้ข้างต้นแล้วเราจะจำแนก \ guesstimate ลงใน chisquare, การแจกแจงแบบปกติหรืออื่น ๆ ได้อย่างไรโดยพิจารณาจากรูปลักษณ์
stats101

2

คำแนะนำ: ฮิสโทแกรมมักจะกำหนดข้อมูลแกน x ให้เกิดขึ้นที่จุดกึ่งกลางของถังขยะและละเว้นการวัดแกน x ของตำแหน่งที่มีความแม่นยำมากขึ้น ผลกระทบที่มีต่ออนุพันธ์ของแบบเต็มนั้นค่อนข้างใหญ่ ขอให้เรายกตัวอย่างเล็กน้อย สมมติว่าเราใช้การสืบทอดคลาสสิกของเดลต้า Dirac แต่ปรับเปลี่ยนเพื่อให้เราเริ่มต้นด้วยการแจกจ่าย Cauchy ที่ตำแหน่งมัธยฐานบางแห่งโดยมีขอบเขต จำกัด (เต็มความกว้างครึ่งสูงสุด) จากนั้นเราก็ใช้ลิมิตเมื่อสเกลเป็นศูนย์ หากเราใช้คำจำกัดความดั้งเดิมของฮิสโตแกรมและไม่เปลี่ยนขนาดของถังขยะเราจะบันทึกตำแหน่งหรือมาตราส่วน อย่างไรก็ตามหากเราใช้ตำแหน่งมัธยฐานภายในถังขยะที่มีความกว้างคงที่เราจะจับตำแหน่งนั้นเสมอหากไม่ใช่เครื่องชั่งเมื่อเครื่องชั่งมีขนาดเล็กเมื่อเทียบกับความกว้างของถังขยะ

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

ฮิสโตตลกn=8ในแต่ละหมวดหมู่ฮิสโตแกรมและเพิ่งแสดงสิ่งเหล่านี้เป็นค่าแกน x จากแต่ละ bin เนื่องจากแต่ละฮิสโทแกรม bin มีค่าเท่ากับ 8 การแจกแจงทั้งหมดจึงเหมือนกันหมดและฉันต้องชดเชยมันในแนวตั้งเพื่อแสดงมัน จอแสดงผลไม่ใช่คำตอบที่ถูกต้อง แต่ไม่มีข้อมูล มันบอกเราอย่างถูกต้องว่ามีการชดเชยแกน x ระหว่างกลุ่ม นอกจากนี้ยังบอกเราว่าการกระจายที่แท้จริงดูเหมือนจะเป็นรูปตัว U เล็กน้อย ทำไม? โปรดทราบว่าระยะห่างระหว่างค่าเฉลี่ยจะอยู่ห่างกันมากในกึ่งกลางและใกล้ชิดกับขอบมากขึ้น ดังนั้นเพื่อให้สิ่งนี้เป็นตัวแทนที่ดีขึ้นเราควรยืมตัวอย่างทั้งหมดและจำนวนเศษส่วนของตัวอย่างขอบเขตของ bin แต่ละอันเพื่อสร้างค่า bin เฉลี่ยทั้งหมดบนแกน x เท่ากัน แก้ไขสิ่งนี้และแสดงอย่างถูกต้องจะต้องมีการเขียนโปรแกรมเล็กน้อย แต่, มันอาจเป็นวิธีในการสร้างฮิสโตแกรมเพื่อให้พวกเขาแสดงข้อมูลพื้นฐานในรูปแบบโลจิคัลบางรูปแบบ รูปร่างจะยังคงเปลี่ยนแปลงหากเราเปลี่ยนจำนวนทั้งหมดของถังขยะที่ครอบคลุมช่วงของข้อมูล แต่ความคิดคือการแก้ไขปัญหาบางอย่างที่สร้างขึ้นโดยการ binning โดยพลการ

ขั้นตอนที่ 2 เรามาเริ่มยืมระหว่างถังขยะเพื่อพยายามทำให้ระยะห่างเท่ากันมากขึ้นป้อนคำอธิบายรูปภาพที่นี่

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

ขั้นตอนที่ 3 การแบ่งปันค่าและบางส่วนของค่า histo3

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

หนึ่งสามารถ แต่ทำสิ่งอื่น ๆ เช่นการใช้เมล็ดในการประมาณค่าความหนาแน่น

ที่นี่เราเห็นข้อมูลของแอนนี่เป็นความหนาแน่นเคอร์เนลที่มีขอบเขตโดยใช้การปรับแบบเกาส์เป็น 0.1, 0.2 และ 0.4 วิชาอื่น ๆ จะมีฟังก์ชั่นเลื่อนประเภทเดียวกันโดยที่หนึ่งทำสิ่งเดียวกับที่ฉันทำคือใช้ขอบเขตล่างและบนของชุดข้อมูลแต่ละชุด ดังนั้นนี่ไม่ใช่ฮิสโตแกรมอีกต่อไป แต่เป็น PDF และทำหน้าที่เหมือนฮิสโตแกรมที่ไม่มีหูด

kernelsmooth

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