我有一些數據(x
和y
座標)來自一項研究,我必須繪製它們並找到適合數據的最佳曲線。我的曲線是:Python擬合多項式,冪律和指數數據
- 多項式達6度;
- 冪律;
- 指數。
我能找到多項式最適合與
while(i < 6):
coefs, val = poly.polyfit(x, y, i, full=True)
,我採取最小化val
程度。
當我必須適應冪律(最有可能在我的研究中),我不知道如何正確地做到這一點。這就是我所做的。我已將日誌函數應用於所有x
和y
,並且我試圖用線性多項式來擬合它。如果誤差(val)低於之前嘗試過的其他多項式,我選擇冪律函數(自然如果線的m爲負數)。我對麼?
現在我怎麼能重建我的冪律從y = mx + q
行,以繪製它與原始點?我還需要顯示找到的功能。
我試圖與:
def power_law(x, m, q):
return q * (x**m)
使用
x_new = np.linspace(x[0], x[-1], num=len(x)*10)
y1 = power_law(x_new, coefs[0], coefs[1])
popt, pcov = curve_fit(power_law, x_new, y1)
但得到的曲線不擬合數據。
*「看起來效果不好」*是什麼意思?錯誤(提供完整的追溯)?意想不到的產出(提供投入,預期和實際產出)? – jonrsharpe
這是一個方法論上的問題,我不要求一個完整的代碼,代碼在這裏沒有必要。我不是問這個問題。有一個問題:「我是否正確?如何重建權力法?」 – Nadir
曲線不符合數據,所以,從方法論角度來說,我的想法可能不是正確的。 – Nadir