最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python數(shù)據(jù)擬合實(shí)現(xiàn)最小二乘法示例解析

 更新時(shí)間:2021年10月20日 15:38:12   作者:微小冷  
這篇文章主要為大家介紹了Python數(shù)據(jù)擬合實(shí)現(xiàn)最小二乘法的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步

所謂最小二乘法,即通過對(duì)數(shù)據(jù)進(jìn)行擬合,使得擬合值與樣本值的方差最小。

線性擬合

在這里插入圖片描述

在這里插入圖片描述

這個(gè)表達(dá)式還是非常簡單的。

對(duì)于有些情況,我們往往選取自然序列作為自變量,這個(gè)時(shí)候在求自變量的取值時(shí)可以用到一些初等數(shù)學(xué)的推論,對(duì)于 x ∈ [ m , n ] 的自然序列來說,有

在這里插入圖片描述

#文件名core.py
import numpy as np
def leastSquare(x,y):
    if len(x)==2:
    #此時(shí)x為自然序列
        sx = 0.5*(x[1]-x[0]+1)*(x[1]+x[0])
        ex = sx/(x[1]-x[0]+1)
        sx2 = ((x[1]*(x[1]+1)*(2*x[1]+1))
              -(x[0]*(x[0]-1)*(2*x[0]-1)))/6
        x = np.array(range(x[0],x[1]+1))
    else:
        sx = sum(x)
        ex = sx/len(x)
        sx2 = sum(x**2)    
    sxy = sum(x*y)
    ey = np.mean(y)
    a = (sxy-ey*sx)/(sx2-ex*sx)
    b = (ey*sx2-sxy*ex)/(sx2-ex*sx)
    return a,b

測試一下

>>> x = np.arange(25)
>>> y = x*15+20+np.random.randn(len(x))*5	#randn生成正態(tài)分布噪聲
>>> a,b = core.leastSquare(x,y)				
>>> plt.scatter(x,y)						#原始數(shù)據(jù)散點(diǎn)圖
<matplotlib.collections.PathCollection object at 0x00000218DEBBEDC8>
>>> plt.plot(x,a*x+b)						#擬合直線
[<matplotlib.lines.Line2D object at 0x00000218E0314FC8>]
>>> plt.show()

得到

在這里插入圖片描述

高階多項(xiàng)式

在這里插入圖片描述

和前面一樣,約定

在這里插入圖片描述

代碼如下

#傳入?yún)?shù)格式為np.array,n為階數(shù)
def leastSquareMulti(x,y,n):
    X = [np.sum(x**i) for i in range(2*n+1)]
    Y = np.array([[np.sum(y*x**i)] for i in range(n+1)])
    S = np.array([X[i:i+n+1] for i in range(n+1)])
    return np.linalg.solve(S,Y)		#

經(jīng)測試結(jié)果如下:

>>> x = np.arange(25)
>>> y = x**3+3*x**2+2*x+12
>>> import core
>>> core.leastSquareMulti(x,y,3)
array([[12.],		#此為常數(shù)項(xiàng)
       [ 2.],
       [ 3.],
       [ 1.]])

多自變量

對(duì)于樣本

在這里插入圖片描述

則相應(yīng)地其誤差方程組可表示為

在這里插入圖片描述

指數(shù)函數(shù)

在這里插入圖片描述

則其代碼為

def expFit(x,y):
    y0 = y[0:-3]
    y1 = y[1:-2]
    y2 = y[2:-1]
    B,C = leastSquare(y2/y0,y1/y0)
    b1 = np.log((B-np.sqrt(B**2+4*C))/2)
    b2 = np.log((B+np.sqrt(B**2+4*C))/2)
    X = np.exp(b1-b2)*x
    Y = y/np.exp(b2*x)
    a1,a2 = leastSquare(X,Y)
    return a1,a2,b1,b2

以上就是Python數(shù)據(jù)擬合實(shí)現(xiàn)最小二乘法示例解析的詳細(xì)內(nèi)容,更多關(guān)于Python實(shí)現(xiàn)最小二乘法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 解讀pandas.DataFrame.corrwith

    解讀pandas.DataFrame.corrwith

    這篇文章主要介紹了解讀pandas.DataFrame.corrwith,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 12步入門Python中的decorator裝飾器使用方法

    12步入門Python中的decorator裝飾器使用方法

    裝飾器的運(yùn)用是Python編程中的一項(xiàng)高級(jí)技巧,這里我們由淺入深,整理了12步入門Python中的decorator裝飾器使用方法,需要的朋友可以參考下
    2016-06-06
  • python動(dòng)態(tài)網(wǎng)頁批量爬取

    python動(dòng)態(tài)網(wǎng)頁批量爬取

    這篇文章主要介紹了python動(dòng)態(tài)網(wǎng)頁批量爬取的方法,主要針對(duì)四六級(jí)成績批量爬取,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Python的__builtin__模塊中的一些要點(diǎn)知識(shí)

    Python的__builtin__模塊中的一些要點(diǎn)知識(shí)

    這篇文章主要介紹了Python的__builtin__模塊中的一些要點(diǎn)知識(shí),是Python學(xué)習(xí)中的基礎(chǔ),需要的朋友可以參考下
    2015-05-05
  • pandas之分組groupby()的使用整理與總結(jié)

    pandas之分組groupby()的使用整理與總結(jié)

    這篇文章主要介紹了pandas之分組groupby()的使用整理與總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Pycharm配置遠(yuǎn)程SSH服務(wù)器實(shí)現(xiàn)(切換不同虛擬環(huán)境)

    Pycharm配置遠(yuǎn)程SSH服務(wù)器實(shí)現(xiàn)(切換不同虛擬環(huán)境)

    本文主要介紹了Pycharm配置遠(yuǎn)程SSH服務(wù)器實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • pycharm?console?打印中文為亂碼問題及解決

    pycharm?console?打印中文為亂碼問題及解決

    這篇文章主要介紹了pycharm?console?打印中文為亂碼問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 完美解決jupyter由于無法import新包的問題

    完美解決jupyter由于無法import新包的問題

    這篇文章主要介紹了完美解決jupyter由于無法import新包的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 深入理解Python分布式爬蟲原理

    深入理解Python分布式爬蟲原理

    本篇文章主要介紹了深入理解Python分布式爬蟲原理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • VSCode中Python環(huán)境配置、創(chuàng)建虛擬環(huán)境及pip的一些常用命令

    VSCode中Python環(huán)境配置、創(chuàng)建虛擬環(huán)境及pip的一些常用命令

    這篇文章主要給大家介紹了關(guān)于VSCode中Python環(huán)境配置、創(chuàng)建虛擬環(huán)境及pip的一些常用命令,Python環(huán)境的創(chuàng)建是在VSCode中很常見的一個(gè)需求,特別是當(dāng)我們需要開發(fā)或者調(diào)試多個(gè)Python項(xiàng)目時(shí),使用虛擬環(huán)境是一種好的方式,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

阳泉市| 颍上县| 重庆市| 临西县| 汤阴县| 会泽县| 怀仁县| 南宫市| 荥经县| 电白县| 双鸭山市| 江津市| 周口市| 木兰县| 承德市| 边坝县| 墨江| 平果县| 托克逊县| 区。| 运城市| 郑州市| 靖西县| 惠州市| 茂名市| 抚宁县| 开原市| 宜春市| 北安市| 瑞昌市| 临泉县| 石林| 日喀则市| 昌吉市| 清河县| 三明市| 沂南县| 鸡东县| 图木舒克市| 山丹县| 西吉县|