فهرست سرفصل‌های 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 — توزیع ریلی (Rayleigh Distribution)

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

توزیع ریلی (Rayleigh Distribution)

توی این صفحه با توزیع ریلی در NumPy آشنا می شوی. این توزیع ریلی (Rayleigh Distribution) در پردازش سیگنال استفاده می شود؛ یعنی وقتی می خواهیم شدت یا بزرگی یک سیگنال را مدل کنیم.

توزیع ریلی در NumPy چیست؟

طبق متن منبع، توزیع ریلی در پردازش سیگنال کاربرد دارد. پردازش سیگنال یعنی کارهایی مثل فیلترکردن، اندازه گیری و تحلیل سیگنال های صوتی یا رادیویی.

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

شکل توزیع ریلی شبیه تپه ای است که از صفر شروع می شود، آرام بالا می رود و بعد دوباره کم می شود.

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

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

  • scale: شبیه انحراف معیار است و میزان پهن بودن تپه را تعیین می کند؛ پیش فرض آن 1.0 است.
  • size: شکل آرایه خروجی را مشخص می کند.

نکته: هرچه scale بزرگ تر باشد، توزیع ریلی در NumPy پهن تر و تخت تر می شود.

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

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

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

گام ها:

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

x = random.rayleigh(scale=2, size=(2, 3))

print(x)

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

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

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

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

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

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

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

data = random.rayleigh(size=1000)

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

plt.show()

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

نکته: در نمودار ریلی، مقدارهای نزدیک صفر کم هستند، بعد نمودار اوج می گیرد و سپس آرام کم می شود.

شباهت توزیع ریلی و توزیع کای دو

طبق متن منبع، وقتی انحراف معیار برابر یک باشد و درجه آزادی توزیع کای دو برابر 2 باشد، توزیع ریلی و توزیع کای دو همان شکل را نشان می دهند.

یعنی در این تنظیم خاص، اگر از توزیع ریلی در NumPy نمونه بگیری یا از توزیع کای دو با df=2، شکل کلی توزیع ها یکی می شود.

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

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

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

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