【问题标题】:How can I set, rather than fit, the co-efficients of a spline interpolation using scipy?如何使用 scipy 设置而不是拟合样条插值的系数?
【发布时间】:2014-01-16 07:26:03
【问题描述】:

我正在尝试训练一个预测模型,并希望使用类似样条的插值来表示构成模型一部分的某些函数。然而,这不是在一个区域上拟合一些 x,y 数据以找到样条系数的简单情况,而是由样条近似的函数构成非线性生成模型的一部分。为了找到系数,我需要使用非线性最小化算法来针对训练数据集进行优化。这意味着我需要能够直接指定一组系数,而不是使用 scipy.interpolate 中的拟合方法(例如 scipy.interpolate.UnivariateSpline)。

有没有办法指定样条系数,然后将生成的对象用作模型中的函数?如果 scipy 无法做到这一点,是否有另一个支持此功能的 python 库?

【问题讨论】:

    标签: python algorithm scipy


    【解决方案1】:

    如果我理解正确,您基本上是想将自己的样条系数指定为独立参数,然后使用内置样条功能对其进行评估。

    http://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.splev.html

    splev 采用通常由 splrep 或 splprep 生成的节点和系数,但您应该能够绕过这些例程并自己修改系数。

    【讨论】:

    • 是的,你已经明白我想要做什么(并且比我说得更清楚)。我唯一不能理解的是 splrep 和 splprep 允许您指定周期性边界条件,但 splev 没有?是否有一个不同的(但相关的)例程可以用于周期性边界条件?
    • 我认为如果你告诉 splrep 假设一个周期性函数,那么你可以在 splev 中使用这些系数并具有周期性,但你可能必须将你的自变量移动到范围 [ x [ 0] x[n] ]
    猜你喜欢
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 2019-08-05
    • 2021-11-22
    • 1970-01-01
    • 2019-06-23
    • 2015-08-31
    相关资源
    最近更新 更多