Statistika

Ushbu fanilarni o’rganish ko’p yillik mehnat talab qiladi. Shuning uchun biz odatimizga ko’ra, har bir fani bir qancha qismlarga ajratib o’rganamiz. Ushbu qismda biz matematik statistika va ehtimollar nazariyasining dastlabki tushunchalari bilan tanishib chiqamiz hamda natijalarni keyingi qismda alohida amaliy masalaga qo’llab ko’ramiz. Qo’llanmaning ushbu qismini Martin Buntinas va Gerald M. Funklar tomonidan yozilgan Statistics for the Sciences (Fanlar uchun statistika) kitobidan va boshqa bir qancha manbalardan foydalanamiz.

Kirish

Ko’pchilik statistikani odatda ma’lum bir ma’umotlarni har xil jadvallarga yoki diagrammalarga chiqarib tasvirlashni tushunishadi. Yoki oddiygina bu yil nechta chaqaloq tug’ilibdi? deyishadi va uning javobini olgandan so’ng shu bu yilgi statsitika deyidi. Aslida esa bu statsitikaning bir kichginagina yo’nalishi bo’lib, tavsiflovchi statistika deyiladi. Lekin bu soha undan ancha keng bo’lib, asosan muhitdagi haqiqiy holatni aniqlik bilan bilishning iloji bo’lmaganda yoki bo’lsa ham juda ko’p harakatlar talab qilinganda, bu fan qanday qilib shu narsalarni ma’lum bir noaniqlik bilan hisoblash mumkinligini o’rganadi. Masalan, ma’lum bir davlatning hamma aholisdan so’rovnoma olish kerak bo’lsa, unda buning uchun juda katta harajat va mehnat sarflash zarur bo’ladi. Uning o’rniga shu aholining ma’lum bir qismidan shu so’rovnomani olib, xulosa chiqarilsa va xulosadagi xatolikni kamligiga ishonch hosil qilinsa, unda shuncha qiyinchilik yuzaga kelmaydi.

Biz ko’pchilik mahsulotlarni qopida \(50\pm 3\%\) yoki shunga o’xshash sonlarni ko’rishimiz mumkin. Bu kabi narsalar ko’pchiligimizga notanish yoki qanday ma’no anglatishiga qiziqmaymiz. Ushbu qoplash jarayonini hech qachon aniq 50 kglik qilishning iloji yo’q yoki hamma qopni tekshirib bo’lmaydi, chunki ishlab chiqarilgan mahsulot sotilib ketaveradi. Keling birinchi bitta namunani yaxshilab o’rganib chiqaylikda keyin, shu asosida ba’zi birlamchi atamalarni kiritaylik.

Namumna 1. Louis Harris va sheriklari har xil mavzular yuzasidan so’rovnomalar o’tkazishadi. Ushbu so’rnomalar ba’zida yuzma-yuz, ba’zida esa telefon yoki boshqa vaqtlarda Internet orqali olib boriladi. 1991-yilda, shunday so’rovlardan biri Amerikalik balog’atga yetgan kishilar o’rtasida olib borildi. Ushbu so’rov davomida jami bo’lib 1256 kishi tasodifiy tanlab olinib, ularga quyidagi savollar (parhez, siqlishni boshqarish, mashinada o’rindiq kamaridan foydalanish, va shu kabilar) berilib, ularning javoblari yig’ildi. Shu savollardan biri, biz mulohaza qilmoqchi bo’lganimiz, “Siz semirib ketmaslik uchun o’zingizning parhezingizda qattiq amal qilasizmi?” Natijada, Harris qatnashuvchilarning 57% savolga ‘Ha’ deb javob berganlarligini aytdi. Hamda bu natijalarning xatosining kattaligi musbat yoki manifiy 3% dedi.

Ushbu so’rovdagi qiymatlar to’liq bo’lmagan berilganlardan olindi, ya’ni Amerkada taxminan 200 million yoshi kattalar mavjud bo’lib, so’rovda ulardan bor yo’gi 1256 kishi qatnashdi. Ushbu so’rovda qatnashishi kerak bo’lgan 200 million kishilar to’plamini biz populatsiya deb ataymiz. Agar ushbu savollarni hamma insonlarga berib, ularning javobini to’liq olganimzida bu narsa sensus bo’lar edi, ya’ni sensus deb murojaat qilamiz. 200 million aholi bo’lishiga qaramasdan, Harris so’rovnomada ulardan 1256 tasining javobini oldi. Bu narsani, ya’ni to’liq bo’lmagan so’rovni, biz namuma deb aytamiz. Ko’rib turganimizdek ushbu so’rovni populyatsiyada o’tkazsak, unda davlat uchun yoki so’rovni o’tkazayotganlar uchun juda katta harajat bo’ladi. Shuning uchun bunday populyatsiydan so’rov olish deyarli ko’p hollarda imkoni bo’lmaydi. Ushbu muammodan chiqib ketish uchun esa “sinchikovlik bilan olib borilgan sensus yetarli deb aytadi” Samuel Johnson. Bunga misol sifatida esa, “agar ovqatning ta’mini bilmoqchi bo’lsagniz shu ovqatni to’liq yeb tugatishingiz shart emas”, ozroq qismi bilan bilish mumkin deb o’zing gapini quvatlaydi.

Ushbu so’rovnoma ishtirok etgan odamlarni biz birlik deb ataymiz. Ushbu birliklarning, yuqoridagi misolda esa odamlarning, turli xil o’ziga xos fazilatlarni yoki ularning yuqoridagi savollarga javob bergan natijalarini o’zgaruvchi deb nomlaymiz. Yuqoridagi so’rovda esa bunga misol sifatida odamning yoshi, og’irligi, parhez haqidagi savollarga bergan javoblarning barchasini biz o’zgaruvchi deb ataymiz. E’tibor bering statistikada o’zgaruvchi va dasturlashdagi o’zgaruvchi atamalarni deyarli bir xil narsani anglatayabdi, ya’ni ma’lum bir qiymatning unga bog’lik jarayon asosida o’zgarishidir. Ushbu o’zgaruvchilarni ikki qismga ajratamiz: toifali va miqdoriy o’zgaruvchilar. Toifali o’zgaruvchiga so’rovdagi savollarga “Ha” yoki “Yo’q” deb javob berish, insoning jinsi, ranglar va shu kabilar kiradi. Miqdoriyga esa son bilan ifodalnuvchi qiymatlar, masalan, yosh, vaznlar kiradi. Yuqoridagi klassifikatsiya misolida ham bizdagi raqamlarning qiymatlari toifali edi, ya’ni ular son emas edi yoki “It” yoki “bo’ri” ham shular jumlasidan.

Namuna natijasida yoki namunandan hosil bo’lgan son statisitka deyiladi. Agar shu son butun boshli populyatsiyadan hosil qilinsa unda esa parametr deyiladi. Ushu parametrlarni belgilash uchun odatda biz grek harfidan foydalanamiz \(\pi\) n yuqoridagi toifali o’zgaruvchining populyatsiya ulushini belgilash uchun va \(\mu\) ni esa miqdoriy o’zgaruvchining o’rtacha qiymatini belgilash uchun ishlatamiz. Yuqoridagi Amerkalik yoshi kattalar o’rtasidagi o’tkazilgan so’rovni barcha uchun o’tkazish mumkin emas, shuning uchun ham \(\pi\) ning haqiqiy qiymati ma’lum emas. Namunadan olingan dalilar (qiymatlar) asosida biz populyatsiya haqida xulosa qilishimiz mumkin. Shuning uchun ham \(p\) statistika \(\pi\) parameter bilan bir xil bo’lmaydi, ya’ni ko’pchilik hollarda \(\pi\) parametr noma’lum bo’ladi. Chunki shu so’rovni qayta bir sharoitda bir necha bor takrorlasak ham \(p\) statistika har doim har xil chiqadi, lekin \(\pi\) parametr o’zgarishsiz qoladi. Harrisning misolidagi ushbu o’zgarishlar xatolikning chegarasi deb yuritiladi. Biz odatda populatsiyaning paramterlarni hisoblashga imkonimiz bo’lmaydi, shuning uchun deyarli hamma joyda numunalar haqida so’z yuritamiz. Zarur joylarda esa populyatsiya so’zini oshkor ravishda qo’shamiz.

Eslatma Biz yuqorida, birinchi mashinali o’rganishda odamni ifodalovchi qiymatlarni alomatlar deb nomladik, lekin hozir shu narsalarni biz o’zgaruvchi deb statistika fanida o’rgandik. Ushbu ikki turli nomlanish ko’pincha o’zaro almashtirilib ishlatiladi. Shuning uchun ushbu qo’llanma davomida biz ikkisini ham ishlatishga harakat qilamiz. Dasturlashda va statistikada ko’pincha o’zgaruvchi, mashinali o’rganishda esa alomat deb yuritamiz.

Biz yuqoridagi so’rovda 1256 ta odam qatnashganining guhovi bo’ldik, bu esa to’liq odamlar emas. Ushbu qatnashish natijasida hosil bo’lgan qiymatlar, masalan jadvalini kuzatuvlar deb ataymiz, chunki bu kuzatish doimiy o’zgarib turishi mumkin. Masalan, bir odamdan so’rov olinganda bir netcha qiymatlar olinadi, shuning uchun uni kuzatuvlar deymiz, shunchaki kuzatuv deyishning o’rniga. Shunda kuzatuvlardan hosil bo’lgan to’plamga biz berilganlar deb ataymiz.

Beshta sonli xulosa

Tassavur qilaylik bizga insonning yoshlarini ifodalovchi berilganlar to’plami bor. Biz ushbu to’plam ustida beshta eng muhim qiymatlari asosida xulosa chiqarishimizga Beshta sonli xulosa deb nomlanadi. Bu sonlar ushbu to’plamdagi eng kichik, eng katta yoshlar, o’rtacha daraja (rank), birinchi chorak va 3 choraklardir. Sodda qilib aytganda bizga berilgan yoshlar to’plamini tartiblab, o’rtasidan ikki qismga ajratamiz hamda bu qismlarni birinchi daraja va ikkincha dajaraja deb nomlab ularni yana teng ikki qismga ajratsak, u holda bizda jami beshta son (chegara) va to’rta qismdan iborat bo’lgan yoshlar to’plami bo’ladi. Shu beshta son berilgan yoshlarni ma’lum darajada umumiy tafsiflaydi hamda ko’p o’rinlarda ushbu sonlar bilan ishlaymiz. Yuqoridagi o’rtacha daraja ko’pincha median deb nomlanadi. Quyidagi misolda bu jarayoni ko’rishimiz mumkin.

\begin{equation*} \mathbf{a} = \{45, 12, 36, 78, 56, 24, 89, 15, 55, 35\} \end{equation*}

Medianning qiymati tartiblagandan so’ng topiladi:

\begin{equation*} \mathbf{a} = \{12, 15, 24, 35, 36, 45, 55, 56, 78, 89\} \end{equation*}

To’plamdagi qiymatlari soni juft bo’lgani uchun biz o’rtadagi raqamni topa olmaymiz, shuning uchun bechinchi va oltinchi qiymatlarning o’rtachasi mediana bo’ladi, ya’ni \(\frac{36+45}{2}=40.5\). Agar to’plamdagi elementlari soni toq bo’lsa, unda ikkiga bo’lishda o’rtadagi qiymat qolinadi. Endi yuqoridagi tartiblangan qiymatlarni ikki qismga ajratamiz.

Quyi darajadagi qiymatlar: \begin{equation*} \mathbf{b} = \{12, 15, 24, 35, 36\} \end{equation*}

Yuqori darajadagi qiymatlar \begin{equation*} \mathbf{c} = \{45, 55, 56, 78, 89\} \end{equation*}

O’z navbatida yuroqidagi \(\mathbf{b}\) va \(\mathbf{c}\) ning qiymatlarini ham xudi shunday tartizda ikkiga bo’lish natijasida birinchi chorak va uchunchi chorakni topamiz. Ular 24 va 56 lardir. Yuqoridagi tartiblangan qiymatlardan eng kichik va eng katta qiymatlarni olsak, u holda bizda barchasi bo’lib beshta son bo’ladi: 12, 25, 40.5, 56 va 89.

O’rta qiymat, standart chetlanish va farq

Biz yuqorida o’rta qiymat deb tarjima qilinga so’z ingliz tilida ‘mean’ deyiladi. Bu bilan biz bu yerda arfimetik o’rta qiymatni nazarda tutamiz chunki berilganlarning markazini topish uchun odatda median, mod (mode) va arfimetik o’rta qiymatlar ishlatiladi. Shu bilan birgalikda o’rta qiymat degandan geometrik o’rta qiymat ham bo’lishi mumkin. Agar o’rtacha qiymat desak, bu arfimetik o’rta qiymat bo’lib, berilgan qiymatlarning o’rtachasidir, ya’ni ularning yig’indisining ularning soniga nisbati. Masalan, yuqoridagi yosh qiymatlarini olsak

