رگرسیون پواسون (Poisson Regression) — به زبان ساده

۱۲۷۶ بازدید
آخرین به‌روزرسانی: ۱۳ خرداد ۱۴۰۲
زمان مطالعه: ۶ دقیقه
رگرسیون پواسون (Poisson Regression) — به زبان ساده

زمانی که با داده‌های شمارشی و گسسته به عنوان متغیر پاسخ سر و کار داریم، روش و مدل رگرسیونی با شیوه‌های رگرسیون خطی ساده (OLS) تفاوت دارد. رگرسیون پواسون (Poisson Regression)، یک روش در «مدل‌های خطی تعمیم یافته» (Generalized Linear Models) محسوب می‌شود که در آن تابع احتمال برای «متغیر پاسخ» (Response Variable) «توزیع پواسون» (Poisson Distribution) در نظر گرفته می‌شود. در نتیجه این مدل رگرسیونی برای داده‌های شمارشی مناسب است.

در آمار، رگرسیون پواسن بخصوص در «مدل‌های خطی» (Linear Models) و «جدول‌های توافقی» (Contingency Table) به کار گرفته می‌شود تا به واسطه آن مدل ارتباطی بین «متغیرهای پیش‌گو» (Predictor Variables) و متغیر پاسخ تعیین شود. در این حالت امید ریاضی (Mathematical Expectation) لگاریتم متغیر پاسخ (Y)، بوسیله یک رابطه خطی با متغیرهای پیش‌گو مرتبط می‌شود. پارامترهای این مدل خطی به کمک محاسبات روی مقادیر مشاهده شده، بدست می‌آید. توجه دارید که مقدار متغیر پاسخ در اینجا از فرآیند پواسن (Poisson Process) گرفته شده است.

برای آشنایی با مدل رگرسیون ساده و پارامترهای آن بهتر است مطلب رگرسیون خطی — مفهوم و محاسبات به زبان ساده را مطالعه کنید. همچنین برای اطلاع از نحوه برآورد پارامترهای مدل خطی نیز خواندن نوشتار رگرسیون خطی چندگانه (Multiple Linear Regression) — به زبان ساده توصیه می‌شود. در عین حال دیدن مطلب متغیر تصادفی و توزیع پواسون — به زبان ساده و متغیر تصادفی و توزیع دو جمله‌ ای منفی — به زبان ساده نیز خالی از لطف نیست.

رگرسیون پواسون

فرض کنید که مقادیر متغیر مستقل با $$\mathbf{x}$$ نشان داده شده و ارتباط آن با متغیر پاسخ ($$Y$$) به صورت زیر باشد:

$$\large \log(\operatorname {E} (Y\mid \mathbf {x} ))=\alpha +\mathbf {\beta }'\mathbf {x} $$

رابطه ۱

که در آن $$\alpha$$، عرض از مبدا و $$\beta$$ نیز ماتریس ضرایب است. همانطور که می‌بینید، لگاریتم امید ریاضی شرطی متغیر پاسخ با متغیرهای پیش‌گو به صورت خطی است.

در اینجا ماتریس $$\mathbf{x}$$ یک بردار $$n+1$$ بُعدی است که شامل $$n$$ متغیر است و ستون اول این ماتریس با مقادیر ۱ پُر شده‌اند.

نکته: منظور از $$\beta'$$ ترانهاده ماتریس $$\beta$$ است.

گاهی این شیوه نمایش مدل رگرسیونی را بر حسب پارامتر $$\theta$$ می‌نویسند.

$$\large \log(\operatorname {E} (Y\mid \mathbf {x} ))={\boldsymbol {\theta }}'\mathbf {x} \, $$

رابطه ۲

به این ترتیب پارامتر $$\alpha$$ و $$\beta$$ با یکدیگر ترکیب شده‌اند و ماتریس $$\theta$$ را تشکیل می‌دهند. در نتیجه می‌توان نوشت:

