ฉันจะทราบได้อย่างไรว่าการกระจายแบบใดที่แสดงข้อมูลนี้เกี่ยวกับเวลาตอบสนองการ ping


22

ฉันสุ่มตัวอย่างกระบวนการโลกแห่งความเป็นจริง, เวลา ping เครือข่าย "round-trip-time" วัดเป็นมิลลิวินาที ผลลัพธ์ถูกพล็อตในฮิสโตแกรม:

ข้อความแสดงแทน

Ping ครั้งมีค่าต่ำสุด แต่หางบนยาว

ฉันต้องการทราบว่าการกระจายเชิงสถิติคืออะไรและจะประเมินค่าพารามิเตอร์ได้อย่างไร

แม้ว่าการกระจายไม่ใช่การกระจายทั่วไปฉันยังสามารถแสดงสิ่งที่ฉันพยายามที่จะบรรลุ

การแจกแจงปกติใช้ฟังก์ชัน:

ข้อความแสดงแทน

ด้วยพารามิเตอร์ทั้งสอง

  • μ (หมายถึง)
  • σ 2  (ความแปรปรวน)

การประมาณค่าพารามิเตอร์

สูตรสำหรับการประมาณค่าพารามิเตอร์ทั้งสองคือ:

ข้อความแสดงแทน

ใช้สูตรเหล่านี้กับข้อมูลที่ฉันมีใน Excel ฉันจะได้รับ:

  • μ = 10.9558 (หมายถึง)
  • σ 2  = 67.4578 (ความแปรปรวน)

ด้วยพารามิเตอร์เหล่านี้ฉันสามารถพล็อตการกระจาย " ปกติ " ด้านบนข้อมูลตัวอย่างของฉัน:

ข้อความแสดงแทน

เห็นได้ชัดว่าไม่ใช่การแจกแจงแบบปกติ การแจกแจงแบบปกติมีหางบนและล่างไม่ จำกัด และมีความสมมาตร การกระจายนี้ไม่สมมาตร


  • ฉันจะใช้หลักการอะไร ฉันจะใช้ผังงานใดเพื่อกำหนดการกระจายแบบนี้ว่าเป็นอย่างไร
  • ระบุว่าการแจกแจงไม่มีหางลบและหางยาวเป็นบวก: การกระจายแบบใดที่ตรงกับ?
  • มีการอ้างอิงที่ตรงกับการแจกแจงของการสังเกตที่คุณทำหรือไม่?

และการตัดการไล่ล่าสูตรสำหรับการแจกแจงนี้คืออะไรและสูตรการประมาณค่าพารามิเตอร์คืออะไร?


ฉันต้องการรับการกระจายเพื่อให้ได้ค่า "เฉลี่ย" รวมถึง "สเปรด": ข้อความแสดงแทน

ฉันกำลังวางแผนฮิสโตแกรมในซอฟต์แวร์จริง ๆ และฉันต้องการซ้อนทับการกระจายเชิงทฤษฎี:

ข้อความแสดงแทน

หมายเหตุ: cross-posted จากmath.stackexchange.com


อัพเดท : 160,000 ตัวอย่าง:

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

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


ฮาร์วีย์แนะนำให้ใส่ข้อมูลลงในบันทึกการทำงาน นี่คือความหนาแน่นของความน่าจะเป็นในระดับบันทึก:

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

แท็ก : การสุ่มตัวอย่าง, สถิติ, การประมาณค่าพารามิเตอร์, การแจกแจงปกติ


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

ค่าจะถูกทำให้เป็นมาตรฐาน

Time    Value
53.5    1.86885613545469E-5
54.5    0.00396197500716395
55.5    0.0299702228922418
56.5    0.0506460012708222
57.5    0.0625879919763777
58.5    0.069683415770654
59.5    0.0729476844872482
60.5    0.0508017392821101
61.5    0.032667605247748
62.5    0.025080049337802
63.5    0.0224138145845533
64.5    0.019703973188144
65.5    0.0183895443728742
66.5    0.0172059354870862
67.5    0.0162839664602619
68.5    0.0151688822994406
69.5    0.0142780608748739
70.5    0.0136924859524314
71.5    0.0132751080821798
72.5    0.0121849420031646
73.5    0.0119419907055555
74.5    0.0117114984488494
75.5    0.0105528076448675
76.5    0.0104219877153857
77.5    0.00964952717939773
78.5    0.00879608287754009
79.5    0.00836624596638551
80.5    0.00813575370967943
81.5    0.00760001495084908
82.5    0.00766853967581576
83.5    0.00722624372375815
84.5    0.00692099722163388
85.5    0.00679017729215205
86.5    0.00672788208763689
87.5    0.00667804592402477
88.5    0.00670919352628235
89.5    0.00683378393531266
90.5    0.00612361860383988
91.5    0.00630427469693383
92.5    0.00621706141061261
93.5    0.00596788059255199
94.5    0.00573115881539439
95.5    0.0052950923837883
96.5    0.00490886211579433
97.5    0.00505214108617919
98.5    0.0045413204091549
99.5    0.00467214033863673
100.5   0.00439181191831853
101.5   0.00439804143877004
102.5   0.00432951671380337
103.5   0.00419869678432154
104.5   0.00410525397754881
105.5   0.00440427095922156
106.5   0.00439804143877004
107.5   0.00408656541619426
108.5   0.0040616473343882
109.5   0.00389345028219728
110.5   0.00392459788445485
111.5   0.0038249255572306
112.5   0.00405541781393668
113.5   0.00393705692535789
114.5   0.00391213884355182
115.5   0.00401804069122759
116.5   0.0039432864458094
117.5   0.00365672850503968
118.5   0.00381869603677909
119.5   0.00365672850503968
120.5   0.00340131816652754
121.5   0.00328918679840026
122.5   0.00317082590982146
123.5   0.00344492480968815
124.5   0.00315213734846692
125.5   0.00324558015523965
126.5   0.00277213660092446
127.5   0.00298394029627599
128.5   0.00315213734846692
129.5   0.0030649240621457
130.5   0.00299639933717902
131.5   0.00308984214395176
132.5   0.00300885837808206
133.5   0.00301508789853357
134.5   0.00287803844860023
135.5   0.00277836612137598
136.5   0.00287803844860023
137.5   0.00265377571234566
138.5   0.00267246427370021
139.5   0.0027472185191184
140.5   0.0029465631735669
141.5   0.00247311961925171
142.5   0.00259148050783051
143.5   0.00258525098737899
144.5   0.00259148050783051
145.5   0.0023485292102214
146.5   0.00253541482376687
147.5   0.00226131592390018
148.5   0.00239213585338201
149.5   0.00250426722150929
150.5   0.0026288576305396
151.5   0.00248557866015474
152.5   0.00267869379415173
153.5   0.00247311961925171
154.5   0.00232984064886685
155.5   0.00243574249654262
156.5   0.00242328345563958
157.5   0.00231738160796382
158.5   0.00256656242602444
159.5   0.00221770928073957
160.5   0.00241705393518807
161.5   0.00228000448525473
162.5   0.00236098825112443
163.5   0.00216787311712744
164.5   0.00197475798313046
165.5   0.00203705318764562
166.5   0.00209311887170926
167.5   0.00193115133996985
168.5   0.00177541332868196
169.5   0.00165705244010316
170.5   0.00160098675603952
171.5   0.00154492107197588
172.5   0.0011150841608213
173.5   0.00115869080398191
174.5   0.00107770703811221
175.5   0.000946887108630378
176.5   0.000853444301857643
177.5   0.000822296699600065
178.5   0.00072885389282733
179.5   0.000753771974633393
180.5   0.000766231015536424
181.5   0.000566886361087923

1
แค่มองมันก็ดูเหมือนว่าการกระจายตัวแบบเบ้ปกติ คุณแน่ใจหรือว่าค่าผิดปกติเป็นสิ่งจำเป็นสำหรับการวิเคราะห์ของคุณ?
Brandon Bertelsen

