亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

numpy多項式擬合函數(shù)polyfit的使用方法代碼

 更新時間:2024年01月23日 15:02:42   作者:馬紅權(quán)  
這篇文章主要給大家介紹了關(guān)于numpy多項式擬合函數(shù)polyfit的使用方法,np.polyfit是Numpy庫中的一個函數(shù),用于在最小二乘意義下擬合多項式曲線到數(shù)據(jù)點集,需要的朋友可以參考下
import numpy as np
def fit(x,y,m,w):
    if len(x)<=m:
        return False
    xishu = np.polyfit(x,y,m,w=w)
    p = np.poly1d(xishu) # 構(gòu)造多項式
    yfit = p(x) # 擬合的y值
    yresid = y - yfit # 殘差
    SSresid = sum(pow(yresid, 2)) # 殘差平方和
    SStotal = len(y) * np.var(y) # 總體平均方差
    if SStotal==0:#水平線
        r2=1
    else:
        r2 = 1 - SSresid/SStotal # 擬合優(yōu)度    
    return (xishu,r2,yfit)
if __name__=="__main__":
    x = np.arange(0,5,0.1)
    z = [2+3*x+4*x**2 for x in x]
    y = np.array([np.random.normal(z,3) for z in z])
    weight=[1 for one in x]
    print(fit(x,y,2,weight))

polyfit(x,y,m,w) 參數(shù)m為多項式的次數(shù)+1,w為權(quán)重。權(quán)重的含義是這個數(shù)據(jù)點的誤差要乘以權(quán)重,低點給予高權(quán)重可以減少低點的誤差,避免低點的相對誤差過大。

自定義函數(shù)fit(x,y,m,w)的返回值 (xishu,r2,yfit)分別為系數(shù)、相關(guān)系數(shù)、擬合Y值。

過原點也可以通過權(quán)重實現(xiàn)。代碼如下:

if must00:
    x=np.append(x,0)#.append(0)
    y=np.append(y,0)#y.append(0)
    w=np.append(w,100000000)#.append(10000)
fit_r=fit(x,y,m,w)
if fit_r:
    (xishu,r,y_fitted)=fit_r
else:
    #fit error
    xishu=[0,1,0]
    y_fitted=x 
    r=0

總結(jié) 

到此這篇關(guān)于numpy多項式擬合函數(shù)polyfit使用的文章就介紹到這了,更多相關(guān)numpy多項式擬合函數(shù)polyfi內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論