$$\large\operatorname {E} (Y\mid \mathbf {x} )=e^{{\boldsymbol {\theta }}'\mathbf {x} }\, $$

رابطه ۳

نحوه برآورد پارامترهای مدل رگرسیون پواسن، براساس روش برآوردیابی «حداکثر درستنمایی» (Maximum Likelihood) صورت می‌گیرد. البته متاسفانه فرم بسته‌ای برای برآوردگر حداکثر درستنمایی در این حالت وجود ندارد و مجبور هستیم که به روش‌های عددی رجوع کنیم. برای مثال روش ریشه‌یابی نیوتن-رافسون (Newtown-Raphosn)، با توجه به مقعر بودن (Concave) تابع درستنمایی رگرسیون پواسون موثر است.

برآورد پارامترهای رگرسیون پواسون

با توجه به فرمی که در رابطه ۳ برای رگرسیون پواسون نوشته شد، میانگین یا پارامتر توزیع پواسون را برای متغیر پاسخ (Y) به صورت زیر در نظر می‌گیریم.

$$\large{\displaystyle \lambda =\operatorname {E} (Y\mid x)={\boldsymbol {\theta }}'\mathbf {x} } $$

نکته: می‌دانید که با توجه به تابع احتمال متغیر تصادفی پواسون داریم:

$$\large{\displaystyle p(y\mid x;\theta )={\frac {\lambda ^{y}}{y!}}e^{-\lambda }={\frac {e^{y{\boldsymbol {\theta }}'x}e^{-e^{{\boldsymbol {\theta }}'x}}}{y!}}}$$

با توجه به اینکه $$m$$ مشاهده از متغیرهای پاسخ (Y) و پیش‌گو (x) در اختیار داریم، تابع درستنمایی به صورت زیر نوشته خواهد شد.

$$\large p(y_{1},\ldots ,y_{m}\mid x_{1},\ldots ,x_{m};\theta )=\prod _{i=1}^{m}{\frac {e^{y_{i}{\boldsymbol {\theta }}'x_{i}}e^{-e^{{\boldsymbol {\theta }}'x_{i}}}}{y_{i}!}}$$

همانطور که می‌دانید، برآورد پارامتر $$\theta$$، مقادیری است که تابع درستنمایی را که به صورت زیر نوشته‌ایم، حداکثر کند.

$$\large {\displaystyle L(\theta \mid X,Y)=\prod _{i=1}^{m}{\frac {e^{y_{i}{\boldsymbol {\theta }}'x_{i}}e^{-e^{{\boldsymbol {\theta }}'x_{i}}}}{y_{i}!}}}$$

از طرفی چون تابع لگاریتم، یکنوا است، می‌توان برای پیدا کردن نقطه‌ای که تابع درستنمایی را حداکثر می‌کند از لگاریتم آن نیز استفاده کرد. به این ترتیب محاسبات ساده‌تر شده و برآورد پارامتر $$\theta$$ آسان‌تر می‌شود.

$$\large {\displaystyle \ell (\theta \mid X,Y)=\log L(\theta \mid X,Y)=\sum _{i=1}^{m}\left(y_{i}{\boldsymbol {\theta }}'x_{i}-e^{{\boldsymbol {\theta }}'x_{i}}-\log(y_{i}!)\right)}$$

نکته: از آنجایی که فقط دو جمله اول در محاسبات طرف راست، شامل پارامتر $$\theta$$ هستند، از جمله $$-\log(y_i!)$$ صرف‌نظر می‌کنیم.

$$\large {\displaystyle \ell (\theta \mid X,Y)=\sum _{i=1}^{m}\left(y_{i}{\boldsymbol {\theta }}'x_{i}-e^{{\boldsymbol {\theta }}'x_{i}}\right)}$$

برای پیدا کردن نقطه‌ای که تابع درستنمایی را بیشینه (حداکثر) می‌کند باید از مشتق استفاده کرد. به این ترتیب معادله زیر را به روش‌های عددی حل می‌کنیم.

