亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何打印高斯曲線擬合結果?

如何打印高斯曲線擬合結果?

MMTTMM 2023-06-20 15:36:38
我花了一些時間,但我使用下面的代碼為自己創建了一個適合我的 x,y 數據集的高斯分布。import matplotlib.pyplot as pltimport numpy as npfrom scipy.optimize import curve_fitdef Gauss(x, a, x0, sigma, offset):    return a * np.exp(-(x - x0)**2 / (2 * sigma**2)) + offsetx, y = np.random.random(100), np.random.random(100)popt, pcov = curve_fit(Gauss, x, y, p0=[np.max(y), np.median(x), np.std(x), np.min(y)])plt.plot(x, y, 'b+:', label='data')x_fit = np.linspace(np.min(x), np.max(x), 1000)plt.plot(x_fit, Gauss(x_fit, *popt), 'r-', label='fit')plt.legend()plt.title('Something')plt.xlabel('Anotherthing')plt.ylabel('Athing')plt.show()我可以看到我的合身性很好,可以看到圖表和所有內容。我現在想知道的是如何在我的屏幕上打印出這個擬合的結果,例如擬合最大點 x 處的最大值、估計誤差等?這些信息可以訪問嗎?如果是這樣,有沒有辦法打印出這些信息?如果不是,請問有人能指出正確的方向來找出合適的錯誤嗎?
查看完整描述

3 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

相關信息包含在您的變量popt和中pcov。每個變量都會返回一個數組。



查看完整回答
反對 回復 2023-06-20
?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

您還可以將最終參數添加到繪圖的標簽How to return the fit error in Python curve_fit。



查看完整回答
反對 回復 2023-06-20
?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

你適合的所有相關信息都包含在 popt (最佳參數)和 pcov (協方差矩陣)中。在這種情況下,給定您的參數集(a、x0、sigma、offset),您可以將它們解壓為:

a,?x0,?sigma,?offset?=?popt;

類似地解開他們的不確定性:

ua,?ux0,?usigma,?uoffset?=?np.sqrt(np.diag(pcov));

(因為它們由它們自己的協方差給出)。

據我所知,curve_fit 不提供卡方或標準差等更多信息,我通常會在擬合完成后立即執行所需的計算,只需將所有平方差相加并除以原始值(但這更多一個統計的東西)。

希望它有所幫助。


查看完整回答
反對 回復 2023-06-20
  • 3 回答
  • 0 關注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號