微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 scipy.optimize.minimize 最小化数组中的 SSE?

如何解决如何使用 scipy.optimize.minimize 最小化数组中的 SSE?

我正在尝试从头开始为债券收益率曲线绘制三次样条。我有三个函数cubic_func market_valuesse

def cubic_func(t,a,b,c,d):
    return a*(t**3)+b*(t**2)+c*t + d

def market_value(t,y):
    return math.exp(-y*t/12)

def cal_sse(param):
    t,y,d = param[0],param[1],param[2],param[3],param[4],param[5]
    model = cubic_func(t,d)
    market = market_value(t,y)
    return (market - model)**2

我需要通过为 cal_sse 找到合适的值来最小化函数 a,d。 我试过了

initial_guess = [1,1,1]
result = minimize(obj,initial_guess)
result.x
# result.x give array([0.03589394,0.9864572,0.81598281,0.81627056,0.82279686,0.96643035])

我的情况是变量 yt 是两个数组。我想最小化 y 和 t 中的所有值,并为每个 a,d 获得一个值。此外,我不需要更改 yt 的值。我不明白为什么 result.x 还为 y 和 t 赋值。

我应该如何解决这个问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。