\begin{equation*} mean = \frac{12 + 15 + 24 + 35 + 36 + 45 + 55 + 56 + 78 + 89}{10}=44.5 \end{equation*}

Matematik ifodada esa, agar bizga \(\mathbf{x} \in \mathbf{R}^n\) vektor berilgan bo’lsa, u holda uning ko’rnishi quyidagicha bo’ladi va har doim o’rtacha qiymatni \(\overline{x}\) bilan belgilaymiz.

\begin{equation} \overline{x}=\sum_{i=1}^n\frac{\mathbf{x}_i}{n}=\frac{1}{n}\sum_{i=1}^n\mathbf{x}_i \end{equation}

[1]:
def mean(x):
  s = sum(x)
  m = s / len(x)
  return m

def matrix_mean(X, axis=0):
  s = []
  if axis == 0:
    i = 0
    while i < len(X):
      s.append(mean(X[i]))
      i += 1
  elif axis == 1:
    i = 0
    while i < len(X[0]):
      a = 0
      j = 0
      while j < len(X):
        a += X[j][i]
        j += 1
      a /= len(X)
      s.append(a)
  return s

Yana bir boshqa turdagi o’rtacha qiymat bu berilgan qiymatlarni ma’lum qoida asosida bir nechta guruhlarga ajratib, shu guruhlar bo’yicha guruhlangan o’rtacha qiymatni topish ham mumkin. Bu kabi narsalardan juda kam foydalanamiz, shuning uchun bu haqda to’xtalmaymiz.

Biz deviation so’zini chetlanish deb tarjima qildik, ushbu miqdor to’plamdagi qiymatlarning markazdan qanchalik chetlanishini baholaydi. Ushbu miqdorni hisoblashda biz ko’pincha standart chetlanishdan foydalanamiz. Quyidagi namumaning standart chetlanishi

\begin{equation} s=\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}\left({\mathbf{x}_i-\overline{x}}\right)^2} \end{equation}

yuqorida \(\overline{x}\) ushbu to’plamning o’rtacha qiymati. Ushbu formulada biz \(n\) farqlarning kvadratlarining yig’indisini \(n-1\) ga bo’lyabmiz, aslida o’rtacha qiymatni topishi (bu yerda farqlarning o’rtachasini nazarda tutdik) uchun \(n\) ga bo’lishimiz kerak. Lekin agar bu narsa populatsiyaning standart chetlanishi bo’lsa, u holda biz xuddi yuqoridagi formulani yozib, faqat \(n\) populatsiyadagi elementlar soniga bo’lamiz, ya’ni.

\begin{equation} \sigma=\sqrt{\frac{1}{n}\sum_{i=1}^{n-1}\left({\mathbf{x}_i-\mu}\right)^2} \end{equation}

bu yerda \(\mu\) populyatsiyaning o’rtachasi. Ikki namunaning va populyatsiyaning chetlanishlarida belgilashlarda farqlar bor chunki, biz \(s\) ni namuna uchun \(\sigma\) ni esa populaytasiya uchun ishlatamiz.

Farq so’zi ingliz tilidagi ‘variance’ so’zining tarjimasi sifatida oldik, chetlanishning kvadratiga teng, ya’ni \(s^2\).

\begin{equation} s^2=\frac{1}{n-1}\sum_{i=1}^{n}\left({\mathbf{x}_i-\overline{x}}\right)^2 \end{equation}

[13]:
def var(x):
  m = mean(x)
  s = 0
  i = 0
  while i < len(x):
   s = s + (x[i] - m) * (x[i] - m)
   i = i + 1
  s = s / (len(x) - 1)
  return s

def std(x):
  return var(x) ** 0.5

Tasodifiy o’zgaruvchilar

Amaliy matematikadagi ko’pchilik metodlarning asosida tasodifiy o’zgaruvchilar yotadi. Chunki hayotimizda bizni o’rab va biz bilan doimiy ravishda o’zaro muloqatda bo’lgan atrof-muhit, undagi odamlar, jamiyat va boshqa narsalar ko’pincha tasodifiy bo’ladi. Ya’ni biz oldindan ayta olmaydigan hodisalardan tashkil topadi. Bunday jarayonlarni biz matematika tilida stoxastik jarayonlar deb ataymiz va bunga asosan qurilgan modellarni esa stoxastik modellar deymiz. Biz keyinchalik o’rganadigan ko’plab modellarning parameterlari boshida tasodifan tanlab olinadi va keyin shu parameterlar asosida optimal parameterlarni izlaymiz. Shuning uchun ham biz tasodifiy sonlar bilan yaxshi tanishimiz zarur.

