我正在尝试确定9个指标的权重,这将返回最高的准确率。由于它们是权重,因此值需要总和为1并且介于0和0之间。 1.我目前正在使用optim函数,但是做了约束,我想我需要切换到constrOptim。我想知道最好的方法。下面我已经包含了我目前正在使用的代码。 x.matrix是20,000乘9的值矩阵,排在1-10之间。
pars<-c(w1=(1/9),w2=(1/9),w3=(1/9),w4=(1/9),w5=(1/9),w6=(1/9),w7=(1/9),w8=(1/9),w9=(1/9))
OptPars<-function(pars){(-(rcorr.cens(x.matrix%*%pars),f)["Dxy"])}
opt<-optim(pars,OptPars)
答案 0 :(得分:0)
假设您在x
范围内拥有值(-Inf, Inf)
,并且您需要p
范围内的值[0,1]
,并且总和为1,您可以进行以下转换
p <- exp(x)/sum(exp(x))
如果你在优化功能中进行翻译并对最佳参数集进行相同的转换,你应该得到你想要的。