$$\large {\displaystyle {\frac {\partial \ell (\theta \mid X,Y)}{\partial \theta }}=0}$$

از آنجایی که این مشتق، فرم بسته (Close Form) ندارد، می‌توان به جای بیشینه‌سازی آن روی کمینه‌سازی قرینه آن یعنی $$-\ell (\theta \mid X,Y)$$ که یک «تابع محدب» (Convex Function) است کار کرد. معمولا برای انجام این کار از روش‌های بهینه‌سازی محدب مانند گرادیان کاهشی (Gradient Descent) کمک گرفته می‌شود.

کاربردهای رگرسیون پواسون

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

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

هر فرآیند پواسن باید در شرایط زیر صدق کند:

  1. اگر Y تعداد دفعاتی باشد که یک پیشامد در یک بازه یا فاصله زمانی یا مکانی رخ می‌دهد، مشخص است که مقادیر Y زیر مجموعه اعداد طبیعی است.
  2. رخداد یک پیشامد، روی احتمال رخداد پیشامدهای دیگر تاثیر گذار نیست. این امر به این معنی است که پیشامدها در یک فرآیند پواسن از یکدیگر مستقل هستند.
  3. میانگین تعداد رخدادهای پیشامدها در هر بازه زمانی یا مکانی، ثابت است. به این معنی که در بازه‌های مختلف (با طول یکسان) یا در زمان یا مکان، متوسط تعداد پیشامدها، کاهش یا افزایش نمی‌یابد.
  4. فرض کنید با پیشامدهایی مواجه هستیم که نتایج یک آزمایش برنولی هستند در نتیجه هر یک از آن‌ها دارای دو وضعیت رخداد (1) و عدم رخداد (۰) هستند. در فرآیند پواسن، فقط یکی از این پیشامدها در هر زیر فاصله کوچک (زمانی یا مکان) رخ خواهد داد.

همانطور که دیده می‌شود، پدیده‌هایی که برای رگرسیون پواسون در بالا بازگو کردیم، در شرایط فرآیند پواسن صدق می‌کنند.

از رگرسیون پواسن برای داده‌هایی که از نوع نرخ (درصد) هستند نیز استفاده می‌شود. در اینجا منظور از نرخ (Rate)، میزان یا تعداد رخداد یک پیشامد در واحد است. معمولا این واحد از مشاهدات را با Exposure نشان می‌دهند.

برای مثال، بیولوژیست‌‌ها و زیست‌شناسان، تعداد گونه‌های مختلف در یک جنگل را می‌شمارند. تعداد درختان در واحد مساحت، نقش مشاهدات (Exposure) را ایفا می‌کند که همان نقش نرخ را دارد. جمعیت‌شناسان (Demographers) نیز نرخ مرگ و میر در یک ناحیه خاص جغرافیایی را با استفاده از شمارش فوت‌شده‌ها در واحد سال مشخص می‌کنند. به این ترتیب نرخ مرگ و میر سالانه مشخص می‌شود. بر طبق آنچه گفته شد، مدل رگرسیون پواسن برای تولید «مدل‌های مخاطرات متناسب» (Proportional Hazards Models) به کار می‌رود که بخشی از تکنیک‌های «تحلیل بقاء» (Survival Analysis) محسوب می‌شود.

معمولا نرخ در رگرسیون پواسون برحسب واحد زمان سنجیده می‌شود و لگاریتم نرخ مشاهدات را انحراف (Offset) می‌نامند که در مدل رگرسیون پواسون، دارای ضریب یک است. به این ترتیب داریم:

$$\large \log(\operatorname {E} (Y\mid x))=\log({\text{exposure}})+\theta'x$$

پس با استفاده از کمی تغییرات خواهیم داشت:

$$\large \log(\operatorname {E} (Y\mid x))-\log(\operatorname{exposure})=\log \left(\frac {\operatorname {E} (Y\mid x)}{\operatorname{exposure}}\right)=\theta'x$$

