2017-01-25 1 views
-2

R에서 solver가 Excel에서하는 것처럼 함수 (rmse)를 최소화하고 싶습니다. 제한된 vaiables (i)를 사용하여 조절하기R 프로그래밍 - 제한된 변수를 사용하여 함수 (RMSE) 최소화

**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를 변경하여 rmse 함수를 최소화하고 싶습니다.

+0

'rmse'는 함수가 아닙니다. – Spacedman

+0

안녕하세요. 기능을 업데이트했습니다. –

답변

0

당신이 넘는 최소화하려는 그것 인수 귀하의 함수를 작성, 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 

는 따라서 최소 i=0.825에 있고 기능이 13.87의 값을 갖는다.

+0

감사합니다. 그것은 매력처럼 작동했습니다. 이제는 가중 평균과 MAE에 대해서도 썼습니다. –

관련 문제