NumPy Салангид тархалт /Poisson Distribution/
Poisson Distribution бол Discrete Distribution буюу салангид тархалт юм.
Энэ нь тодорхой цаг хугацаанд хэдэн удаа үйл явдал болж болохыг тооцдог. Жишээ нь нэг хүн өдөрт 3л ус уудаг бол 4л ус уух магадлал хэд вэ?
Хоёр параметртэй:
lam
- тохиолдлын тоо
size
- Буцаасан массивын хэлбэр
Жишээ нь
2 тохиолдлын хувьд санамсаргүй 1Х10 тархалтыг авч үзье
from numpy import random
mas = random.poisson(lam = 2, size=10)
print (mas)
Үр дүн
[3 2 1 1 1 2 3 3 1 1]
Poisson Distribution-ийн дүрслэл
Жишээ нь
from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns
sns.distplot(random.poisson(lam = 2, size=1000), kde=False)
plt.show()
Үр дүн
Хэвийн болон Poisson тархалтын ялгаа
Хэвийн тархалт нь тасралтгүй, Poisson тархалт нь салагид байдаг.
Гэхдээ хангалттай их хэмжээний Poisson тархалтын хувьд Binomial-тай төстэй байх нь тодорхой байдаг бөгөөд std, dev дундаж утгатай хэвийн тархалттай төстэй болно гэдгийг бид доорх жишээнээс харж байна.
Жишээ нь
from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns
sns.distplot(random.normal(loc = 50, scale = 7, size=1000), hist=False, label='normal')
sns.distplot(random.poisson(lam = 50, size = 1000), hist = False, label='poisson')
plt.show()
Үр дүн
Binomial болон Poisson тархалтын ялгаа
Ялгаа нь маш нарийн бөгөөд биномын тархалт нь салангид туршилтанд, харин пуассоны тархалт нь тасралтгүй туршилтанд зориулагдсан байдаг.
Гэхдээ маш том n
ба тэгийн ойролцоо p
биномын тархалт нь пуассоны тархалттай ижил бөгөөд n * p
нь lam
-тай бараг тэнцүү байна.
Жишээ нь
from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns
sns.distplot(random.binomial(n = 1000, p = 0.01, size=1000), hist=False, label='binomial')
sns.distplot(random.poisson(lam = 10, size = 1000), hist = False, label='poisson')
plt.show()
Үр дүн