私はこの機能を持っています、
dn =fp(xn)+an =Asin(2π k xn +φ)+an
anはσ2 = 1のガウス分布ランダム ノイズであり、 pは自由パラメーターの値の特定の選択を示します。p = [A,k,φ]
2 つの関数を記述する必要があります。
(1) peval - 一連のパラメーター値 p と独立変数 x の値が提供され、fp(x) を返します。
(2)残差- パラメータ値、データセット、および独立変数値の配列 xn が提供され、残差を返します
これは私が現時点で持っているものですが、ガウス分布ランダムノイズである「an」を入力する方法がわかりません。これは私の推測でした..
an = np.random.normal(0,1,100)
def peval(x, p):
#Evaluate the model at the points in x for model parameter values in p.
# return a numpy array containing the set of points y(x)
return p[1]*np.sin(2*(np.pi)*p[2]*x+p[3])+an
def residuals(p, y, x):
# Evaluate the function at for the particular parameter set p,
# find the and return residuals.
# p is the set of parameters
# y is the measured data set
# x is the independent variable.
return (y-peval(x,p))
次のようなデータがあります。
0.0003 6.09073051353
0.0006 5.51270817927
0.0009 6.89123564432
0.0012 4.99645189114
0.0015 6.7032515641
0.0018 8.9916107534
よろしくお願いします。