2014-01-15 45 views
0

我正在訓練一個預測模型,並希望使用樣條曲線插值來表示構成模型一部分的某些函數。然而,這不是一個簡單的情況,即在一個區域上擬合一些x,y數據來找到樣條係數,而樣條曲線近似的函數形成了非線性生成模型的一部分。爲了找到我需要使用非線性最小化算法對訓練數據集進行優化的係數。這意味着我需要能夠直接指定一組係數而不是在scipy.interpolate中使用擬合方法(如scipy.interpolate.UnivariateSpline)。如何使用scipy設置而不是擬合樣條插值的係數?

有沒有辦法指定樣條曲線的係數,然後將結果對象用作模型中的函數?如果scipy無法實現這個功能,是否還有另一個支持這種功能的python庫?

回答

1

如果我理解正確,您基本上想要將自己的樣條係數指定爲獨立參數,然後使用內置樣條函數對其進行評估。

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

splev花費通常由splrep或splprep產生疙瘩和係數,但你應該能夠繞過這些程序和修改自己的係數。

+0

是的,你已經明白我想要做什麼(並且比我管理得更清楚)。我唯一不能遵循的是splrep和splprep允許你指定週期性的邊界條件,但是脾沒有?是否有與脾臟週期性邊界條件不同的(但相關的)例程? – Bogdanovist

+1

我想如果你告訴splrep假定一個周期函數,那麼你可以在脾臟中使用這些係數並且具有周期性,但是你可能不得不將自變量移到範圍[x [0] x [n]] –

相關問題