2013-09-24 109 views
5

私はデータの2つのリストを持っています.1つはxの値を持ち、もう1つは対応するyの値を持っています。どのようにしてベストフィットを見つけることができますか?私はscipy.optimize.leastsqと混乱を試みたが、私はちょうどそれを得るように見えない。Pythonの最小二乗法

すべてのヘルプは非常に私は最小二乗多項式フィットを実行する、numpy.polyfitを使用する方が簡単だと思う

+2

それは単純かもしれないフィット:これは単純なスニペットです図書館を探すのではなく、自分で数学をするだけです。 'scipy.optimize.leastsq'のようなものは、必要以上に複雑です。 –

答えて

12

を高く評価しています。あなただけの[線形](http://en.wikipedia.org/wiki/Linear_least_squares_(数学))をやっている場合は

import numpy as np 

x = np.array([0,1,2,3,4,5]) 
y = np.array([2.1, 2.9, 4.15, 4.98, 5.5, 6]) 

z = np.polyfit(x, y, 1) 
p = np.poly1d(z) 

#plotting 
import matplotlib.pyplot as plt 
xp = np.linspace(-1, 6, 100) 
plt.plot(x, y, '.', xp, p(xp)) 
plt.show() 

enter image description here

+0

これは私が必要としていたものです。ありがとう! –

関連する問題