1
การวิเคราะห์ของฉันจะประกอบไปด้วยการวาดกราฟสวย ๆ ไว้เหนือแท่งเท่านั้น :) แต่มันจะเป็นการโกงที่จะแกล้งทำเป็นไม่มีหางเลย ...
Ian Boyd

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

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

คำตอบ:


12

Weibull บางครั้งใช้สำหรับการสร้างแบบจำลองเวลา ping ลองใช้การแจกแจงแบบ Weibull เพื่อให้พอดีกับหนึ่งใน R:

x<-rweibull(n=1000,shape=2,scale=100)
#generate a weibull (this should be your data).
hist(x)
#this is an histogram of your data.
library(survival)
a1<-survreg(Surv(x,rep(1,1000))~1,dist='weibull')
exp(a1$coef) #this is the ML estimate of the scale parameter
1/a1$scale     #this is the ML estimate of the shape parameter

หากคุณสงสัยชื่อโง่ ๆ (เช่น $ scale เพื่อให้ได้รูปร่างที่ตรงกันข้าม) นั่นเป็นเพราะ "survreg" ใช้ parametrization อีกอัน (นั่นคือ parametrized ในแง่ของ "inverse weibull" ซึ่งเป็น comon มากกว่าในศาสตร์คณิตศาสตร์ประกันภัย) .


10

ให้ฉันถามคำถามพื้นฐานเพิ่มเติม: สิ่งที่คุณต้องการจะทำอย่างไรกับข้อมูลการกระจายนี้?

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

แต่ถ้ามีเวลาขั้นต่ำคงที่และคุณต้องมีการแจกแจงแบบแปรผันบางอย่างเพื่อไปกับมันจากนั้นแค่มองมันฉันจะลบค่าต่ำสุดและพอดีกับแกมม่าตามที่คนอื่นแนะนำ


ฉันต้องการที่จะวาดเส้นโค้งการกระจายทฤษฎีมากกว่านั้นพบว่าค่าเฉลี่ย , ค่าเฉลี่ย , ค่าเบี่ยงเบนมาตรฐาน ส่วนใหญ่ฉันต้องการเฉลี่ย แต่จริงๆแล้วฉันต้องการวาดเส้นโค้งทางทฤษฎี
Ian Boyd

1
ฉันคิดว่า Rich แปลว่า "คุณพยายามตอบคำถามประเภทใด" การพิจารณาการกระจายข้อมูลเป็นคำถามใช่ แต่แน่นอนว่ามีคำถามอื่น ๆ ที่คุณคาดว่าจะสามารถตอบได้เมื่อคุณรู้ว่ามีการแจกจ่าย มันคืออะไร?
Matt Parker

@ MattParker ฉันต้องการที่จะรู้ว่าเวลา "จุดสูงสุด" คืออะไร
Ian Boyd

2
@IanBoyd ฉันไม่คิดว่าคุณจำเป็นต้องรู้การกระจายเชิงทฤษฎีเพื่อให้ได้ - มัธยฐานจะเป็นอย่างไร และสำหรับการแรเงาใน 'ส่วนเบี่ยงเบนมาตรฐาน' ที่อยู่ติดกันคุณก็แค่ใช้ควอไทล์ หากวัตถุประสงค์ของคุณคือการสื่อสารว่าใช้เวลานานแค่ไหนในการปิงฉันไม่เห็นอะไรผิดปกติกับการรายงานค่ามัธยฐานด้วย 25% และ 75% หรือถ้าคุณต้องการเลียนแบบ 68% ที่อยู่ภายใน 1 SD ของค่าเฉลี่ยในการแจกแจงแบบปกติควอนไทล์ 16% และ 84%
Matt Parker

8

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