Biz statistikani va stoxastik jarayonlarni tushunishimiz uchun avvalo uning ziddini nima ekanligini bilib olishimiz zarur bo’ladi. Ushbu stoxastik jarayonning yoki modelning teskarisi bu deterministik jarayon yoki modeldir. Tassavur qiling bir joydan qo’zg’almaydigan robot ma’lum bir ishni takroriy qilyabdi. Masalan, “mashina ishlab chiqarish zavodida mashining ma’lum bir ehtiyot qismini uning asosiga payvandlayabdi”. Ushbu jarayonda, bir mashinani tugatishi bilan ikkinchi mashina ham keladi va unga ham birinchi mashinaga ko’rsatgan bir xil xizmatni ko’rsatadi. Ya’ni o’ziga biriktirilgan vazifadan oshig’ini bajarmaydi. Ushbu robotda aniq qoidalar asosida qaysi qadamdan keyin qanday ish qilish kerakligi aniq va vaqt yoki muhit o’zgarishi bilan o’zgarmaydi, ya’ni detirministik. Stoxastikda esa ushbu jarayon har doim o’zgarib turishi mumkin va hattoki, natijalar bir xil model bilan bir vazifani bajarsa ham o’zgarishi mumkin. Masalan, ChatGPT ham bizga bir qancha har xil talqinlarda javob qaytarishi mumkin, bu kabi narsalarni keyinchalik o’rganib chiqamiz.

Tasodiy o’zgaruvchilarga eng birinchi misol sifatida keltiriladigan jarayon bu - tangani yuqoriga otib uning qaysi tomoni tushishi haqidagi mulohazadir. Biz bu haqidagi mulohazalarni ehtimollik qismida batafsil o’rganishga qoldiramizda, hozir Pythonda tasodifiy sonlarni hosil qilishni mashq qilamiz. Chunki bundan keyingi mavzularni o’rganishda biz uchun eng kerak bo’lgan quroldir. Shundan so’ng esa ularni tahlil qilib o’rganamiz. Tasodifiy sonlarni aslida qanday hosil qilinadi va ularning taqsimotlarini keyingi mavzularda alohida qayta o’rganib chiqamiz.

Pythonda bunday sonlarni hosil qilishning bir nechta usuli bor, boshlanishga butun sonlarni hosil qilib o’rganamiz hamda ularni keyingi mavzularda qo’llaymiz. Buning uchun Pythonda import random kodi orqali random paketini dasturga qo’shamiz va uning randint(a, b) funksiyasidan foydalanamiz. Ushbu funksiyaga biz har doim ikkita parameter berishimiz zarur bo’ldi. Shundan so’ng esa u bizga shu parameterlarning oralig’idagi bitta soni tasodifiy tanlab beradi. Masalan, quyidagi kodda bitta soni 0 va 100 oralig’idan tanlangan. Bu son har safar funksiyani qayta chaqirganimizda o’zgaradi. Ushbu funksiyani bizga nechta son kerak bo’lsa shuncha marta chaqiramiz. Albatta bizda chegaralar bo’lgani uchun ma’lum bir sondan keyin takrorlashlar boshlanadi. Bu kabi takrorlanishlar tahlilini ham keyinchalik o’rganib chiqamiz.

[2]:
# paketni qo'shish
import random
# 1-soni generatsiya qilish
a = random.randint(0, 100)
# 2-soni generatsiya qilish
b = random.randint(0, 100)
# ularni chop qilihs
print(a, b)
48 42
[14]:
n = 100
x = []
i = 0
while i < n:
  x.append(random.randint(0, 100))
  i = i + 1

print("Tasodifiy sonlar: ", x[:10])
print("Tasodifiy sonlar o'rtachasi: ", mean(x))
print("Tasodifiy sonlar farqlanishi: ", var(x))
Tasodifiy sonlar:  [5, 59, 68, 14, 43, 100, 76, 81, 5, 30]
Tasodifiy sonlar o'rtachasi:  53.53
Tasodifiy sonlar farqlanishi:  787.5849494949498