رگرسیون غیرخطی در R
دسترسی سریع
رگرسیون غیرخطی در R
فرض کنید دو بردار از مشاهدات x و y را در اختیار داریم و به نظر میرسد که رگرسیونی غیرخطی برای این دو بردار برقرار است. یعنی حدس ما این است که بردار y تابعی غیرخطی از بردار x است. برای بدست آوردن پارامترهای مربوط به این رگرسیون از تابع ()nls استفاده میکنیم. برای این منظور فرض کنید:
a<- 1:1000
b<-3*a^2+a+5
حال با اضافه کردن برداری از نویزها به بردار b مقادیر آن را کمی متفاوت از بردار اصلی b تغییر میدهیم. یعنی خواهیم داشت:
(c<-b+rnorm(1000,0,1
حال مساله را این طور مطرح میکنیم که فرض کنیم بردار x و z را در اختیار داریم (که به صورت زیر هستند) و میدانیم بین بردار z و x رگرسیونی غیرخطی از نوع درجه دو برقرار است. حال میخواهیم برای این حدس ضرائب رگرسیون غیرخطی فوق را بدست آوریم. یعنی میخواهیم ببینیم که برای حدس مدل رگرسیونی به شکل:
z=rx2+ux+s
ضرائب این رگرسیون چند است.
برای این منظور داریم:
(abc <-matrix(c(a,b,c),ncol=3
[x<-abc[,1
[y<- abc [,2
[z<- abc [,3
((nls(z~r*x^2+u*x+s,list(abc),start=list(r=1,u=1,s=1
که در توضیح تابع باید گفت که در قسمت اول آرگومان تابع باید فرمول مورد نظر، در قسمت دوم آرگومان مجموعه دادهای که این دو بردار در آن موجود هستند که باید به صورت list باشند و در قسمت سوم آرگومان تابع، مقادیر اولیه پارامترهایی که میخواهیم بررسی شوند به صورت list نوشته میشوند.
نظرات
هیچ نظری وجود ندارد.
افزودن نظر
مشاهده نقشه سایت
Copyright © 2017 - 2023 Khavarzadeh®. All rights reserved