สิ่งที่คุณต้องการทำกับคำตอบส่วนใหญ่จะระบุวิธีการ ตัวอย่างเช่นหากคุณต้องการทราบว่าเวลา ping มีการเปลี่ยนแปลงอย่างมีนัยสำคัญดังนั้นการแจกแจงเชิงประจักษ์อาจเป็นวิธีที่จะไป หากคุณต้องการระบุค่าผิดปกติเทคนิคอื่น ๆ อาจเหมาะสมกว่า


ผมอยากวาดเส้นโค้งทางคณิตศาสตร์ที่ตามหลังการกระจายตัว จริงอยู่ที่มันอาจไม่ใช่การกระจายที่รู้จัก แต่ฉันไม่สามารถจินตนาการได้ว่าสิ่งนี้ไม่เคยถูกตรวจสอบมาก่อน
เอียนบอยด์

4
ค้นหา 'การประมาณความหนาแน่น'
PeterR

6

วิธีที่ง่ายกว่าอาจเปลี่ยนข้อมูล หลังจากเปลี่ยนรูปแล้วมันอาจจะใกล้เคียงกับเกาส์เซียน

วิธีทั่วไปวิธีหนึ่งคือการใช้ลอการิทึมของค่าทั้งหมด

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


4

xGamma(k,θ)

อัปเดต - กระบวนการประมาณ

θ^k^k^


จริง ๆ แล้วฉันจะพยายามหลีกเลี่ยงการกล่าวถึงการแจกแจงแกมม่า ฉันเห็นใน Wikipedia ฉันไม่สามารถหาสูตรสำหรับการแจกแจงหรือสูตรเพื่อประมาณค่าพารามิเตอร์ในสูตรนั้น และจากนั้นฉันก็รู้สึกประหม่าจริงๆเมื่อฉันเห็น"ไม่มีวิธีแก้ปัญหาแบบปิดสำหรับ k" และฉันก็ลองกับสูตรบางอย่าง - แต่เมื่อคุณได้แพ็คเก็ตที่กลับมาเป็น 0 มิลลิวินาที ln (0) จะระเบิด
เอียนบอยด์

เพราะในขณะที่ฉันมีความเข้าใจที่ดีของการกระจายปกติจากมหาวิทยาลัยวันของฉันฉันเหนือหัวของฉันเมื่อเราได้รับสิ่งที่ต้องการ"Kullback-Leibler แตกต่าง"
เอียนบอยด์

k

<1msใช่ในทางเทคนิคมันควรจะเรียกว่า และพล็อตนี้ไม่รวมศูนย์เพราะจะผ่านลิงค์เวลาแฝงที่สูงขึ้น (โมเด็ม) แต่ฉันสามารถเรียกใช้โปรแกรมเช่นเดียวกับที่ดีกว่าการเชื่อมโยงได้เร็วขึ้น (เช่น ping เครื่องอื่นบน LAN) และได้รับเป็นประจำ<1msและมีการเกิดขึ้นน้อยมาก1ms 2msน่าเสียดายที่ Windows ให้การแก้ปัญหา1msแล้วเท่านั้น ฉันสามารถจับเวลาด้วยตนเองโดยใช้ตัวนับประสิทธิภาพสูงรับ ;s แต่ฉันก็ยังหวังว่าจะสามารถใส่พวกเขาลงในถัง (เพื่อประหยัดหน่วยความจำ) บางทีฉันควรเพิ่ม 1 มิลลิวินาทีเพื่อทุกอย่าง ...1ms ==> (0..1]
เอียนบอยด์

เพียงติดตั้ง gammas ด้วย R: docs.google.com/?hl=th
apeescape

4

อีกวิธีหนึ่งที่มีความชอบธรรมมากกว่าโดยการพิจารณาจากเครือข่ายคือพยายามปรับให้พอดีกับผลรวมของเอกซ์โปเนนเชียลอิสระที่มีพารามิเตอร์ต่างกัน ข้อสันนิษฐานที่สมเหตุสมผลคือแต่ละโหนดในเส้นทางของ ping การหน่วงเวลานั้นจะเป็นเอกซ์โปเนนเชียลอิสระพร้อมด้วยพารามิเตอร์ที่แตกต่างกัน อ้างอิงถึงรูปแบบการกระจายของผลรวมของ exponentials อิสระกับพารามิเตอร์ที่แตกต่างกันคือhttp://www.math.bme.hu/~balazs/sumexp.pdf

คุณควรดูเวลาปิงเทียบกับจำนวนฮ็อป


3

เมื่อมองไปที่มันฉันจะบอกว่าการกระจายแบบเบ้ปกติหรืออาจเป็นการกระจายแบบทวินามอาจเข้ากันได้ดี

ใน R คุณสามารถใช้snไลบรารีเพื่อจัดการกับการแจกแจงแบบเบ้ปกติและใช้nlsหรือmleเพื่อทำสแควร์แบบไม่เชิงเส้นหรือความเป็นไปได้สูงสุดที่พอดีกับข้อมูลของคุณ

===

แก้ไข: อ่านคำถาม / ความคิดเห็นของคุณอีกครั้งฉันจะเพิ่มบางอย่างเพิ่มเติม

หากสิ่งที่คุณสนใจคือการวาดกราฟสวย ๆ ไว้เหนือแท่งลืมเกี่ยวกับการแจกแจงใครสนใจในท้ายที่สุดหากคุณไม่ได้ทำอะไรเลย เพียงวาด B-spline เหนือจุดข้อมูลของคุณและคุณก็ทำได้ดี

นอกจากนี้ด้วยวิธีนี้คุณหลีกเลี่ยงการใช้อัลกอริทึม MLE fit (หรือคล้ายกัน) และคุณได้รับการคุ้มครองในกรณีของการแจกแจงที่ไม่เบ้ปกติ (หรือสิ่งที่คุณเลือกที่จะวาด)


+1 ฉันคิดว่าทวินามเช่นกันเมื่อฉันเห็นฮิสโตแกรมครั้งแรก (ไม่แน่ใจว่าเพราะเหตุใดจึงเป็น downvote นี้)
doug

มันไม่ใช่แค่เส้นสวย ๆ ฉันอยากจะสามารถชี้ไปที่ "จุดสูงสุด" ที่แท้จริงในโค้งได้เช่นเดียวกับการแรเงาในหน่วยเบี่ยงเบนมาตรฐานหนึ่งด้านใดด้านหนึ่ง
เอียนบอยด์

@IanBoyd: B-spline จะเพียงพอสำหรับสิ่งเหล่านั้นโดยเฉพาะอย่างยิ่งเมื่อฮิสโตแกรมมีความละเอียดต่ำ จากนั้นก็มักจะขึ้นอยู่กับสิ่งที่คุณหมายถึงโดยยอด "จริง"
nico

2

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

ดูExtremeValueDistribution

ฉันเพิ่มแอมพลิจูดและทำให้สอง betas แตกต่างกัน ฉันคิดว่าจุดศูนย์กลางของฟังก์ชั่นของคุณใกล้ถึง 9.5 และ 10 แล้ว

ฟังก์ชั่นใหม่: a E ^ (- E ^ ((- - x + alpha) / b1)) + (-x + alpha) / b2) / ((b1 + b2) / 2)

{alpha-> 9.5, b2 -> 0.899093, a -> 5822.2, b1 -> 0.381825}

Wolfram alpha : plot 11193.8 E ^ (- E ^ (1.66667 (10 - x)) + 1.66667 (10 - x)), x 0..16, y จาก 0 ถึง 4500

บางจุดประมาณ 10ms:
{{9, 390.254}, {10, 3979.59}, {11, 1680.73}, {12, 562.838}}

หางไม่พอดีอย่างสมบูรณ์แม้ว่า ส่วนท้ายสามารถกระชับได้ดีกว่าถ้า b2 ต่ำกว่าและจุดสูงสุดถูกเลือกให้อยู่ใกล้กับ 9


1

การแจกแจงนั้นดูเป็นเรื่องปกติสำหรับฉัน

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

http://en.wikipedia.org/wiki/Log-normal_distribution

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