如何使用optim()最小化回归的RMSE?

我需要使用具有多个参数的权重来最小化线性回归的RMSE。

我尝试使用optim(),但是它给出了错误-“不允许丢失或负权重”。权重不应为负数或缺失,因为当参数更改时函数的输出也会发生变化,这意味着权重在回归中起作用。

library(tidyverse)
library(MLmetrics)
library(modelr)


ff1 <- function(a){
  data1 <- sim1
  a1 <- a[1]
  a2 <- a[2]
  data1$w <- a1*data1$x + a2*data1$y
  fit <- lm(y ~ x,data = data1,weights=w)
  x2 <- data.frame(x=data1$x)
  yy <- data.frame(fit = predict(fit,x2))
  data1$fit <- yy$fit
  rmse1 <- RMSE(data1$fit,data1$x)
  return(rmse1)
}

ff1(c(1,1))
ff1(c(1,50))


sol <- optim(c(1,1),ff1)

我尝试了几种方法,但是它们会产生相同的错误。

YC4130332000 回答:如何使用optim()最小化回归的RMSE?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3139872.html

大家都在问