نکته: برای نشان دادن این مدل رگرسیون پواسون در زبان محاسبات آماری R از تابع offset استفاده می‌شود. البته مشاهده می‌کنید که تابع محاسبه رگرسیون پواسون در اینجا همان GLM یا Generalize Linear Model است.

1glm(y ~ offset(log(exposure)) + x, family=poisson(link=log) )

بیش‌پراکنش (Overdispersion) و تورم صفر

یکی از ویژگی‌های اصلی توزیع پواسون، برابری میانگین (Expected Value) این توزیع با واریانس (Variance) است. ولی ممکن است در بعضی از مشاهدات در مدل پواسون، واریانس از میانگین بزرگتر باشد. به چنین حالتی «بیش‌پراکنش» (Overdispersion) گفته می‌شود. در این مواقع، استفاده از مدل رگرسیون پواسون و برآوردهای حاصل از این گونه داده‌ها، با مشکل همراه است. از طرفی باز هم این امکان وجود دارد که با مشکل «کم‌پراکنش» (Underdisperssion) مواجه شویم که در آن واریانس از میانگین کوچکتر است.

اغلب این مشکلات به علت نادیده گرفتن یک متغیر پیش‌گوی موثر و تاثیرگذار روی متغیر وابسته رخ می‌دهند. در این حالت برای رفع این مشکل از برآورد شبه درستنمایی (Quasi-Likelihood) یا توزیع دو جمله‌ای منفی (Negative Binomial Distribution) برای توزیع متغیر پاسخ استفاده می‌شود.

نکته: مدل رگرسیون پواسون با توزیع دوجمله‌ای منفی را گاهی مدل گاما-پواسون (Gamma-Poisson) نیز می‌نامند.

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

به عنوان مثال توزیع سیگارهای مصرفی در یک ساعت را در نظر بگیرید که در یک شرکت توسط کارکنان کشیده می‌شوند. در بین کارکنان شرکت، افراد سیگاری و غیرسیگاری وجود دارد در نتیجه تعداد صفرها بیش از تعدادی است که توسط سیگاری‌ها در یک ساعت کشیده می‌شود. در اینجا مشکل تورم صفرها رخ داده است. در این حالت نیز استفاده از مدل دوجمله‌ای منفی با انباشتگی صفر (Zero-Inflated Model) می‌تواند نتایج بهتری را نسبت به رگرسیون پواسون ارائه کند.

خلاصه و جمع‌بندی

در این نوشتار به بررسی رگرسیون پواسون و مفاهیم اولیه آن پرداختیم؛ همچنین نحوه برآورد پارامترها را به صورت عددی بیان کردیم. از آنجایی که رگرسیون پواسون برای داده‌های شمارشی و حتی نرخ (Rate) نیز به کار می‌رود، نحوه بررسی و مدل‌سازی برای این گونه داده‌ها نیز بیان شد. ضمناً در کنار موارد ذکر شده، مسئله بیش‌پراکنش و تورم صفر هم مورد بحث قرار گرفت.

اگر این مطلب برای شما مفید بوده است، آموزش‌ها و مطالب زیر نیز به شما پیشنهاد می‌شوند:

^^

بر اساس رای ۱۶ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
IBMWikipediaWikipediaToward Data Scienceمجله فرادرس
۱ دیدگاه برای «رگرسیون پواسون (Poisson Regression) — به زبان ساده»

سلام آرمان جان
لطف میکنید بگید اگه هر کدوم از شرایط رگرسیون پواسن برقرار نبود از چی باید استفاده کنیم؟ متغیر پاسخ شمارشی هست اما
رخداد یک پیشامد، روی احتمال رخداد پیشامدهای دیگر تاثیر گذار هست (رخداد یک پیشامد احتمال رخداد آن را افزایش می دهد (فیدبک مثبت))
میانگین تعداد رخدادهای پیشامدها در هر بازه زمانی یا مکانی، تغییر می کند (با گذر زمان رخداد پیشامد کاهش میابد)

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *