forked from Sammers21/math_stat_python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
problem1.py
50 lines (37 loc) · 1.31 KB
/
problem1.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
39
40
41
42
43
44
45
46
47
48
49
50
import numpy as np
from scipy.stats import rv_continuous
class customDist(rv_continuous):
""""
Distribution F(x)=1-exp(-exp(0.1x)
"""
#TODO поменять тут на своё распределение
def _cdf(self, x, *args):
return 1 - np.exp(-np.exp(x / 10.))
d = customDist()
#Генерируем выборку из 100 случайных велечи
sample = d.rvs(size=100)
import matplotlib.pyplot as m
f = m.figure()
m.hist(sample, bins=10)
m.title("Distribution F(x)=1-exp(-exp(0.1x)) 100xValues")
m.xlabel("Value")
m.ylabel("Count of times")
m.grid(True)
#Генерируем выборку из 1000 случайных величин
sample = d.rvs(size=1000)
f = m.figure()
m.hist(sample, bins=10)
m.title("Distribution F(x)=1-exp(-exp(0.1x)) 1000xValues")
m.xlabel("Value")
m.ylabel("Count of times")
m.grid(True)
#Генерируем выборку из 1000 случайных велечин
#где каждая случайная величина является суммой 30 случайных велечин из исходной выборки
sample = [sum(d.rvs(size=30)) for i in range(1000)]
f = m.figure()
m.hist(sample, bins=10)
m.title("Distribution Yi=SUM j=1...30 Xij i=1...30 1000xValues")
m.xlabel("Value")
m.ylabel("Count of times")
m.grid(True)
m.show()