Tôi đang sử dụng Scipy CurveFit để vừa với đường cong Gaussian đến dữ liệu và quan tâm đến việc phân tích chất lượng phù hợp. Tôi biết CurveFit trả về ma trận pcov hữu ích, từ đó độ lệch chuẩn của mỗi tham số phù hợp có thể được tính như sqrt (pcov [0,0]) cho tham số popt [0].Định lượng chất lượng đường cong phù hợp bằng cách sử dụng Python SciPy
ví dụ: Đoạn mã cho việc này:
import numpy as np
from scipy.optimize import curve_fit
def gaussian(self, x, *p):
A, sigma, mu, y_offset = p
return A*np.exp(-(x-mu)**2/(2.*sigma**2)) + y_offset
p0 = [1,2,3,4] #Initial guess of parameters
popt, pcov = curve_fit(gaussian, x,y, p0) #Return co-effs for fit and covariance
‘Parameter A is %f (%f uncertainty)’ % (popt[0], np.sqrt(pcov[0, 0]))
này đưa ra một dấu hiệu của sự không chắc chắn trong các thông số phù hợp cho từng hệ số trong phương trình đường cong phù hợp, nhưng tôi tự hỏi cách tốt nhất để có được một tổng thể “chất lượng của tham số phù hợp” để tôi có thể so sánh chất lượng của sự phù hợp giữa các phương trình đường cong khác nhau (ví dụ Gaussian, Super Gaussian, vv)
Ở mức đơn giản, tôi có thể tính toán độ không chắc chắn của từng hệ số và trung bình, mặc dù tôi có cách nào tốt hơn? Từ tìm kiếm trực tuyến, và từ trang Wikipedia đặc biệt hữu ích "tốt đẹp", tôi lưu ý có nhiều biện pháp để mô tả điều này. Tôi tự hỏi nếu có ai biết liệu có bất kỳ được xây dựng vào gói Python/có bất kỳ lời khuyên chung cho những cách tốt để định lượng phù hợp đường cong.
Cảm ơn bạn đã trợ giúp!
Tôi nghĩ bạn có thể muốn [lỗi chuẩn của ước tính] (http://onlinestatbook.com/2/regression/accuracy.html). –
Xem thêm câu trả lời này: Toàn bộ đầu ra từ curve_fit! http://stackoverflow.com/a/16528775/680232 –