[英]How to approximate a value from a formula
所以我有一個alpha矢量,一個beta矢量,我試圖找到一個theta,當所有估計的總和(對於alpha的1 to N
和beta的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。
我找到的值theta
這種方式。 問題是,使用Python花了大約60秒來找到0.456的θ。
什么是更快找到這個theta的方法(因為我想將其應用於其他數據)?
如果你知道θ的下限和上限,並且函數在它們之間的范圍內是單調的,那么你可以使用二分算法來輕松快速地找到所需的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.