فهرست سرفصل‌های NumPy
خانه (HOME) مقدمه (Intro) شروع کار (Getting Started) ساخت آرایه ها (Creating Arrays) ایندکس گذاری آرایه (Array Indexing) برش آرایه (Array Slicing) انواع داده (Data Types) کپی در برابر View (Copy vs View) شکل آرایه (Array Shape) تغییر شکل آرایه (Array Reshape) حلقه روی آرایه (Array Iterating) ترکیب آرایه ها (Array Join) تقسیم آرایه ها (Array Split) جستجو در آرایه (Array Search) مرتب سازی آرایه (Array Sort) فیلتر کردن آرایه (Array Filter) مقدمه تصادفی سازی (Random Intro) توزیع داده (Data Distribution) جابه جایی تصادفی (Random Permutation) ماژول Seaborn (Seaborn Module) توزیع نرمال (Normal Distribution) توزیع دوجمله ای (Binomial Distribution) توزیع پواسون (Poisson Distribution) توزیع یکنواخت (Uniform Distribution) توزیع لجستیک (Logistic Distribution) توزیع چندجمله ای (Multinomial Distribution) توزیع نمایی (Exponential Distribution) توزیع کای دو (Chi Square Distribution) توزیع ریلی (Rayleigh Distribution) توزیع پارتو (Pareto Distribution) توزیع زیف (Zipf Distribution) مقدمه ufunc (ufunc Intro) ساخت تابع ufunc (ufunc Create Function) حساب ساده با ufunc (ufunc Simple Arithmetic) گرد کردن اعشار با ufunc (ufunc Rounding Decimals) لگاریتم ها با ufunc (ufunc Logs) جمع ها با ufunc (ufunc Summations) حاصل ضرب ها با ufunc (ufunc Products) تفاضل ها با ufunc (ufunc Differences) کمترین مضرب مشترک با ufunc (ufunc Finding LCM) بزرگترین مقسوم علیه مشترک با ufunc (ufunc Finding GCD) توابع مثلثاتی با ufunc (ufunc Trigonometric) توابع هذلولوی با ufunc (ufunc Hyperbolic) عملیات مجموعه ای با ufunc (ufunc Set Operations) ویرایشگر (Editor) آزمون (Quiz) تمارین (Exercises) سرفصل دوره (Syllabus) برنامه مطالعه (Study Plan) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
NumPy

NumPy — توزیع کای دو (Chi Square Distribution)

آخرین بروزرسانی: 1404/08/25

توزیع کای دو (Chi Square Distribution)

در این صفحه با توزیع کای دو در NumPy آشنا می شوی. توزیع کای دو (Chi Square Distribution) یکی از توزیع های مهم آمار است و برای بررسی درست بودن یک فرضیه (Hypothesis) درباره داده ها استفاده می شود.

توزیع کای دو در NumPy چیست؟

طبق متن منبع، توزیع کای دو پایه ای برای بررسی فرضیه هاست. فرضیه یعنی حدسی منظم درباره داده ها؛ مثلاً این که «دانش آموزها همه روزه به طور مساوی تکلیف می نویسند یا نه». با توزیع کای دو می توانیم ببینیم داده های واقعی چقدر با این حدس هماهنگ است.

در NumPy این توزیع با تابع random.chisquare() ساخته می شود. این تابع مقادیر تصادفی ای می دهد که از توزیع کای دو پیروی می کنند.

پارامترهای توزیع کای دو در NumPy

تابع random.chisquare() دو پارامتر اصلی دارد:

  • df: درجه آزادی (Degree of Freedom) است.
  • size: شکل آرایه خروجی را مشخص می کند.

درجه آزادی را فعلاً مثل یک عدد تنظیم کننده شکل توزیع ببین. عدد df هرچه عوض شود، شکل منحنی توزیع کای دو هم عوض می شود؛ شبیه این که سختی یک امتحان را بالا و پایین ببری.

برای دیدن توزیع دیگری که روی زمان تمرکز دارد، می توانی بعداً صفحه توزیع نمایی در NumPy را هم ببینی.

نمونه گیری از توزیع کای دو در NumPy

در مثال منبع، یک نمونه از توزیع کای دو با درجه آزادی 2 ساخته می شود. شکل آرایه خروجی 2x3 است؛ یعنی دو سطر و سه ستون.

گام ها:

  1. کتابخانه random را از NumPy ایمپورت کن.
  2. تابع random.chisquare() را با df و size فراخوانی کن.
  3. خروجی را با print() چاپ کن و عددها را ببین.
from numpy import random

x = random.chisquare(df=2, size=(2, 3))

print(x)

مشاهده در ادیتور

نکته: با تغییر df می توانی ببینی عددهای خروجی چطور عوض می شوند. این کمک می کند حس بهتری از شکل توزیع کای دو در NumPy بگیری.

نمایش توزیع کای دو روی نمودار

دیدن شکل توزیع کای دو روی نمودار درک آن را راحت می کند. در مثال دوم با matplotlib و seaborn نمودار چگالی می کشیم.

matplotlib یک کتابخانه رسم نمودار در پایتون است. seaborn هم کتابخانه ای برای کشیدن نمودارهای آماری خوش فرم روی داده ها است.

در کد زیر، با درجه آزادی 1، هزار نمونه از توزیع کای دو در NumPy می سازیم و نمودار چگالی آن را رسم می کنیم.

from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns

data = random.chisquare(df=1, size=1000)

sns.displot(data, kind="kde")

plt.show()

مشاهده در ادیتور

نکته: شکل منحنی برای dfهای مختلف کمی فرق می کند. با تغییر df می توانی تاثیر درجه آزادی را روی توزیع کای دو در NumPy ببینی.

جمع بندی سریع توزیع کای دو

اگر خواستی مرور کنی، این صفحه توزیع کای دو در NumPy برایت خلاصه خوبی است.

  • توزیع کای دو پایه ای برای آزمون فرضیه های آماری است.
  • در NumPy با random.chisquare() به این توزیع دسترسی داری.
  • پارامتر df درجه آزادی و شکل توزیع را کنترل می کند.
  • size فقط شکل آرایه خروجی را تعیین می کند.
  • با رسم نمودار، درک توزیع کای دو در NumPy بسیار ساده تر می شود.