/
dovint.py
executable file
·41 lines (34 loc) · 1.21 KB
/
dovint.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
student.py
Оченка доверительного интервала
t-статистика Стьюдента
"""
from numpy import array, mean, std, sqrt, size
from scipy import stats
import yaml
f = open('test_iperf.yml')
data = yaml.safe_load(f)
#mm = array([323.49, 322.066, 322.197, 321.874, 322.583]) # список средних значений
f.close()
def student(mm):
''' Распределение Стьюдента '''
alfa=0.05 # уровень значимости
n = size(mm) - 1 # число степеней свободы
t = stats.t(n)
tcr = t.ppf(1 - alfa / 2)
return round(mean(mm), 4), round (tcr * std(mm) / sqrt( size(mm) ), 4)
# Оценка
#print "среднее: ", mm
#print "<queue_mean>", mean(mm), "</queue_mean>"
#print "<queue_di>", tcr*std(mm)/sqrt(mm.size), "</queue_di>"
print "---"
for k in data.keys():
print "%s:" % k
print " jitter: %s\n jitter_int: %s" % student(data[k]["jitter"])
pd = []
for dr in data[k]["dropped"]:
for st in data[k]["sent"]:
pd.append(float(dr) / float(st) * 100. )
print " pdrop: %s\n pdrop_int: %s" % student(pd)