2014-09-24 29 views
2

我有一些數據點要繪製,並且想要爲圖形添加最適合的線條,然後輸出相關度量標準以指示最適合線條的質量。如何測量Python中最適合線條的質量?

我可以繪製數據,而polyfit是我用來添加最適合線的函數。但是,我只是想知道如何獲得指示最適合線條質量的指標?

我沒有看到polyfit返回任何指標(即最小平方誤差值)。

謝謝先進。

數據:

0,1717 
1,1761 
2,1961 
3,1711 
4,1285 
5,976 
6,721 
7,428 
8,313 
9,297 
10,375 
11,521 
12,678 
13,752 
14,728 
15,758 
16,741 
17,812 
18,845 
19,863 
20,933 
21,1169 
22,1523 
23,1779 
+0

你可以看看[numpy.polyfit有什麼錯誤?](http://stackoverflow.com/q/15721053/1730674) – askewchan 2014-09-24 22:52:02

+0

@Kevin還有[** t-test **](http:/ /docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_ind.html)是一種去測試適合度的方法。 – Dalek 2014-09-24 22:59:24

+0

也許這將有幫助嗎? http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.optimize.curve_fit.html – corvid 2014-09-24 23:05:37

回答

1

均方誤差是一個措施。

如果你有你的線和數據的每個點的numpy的數組:

numpy.mean((data - line_vals) ** 2) 

編輯: 得到line_vals,如果你有一個方程y = mx + b中的一行:

line_vals = b + m * numpy.linspace(0, 23, 24) 
+0

我使用'polyfit'函數而沒有編寫自己的多項式函數...你碰巧知道如何從那裏得到'line_vals'? – Kevin 2014-09-25 00:55:52

+0

@Kevin,你可以在'np.polyfit'的結果上使用'np.polyval'。謹防描述不匹配[here](http://stackoverflow.com/a/18767992/1730674) – askewchan 2014-09-25 02:25:25