راهنمای جامع رگرسیون و انواع آن در تحلیل داده

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

Descriptionنویسنده : محمدحسین محمدخانی
this photo genrated by ai

فهرست مطالب

پیش زمینه برای درک بهتر مفهوم رگرسیون

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

نمودار رگرسیون قیمت خانه

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

بیشتر بخوانید ...

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

تحلیل رگرسیون چیست ؟

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

مثال عملی ۱: پیش‌بینی مصرف انرژی

تصور کنید مدیر یک ساختمان هوشمند هستید. با استفاده از فاکتورهای زیر می‌توانید مصرف برق ساختمان را پیش‌بینی کنید:

دمای هوا
ساعات روز
تعداد افراد
روزهای هفته

نمودار رگرسیون مصرف انرژی

مثال عملی ۲: تحلیل عملکرد تبلیغات

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

بودجه تبلیغات
زمان پخش
پلتفرم تبلیغاتی
جمعیت هدف

نمودار رگرسیون بازگشت سرمایه تبلیغات

محاسبات ریاضی رگرسیون خطی

فرمول رگرسیون خطی

Y = β₀ + β₁X

  • Y: بازگشت سرمایه (متغیر وابسته)
  • X: بودجه تبلیغات (متغیر مستقل)
  • β₀: عرض از مبدأ
  • β₁: شیب خط (ضریب رگرسیون)
محاسبه ضرایب

β₁ = Σ((x - x̄)(y - ȳ)) / Σ((x - x̄)²)

β₀ = ȳ - β₁x̄

مثال عددی

با داده‌های نمونه:

β₁ = 1.75

β₀ = 500

برای بودجه 1000 تومان:

Y = 500 + 1.75(1000) = 2250 تومان

ضریب تعیین (R²)

R² = 0.92

این مقدار نشان می‌دهد که 92% از تغییرات در بازگشت سرمایه توسط تغییرات در بودجه تبلیغات قابل توضیح است.

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

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

مثال‌های کاربردی درون‌یابی:
  • دمای هوا: تخمین دمای ساعت 14:30 با داشتن دمای ساعت‌های 14:00 و 15:00
  • قیمت سهام: محاسبه قیمت سهام در زمانی که بازار بسته بوده با استفاده از قیمت‌های قبل و بعد از آن
  • نقشه‌برداری: تخمین ارتفاع نقطه‌ای بین دو نقطه با ارتفاع مشخص

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

مثال‌های کاربردی برون‌یابی:
  • جمعیت: پیش‌بینی جمعیت شهر در سال 1410 بر اساس داده‌های جمعیتی 10 سال گذشته
  • فروش: تخمین فروش محصول در فصل آینده بر اساس روند فروش فصل‌های گذشته
  • تغییرات اقلیمی: پیش‌بینی دمای کره زمین در 10 سال آینده بر اساس روند تغییرات دمایی گذشته
نکات مهم:
  • برون‌یابی معمولاً دقت کمتری نسبت به درون‌یابی دارد زیرا به فرضیات بیشتری درباره ثبات روندها نیاز دارد
  • هرچه فاصله پیش‌بینی از داده‌های موجود بیشتر باشد، احتمال خطا افزایش می‌یابد
کاربردهای واقعی
  • پیش‌بینی قیمت سهام بر اساس شاخص‌های اقتصادی
  • تخمین میزان فروش محصولات جدید
  • پیش‌بینی نمرات دانش‌آموزان بر اساس ساعات مطالعه
  • تحلیل اثربخشی داروها در پزشکی
Description

رگرسیون خطی (Linear Regression)

رگرسیون خطی یکی از پایه‌ای‌ترین و پرکاربردترین روش‌های تحلیل رگرسیون است که رابطه خطی بین متغیرها را مدل می‌کند. این روش درscikit-learnو دیگر کتابخانه‌های یادگیری ماشین به طور گسترده پشتیبانی می‌شود.

ویژگی‌های کلیدی

  • سادگی پیاده‌سازی و تفسیر
  • محاسبات سریع و کارآمد
  • مناسب برای روابط خطی

مثال کاربردی: پیش‌بینی قیمت خانه

متغیرها:
  • متغیر مستقل (X): متراژ خانه (متر مربع)
  • متغیر وابسته (Y): قیمت خانه (میلیون تومان)
داده‌های نمونه:
متراژ (X)قیمت (Y)
80800
1201200
1601600

محاسبات ریاضی

فرمول اصلی:

Y = β₀ + β₁X + ε

  • β₀: عرض از مبدأ
  • β₁: شیب خط
  • ε: خطای تصادفی
محاسبه ضرایب:

β₁ = Σ((x - x̄)(y - ȳ)) / Σ((x - x̄)²)

β₀ = ȳ - β₁x̄

رگرسیون چندجمله‌ای (Polynomial Regression)

رگرسیون چندجمله‌ای یک تکنیک قدرتمند برای مدل‌سازی روابط غیرخطی است که در آن متغیر وابسته به صورت چندجمله‌ای با متغیر مستقل ارتباط دارد. برای مثال، در مطالعه رشد گیاهان، رابطه بین ارتفاع گیاه و زمان معمولاً خطی نیست - گیاه در ابتدا سریع رشد می‌کند، سپس رشد آن کند می‌شود و در نهایت به یک حد مشخص می‌رسد. همچنین در فیزیک، حرکت پرتابه‌ها را در نظر بگیرید: مسیر یک توپ بسکتبال در هوا به شکل سهمی است که با معادله درجه دوم توصیف می‌شود. در اقتصاد نیز، رابطه بین قیمت و تقاضا اغلب غیرخطی است - با افزایش قیمت، کاهش تقاضا به صورت تدریجی شدت می‌گیرد. این نوع رگرسیون با اضافه کردن توان‌های بالاتر متغیر مستقل (مثل x², x³) می‌تواند این الگوهای پیچیده را به خوبی مدل کند.مستندات scikit-learnروش‌های پیشرفته‌ای برای ایجاد و بهینه‌سازی این مدل‌ها ارائه می‌دهد.

ویژگی‌های کلیدی

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

مثال کاربردی: رشد جمعیت باکتری‌ها

متغیرها:
  • متغیر مستقل (X): زمان (ساعت)
  • متغیر وابسته (Y): تعداد باکتری‌ها
داده‌های نمونه:
زمان (X)تعداد باکتری (Y)
0100
2400
41600

محاسبات ریاضی

فرمول چندجمله‌ای درجه n:

Y = β₀ + β₁X + β₂X² + β₃X³ + ... + βₙXⁿ + ε

توضیح اجزای فرمول:

  • β₀: عرض از مبدأ که نقطه شروع منحنی را مشخص می‌کند
  • β₁X: جزء خطی که روند کلی تغییرات را نشان می‌دهد
  • β₂X²: جزء درجه دوم که انحنای اصلی منحنی را شکل می‌دهد
  • βₙXⁿ: اجزای درجه بالاتر که جزئیات پیچیده‌تر منحنی را کنترل می‌کنند
  • ε: خطای تصادفی که نویز و تغییرات غیرقابل پیش‌بینی را مدل می‌کند
محاسبه ضرایب بهینه:

β = (Z'Z)⁻¹Z'y

توضیح اجزای فرمول:

  • Z: ماتریس ویژگی‌های چندجمله‌ای شامل توان‌های X
  • Z': ترانهاده ماتریس ویژگی‌های چندجمله‌ای
  • (Z'Z)⁻¹: معکوس حاصلضرب ماتریس‌ها برای یافتن ضرایب بهینه

این فرمول‌ها به ما امکان می‌دهند روابط غیرخطی پیچیده را با دقت بالا مدل‌سازی کنیم. درجه چندجمله‌ای (n) باید با توجه به پیچیدگی داده‌ها و خطر بیش‌برازش انتخاب شود.

نمونه کد Python:

from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression

# Create polynomial features
poly = PolynomialFeatures(degree=2)
X_poly = poly.fit_transform(X)

# Fit polynomial regression
model = LinearRegression()
model.fit(X_poly, y)

رگرسیون ریج (Ridge Regression)

رگرسیون ریج یک تکنیک پیشرفته برای بهبود دقت پیش‌بینی در شرایط پیچیده است. تصور کنید می‌خواهید قیمت خانه را بر اساس ویژگی‌های متعدد پیش‌بینی کنید: متراژ، تعداد اتاق‌ها، سن ساختمان، فاصله تا مرکز شهر و کیفیت مصالح. این ویژگی‌ها اغلب با هم همبستگی دارند - مثلاً خانه‌های بزرگ‌تر معمولاً تعداد اتاق بیشتری دارند. در چنین شرایطی، رگرسیون خطی ساده ممکن است ضرایب بسیار بزرگی به برخی ویژگی‌ها اختصاص دهد و دچار (overfitting)بیش‌برازش شود. رگرسیون ریج با اضافه کردن یک جریمه (λ||β||²) به تابع هزینه، از این مشکل جلوگیری می‌کند. در مثال قیمت خانه، اگر λ = 1000 باشد، مدل از اختصاص وزن بیش از حد به متراژ یا تعداد اتاق‌ها خودداری می‌کند و تمام ویژگی‌ها را به طور متعادل در نظر می‌گیرد. این روش در صنعت داروسازی نیز کاربرد گسترده‌ای دارد - برای پیش‌بینی اثربخشی داروها بر اساس صدها ویژگی مولکولی، که بسیاری از آنها همبستگی بالایی دارند.مستندات scikit-learnابزارهای قدرتمندی برای پیاده‌سازی و تنظیم این مدل ارائه می‌دهد.

ویژگی‌های کلیدی

  • کنترل پیچیدگی مدل با پارامتر λ
  • کاهش واریانس مدل
  • حفظ تمام ویژگی‌ها در مدل

مثال کاربردی: پیش‌بینی قیمت خودرو

متغیرها:
  • • سن خودرو (سال)
  • • کیلومتر کارکرد
  • • حجم موتور
  • • مصرف سوخت
  • • برند خودرو

محاسبات ریاضی

تابع هزینه:

L = ||y - Xβ||² + λ||β||²

توضیح اجزای فرمول:

  • ||y - Xβ||²: مجموع مربعات خطا که فاصله بین مقادیر واقعی و پیش‌بینی شده را محاسبه می‌کند
  • λ: پارامتر تنظیم که میزان جریمه را کنترل می‌کند. مقادیر بزرگتر λ باعث کاهش بیشتر ضرایب می‌شود
  • ||β||²: مجموع مربعات ضرایب مدل که به عنوان جریمه عمل می‌کند و از بزرگ شدن بیش از حد ضرایب جلوگیری می‌کند
فرمول محاسبه ضرایب:

β = (X'X + λI)⁻¹X'y

توضیح اجزای فرمول:

  • X': ترانهاده ماتریس ویژگی‌ها
  • I: ماتریس همانی که در ابعاد تعداد ویژگی‌ها ایجاد می‌شود
  • (...)⁻¹: معکوس ماتریس که ضرایب بهینه را محاسبه می‌کند

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

نمونه کد Python:

from sklearn.linear_model import Ridge
from sklearn.preprocessing import StandardScaler

# Scale features
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# Fit Ridge regression
ridge = Ridge(alpha=1.0)  # alpha is the regularization strength
ridge.fit(X_scaled, y)

رگرسیون لاسو (LASSO Regression)

درک عمیق‌تر رگرسیون LASSO

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

مزایای کلیدی LASSO:
  • خودکارسازی انتخاب ویژگی‌های مهم
  • کاهش پیچیدگی مدل با حذف متغیرهای کم‌اثر
  • بهبود قابلیت تفسیر مدل
  • کاهش هزینه‌های جمع‌آوری داده در آینده
کاربردهای عملی:
  • • در ژنومیک: شناسایی ژن‌های مرتبط با بیماری‌های خاص از بین هزاران ژن
  • • در اقتصاد: پیش‌بینی شاخص‌های اقتصادی با استفاده از متغیرهای کلیدی
  • • در پزشکی: تشخیص فاکتورهای موثر در پیشرفت بیماری
  • • در بازاریابی: شناسایی موثرترین کانال‌های تبلیغاتی
تفاوت با سایر روش‌ها:

برخلاف رگرسیون ریج که فقط ضرایب را کوچک می‌کند، LASSO می‌تواند برخی ضرایب را دقیقاً صفر کند. این ویژگی باعث می‌شود LASSO علاوه بر منظم‌سازی، یک ابزار قدرتمند برای انتخاب ویژگی نیز باشد.

نکات کاربردی در پیاده‌سازی:
  • • استاندارد‌سازی داده‌ها قبل از اعمال LASSO ضروری است
  • • انتخاب مناسب پارامتر λ با اعتبارسنجی متقاطع
  • • بررسی ثبات انتخاب ویژگی‌ها با تکنیک‌های نمونه‌گیری مجدد
  • • توجه به همبستگی بین متغیرها در تفسیر نتایج
محدودیت‌ها و ملاحظات:
  • • در حضور متغیرهای بسیار همبسته، انتخاب LASSO می‌تواند ناپایدار باشد
  • • برای روابط غیرخطی پیچیده مناسب نیست
  • • تعداد متغیرهای انتخاب شده نمی‌تواند از تعداد مشاهدات بیشتر باشد

مثال کاربردی: پیش‌بینی بیماری‌های قلبی

متغیرها:
  • • فشار خون
  • • سطح کلسترول
  • • ضربان قلب
  • • سن
  • • شاخص توده بدنی
  • • سطح قند خون

محاسبات ریاضی

تابع هزینه:

L = ||y - Xβ||² + λ||β||₁

تشریح ریاضی فرمول:

  • ||y - Xβ||²: مجموع مربعات خطا که به صورت (y₁ - ŷ₁)² + (y₂ - ŷ₂)² + ... + (yₙ - ŷₙ)² محاسبه می‌شود
  • λ: پارامتر تنظیم که معمولاً در بازه [0, ∞) انتخاب می‌شود. λ = 0 معادل رگرسیون خطی معمولی است
  • ||β||₁: نُرم L1 ضرایب که به صورت |β₁| + |β₂| + ... + |βₚ| محاسبه می‌شود
خواص ریاضی:

• مشتق‌پذیری: تابع در β = 0 مشتق‌پذیر نیست

• محدب بودن: تابع هزینه محدب است و حداقل سراسری دارد

• صفر شدن ضرایب: وقتی |∂L/∂βⱼ| λ باشد، βⱼ = 0 می‌شود

عبارت λ||β||₁ باعث می‌شود برخی ضرایب دقیقاً صفر شوند، زیرا مشتق نُرم L1 در صفر ناپیوسته است. این ویژگی منحصر به فرد LASSO است که آن را از Ridge متمایز می‌کند.

نمونه کد Python:

from sklearn.linear_model import Lasso
from sklearn.preprocessing import StandardScaler

# Scale features
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# Fit LASSO regression
lasso = Lasso(alpha=0.1)  # alpha is the regularization parameter
lasso.fit(X_scaled, y)

# Check which features were selected
selected_features = [f for f, c in zip(feature_names, lasso.coef_) if c != 0]

رگرسیون الاستیک نت (ElasticNet Regression)

رگرسیون الاستیک نت یک روش قدرتمند و انعطاف‌پذیر است که مزایای رگرسیون‌های Ridge و LASSO را ترکیب می‌کند. این روش به‌ویژه در شرایطی که با داده‌های پیچیده و همبسته روبرو هستیم، بسیار کارآمد است. برای مثال، در صنعت دارویی، محققان از الاستیک نت برای پیش‌بینی اثربخشی داروها با استفاده از هزاران ویژگی مولکولی استفاده می‌کنند. در بازارهای مالی، تحلیلگران از این روش برای پیش‌بینی قیمت سهام با در نظر گرفتن صدها شاخص اقتصادی و مالی بهره می‌برند. در تشخیص پزشکی، الاستیک نت به پزشکان کمک می‌کند تا از بین هزاران نشانگر زیستی، موثرترین عوامل در تشخیص بیماری را شناسایی کنند. این روش با تنظیم خودکار اهمیت متغیرها و حفظ گروه‌های همبسته، مدل‌هایی پایدار و قابل تفسیر ارائه می‌دهد.مستندات scikit-learnابزارهای کارآمدی برای پیاده‌سازی این روش فراهم می‌کند.

محاسبات ریاضی

تابع هزینه:

L = ||y - Xβ||² + λ₁||β||₁ + λ₂||β||²

تشریح اجزای فرمول:

  • ||y - Xβ||²: مجموع مربعات خطا
  • λ₁: پارامتر تنظیم L1 (LASSO)
  • λ₂: پارامتر تنظیم L2 (Ridge)
  • α = λ₁ + λ₂: پارامتر تنظیم کلی
  • ρ = λ₁/(λ₁ + λ₂): نسبت ترکیب L1 و L2
ویژگی‌های خاص:

• ترکیب منظم‌سازی L1 و L2

• انعطاف‌پذیری در انتخاب ویژگی

• مدیریت همبستگی بین متغیرها

با تنظیم نسبت ρ می‌توان بین خاصیت انتخاب ویژگی LASSO و مدیریت همبستگی Ridge تعادل برقرار کرد.

مثال کاربردی: پیش‌بینی قیمت سهام

متغیرهای ورودی:
  • • شاخص‌های تکنیکال
  • • داده‌های بنیادی شرکت
  • • شاخص‌های اقتصاد کلان
  • • حجم معاملات
  • • اخبار و سنتیمنت بازار

نمونه کد Python:

from sklearn.linear_model import ElasticNet
from sklearn.preprocessing import StandardScaler

# Scale features
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# Fit ElasticNet regression
elastic_net = ElasticNet(alpha=1.0, l1_ratio=0.5)
elastic_net.fit(X_scaled, y)

# Get selected features
selected_features = [f for f, c in zip(feature_names, elastic_net.coef_) if c != 0]

رگرسیون بیزی (Bayesian Regression)

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

محاسبات ریاضی

قضیه بیز در پزشکی شخصی‌سازی شده:

P(β|D) ∝ P(D|β)P(β)

تشریح اجزای فرمول در تنظیم دوز دارو:

  • P(β|D): توزیع پسین ضرایب - تخمین نهایی اثر دارو با توجه به پاسخ بیمار
  • P(D|β): تابع درستنمایی - چگونه داده‌های جدید واکنش بیمار را نشان می‌دهند
  • P(β): توزیع پیشین - دانش اولیه از مطالعات بالینی قبلی و تجربیات پزشکی

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

مدل رگرسیون در پزشکی:

y ~ N(Xβ, σ²I)

  • y: سطح قند خون بیمار
  • X: ماتریس ویژگی‌ها شامل دوز دارو، رژیم غذایی، فعالیت فیزیکی
  • β: ضرایب تأثیر هر عامل
  • σ²: واریانس پاسخ بیمار به درمان

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

مثال کاربردی: پیش‌بینی مصرف انرژی

متغیرها:
  • • دمای هوا
  • • رطوبت نسبی
  • • ساعات روز
  • • روزهای تعطیل
  • • تعداد ساکنین

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

نمونه کد Python:

import pymc3 as pm

with pm.Model() as model:
    # Prior distributions
    β = pm.Normal('β', mu=0, sd=10, shape=X.shape[1])
    σ = pm.HalfNormal('σ', sd=1)
    
    # Linear regression
    μ = pm.math.dot(X, β)
    
    # Likelihood
    y_obs = pm.Normal('y_obs', mu=μ, sd=σ, observed=y)
    
    # Inference
    trace = pm.sample(2000, tune=1000)

رگرسیون لجستیک (Logistic Regression)

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

محاسبات ریاضی در پیش‌بینی رفتار مشتری

تابع سیگموئید در تحلیل مشتری:

P(خرید|ویژگی‌ها) = 1 / (1 + e^(-z))

z = β₀ + β₁(سن) + β₂(درآمد) + β₃(بازدیدها) + β₄(خرید‌های‌قبلی)

کاربرد در فروشگاه آنلاین:

  • P(خرید|ویژگی‌ها): احتمال خرید مشتری در ۳۰ روز آینده
  • β₁: تأثیر سن در تصمیم خرید (مثلاً 0.03 برای هر سال)
  • β₂: تأثیر درآمد (مثلاً 0.005 برای هر میلیون تومان)
  • β₃: تأثیر تعداد بازدیدها از سایت (مثلاً 0.1 برای هر بازدید)

مثال: برای مشتری ۳۵ ساله با درآمد ۱۰ میلیون و ۵ بازدید اخیر، احتمال خرید ۷۵٪ محاسبه می‌شود.

تابع هزینه در بهینه‌سازی کمپین:

J(θ) = -1/m Σ[y log(h(x)) + (1-y)log(1-h(x))]

  • • y: خرید واقعی (1 یا 0)
  • • h(x): احتمال پیش‌بینی شده خرید
  • • m: تعداد مشتریان در دیتاست

با کمینه کردن این تابع هزینه، مدل می‌تواند دقیق‌ترین پیش‌بینی را برای رفتار خرید مشتریان ارائه دهد و کمپین‌های هدفمند طراحی کند.

مثال کاربردی: تشخیص بیماری قلبی

متغیرهای ورودی:
  • • سن (x₁)
  • • فشار خون (x₂)
  • • کلسترول (x₃)
  • • ضربان قلب (x₄)
  • • قند خون (x₅)

خروجی: احتمال وجود بیماری قلبی (0 تا 1)

نمونه کد Python:

from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler

# Scale features
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# Fit logistic regression
model = LogisticRegression(penalty='l2', C=1.0)
model.fit(X_scaled, y)

# Get predictions
probabilities = model.predict_proba(X_scaled)
predictions = model.predict(X_scaled)

# Feature importance
coefficients = pd.DataFrame({
    'Feature': feature_names,
    'Coefficient': model.coef_[0]
})

خلاصه و راهنمای سریع انواع رگرسیون

رگرسیون خطی

  • • فرمول: Y = β₀ + β₁X + ε
  • • کاربرد: روابط خطی ساده
  • • مثال: پیش‌بینی قیمت خانه
  • • ویژگی: ساده و قابل تفسیر

رگرسیون چندجمله‌ای

  • • فرمول: Y = β₀ + β₁X + β₂X² + ε
  • • کاربرد: روابط غیرخطی
  • • مثال: رشد گیاهان
  • • ویژگی: انعطاف‌پذیر در روابط پیچیده

رگرسیون Ridge

  • • فرمول: L = ||y - Xβ||² + λ||β||²
  • • کاربرد: کنترل همخطی
  • • مثال: تحلیل داده‌های ژنتیکی
  • • ویژگی: کاهش واریانس ضرایب

رگرسیون LASSO

  • • فرمول: L = ||y - Xβ||² + λ||β||₁
  • • کاربرد: انتخاب ویژگی
  • • مثال: تشخیص بیماری
  • • ویژگی: حذف ویژگی‌های کم‌اهمیت

رگرسیون ElasticNet

  • • فرمول: L = ||y - Xβ||² + λ₁||β||₁ + λ₂||β||²
  • • کاربرد: ترکیب Ridge و LASSO
  • • مثال: پیش‌بینی قیمت سهام
  • • ویژگی: انعطاف‌پذیری در تنظیم

رگرسیون بیزی

  • • فرمول: P(β|D) ∝ P(D|β)P(β)
  • • کاربرد: تخمین عدم قطعیت
  • • مثال: پزشکی شخصی‌سازی شده
  • • ویژگی: محاسبه توزیع احتمال

نکات کلیدی

  • • انتخاب نوع رگرسیون بستگی به ماهیت داده و هدف پروژه دارد
  • • پیش‌پردازش داده‌ها در همه روش‌ها مهم است
  • • ارزیابی مدل باید با معیارهای مناسب انجام شود
  • • ترکیب روش‌ها می‌تواند نتایج بهتری ارائه دهد

منابع و مراجع یادگیری

مستندات فنی

کتاب‌های مرجع

یادگیری تعاملی

مقالات پژوهشی