Тақсимотҳо
Чаро тасодуфиятро тавсиф мекунем
Шумораи зангҳо дар як дақиқа, қади одамон ва шумораи кӯшишҳои муваффақ пешакӣ маълум нестанд. Тақсимоти эҳтимолият тавсиф мекунад, ки бузургии тасодуфӣ кадом қиматҳоро гирифта метавонад ва эҳтимолият байни онҳо чӣ гуна тақсим мешавад. Он барои арзёбии хавф, банақшагирии захираҳо ва моделсозии таҷрибаҳо ёрӣ медиҳад. Тақсимотҳои scipy.stats маҷмӯи умумии методҳо доранд, бинобар ин малакаҳои омӯхташударо осон истифода бурдан мумкин аст.
Моделро аввал аз рӯйи маънои додаҳо интихоб мекунанд. Бузургии бефосила, масалан вақти интизорӣ, метавонад қиматҳои касрӣ гирад. Бузургии дискретӣ, масалан шумораи паёмҳо, қиматҳои ҷудогона мегирад. Тақсимоти нормалӣ, биномиалӣ ва Пуассон масъалаҳои гуногунро ҳал мекунанд ва худкор якдигарро иваз намекунанд.
1. Тақсимот ҳамчун объект
Тақсимоти нормалии norm зичии симметрии зангӯлашакл дорад. loc миёна ва scale инҳирофи стандартӣ-ро муайян мекунад. Дисперсия ба квадрати инҳирофи стандартӣ баробар аст. Сохтани объект бо параметрҳои собит барои пурсидани саволҳои зиёд аз як модел қулай аст. Дар тақсимотҳои дигар маънои параметрҳои шакл метавонад фарқ кунад; loc одатан тақсимотро мекӯчонад.
from scipy.stats import norm
height = norm(loc=170, scale=8)
print(height.mean(), height.std(), height.var())
print(round(height.cdf(178), 6))
print(round(norm.cdf(178, loc=170, scale=8), 6))
Натиҷа:
170.0 8.0 64.0
0.841345
0.841345
2. Зичӣ ва эҳтимолияти ҷамъшуда
Зичии pdf(x) баландии график аст, на эҳтимолияти маҳз ба x афтодан. Барои тақсимоти бефосила эҳтимолияти як нуқта сифр аст; эҳтимолияти фосила масоҳати зери зичӣ мебошад. Зичӣ ҳатто метавонад аз як калон бошад: маҳдудияти аз 0 то 1 ба эҳтимолият дахл дорад.
Функсияи тақсимот cdf(x) қимати P(X ≤ x), яъне тамоми масоҳати чапи x-ро медиҳад. Барои модели бефосила P(a ≤ X ≤ b) = cdf(b) - cdf(a): дохил кардани канорҳо ҷавобро тағйир намедиҳад.
from scipy.stats import norm
d = norm(loc=0, scale=0.1)
print(round(d.pdf(0), 6))
print(round(d.cdf(0), 6))
print(round(d.cdf(0.1) - d.cdf(-0.1), 6))
Натиҷа:
3.989423
0.5
0.682689
3. Думи рост ва квантилҳо
sf(x) эҳтимолияти P(X > x), яъне масоҳати тарафи рост аст. Аз ҷиҳати математикӣ он ба 1 - cdf(x) баробар аст, вале дар думи дур тарҳи ададҳои наздик дақиқиро гум мекунад. SciPy sf-ро бо роҳи махсус ҳисоб карда, эҳтимолиятҳои хеле хурдро нигоҳ медорад.
ppf(q) саволи баръаксро ҳал мекунад: кадом сарҳад ҳиссаи q-ро дар чап мегузорад? Ин сарҳад квантил ном дорад. Масалан, квантили сатҳи 0.5 медиана аст. Аргументи q ҳисса аз 0 то 1 мебошад, на фоиз аз 0 то 100.
from scipy.stats import norm
print(f"{norm.sf(9):.3e}")
print(1 - norm.cdf(9))
x = norm.ppf(0.9)
print(round(x, 6), round(norm.cdf(x), 6))
Натиҷа:
1.129e-19
0.0
1.281552 0.9
4. Қиматҳои ҷудогона: модели биномиалӣ
binom(n, p) шумораи муваффақиятҳоро дар n кӯшиши мустақил бо эҳтимолияти доимии муваффақияти p тавсиф мекунад. «Муваффақият» ҳатто метавонад рӯйдоди номатлуб бошад: ин танҳо рӯйдодест, ки мешуморем. pmf(k) эҳтимолияти маҳз k-ро медиҳад; дар модели дискретӣ он метавонад ғайрисифрӣ бошад. cdf(k) ҳамоно маънои «на бештар аз k»-ро дорад.
Барои бузургии бутунқимат «на камтар аз k» худи k-ро дар бар мегирад ва аз ин рӯ ба sf(k - 1) баробар аст. Фарқи як воҳид муҳим аст: массаи эҳтимолиятро дар нуқта партофтан мумкин нест.
from scipy.stats import binom
d = binom(6, 0.5)
print(round(d.pmf(2), 6), round(d.cdf(2), 6))
print(round(d.sf(2), 6), round(d.sf(1), 6))
print(round(d.sf(1) - d.sf(2), 6))
Натиҷа:
0.234375 0.34375
0.65625 0.890625
0.234375
5. Шумораи рӯйдодҳо: тақсимоти Пуассон
poisson(mu) шумораи рӯйдодҳоро дар фосилаи собит бо шиддати миёнаи доимӣ ва фарзияҳои мувофиқи мустақилият модел мекунад. mu шумораи интизории рӯйдодҳо дар ҳамон фосила аст. Агар миёна барои як соат дода шуда, савол ба ним соат дахл дошта бошад, аввал параметрро аз нав ҳисоб кунед.
Барои тақсимоти дискретӣ ҳангоми 0 < q < 1, ppf(q) хурдтарин адади бутуни k-ро интихоб мекунад, ки cdf(k) ≥ q аст. Одатан cdf(ppf(q)) = q иҷро намешавад: эҳтимолияти ҷамъшуда зина ба зина меафзояд. SciPy квантилро ҳамчун адади касрӣ медиҳад, гарчанде қимати он бутун аст.
from scipy.stats import poisson
d = poisson(mu=2)
k = int(d.ppf(0.9))
print(round(d.pmf(0), 6), k)
print(round(d.cdf(k - 1), 6), round(d.cdf(k), 6))
print(bool(d.cdf(k - 1) < 0.9 <= d.cdf(k)))
Натиҷа:
0.135335 4
0.857123 0.947347
True
6. Ҳосил кардан ва тавсифи интихоб
rvs интихоби тасодуфӣ месозад. random_state-и собит таҷрибаро дар ин муҳит такроршаванда мекунад. Миёнаро дар интихоби тасодуфӣ набояд ҳатман ба миёнаи назариявӣ баробар интизор шуд: фарқи хурд табиӣ аст. describe хусусиятҳои додаҳои мавҷударо ҳисоб мекунад; дисперсияи нобаёнии он интихобӣ буда, ба n - 1 тақсим мекунад. Дисперсияи назариявии тақсимот ва арзёбии он аз интихоб бузургиҳои гуногунанд.
from scipy.stats import poisson, describe
print(poisson.rvs(mu=2, size=5, random_state=7).tolist())
s = describe([2, 4, 4, 5, 7])
print(s.nobs, s.minmax, round(s.mean, 3), round(s.variance, 3))
Натиҷа:
[0, 4, 1, 1, 3]
5 (2, 7) 4.4 3.3
Ҳисобкуниҳо чӣ гуна ташкил шудаанд
Объект бо параметрҳои собит модели интихобшударо нигоҳ дошта, барои зичиҳо, ҷамъи эҳтимолиятҳо ва думҳо формулаҳои махсуси ададиро истифода мебарад. Ин санҷиши пайдарпайи таҷрибаҳои тасодуфӣ нест. Дар модели бефосила ppf эҳтимолияти ҷамъшударо баръакс мекунад; дар модели дискретӣ зинаеро меёбад, ки сатҳи лозимро мерасонад. Ҳосилкунии rvs амали ҷудогона аст: барои ҳисоб кардани cdf интихоб сохтан лозим нест.
Хатоҳои маъмул ва ислоҳи онҳо
norm(loc=170, scale=64)ҳангоми инҳирофи стандартии 8 тақсимотро ҳашт маротиба васеътар мекунад. Ислоҳ:scale=8; адади 64 дисперсия аст.d.pdf(b) - d.pdf(a)метавонад ҷавоби манфӣ диҳад ва эҳтимолияти фосила нест. Ислоҳ:d.cdf(b) - d.cdf(a).binom.sf(k, n, p)барои шарти «на камтар аз k» эҳтимолияти маҳз k-ро мепартояд. Ислоҳ:binom.sf(k - 1, n, p). Бароиk=0натиҷа бояд 1 бошад.norm.ppf(90)қиматиnanмедиҳад, зеро аргумент берун аз ҳудуди эҳтимолият аст. Ислоҳ:norm.ppf(0.9). Эҳтимолиятро пеш аз додан баppfгирд накунед: ин метавонад квантилро тағйир диҳад.
Барои эҳтимолияти хеле хурди думи рост sf-ро ба ҷойи тарҳ аз як истифода баред: мисоли боло бо нӯҳ инҳирофи стандартӣ гум шудани дақиқиро нишон медиҳад.
Ёддошт
| Савол | Метод |
|---|---|
| Зичии бузургии бефосила | pdf(x) |
| Эҳтимолияти маҳз k | pmf(k) |
| На бештар аз x | cdf(x) |
| Қатъиян аз x калон | sf(x) |
| На камтар аз адади бутуни k | sf(k - 1) |
| Сарҳад аз рӯйи ҳиссаи додашуда | ppf(q) |
| Қиматҳои тасодуфӣ | rvs(size=..., random_state=...) |
Модели нормалӣ: norm(loc=mu, scale=sigma). Шумораи собити кӯшишҳои мустақил: binom(n, p). Шумораи рӯйдодҳо дар фосила: poisson(mu). Аввал моделро интихоб карда, сарҳади лафзиро ба нобаробарии дақиқ табдил диҳед ва баъд методро интихоб кунед.