رگرسیون خطی روشی است که می توانیم برای درک رابطه بین یک یا چند متغیر پیش بینی کننده و یک متغیر پاسخ از آن استفاده کنیم. معمولاً وقتی رگرسیون خطی را انجام می دهیم، علاقه مند به تخمین مقدار میانگین متغیر پاسخ هستیم. با این حال، ما میتوانیم به جای آن از روشی به نام رگرسیون چندکی برای تخمین مقدار کمیت یا صدک مقدار پاسخ مانند صدک 70، صدک 90، صدک 98 و ….. استفاده کنیم. در این مقاله قصد دارم به آموزش رگرسیون چندکی در R بپردازم. تا انتهای این مقاله همراه کیارا آکادمی باشید تا آموزش نرم افزار R را به صورت کاربردی دریافت نمایید.
اجرای رگرسیون چندکی در R
برای انجام رگرسیون چندکی در R می توانیم از تابع ()rq از بسته quantreg استفاده کنیم که از نحو زیر استفاده می کند:
library(quantreg) |
model <- rq(y ~ x, data = dataset, tau = 0.5) |
تحلیل فرمول بالا:
y: متغیر پاسخ
x: متغیر(های) پیش بینی کننده
داده: نام مجموعه داده
tau: صدک برای یافتن. پیش فرض میانه است (tau = 0.5) اما می توانید آن را روی هر عددی بین 0 و 1 تنظیم کنید.
این آموزش یک مثال گام به گام از نحوه استفاده از این تابع برای انجام رگرسیون چندکی در R ارائه می دهد.
مرحله 1: داده ها را وارد کنید
برای این مثال، مجموعه دادهای ایجاد میکنیم که شامل ساعتهای مطالعه شده و امتیاز امتحانی ۱۰۰ دانشجوی مختلف در برخی از دانشگاهها است:
#make this example reproducible set.seed(0) |
#create data frame hours <- runif(100, 1, 10) score <- 60 + 2*hours + rnorm(100, mean=0, sd=.45*hours) df <- data.frame(hours, score) |
#view first six rows head(df) |
مرحله 2: رگرسیون چندکی را انجام دهید
در مرحله بعد، یک مدل رگرسیون چندکی را با استفاده از ساعات مطالعه به عنوان متغیر پیش بینی کننده و نمره امتحان به عنوان متغیر پاسخ برازش خواهیم داد. ما از این مدل برای پیش بینی صدک 90 مورد انتظار نمرات امتحان بر اساس تعداد ساعات مطالعه استفاده خواهیم کرد:
library(quantreg) |
#fit model model <- rq(score ~ hours, data = df, tau = 0.9) |
#view summary of model summary(model) |
از خروجی، می توانیم معادله رگرسیون تخمین زده شده را مشاهده کنیم:
صدک 90 نمره امتحان = 60.25 + 2.437* (ساعت) |
به عنوان مثال، صدک 90 نمرات برای همه دانش آموزانی که 8 ساعت مطالعه می کنند، انتظار می رود 79.75 باشد:
صدک 90 نمره امتحان = 60.25 + 2.437*(8) = 79.75 |
خروجی همچنین حد اطمینان بالا و پایین را برای ساعات متغییر رهگیری و پیش بینی نمایش می دهد.
مرحله 3: از نتایج نمودار ترسیم کنید
همچنین میتوانیم نتایج رگرسیون را با ایجاد یک نمودار پراکنده با معادله رگرسیون چندکی برازش شده روی نمودار تجسم کنیم:
library(ggplot2) |
#create scatterplot with quantile regression line ggplot(df, aes(hours,score)) + geom_point() + geom_abline(intercept=coef(model)[1], slope=coef(model)[2]) |
آموزش مقایسه زوجی پس از تجربه در R و آزمون تعقیبی post hoc
مثال رگرسیون چندکی در R
برخلاف خط رگرسیون خطی سنتی، توجه کنید که این خط برازش شده از قلب داده ها عبور نمی کند. در عوض، در هر سطح از متغیر پیش بینی، از صدک 90 تخمین زده شده عبور می کند. ما می توانیم تفاوت بین معادله رگرسیون چندکی برازش و معادله رگرسیون خطی ساده را با اضافه کردن آرگومان () geom_smooth مشاهده کنیم:
library(ggplot2) |
#create scatterplot with quantile regression line and simple linear regression line ggplot(df, aes(hours,score)) + geom_point() + geom_abline(intercept=coef(model)[1], slope=coef(model)[2]) + geom_smooth(method=”lm”, se=F) |
رگرسیون چندکی در مقابل نمودار رگرسیون خطی ساده
خط سیاه خط رگرسیون چندکی متناسب را برای صدک 90 نشان می دهد و خط آبی خط رگرسیون خطی ساده را نشان می دهد که مقدار میانگین را برای متغیر پاسخ تخمین می زند. همان طور که انتظار می رود، خط رگرسیون خطی ساده مستقیماً از داده ها عبور می کند و میانگین ارزش تخمینی نمرات امتحان را در هر سطح ساعت به ما نشان می دهد.
مطالعه منابع بیشتر:
8 پاسخ
سلام
من اگر بخوام رگرسیون خطی اجرا کنم میشه راهنمایی بفرماییدمرسی
https://kiaraacademy.com/simple-linear-regression-in-stata/
آموزش رگرسیون خطی ساده در Stata
آموزش رگرسیون خطی ساده در نرم افزار SPSS
https://kiaraacademy.com/teaching-simple-linear-regression-in-spss-software/
مرسی از شما
رگرسیون مختلط را هم میشه توی ار اجرا کرد؟
سلام توی SPSS آموزش دادم
https://kiaraacademy.com/product/r-training-course/
توی دوره آموزش جامع R هم آموزشش هست
مرسی عالی
تشکر از شما برادر
سلام روش اجرای رگرسیون چندک-جندک در نرم افزار R چطوره؟
https://kiaraacademy.com/quantile-regression-in-stata/
این آموزشش استاتا است
اگر نبود احتمالا باید توی مقالات اضافه کنم