تابع توزیع احتمال نشاندهنده احتمال هر یک از مقادیر متغیر تصادفی (برای متغیرهای گسسته) یا احتمال قرار گرفتن متغیر تصادفی در یک بازه مشخص (برای متغیرهای پیوسته) است. در این مقاله سعی دارم به زبان ساده مفهوم تابع توزیع احتمال و تابع توزیع احتمال تجمعی را توضیح دهم.
تصور کنید بهصورت تصادفی ۱۰۰ فرد بالغ را انتخاب و قد آنها را اندازهگیری کردیم. من در R مثالی ساختم که چنین آزمایشی را شبیهسازی کند (کدها در بخش ضمیمه مقاله آمده است).
در شکل-۱ دادههای بهدستآمده از چنین آزمایشی را در قالب نمودار هیستوگرام نشان دادم. برای این منظور تعداد بازهها را پنج در نظر گرفتم. برای مثال هر فردی که قدش بین ۱۵۰ تا ۱۶۰ سانتیمتر است در بازه اول میافتد. از شکل-۱ مشخص است که ۸ نفر قدشان در این بازه افتاده است. برای باقی بازهها نیز چنین کاری انجام شده و هیستوگرام شکل-۱ بهدست آمده است.
همانطور که از نمودار بالا مشخص است، قد بیشتر افراد این نمونه بین ۱۶۰ تا ۱۸۰ سانتیمتر است و افراد بلندتر از ۱۹۰ سانتیمتر و کوتاهتر از ۱۶۰ سانتیمتر نسبتاً کمیاب هستند. هیستوگرام بالا این دید را میدهد که اگر شما بهصورت تصادفی فردی از جامعهای را که چنین نمونهای از آن آمده، انتخاب کنید شانس بالایی وجود دارد که این فرد بین ۱۶۰ تا ۱۸۰ سانتیمتر باشد و احتمال آنکه خیلی بلندقد یا خیلی کوتاهقد باشد، پایین است.
حالا اگر بازهها را نصف کنید یعنی بهجای ۱۰ سانتیمتر آن را به ۵ سانتیمتر کاهش دهید، تعداد بازهها بیشتر میشود. مطابق قبل میتوان هیستوگرام جدید را رسم کرد. این بار برای مثال، هر فردی که قدش بین ۱۵۰ تا ۱۵۵ سانتیمتر است در بازه اول میافتد. در این نمونه ۲ نفر قدشان در این بازه است. فراوانی وقوع مشاهدات در بقیه بازهها هم به همین ترتیب به دست میآید. هیستوگرام شکل-۲ بر اساس ۱۰ بازه به دست آمده است.
وقتی تعداد بازهها را بیشتر و قد تعداد بیشتری را اندازهگیری کنیم به درک دقیقتری از نحوه توزیع قد افراد جامعه میرسیم. مطابق شکل-۳، میتوانیم یک منحنی روی هیستوگرام برازش کنیم. این منحنی تابع توزیع چگالی احتمال را نشان میدهد. این منحنی نیز همان دیدی را میدهد که هیستوگرام به ما میداد. اینکه قد بیشتر افراد بین ۱۶۰ تا ۱۸۰ سانتیمتر است و افراد بلندتر ۱۹۰ سانتیمتر و کوتاهتر از ۱۶۰ سانتیمتر نسبتاً کمیاب هستند.
باید توجه کرد تابع توزیع چگالی احتمال، مزایای بیشتری از هیستوگرام دارد:
اول، همانطور که از شکل مشخص است، در نمونه ما فردی که قدش بین ۱۸۵ تا ۱۹۰ باشد نداریم. درحالیکه قابلفهم است در جامعه باید افرادی وجود داشته باشند که قدشان در این بازه قرار گیرد. برای برآورد احتمال آنکه فردی قدش بین ۱۸۵ تا ۱۹۰ باشد، میتوان از منحنی برازش شده استفاده کرد.
دوم، در نمودار هیستوگرام، وقتی اندازه بازهها تغییر کرد شکل هیستوگرام عوض شد. درحالیکه شکل تابع توزیع چگالی احتمال ربطی به اندازه بازهها در هیستوگرام ندارد.
سوم، اگر بتوانید توابع توزیع شناختهشده در ریاضیات مانند تابع توزیع نرمال، نمایی، گاما و … را روی دادهها برازش کنید، آنگاه با یک معادله ریاضی بهجای یک جدول فراوانی که در هیستوگرام خودش را نشان میدهد مواجه هستید. در خیلی از کاربردها کار کردن با یک رابطه ریاضی برای مدلسازی مسئله نسبت به اعداد خام ترجیح داده میشود.
چهارم، اگر ما بهاندازه کافی زمان یا پول برای جمعآوری داده نداشته باشیم تا بتوانیم به هیستوگرامی با دقت بالا برسیم، منحنی برآوردشده معمولاً با دقت قابل قبولی توزیع دادهها در جامعه را برآورد میکند.
احتمال برای متغیرهای پیوسته
در مثالی که بیان کردم، قد افراد یک متغیر پیوسته است به این معنی که میتواند یک عدد حقیقی باشد. برای متغیرهای پیوسته تابع توزیع احتمال، تابع توزیع چگالی احتمال نامیده میشود که قرار گرفتن متغیر تصادفی در یک بازه مشخص را نشان میدهد. اگر به شکل-۳ دقت کنید، محور عمودی نمودار برخلاف شکلهای قبل، فراوانی (Frequency) نیست بلکه چگالی (Density) است.
منحنی قرمزرنگی که من روی هیستوگرام شکل-۳ برازش کردم، مربوط به تابع توزیع نرمال (Normal Distribution) است. با داشتن تابع ریاضی توزیع نرمال من میتوانم احتمال آن را که مثلاً در جامعه قد فردی بین ۱۷۰ تا ۱۷۵ سانتیمتر باشد، محاسبه کنم. این احتمال برابر با سطح زیر منحنی توزیع نرمال (منحنی قرمزرنگ) است (شکل-۴).
بنابراین برای متغیر تصادفی پیوسته، اگر f(x) تابع توزیع چگالی احتمال باشد، احتمال آنکه متغیر تصادفی X بین a و b باشد از رابطه زیر به دست میآید:
تابع توزیع احتمال برای متغیرهای پیوست دارای دو ویژگی مهم است:
توجه کنید گرچه تابع توزیع چگالی احتمال باید غیرمنفی باشد و انتگرال روی آن برابر یک شود، لزومی ندارد از ۱ کوچکتر باشد. برای نمونه در شکل-۵، تابع توزیع گاما با پارمترهای shape = 1.5 و scale = 0.2 دیده میشود که مقدار چگالی در برخی موارد از ۱ بزرگتر شده است.
تابع توزیع احتمال تجمعی (Cumulative Distribution Function – CDF)
تابع توزیع احتمال تجمعی که معمولاً آن را با F(x) نشان میدهند، احتمال آن را که متغیر تصادفی X دارای مقداری کوچکتر از x باشد به دست میدهد:
این تابع همنوای صعودی است که مقادیر آن همواره در بازه بین صفر و یک قرار دارد. شکل-۶ تابع توزیع احتمال تجمعی برآوردشده را برای مثال اندازهگیری قد افراد نشان میدهد.
تابع توزیع احتمال برای متغیرهای گسسته
تابع توزیع احتمال برای متغیرهای تصادفی گسسته تابع جرم احتمال (Probability Mass Function) نامیده میشود که نشاندهنده احتمال هر یک از مقادیر متغیر تصادفی است.
برای مثال تصور کنید یک طاس همگن را ده هزار بار پرتاب کنیم. من در R چنین مثالی را شبیهسازی کردم (کدها در بخش ضمیمه مقاله آمده است). فراوانی وقوع هر یک از پیشامدها در شکل-۷ آمده است. ازآنجاکه طاس همگن است فراوانی وقوع پیشامدها تقریباً باهم برابر است.
در شکل-۸، تابع جرم احتمال، احتمال وقوع هریک از پیشامدها را نشان میدهد. برای مثال احتمال آمدن عدد ۳ در یکبار پرتاب طاس تقریباً برابر ۰٫۱۶۷ است. تابع توزیع احتمال برای متغیرهای گسسته دارای دو ویژگی مهم است:
در شکل-۸ تابع توزیع احتمال تجمعی را نیز نشان دادم. تابع توزیع احتمال تجمعی احتمال آن را که متغیر تصادفی X دارای مقداری کوچکتر از x باشد محاسبه میکند:
برای نمونه از شکل-۸ مشخص است که احتمال آنکه در یکبار پرتاب طاس، عدد ۳ یا کمتر بیاید، ۰٫۵ است:
***ضمیمه:
الف) کدهای R برای پیادهسازی مثال اندازهگیری قد افراد
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #Create sample data height = rnorm(100, mean = 172, sd = 10) #Plot histogram of height with break = 5 hist(height, breaks = 5, probability = FALSE, main = 'Histogram of Height', xlab = 'Height - cm', ylim = c(0, 45)) #Plot histogram of height with break = 10 hist(height, breaks = 10, probability = FALSE, main = 'Histogram of Height', xlab = 'Height - cm', xaxt = 'n', ylim = c(0, 45)) axis(1, at = seq(150, 200, by = 5), labels = seq(150, 200, by = 5)) #Plot histogram of height with PDF hist(height, breaks = 10, probability = TRUE, main = 'Histogram of Height', xlab = 'Height - cm', xaxt = 'n') axis(1, at = seq(150, 200, by = 5), labels = seq(150, 200, by = 5)) #Plot PDF for normal distribution xp = seq(150, 195, length.out = 100) yp = dnorm(xp, mean = mean(height), sd = sd(height)) lines(xp, yp, col = 'red', lwd = 3) #Plot CDF plot(ecdf(height), main = 'CDF of Height', xlab = 'Height - cm', ylab = 'CDF', col = 'blue') |
ب) کدهای R برای پیادهسازی مثال پرتاب طاس همگن
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #Probability Mass Function #Create sample data dat = sample(1 : 6, 10000, replace = T) #Plot histogram of dice outcomes barplot(table(dat), main = 'Histogram of Dice Outcomes', xlab = 'X', ylab = 'Frequency', ylim = c(0, 2000)) #Plot histogram of with PDF and CDF par(mfrow = c(1, 2)) barplot(table(dat) / length(dat), main = 'Probability Distribution', xlab = 'X', ylab = 'Probability', ylim = c(0, 0.2), width = 0.8, xaxt = 'n', col = 'white') axis(1, at = 0.5 : 5.5, labels = 1 : 6) #Plot PDF for normal distribution xp = 0.5 : 5.5 yp = dunif(xp, min = 0, max = 6) lines(xp, yp, col = 'red', lwd = 3, type = 'o') #Plot CDF plot(ecdf(dat), main = 'CDF', xlab = 'X', ylab = 'CDF', col = 'blue') |
منابع:
Forsyth, D. (2018). “Probability and Statistics for Computer Science”, UK: Springer International Publishing