به کمک نیاز داری؟

گروه کسب و کار ساکوراد
فهرست
آموزش R

آموزش R | رگرسیون خطی ساده و رگرسیون خطی چندگانه

رگرسیون خطی ساده

فرض کنید 2 بردار y و x به حجم n وجود دارد و به نظر می‌رسد که بین این دو نمونه رابطه‌ای خطی وجود دارد. با استفاده از تابع ()lm رگرسیون موجود بین این 2 بردار را بدست می‌آوریم.

بطور مثال فرض کنید دو بردار x و y زیر موجودند:

(set.seed(50

(x<-rnorm(1000,0,1

(y<-rnorm(1000,3,1

اعضای شبکه مشاوران در حوزه «تحقیقات بازار، بازاریابی و فروش»

مشاور بازاریابی و آنلاین سازی کسب و کار

اگر بعنوان فعال اقتصادی، به دنبال رونق فروش و یا...

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

اگر بعنوان کارآفرین و یا فعال اقتصادی به دنبال موفقیت،...

مشاور کارآفرینی و بازرگانی

اگر به دنبال موفقیت در کارآفرینی با نگاه یک تاجر...

مشاور تولید محتوا | مترجم انگلیسی، فرانسه و اسپانیایی

اگر بعنوان فعال اقتصادی به دنبال تثبیت جایگاه و گسترش...

مشاور مسیریابی شغلی، کارآفرینی و استارتاپ

اگر به دنبال موفقیت در کارآفرینی و یا داشتن کسب...

مشاور دیجیتال مارکتینگ و فروش

اگر بدنبال افزایش فروش و توسعه سهم خود در بازارهای...

مشاور تحقیقات بازار، بازاریابی و فروش

اگر به دنبال برنامه‌ریزی و موفقیت در کسب و کارهای...

مشاور کارآفرینی و فروش

اگر بعنوان مدیر کسب و کار، به دنبال رونق و...

مشاور عکاسی، فیلمبرداری، تدوین و کارگردانی | مترجم ترکی‌استانبولی

اگر به دنبال طراحی کمپین‌های تبلیغاتی با نگاه یک کارگردان...

مشاور برندینگ و طراحی و توسعه محصول

اگر به عنوان کارآفرین و یا صنعت‌گر به دنبال تقویت...

مشاور SEO ،UI/UX و بازاریابی دیجیتال

اگر قصد دارید در دنیای دیجیتال فعالیت کرده و در...

مشاور برندینگ و تحقیقات بازار

اگر به عنوان فعال اقتصادی/صاحب کسب و کار نیازمند تحلیل...

مشاور برندسازی، بازاریابی و فروش

اگر بعنوان کارآفرین یا فعال اقتصادی بدنبال تقویت برند، رونق...

مشاور کارآفرینی، بازاریابی، سرمایه‌گذاری و مهاجرت در ترکیه | مترجم زبان ترکی استانبولی

اگر بدنبال مهاجرت، ثبت شرکت، فعالیت اقتصادی، سرمایه‌گذاری، توسعه کسب...

مشاور عکاسی و فیلمبرداری

اگر به دنبال خلاقیت در عکاسی و تصویربرداری برای تولید...

مشاور اینستاگرام مارکتینگ

اگر به دنبال افزایش دنبال کنندگان فعال در صفحه اینستاگرام...

مشاور کسب و کار و امور بیمه

اگر بعنوان فعال حوزه بیمه یا خدمات، دنبال تضمین موفقیت...

مشاور بازاریابی و فروش

اگر در فضای پررقابت کنونی بدنبال موفقیت تضمینی و داشتن...

برای اینکه بخواهیم رگرسیون به شکل زیر را به دست آوریم:

yi=a+bxi+ei

 (lm(y~x

را اجرا می‌کنیم که براورد عرض از مبدا (intercept) و شیب خط رگرسیون (که در مدل رگرسیونی فوق به ترتیب مقادیر a و b) هستند به صورت زیر نشان داده می‌شود:

:Call

(lm(formula = y ~ x

 :Coefficients

Intercept)          x)

      0.008005-        3.018635

رگرسیون خطی چندگانه

فرض کنید متغیر پاسخ (y) و چند متغیر پیشگو (برای مثال u، v و w) موجود است و تصور می‌کنیم که بین این متغیرهای پیشگو و متغیر پاسخ ارتباط خطی وجود دارد.

بطور مثال فرض کنید دو بردار u، v، w و y زیر موجودند:

(set.seed(500

(u<-rnorm(1000,1,1

(v<-rnorm(1000,3,1

(w<-rnorm(1000,1,1

(y<-rnorm(1000,10,1

برای اینکه بخواهیم رگرسیون به شکل زیر را به دست آوریم:

yi=a0+a1ui+ a2vi + a3wi + ei

 (lm(y~u+v+w

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

فرض کنید درباره رگرسیونی که بدست آورده‌ایم، می‌خواهیم اطلاعاتی چون R2، آماره F، فواصل اطمینان برای ضرائب رگرسیون، مانده‌ها، جدول ANOVA و… را بدست آوریم.

برای این منظور پس از اجرای رگرسیون و نامگذاری دلخواه آن (مثلاً برای راحتی کار نام متغیر را m در نظر می‌گیریم)، برای

-جدول ANOVA، تابع (anova(m؛

-ضرائب مدل، (coefficient(m یا (coef(m؛

-فواصل اطمینان ضرائب مدل، (confint(m؛

-مجموع مربعات خطا، (deviance(m؛

-بردار اثرات متعامد، (effects(m؛

-بردار مقادیر برازیده شده متغیر پاسخ (y، fitted(m؛

– مانده‌ها، (residuals(m یا (resid(m؛

-خلاصه آماره‌ها چون، R2، F و خطای استاندارد مانده‌ها، (summary(m؛

-ماتریس واریانس – کوواریانس پارامترهای اصلی، (vcov(m.

تشخیص یک مدل رگرسیون خطی

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

برای این منظور ابتدا تابع plot را برای مدل مورد نظر اجرا می‌کنیم که برخی نمودارهای را جهت تشخیص این موضوع ارائه می‌کند.

بعد از نصب پکیج car می‌توان از تابع ()outlierTest برای بررسی مانده‌های مدل استفاده کرد.

با در نظر گرفتن مثال زیر به ارائه مختصری از کار فوق می‌پردازیم.

فرض کنید:

(set.seed(1500

(x<-rnorm(1000,0,1

(y<-rnorm(1000,00,1

(m<- lm(y~x

پس از اجرای تایع:

(plot(m

به طور مثال نمودار اول بیانگر پراکنش مقادیر برازیده شده در برابر مانده‌هاست. همچنین دومین نمودار بیانگر Q-Q plot است که نشان می‌دهد آیا مانده‌ها از تابع توزیع نرمال پیروی می‌کنند یا خیر.

 پیشگویی مقادیر جدید

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

برای مثال اگر:

(set.seed(2500

(x<-rnorm(1000,0,1

(y<-rnorm(1000, 0,1

(m<- lm(y~x

داده‌های مدل رگرسیونی باشد و

(u<-rnorm(1000,0,1

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

(pred<-data.frame(u

ساخته و سپس با استفاده از دستور:

(predict(m,pred

مقادیر را پیشگویی می‌کنیم.

https://succourad.com/?p=9936
پیشنهاد براساس سلیقه شما

سئوالات و نظرات ارزشمند خود را با ما مطرح کنید

دیدگاهتان را بنویسید