我有一张布行和专栏的矩阵图,用于制造“间_”。 现在,我为每个从1个到B条的人开了一个“路”。 每一电离层的每行都将在“v3”这一变数的轮优化之后,最终储存成形元素的病媒。 优化的病媒被称作“终端_1”。 在一些分析中,如“c-th”的蒸发,在优化之后,该病媒作为每一组成部分的“NA”数值回归。
这里涉及我的问题和我打算执行的内容。 我想指出,“c-th”的循环,希望“c will be c-1”,而“for”的循环因为循环而终止,它将再次开始“for” loop,考虑开始“c-th”循环。 我完全不想碰到任何含有“NA”的行文。 优化工作仍然富有成果
How to re-run that "for" loop from "c-th" iteration again if I am terminating at "c"?
为此,我采用了以下法典。 但是,后来,我认识到“ext”论点无助于我的问题,因为它将完全ski笑“c-th”的活力,并从“c+1”开始。 因此,从这个意义上讲,我的准则存在缺陷,我特别要求这样做。 我找不到什么。 请提供帮助。 各位难以理解的任何消息,请让我知道。 这里是我的法典。
library(CVXR). ##for convex optimization
B=50 #bootstrap iterations to be made
beta_bootstrap = matrix(NA,B,p) # collect B copies of bootstrap estimate of lasso estimator
for(c in 1:B)
{
G_boot = matrix(NA,1,n)
for (j in 1:n)
{
G_boot[1,j]= rexp(1,1) ## extract n iid exp(1) r.v for each stage optimization in objective function.
}
G_boot
#perturbation quantities from known density Exp(1), n copies at each stage, repeat B times
## Next we do Bootstrap convex optimization though CVXR function
v3 = CVXR::Variable(p)
##declaration: bootstrap estimate wrt which objective function is optimized
penalty_boot = (p_norm(v3,1))*lambda_opt ## penalty term in the objective fn through p_norm syntax.
##lambda_opt is a known scalar
zz= t(y*G_boot) ## a col vector consisting of component wise product of y and G_boot. Also * does component wise product and return a vector
l1= -sum((z%*%v3)*zz) ## %*% returns actually a scalar product
zz1= as.matrix(y-P_tilde) ## y, P_tilde we know beforehand
l2= sum((z%*%v3)*zz1)
zz2= t(G_boot) ## col vector G_boot
l3 = sum((logistic(z%*%v3))*zz2) ## logistic(z) is an atom for log(1+exp z) in cvxr
obj_boot = penalty_boot+l1+l2+l3 ## objective function for optimization
prob_boot = Problem(Minimize(obj_boot)) ## minimisation of objective function
resultB = solve(prob_boot)
resultB
final_boot1 = resultB$getValue(v3)
final_boot1=as.vector(final_boot1) ##final_boot1 giving NA values sometimes, which is my concern
##I know this if statement is flawed. 请提供帮助。
if(any(is.na(final_boot1))==TRUE)
{
c=c-1
next
}
final_boot2=as.matrix(final_boot1)
final_boot2
final_boot3 = t(final_boot2)
final_boot3 ## Minimizer Bootstrap estimator
beta_bootstrap[c,]= final_boot3 ## At c-th stage we store that bootstrap estimator of p components
}
beta_bootstrap ##This matrix is important to construct Bootstrap Percentile Intervals
请提供帮助。