1 to N
したがって、アルファのベクトルが 1 つ、ベータのベクトルが 1 つあり、(アルファとベータの1 to N
) すべての推定値の合計が 60になるときのシータを見つけようとしています。
def CalcTheta(grensscore, alpha, beta):
theta = 0.0001
estimate = [grensscore-1]
while(sum(estimate) < grensscore):
theta += 0.00001
for x in range(len(beta)):
if x == 0:
estimate = []
estimate.append(math.exp(alpha[x] * (theta - beta[x])) /
(1 + math.exp(alpha[x] * (theta - beta[x]))))
return(theta)
基本的に私がしたことは、から始めてtheta = 0.0001
、これらすべての合計を繰り返し計算し、60 未満の場合は毎回 0.0001 を追加していきます。60 を超えると、シータが見つかったことを意味します。
私はこの方法で値を見つけましたtheta
。問題は、Python を使用して 0.456 のシータを見つけるのに約 60 秒かかったということです。
このシータを見つけるためのより迅速なアプローチは何ですか (これを他のデータに適用したいため)?