ping応答時間に関するこのデータがどのような分布を表しているのかを知るにはどうすればよいですか?


22

ネットワークping時間の実世界のプロセスをサンプリングしました。「往復時間」はミリ秒単位で測定されます。結果はヒストグラムにプロットされます。

代替テキスト

ping時間には最小値がありますが、長い上側の尾があります。

これがどのような統計分布であり、そのパラメーターを推定する方法を知りたいです。

ディストリビューションは通常のディストリビューションではありませんが、達成しようとしていることを示すことができます。

正規分布は次の関数を使用します。

代替テキスト

2つのパラメーター

  • μ(平均)
  • σ 2 (分散)

パラメータ推定

2つのパラメーターを推定する式は次のとおりです。

代替テキスト

Excelにあるデータに対してこれらの式を適用すると、次のようになります。

  • μ= 10.9558(平均)
  • σ 2  = 67.4578(分散)

これらのパラメーターを使用すると、サンプリングしたデータの上に「正規」分布をプロットできます。

代替テキスト

明らかに正規分布ではありません。正規分布は、無限の上部および下部テールを持ち、対称です。この分布は対称ではありません。


  • どの原則を適用しますか。これがどのような分布であるかを判断するために、どのフローチャートを適用しますか?
  • 分布に負のテールがなく、長い正のテールがある場合、どの分布がそれに一致しますか?
  • あなたが取っている観測値に分布を一致させる参照はありますか?

そして、簡単に言えば、この分布の式は何ですか?また、そのパラメーターを推定する式は何ですか?


「平均」値と「スプレッド」を取得できるように、分布を取得したい: 代替テキスト

私は実際にソフトウェアでヒストグラムをプロットしており、理論的な分布をオーバーレイしたい:

代替テキスト

注:math.stackexchange.comからクロスポスト


更新:160,000サンプル:

ここに画像の説明を入力してください

月と月、および無数のサンプリングセッションは、すべて同じ分布を提供します。数学的表現が必要です。


Harveyは、データをログスケールにすることを提案しました。対数スケールでの確率密度は次のとおりです。

ここに画像の説明を入力してください

タグ:サンプリング、統計、パラメーター推定、正規分布


それは答えではなく、質問の補遺です。これが配布バケットです。もっと冒険好きな人は、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
それを見ると、それは歪んだ正規分布のように見えます。外れ値は分析に必要ですか?
ブランドンバーテルセン

1
...私の分析では、オーバートップバーをかなりのグラフを描くだけで構成されます:)しかし、それには、トップテールがなかったふりをするために浮気されるだろう
イアン・ボイド

さまざまなディストリビューションに役立つアイデアがたくさんあります。「これがどのような統計分布であるかを知りたい」という質問に答えるために、通常の方法はQQプロットで、Rで簡単に生成できます。
Mike Dunlavey

1
もちろん、必要なのが滑らかな曲線だけである場合は、すべてのデータを取得し、それをソートして経験的CDFを作成し、それを平滑化し、1次導関数を数値的に取得します。それがあなたの曲線です。
マイクダンラベイ

回答:


12

ワイブルは、ping時間のモデリングに使用されることがあります。ワイブル分布を試してください。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」が別のパラメータ化を使用しているためです(すなわち、数理科学ではより多くの共謀である「逆ワイブル」に関してパラメータ化されています) 。


10

私はもっと基本的な質問をしてみましょう:あなたは何をしたいこの分布情報と?

私が尋ねる理由は、ある種のカーネル密度推定器で分布を近似する方が、(おそらくシフトされた)指数族分布の1つに収まることを主張するよりも理にかなっているからです。標準的なディストリビューションで答えられるほぼすべての種類の質問に答えることができ、正しいモデルを選択したかどうかを(それほど)心配する必要はありません。

しかし、最小時間が固定されており、それに合わせてコンパクトにパラメーター化された分布が必要な場合は、他の人が示唆しているように、それを目で見て最小値を差し引いてガンマを合わせます。


私はその上に理論的な分布曲線を描き、平均値中央値標準偏差を見つけたいです。主に中央値が必要ですが、実際には理論曲線を描きたいです。
イアン・ボイド

1
リッチは、「どんな種類の質問に答えようとしているのですか?」データの分布を決定することは、はい、しかし確かに、分布を知ったら答えられると期待する他のいくつかの質問があります。それは何ですか?
マットパーカー

@MattParker私は「ピーク」時間が何であるかを知りたい。
イアン・ボイド

2
@IanBoydそれを得るために理論的な分布を本当に知る必要はないと思います-中央値は機能しますか?また、隣接する「標準偏差」のシェーディングには、変位値を使用できます。目的がほとんどのpingにかかる時間を伝えることである場合、25%および75%の変位値で中央値を報告することに何の問題もありません。または、正規分布の平均の1 SD内に収まる68%、16%および84%の変位値をエミュレートする場合。
マットパーカー

8

現実世界のデータセットが既知の分布形式に適合することを期待する理由はありません...特にそのような既知の乱雑なデータソースから。

答えをどうするかは、主にアプローチを示します。たとえば、ping時間の大幅な変化を知りたい場合は、経験的分布の傾向を把握する方法があります。外れ値を特定する場合は、他の手法がより適切な場合があります。


本当に、分布に従う数学曲線を描きたいです。既知のディストリビューションではない可能性があります。しかし、これが以前に調査されたことがないとは想像できません。
イアン・ボイド

4
「密度推定」を参照してください。
PeterR

6

より単純なアプローチは、データを変換することです。変換後、ガウスに近い場合があります。

これを行う一般的な方法の1つは、すべての値の対数を取ることです。

私の推測では、この場合、往復時間の逆数の分布はより対称的で、おそらくガウスに近いものになるでしょう。逆数を取ることにより、時間ではなく速度を本質的に表にしているため、結果を解釈するのは簡単です(対数や多くの変換とは異なります)。


4

xGamma(k,θ)

更新-推定プロセス

θ^k^k^


私は実際にガンマ分布に言及しないように努力していました。ウィキペディアで見ましたが、実際に分布の式、またはその式のパラメーターを推定する式を見つけることができません。そして、「kには閉じた形式の解決策はありません」と見たとき、本当に緊張しました とにかくいくつかの式で試してみました-しかし、0msで戻ってくるパケットを取得すると、ln(0)が爆発します。
イアン・ボイド

私は大学時代から正規分布を十分に理解しているが、「カルバック-ライブラー発散」のようなものに到達したとき、私は頭を抱えているからだ。
イアン・ボイド

k

はい、技術的にはとして参照する必要があります<1ms。また、このプロットにはゼロが含まれていません。これは、待ち時間の長いリンク(モデム)を経由しているためです。しかし、私は(LAN上つまりpingを別のマシン)に高速リンクの上だけで同様のプログラムを実行し、日常得ることができる<1ms1msのあまり出現し、2ms。残念ながら、Windowsはの解像度のみを提供します1ms。高性能カウンターを使用して手動で時間を計り、µsを取得できました。しかし、(メモリを節約するために)それらをバケットに入れることができることを望んでいました。おそらく、私は...すべてに1ミリ秒を追加する必要があります1ms ==> (0..1]
イアン・ボイド

:単にRとガンマフィッティングdocs.google.com/...
apeescape

4

ネットワークの考慮事項により正当化されるもう1つのアプローチは、独立した指数の合計を異なるパラメーターに適合させることです。合理的な仮定は、pingのパスにある各ノードが、異なるパラメーターを持つ独立した指数関数になるということです。異なるパラメーターを持つ独立した指数の合計の分布形式への参照はhttp://www.math.bme.hu/~balazs/sumexp.pdfです。

おそらく、ping時間とホップ数も調べる必要があります。


3

それを見ると、スキュー正規分布または場合によっては双正規分布がうまく適合するかもしれません。

Rでは、snライブラリを使用して、スキュー正規分布を処理し、データの非線形最小二乗または最尤推定適合を使用nlsまたはmle実行できます。

===

編集:あなたの質問/コメントを読み直します

あなたが興味を持っているのがバーの上にきれいなグラフを描くだけなら、分布を忘れてしまいます。データポイント上にBスプラインを描画するだけで十分です。

また、このアプローチを使用すると、MLEフィットアルゴリズム(または同様のアルゴリズム)を実装する必要がなくなり、スキュー正規分布(または選択した描画)ではない分布の場合に対応できます。


+1ヒストグラムを最初に見たときに、2項式も考えました。(これがなぜ投票されたのかはわかりません)。
ダグ

きれいな線だけではありません。また、カーブの真の「ピーク」と、両側の1つの標準偏差単位の陰影を指すことができるようにしたいと思います。
イアン・ボイド

@IanBoyd:特にヒストグラムは比較的低解像度であるため、Bスプラインで十分です。そして、それは常に「真の」ピークの意味に依存します。
ニコ

2

あなたのコメントに基づいて「本当に分布に沿った数学曲線を描きたい。既知の分布ではないかもしれないが、これはこれまで調査されていなかったとは思えない。」ある種の適合機能を提供しています。

を見てみましょう ExtremeValueDistributionを

振幅を追加し、2つのベータを異なるものにしました。あなたの関数の中心は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:プロット11193.8 E ^(-E ^(1.66667(10-x))+ 1.66667(10-x))、x 0..16、y to 0 to 4500

10ms前後のいくつかのポイント:
{{9、390.254}、{10、3979.59}、{11、1680.73}、{12、562.838}}

しかし、テールは完全には収まりません。b2が低く、ピークが9に近くなるように選択されている場合、テールはよりよくフィットします。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.