簡體   English   中英

使用python scipy.optimize.basinhopping在exp中溢出

[英]overflow in exp using python scipy.optimize.basinhopping

我正在使用scipy.optimize.basinhopping,以使簡單的指數函數( exp(-b時間))適合實際數據。 我嘗試進行適當的初始猜測(針對a和b),但是在某些迭代中(針對某些值進行跳槽猜測),發生“ exp溢出”。 我知道這是因為要通過exp計算出很大的答案。 順便說一句,結果是絕對錯誤的。 是否總有要求代碼忽略那些包含猜測的錯誤,以防止輸出錯誤的結果? +時間從0到e + 06左右。感謝您的關心和幫助

這是我的代碼。 運行后,對於bk的某些值,我得到了溢出錯誤,因此ret的結果值絕對是錯誤的,與正確答案相距甚遠。 :(

def model(bk):
    s = 0
    realData = data()
    modelData = []
    modelData.append(realData[0])
    for time in range(len(realData) - 1):
        x = realData[0] * np.exp((bk[0] * np.exp(bk[1]*time))*time)
        y = 1 - realData[0] + x
        i = x / y
        modelData.append(i)
        s+=np.abs(i-realData[time])

    return(s)
def optimize():
    bk0 = [1,-1]
    minimizer_kwargs = {"method" : "BFGS"}
    ret = basinhopping(model, bk0, minimizer_kwargs=minimizer_kwargs, niter=100)
    print(ret)

optimize()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM