我々は、複数の多項式(または非線形)のソリューションを持つことができるので、それは、あなたのシリーズを生成したユニークな機能を決定することはできません。
想像してみてください...あなたのシリーズのポイントと一致するポイントを持つ多くの関数があります。
あなたの問題を解決する最も合理的な方法は、いくつかの回帰テクニックを使用することです。
たとえば、最小自乗法を使用してデータを適合させることができます。
モデル(例:y = a + bx + error
)を指定し、データをこの機能フォームに適合させる必要があります。
次に、あなたのような係数を持っています:ここでは、まあ、あなたが本当にフィットルーチンを必要とするいくつかのコード
import numpy as np
from scipy.optimize import curve_fit
def func(x, k, l):
return k * x + l
X = [0, 1, 2, 3, 4, 5]
Y = [2, 2, 2, 2, 2, 2]
popt, pcov = curve_fit(func, X, Y)
print(popt)
print(pcov)
出力をRegression Analysis
これに対する一般的な解決策はありませんに
func
を書き換える任意の関数形状を試みることができる一定です。たとえば、scipyで利用できるさまざまなカーブフィッティング関数を使用することができますが、フィットするカーブの種類と最適なものを決める方法はあなた次第です。 – BrenBarn
あなたの例では何が起こっていますか? Y値はすべて同じですので、これは単なる水平線です。 "kx + l"は明らかにyの関数ではないので、 "f(y)= kx + l"の意味は分かりません。 –
あなたは 'f(x)'を意味しませんか?可能な関数型(多項式、指数関数、力など)の範囲はありますか? – Jasper