简体   繁体   English

R编程-最小化具有约束变量的函数(RMSE)

[英]R programming- Minimize a function(RMSE) with constrained variables

I want to minimize a function (rmse) in R just like solver does in excel.我想最小化 R 中的函数 (rmse),就像求解器在 excel 中所做的一样。 Using the constrained vaiables (i) and conditioning it for使用受约束的变量 (i) 并将其调节为

**i >= 0 && i<=2**

ac = c(85,95,79,88,90,99,111,99,100,110)
ff = c(100,110,105,95,115,105,110,120,105,110)
ff1 = ff[2:5] ;ac1 = ac[2:5]
i=1.1 #Assume-Constraint variable
revff = ff1*i
dev1 = abs(ac1-revff)
rmse_function = function(ac1,ff1,i) sqrt(sum(abs(ac1-ff1*i)^2))

I want to minimize the function rmse by changing the variable i.我想通过更改变量 i 来最小化函数 rmse。

Write your function so its the first argument you want to minimise over, use optimise :编写您的函数,使其成为您想要最小化的第一个参数,使用optimise

> rmse_function = function(i,ac1,ff1)sqrt(sum(abs(ac1-ff1*i)^2))
> optimise(rmse_function,c(0,2),ac1=ac1, ff1=ff1)
$minimum
[1] 0.8254548

$objective
[1] 13.87804

Hence the minimum is at i=0.825 and the function has a value of 13.87 there.因此最小值在i=0.825 ,函数在那里的值为13.87

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM