在R中将Optim转换为constrOptim

时间:2014-05-23 17:34:55

标签: r

我正在尝试确定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)

1 个答案:

答案 0 :(得分:0)

假设您在x范围内拥有值(-Inf, Inf),并且您需要p范围内的值[0,1],并且总和为1,您可以进行以下转换

p <- exp(x)/sum(exp(x))

如果你在优化功能中进行翻译并对最佳参数集进行相同的转换,你应该得到你想要的。