簡體   English   中英

持續時間序列的 Plot 置信區間

[英]Plot confidence interval of a duration series

我測量了 6000 個請求的持續時間。

我現在得到了一個包含 6000 個元素的數組。 每個元素表示連接請求的持續時間(以毫秒為單位)。 [3,2,2,3,4,2,2,4,2,3,3,4,2,4,4,3,3,3,4,3,2,3,5,5,2,4,4,2,2,2,3,5,3,2,2,3,3,3,5,4........]

我想 plot Python 中的置信區間並以清晰的方式排列。

你有什么想法我應該如何 plot 他們?

據我了解,這段代碼應該回答你的問題

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
from statistics import NormalDist

X = np.random.sample(100)
data = ((X - min(X)) / (max(X) - min(X))) * 3 + 3
confidence_interval = 0.95

def getCI(data, ci):
    normalDist = NormalDist.from_samples(data)
    z = NormalDist().inv_cdf((1 + ci) / 2.)
    p = normalDist.stdev * z / ((len(data) - 1) ** .5)
    return normalDist.mean, normalDist.mean - p, normalDist.mean + p

avg, lower, upper = getCI(data, confidence_interval)
sns.set_style("whitegrid")
plt.figure(figsize=(8, 4))
sns.histplot(data, bins = 10)
plt.axvspan(lower, upper, facecolor='r', alpha=0.2)
plt.axvline(avg, color = 'b', label = 'Average')
plt.ylabel("Operations")
plt.xlabel("Connection Request Duration (ms)")

plt.show()

在此處輸入圖像描述

對於箱線圖:

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
from statistics import NormalDist

X = np.random.sample(100)
data = ((X - min(X)) / (max(X) - min(X))) * 3 + 3
confidence_interval = 0.95

def getCI(data, ci):
    normalDist = NormalDist.from_samples(data)
    z = NormalDist().inv_cdf((1 + ci) / 2.)
    p = normalDist.stdev * z / ((len(data) - 1) ** .5)
    return normalDist.mean, normalDist.mean - p, normalDist.mean + p

avg, lower, upper = getCI(data, confidence_interval)
sns.set_style("whitegrid")
plt.figure(figsize=(8, 4))
sns.boxplot(data = data, orient = "h")
plt.axvspan(lower, upper, facecolor='r', alpha=0.4)
plt.axvline(avg, color = 'b', label = 'Average')
plt.ylabel("Operations")
plt.xlabel("Connection Request Duration (ms)")
plt.yticks([0],["Server Retry Request Delay"])

plt.savefig("fig.png")
plt.show()

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM