در این مقاله قصد دارم به آموزش رگرسیون لگاریتمی در R بپردازم. تا انتهای این مقاله همراه کیارا آکادمی باشید تا آموزش نرم افزار R را به صورت کاربردی دریافت نمایید.
رگرسیون لگاریتمی چیست؟
رگرسیون لگاریتمی نوعی رگرسیون است که برای مدلسازی موقعیتهایی استفاده میشود که در آن رشد یا پوسیدگی ابتدا به سرعت سرعت میگیرد و سپس در طول زمان کند میشود. به عنوان مثال، نمودار زیر نمونه ای از واپاشی لگاریتمی را نشان می دهد:
برای این نوع موقعیت، رابطه بین یک متغیر پیشبینیکننده و یک متغیر پاسخ میتواند به خوبی با استفاده از رگرسیون لگاریتمی مدلسازی شود. معادله مدل رگرسیون لگاریتمی به شکل زیر است:
y = a + b*ln(x) |
تحلیل فرمول بالا:
- y: متغیر پاسخ
- x: متغیر پیش بینی کننده
- a, b: ضرایب رگرسیونی که رابطه بین x و y را توصیف می کند
مثال رگرسیون لگاریتمی در R
مثال گام به گام زیر نحوه انجام رگرسیون لگاریتمی در R را نشان می دهد.
مرحله 1: ایجاد داده
ابتدا، اجازه دهید دیتا برای دو متغیر ایجاد کنیم: x و y:
x=1:15 y=c(59, 50, 44, 38, 33, 28, 23, 20, 17, 15, 13, 12, 11, 10, 9.5) |
مرحله 2: نموداری برای داده ها ترسیم کنید:
در مرحله بعد، بیایید یک نمودار پراکندگی سریع برای تجسم رابطه بین x و y ایجاد کنیم:
plot(x, y) |
از نمودار می توانیم ببینیم که یک الگوی واپاشی لگاریتمی واضح بین دو متغیر وجود دارد. مقدار متغیر پاسخ، y، ابتدا به سرعت کاهش می یابد و سپس با گذشت زمان کاهش می یابد. بنابراین، به نظر می رسد ایده خوبی برای برازش یک معادله رگرسیون لگاریتمی برای توصیف رابطه بین متغیرها باشد.
مرحله 3: برازش مدل رگرسیون لگاریتمی
سپس، از تابع lm برای برازش مدل رگرسیون لگاریتمی، با استفاده از log طبیعی x به عنوان متغیر پیش بینی و y به عنوان متغیر پاسخ استفاده می کنیم.
#مدل را برازش کنید
model <- lm(y ~ log(x)) |
#خروجی مدل را مشاهده کنید
summary(model) |
مقدار F کلی مدل 828.2 است و مقدار p متناظر بسیار کوچک است (3.702e-13)، که نشان می دهد مدل به عنوان یک کل مفید است. با استفاده از ضرایب جدول خروجی، می بینیم که معادله رگرسیون لگاریتمی برازش شده به صورت زیر است:
y = 63.0686 – 20.1987 * ln(x) |
می توانیم از این معادله برای پیش بینی متغیر پاسخ y بر اساس مقدار متغیر پیش بینی x استفاده کنیم. به عنوان مثال، اگر x = 12 باشد، پیشبینی میکنیم که y برابر 12.87 خواهد بود:
y = 63.0686 – 20.1987 * ln(12) = 12.87 |
امتیاز: با خیال راحت از این ماشین حساب رگرسیون لگاریتمی آنلاین برای محاسبه خودکار معادله رگرسیون لگاریتمی برای یک متغیر پیش بینی و پاسخ استفاده کنید.
مرحله 4: مدل رگرسیون لگاریتمی را تجسم کنید
در نهایت، میتوانیم یک نمودار سریع برای تجسم اینکه مدل رگرسیون لگاریتمی چقدر با دادهها مطابقت دارد ایجاد کنیم:
#نقشه x در مقابل y
plot(x, y) |
#مقدار x را برای استفاده برای خط رگرسیون تعریف کنید
x=seq(from=1,to=15,length.out=1000) |
#از مدل برای پیش بینی مقادیر y بر اساس مقادیر x استفاده کنید
y=predict(model,newdata=list(x=seq(from=1,to=15,length.out=1000)),interval=”confidence”) |
همبستگی بین دو متغیر ترتیبی در R
#خط رگرسیون متناسب را به نمودار اضافه کنید (lwd عرض خط را مشخص می کند)
matlines(x,y, lwd=2) |
می بینیم که مدل رگرسیون لگاریتمی کار خوبی برای برازش این مجموعه داده خاص انجام می دهد.
مطالعه منابع بیشتر رگرسیون لگاریتمی در R: