R တွင် အကောင်းဆုံးလုပ်ဆောင်ချက်ကို အသုံးပြုနည်း (ဥပမာ 2 ခု)


ယေဘူယျ ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်အတွက် R တွင် အကောင်းဆုံး လုပ်ဆောင်ချက်ကို သင်အသုံးပြုနိုင်ပါသည်။

ဤလုပ်ဆောင်ချက်သည် အောက်ပါအခြေခံ syntax ကိုအသုံးပြုသည်-

 optim(by, fn, data, ...)

ရွှေ-

  • by : တွင် အကောင်းဆုံးဖြစ်အောင်ပြုလုပ်မည့် ဘောင်များ၏ ကနဦးတန်ဖိုးများ
  • fn : အနည်းဆုံး သို့မဟုတ် ချဲ့ရန် လုပ်ဆောင်ချက်တစ်ခု
  • data : ဒေတာပါရှိသော R တွင် အရာဝတ္ထုအမည်

အောက်ပါဥပမာများသည် အောက်ပါအခြေအနေများတွင် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုနည်းကို ပြသသည်-

1. linear regression model ၏ coefficients ကိုရှာပါ။

2. Quadratic regression model ၏ coefficients ကိုရှာပါ။

သွားကြရအောင်!

ဥပမာ 1- linear regression model အတွက် coefficients ရှာဖွေခြင်း။

အောက်ဖော်ပြပါ ကုဒ်သည် ကျန်ရှိသော စတုရန်း၏ ပေါင်းလဒ်ကို လျှော့ချခြင်းဖြင့် linear regression model ၏ coefficients ကိုရှာရန် optim() function ကို မည်သို့အသုံးပြုရမည်ကို ပြသသည်-

 #create data frame
df <- data.frame(x=c(1, 3, 3, 5, 6, 7, 9, 12),
                 y=c(4, 5, 8, 6, 9, 10, 13, 17))

#define function to minimize residual sum of squares
min_residuals <- function (data, par) {
                   with (data, sum((par[1] + par[2] * x - y)^2))
}

#find coefficients of linear regression model
optim(par=c(0, 1), fn=min_residuals, data=df)

$by
[1] 2.318592 1.162012

$value
[1] 11.15084

$counts
function gradient 
      79 NA 

$convergence
[1] 0

$message
NULL

$par အောက်တွင် ပြန်ပေးထားသော တန်ဖိုးများကို အသုံးပြု၍ အောက်ပါ တပ်ဆင်ထားသော linear regression model ကို ရေးသားနိုင်ပါသည်။

y = 2.318 + 1.162x

regression coefficients များကိုတွက်ချက်ရန် R ရှိ built-in lm() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ ၎င်းသည် မှန်ကန်ကြောင်း စစ်ဆေးနိုင်သည်-

 #find coefficients of linear regression model using lm() function
lm(y ~ x, data=df)

Call:
lm(formula = y ~ x, data = df)

Coefficients:
(Intercept) x  
      2,318 1,162

ဤကိန်းဂဏန်းတန်ဖိုးများသည် optim() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ ကျွန်ုပ်တို့တွက်ချက်ထားသော ကိန်းဂဏန်းများနှင့် ကိုက်ညီပါသည်။

ဥပမာ 2- Quadratic Regression Model အတွက် Coefficients ရှာဖွေခြင်း။

အောက်ဖော်ပြပါ ကုဒ်သည် ကျန်ရှိသော စတုရန်း၏ ပေါင်းလဒ်ကို လျှော့ချခြင်းဖြင့် လေးထောင့်ပုံသဏ္ဍာန် ၏ ကိန်းဂဏန်းများကို ရှာဖွေရန် optim() လုပ်ဆောင်ချက်ကို မည်သို့အသုံးပြုရမည်ကို ပြသသည်-

 #create data frame
df <- data. frame (x=c(6, 9, 12, 14, 30, 35, 40, 47, 51, 55, 60),
                 y=c(14, 28, 50, 70, 89, 94, 90, 75, 59, 44, 27))

#define function to minimize residual sum of squares
min_residuals <- function (data, par) {
                   with (data, sum((par[1] + par[2]*x + par[3]*x^2 - y)^2))
}

#find coefficients of quadratic regression model
optim(par=c(0, 0, 0), fn=min_residuals, data=df)

$by
[1] -18.261320 6.744531 -0.101201

$value
[1] 309.3412

$counts
function gradient 
     218 NA 

$convergence
[1] 0

$message
NULL

$par အောက်တွင် ပြန်ပေးထားသော တန်ဖိုးများကို အသုံးပြု၍ အောက်ပါ တပ်ဆင်ထားသော လေးပုံတပုံ ဆုတ်ယုတ်မှု ပုံစံကို ရေးနိုင်ပါသည်။

y = -18.261 + 6.744x – 0.101x 2

R တွင် built-in lm() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ ၎င်းသည် မှန်ကန်ကြောင်း စစ်ဆေးနိုင်ပါသည်။

 #create data frame
df <- data. frame (x=c(6, 9, 12, 14, 30, 35, 40, 47, 51, 55, 60),
                 y=c(14, 28, 50, 70, 89, 94, 90, 75, 59, 44, 27))

#create a new variable for x^2
df$x2 <- df$x^2

#fit quadratic regression model
quadraticModel <- lm(y ~ x + x2, data=df)

#display coefficients of quadratic regression model
summary(quadraticModel)$coef

               Estimate Std. Error t value Pr(>|t|)
(Intercept) -18.2536400 6.185069026 -2.951243 1.839072e-02
x 6.7443581 0.485515334 13.891133 6.978849e-07
x2 -0.1011996 0.007460089 -13.565470 8.378822e-07

ဤကိန်းဂဏန်းတန်ဖိုးများသည် optim() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ ကျွန်ုပ်တို့တွက်ချက်ထားသော ကိန်းဂဏန်းများနှင့် ကိုက်ညီပါသည်။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် R တွင် အခြားဘုံလုပ်ဆောင်ချက်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-

R တွင် ရိုးရှင်းသော linear regression လုပ်နည်း
R တွင် linear regression အများအပြားလုပ်ဆောင်နည်း
R တွင် regression output ကို အဓိပ္ပာယ်ဖွင့်ဆိုပုံ

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်