我想在python中擬合三次樣條來對噪聲x,y數據進行噪聲提取並提取每個區間的樣條係數(即我期望獲得每個區間的四個樣條係數)不同的python函數來擬合三次樣條,找到係數
到目前爲止,我已經試過(全部來自scipy.interpolate):
1)CubicSpline,但這種方法並不能讓我順利的花鍵,導致不現實的,跳動的係數數據。
2)合併spl and和脾,例如,
tck = splrep(x, y, k=3, s=1e25)
其中I提取的係數/結使用
F = PPoly.from_spline(tck)
coeffs = F.c
knots = F.x
然而,我無法找到在整個的x範圍平滑係數(接近於零,1e23值之間跳躍,這是非物理)甚至如果我將平滑參數s加大到非常大的數字,最終導致結節數量太少,因爲結節數量隨s減少。似乎我無法同時找到合適的參數s和節點數。
3)I使用 UnivariateSpline(X,Y,K = 3,S = 0.03) 在這裏,我發現了更好的靈敏度變化的S,但相應get_coeffs()方法不爲每個間隔提供4個係數但只有一個,我不明白。 4)我也試過用三階多項式進行分段脊線性迴歸,但是這種方法對擬合提供了太大的百分比誤差,所以很容易得到其中一種標準樣條函數的工作方式。
我缺少什麼?有人可以幫忙嗎?