再現性のある質問に書き直しました。自分で選んだグリッドに沿って関数exp(alpha+eta+gamma)
を最大化したいとします。alpha,eta,gamma
これはforループを使用して行いましたが、apply-functionsを使用して手順を高速化したいと思います。これが私がしたことです(etaとgammaはここで修正されています)。
eta=0.11
gamma=0.06
alpha=0.5
alpha_vals=seq(0.1,1,by=0.1)
eta_vals=eta
gamma_vals=gamma
ml_temp=-Inf
lapply(alpha_vals,function(alpha_v){
lapply(eta_vals,function(eta_v){
lapply(gamma_vals,function(gamma_v){
temp=exp(alpha_v+eta_v+gamma_v)
if (temp >= ml_temp) {
ml_temp=temp
mle_matrix=c(alpha_v,eta_v,gamma_v)
}
})
})
})
出力mle_matrix
するので0 0 0
、明らかに何かが機能していません。どんな助けでも大歓迎です。