国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼

這篇具有很好參考價(jià)值的文章主要介紹了一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

前言

一、曲線擬合策略

二、最小二乘法理論基礎(chǔ)

1.殘差

原理

特征

選取策略

2.最小二乘原則

定義

解法總覽

三、最小二乘解法

1.確定函數(shù)類

2.求解方程

極小值原理:

求解方程組

定理

特例

四、代碼實(shí)現(xiàn)

點(diǎn)關(guān)注,防走丟,如有紕漏之處,請(qǐng)留言指教,非常感謝



前言

我們知道一般都是從多個(gè)點(diǎn)來(lái)畫出直線,那么如果點(diǎn)的排列并非能夠用一條直線來(lái)擬合,但是又需要找到這樣一條線來(lái)擬合多個(gè)坐標(biāo)軸上面的點(diǎn),那么一般都是采用曲線進(jìn)行擬合。但是如何在眾多密集且離散的分布點(diǎn)中找到一條曲線來(lái)盡可能多的去擬合多個(gè)點(diǎn)呢?這就需要我們采取相應(yīng)的算法或者策略。

我們需要使這條直線到各個(gè)數(shù)據(jù)點(diǎn)之間的誤差最小且更可能的逼近,那么宏觀來(lái)看該算法應(yīng)該是全局最優(yōu)算法,所以根據(jù)此我們使用最小二乘法來(lái)擬合離散的點(diǎn)盡可能使這些數(shù)據(jù)點(diǎn)均在離此曲線的上方或下方不遠(yuǎn)處。它既能反映數(shù)據(jù)的總體分布,又不至于出現(xiàn)局部較大的波動(dòng)。我們現(xiàn)在我們來(lái)從零開始探索該算法。

本篇博客的愿景是希望我或者讀者通過(guò)閱讀這篇博客能夠?qū)W會(huì)方法并能實(shí)際運(yùn)用,而且能夠記錄到你的思想之中。希望讀者看完能夠提出錯(cuò)誤或者看法,博主會(huì)長(zhǎng)期維護(hù)博客做及時(shí)更新。


一、曲線擬合策略

在工程實(shí)際應(yīng)用和科學(xué)實(shí)驗(yàn)中通過(guò)測(cè)量得到的一組離散的數(shù)據(jù)點(diǎn),為了從中找到兩個(gè)變量中間的內(nèi)在規(guī)律性,也就是求自變量和因變量之間的近似程度比較好的函數(shù)關(guān)系式,這類問(wèn)題有插值法和曲線擬合法。這類問(wèn)題的插值法和曲線擬合法,當(dāng)個(gè)別數(shù)據(jù)的誤差較大時(shí),插值效果顯然是不理想的,而且實(shí)驗(yàn)或觀測(cè)提供的數(shù)據(jù)個(gè)數(shù)往往較多,用插值法勢(shì)必得到次數(shù)較高的插值多項(xiàng)式,會(huì)出現(xiàn)龍格現(xiàn)象。這時(shí)候最優(yōu)策略就是選擇曲線擬合策略了。

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼

?我們從數(shù)據(jù)出發(fā)構(gòu)造一個(gè)近似函數(shù),只要求所得的近似曲線能反映數(shù)據(jù)的基本趨勢(shì),使求得的逼近函數(shù)與已知函數(shù)從總體上來(lái)說(shuō)偏差的平方和最小,這就是最小二乘法。

二、最小二乘法理論基礎(chǔ)

1.殘差

原理

要從零基礎(chǔ)了解最小二乘法,那么我們需要把支撐最小二乘法的原理和算法搞懂,首先我們要了解什么是殘差。我們知道曲線擬合不要求近似曲線嚴(yán)格過(guò)所有的數(shù)據(jù)點(diǎn),但使求得的逼近函數(shù)與已知函數(shù)從總體上來(lái)說(shuō)其偏差按某種方法度量達(dá)到總體上盡可能最小。那么我們估計(jì)的曲線與真實(shí)點(diǎn)的差距就是殘差。

我們?cè)O(shè)線性回歸模型為一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼,其中:

  • Y是有相應(yīng)變量構(gòu)成的n維向量
  • X是一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼階設(shè)計(jì)矩陣
  • 一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼維向量
  • 是n維隨機(jī)變量

回歸系數(shù)的估計(jì)值,擬合值為,其中:

  • ,H為帽子矩陣

則殘差為。

特征

在回歸分析中,測(cè)定值與按回歸方程預(yù)測(cè)的值之差,以表示。殘差遵從正態(tài)分布。

的標(biāo)準(zhǔn)差,稱為標(biāo)準(zhǔn)化殘差,以表示。遵從標(biāo)準(zhǔn)正態(tài)分布。驗(yàn)點(diǎn)的標(biāo)準(zhǔn)化殘差落在(-2,2)區(qū)間以外的概率≤0.05。若某一實(shí)驗(yàn)點(diǎn)的標(biāo)準(zhǔn)化殘差落在(-2,2)區(qū)間以外,可在95%置信度將其判為異常實(shí)驗(yàn)點(diǎn),不參與回歸直線擬合。

顯然,有多少對(duì)數(shù)據(jù),就有多少個(gè)殘差。殘差分析就是通過(guò)殘差所提供的信息,分析出數(shù)據(jù)的可靠性、周期性或其它干擾。

選取策略

通常我們構(gòu)造擬合曲線,要使得殘差 盡可能的小,有3中準(zhǔn)則可供選擇,具體內(nèi)容如下:

  • 殘差的最大絕對(duì)值最?。?
  • 殘差的絕對(duì)值之和最小:
  • 殘差的平方和最?。?

根據(jù)三種準(zhǔn)則的具體形式,可以分析出前兩種比較簡(jiǎn)單,而二者都含有絕對(duì)值運(yùn)算,實(shí)際應(yīng)用中不便于操作;基于第三種準(zhǔn)則構(gòu)造的擬合曲線方法便是曲線擬合的最小二乘法。

2.最小二乘原則

定義

我們將殘差的平方和最小的原則稱為最小二乘原則。

按照最小二乘原則選取擬合曲線的方法,稱為最小二乘法。

解法總覽

對(duì)于如何利用最小二乘法原則來(lái)解決問(wèn)題,我們可以根據(jù)我們想要的結(jié)果來(lái)看:

在某個(gè)函數(shù)類來(lái)尋求一個(gè)函數(shù).

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼.使其滿足:

,其中一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼是函數(shù)類中任意函數(shù)。是待定常數(shù)。

滿足上述關(guān)系式的函數(shù)稱為上述最小二乘問(wèn)題的最小二乘解。

三、最小二乘解法

1.確定函數(shù)類

原則:根據(jù)實(shí)際問(wèn)題域所給數(shù)據(jù)點(diǎn)的變化規(guī)律確定。

??????? 在實(shí)際問(wèn)題中如何選擇基函數(shù)是一個(gè)復(fù)雜的問(wèn)題,一般要根據(jù)問(wèn)題本身的性質(zhì)來(lái)決定。通常可取的基函數(shù)有多項(xiàng)式、三角函數(shù)、指數(shù)函數(shù)。或者數(shù)據(jù)集可能本身就是一個(gè)軌跡點(diǎn)數(shù)據(jù)集,沒有強(qiáng)關(guān)聯(lián)的自變量因變量關(guān)系。這是要根據(jù)實(shí)際問(wèn)題求解的目標(biāo)調(diào)整算法。

2.求解方程

問(wèn)題轉(zhuǎn)化為求待定系數(shù)使得:

極小值原理:

記,那么我們知道存在極小值的情況,原函數(shù)需要存在收斂。

證明函數(shù)收斂,則有多元函數(shù)極值必要條件有:

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼,其中

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼

求解方程組

對(duì)任意函數(shù)h(x)和g(x)引入記號(hào):

用向量?jī)?nèi)積形式表示,可得

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼

即:

上式為求的法方程組,其矩陣的形式為:

由于向量組是線性無(wú)關(guān),故上式系數(shù)行列式

存在唯一解:于是得到函數(shù)的最小二乘解

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼

故得到下列:

定理

對(duì)于給定的一組實(shí)驗(yàn)數(shù)據(jù),互異。在函數(shù)類,且線性無(wú)關(guān),存在唯一的函數(shù)一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼使得關(guān)系式成立,并且其系數(shù)可以通過(guò)解法方程組得到。

特例

如取就得到代數(shù)多項(xiàng)式一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼

最小二乘的法方程為:

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼

四、代碼實(shí)現(xiàn)

首先進(jìn)行曲線擬合的話肯定需要數(shù)據(jù)分析三巨頭pandas、numpy和繪圖用的matplotlib

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

這里我們使用案例來(lái)實(shí)現(xiàn)最小二乘法擬合:

在某化學(xué)反應(yīng)里,測(cè)得生成物濃度y(%)與時(shí)間t(min)的數(shù)據(jù):

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼

?一般我們拿到數(shù)據(jù)都是在excel和csv,直接讀取就好了:

df_metric=pd.read_excel('try_test.xlsx')
df_metric

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼?

通過(guò)繪制散點(diǎn)圖我們很容易看出數(shù)據(jù)趨勢(shì):

x=df_metric['t']
y=df_metric['y']
plot1 = plt.plot(x, y, '*', label='origin data')
plt.title('polyfit')
plt.show()

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼?

在matplotlib庫(kù)中polyfit函數(shù)可以實(shí)現(xiàn)多項(xiàng)式擬合,也就是最小二乘擬合:

# 使用polyfit方法來(lái)擬合,并選擇多項(xiàng)式
z1 = np.polyfit(x, y, 2)
# 使用poly1d方法獲得多項(xiàng)式系數(shù),按照階數(shù)由高到低排列
p1 = np.poly1d(z1)
#打印擬合多項(xiàng)式
print(p1)

?一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼

當(dāng)然如果需要精度更高可以增加系數(shù):

# 使用polyfit方法來(lái)擬合,并選擇多項(xiàng)式
z1 = np.polyfit(x, y, 3)
# 使用poly1d方法獲得多項(xiàng)式系數(shù),按照階數(shù)由高到低排列
p1 = np.poly1d(z1)
#打印擬合多項(xiàng)式
print(p1)

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼?

擬合之后對(duì)比:

# 求對(duì)應(yīng)x的各項(xiàng)擬合函數(shù)值
fx = p1(x)
plot1 = plt.plot(x, y, '*', label='origin data')
plot2 = plt.plot(x, fx, 'r', label='polyfit data')
plt.legend(loc=4)
plt.show()

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼?

當(dāng)系數(shù)更多越精確:

一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼

實(shí)際問(wèn)題的解決中測(cè)得的數(shù)據(jù)都不是等精度的。顯然,對(duì)于精度高、權(quán)重大的數(shù)據(jù)應(yīng)該給予足夠的重視,在計(jì)算時(shí),給以足夠的權(quán)重,在這種情況下就要使用加權(quán)最小二乘法。

利用最小二乘法原則上解決了最小二乘法意義下的曲線擬合問(wèn)題,但在實(shí)際問(wèn)題的解決時(shí),n往往很大,法方程組往往是病態(tài)的,因而給求解帶來(lái)了一定的困難。其中也有相當(dāng)多的策略去優(yōu)化該算法。

點(diǎn)關(guān)注,防走丟,如有紕漏之處,請(qǐng)留言指教,非常感謝

以上就是本期全部?jī)?nèi)容。我是fanstuck ,有問(wèn)題大家隨時(shí)留言討論 ,我們下期見。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-460922.html


到了這里,關(guān)于一文速學(xué)-最小二乘法曲線擬合算法詳解+項(xiàng)目代碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 一文速學(xué)-GBDT模型算法原理以及實(shí)現(xiàn)+Python項(xiàng)目實(shí)戰(zhàn)

    目錄 前言 一、GBDT算法概述 1.決策樹 2.Boosting 3.梯度提升

    2024年01月15日
    瀏覽(22)
  • 一文速學(xué)-XGBoost模型算法原理以及實(shí)現(xiàn)+Python項(xiàng)目實(shí)戰(zhàn)

    一文速學(xué)-XGBoost模型算法原理以及實(shí)現(xiàn)+Python項(xiàng)目實(shí)戰(zhàn)

    目錄 前言 一、XGBoost模型概述 1.發(fā)展歷史 2.算法改進(jìn)之處 1.損失函數(shù) 2.分裂點(diǎn)選擇 3.剪枝策略 4.正則化 5.學(xué)習(xí)率 6.提前停止 二、XGBoost算法原理 1.初始化構(gòu)造目標(biāo)函數(shù) ?2.目標(biāo)函數(shù)變換 ?變換優(yōu)勢(shì)總結(jié) 3.將樹引入目標(biāo)函數(shù) 4.構(gòu)建最優(yōu)樹(貪心算法) 三、XGBoost實(shí)戰(zhàn)-貸款違約預(yù)測(cè)模

    2024年02月03日
    瀏覽(24)
  • Matlab 最小二乘法 擬合平面 (PCL PCA擬合平面)

    Matlab 最小二乘法 擬合平面 (PCL PCA擬合平面)

    最小二乘法 擬合平面是我們最常用的擬合平面的方法,但是有特殊的情況是用這種方法是不能擬合的,后續(xù)會(huì)加上這種擬合方法(RANSAC)。 matlab 最小二乘擬合平面(方法一) - 灰信網(wǎng)(軟件開發(fā)博客聚合) 平面方程:Ax+By+Cz+D=0; ? 1、隨機(jī)出來(lái)一些離散的點(diǎn) ?? 2、將其寫成

    2024年02月16日
    瀏覽(25)
  • 【Matlab】最小二乘法擬合多項(xiàng)式

    【Matlab】最小二乘法擬合多項(xiàng)式

    在最近的電機(jī)項(xiàng)目中,有遇到有傳感器數(shù)據(jù)并不線性的問(wèn)題,然后想要用最小二乘法做個(gè)曲線擬合,反過(guò)來(lái)去校準(zhǔn)不線性的傳感器的數(shù)據(jù),因此記錄一下使用最小二乘法來(lái)擬合多項(xiàng)式的曲線的步驟。本篇從最小二乘法的原始公式入手編寫M文件,目的是方便使用單片機(jī)實(shí)現(xiàn),或

    2023年04月22日
    瀏覽(24)
  • 最小二乘法的幾種擬合函數(shù)

    目錄 1.最小二乘法的原理和解決的問(wèn)題 2.最小二乘法的公式解法 2.1? 擬合h(x)?= a * x 2.2 擬合 h(x) = a0 + a1*x 2.3擬合 h(x) = a0 + a1 *x + a3 * x^3 ?因?yàn)椴捎镁仃嚪▉?lái)進(jìn)行最小二乘法的函數(shù)擬合時(shí),會(huì)出現(xiàn)系數(shù)矩陣的逆矩陣不存在的情況有一定的局限性,所以本篇對(duì)公式法進(jìn)行簡(jiǎn)單說(shuō)明

    2024年02月13日
    瀏覽(20)
  • C語(yǔ)言編程:最小二乘法擬合直線

    C語(yǔ)言編程:最小二乘法擬合直線

    本文研究通過(guò)C語(yǔ)言實(shí)現(xiàn)最小二乘法擬合直線。 最小二乘法,簡(jiǎn)單來(lái)說(shuō)就是根據(jù)一組觀測(cè)得到的數(shù)值,尋找一個(gè)函數(shù),使得函數(shù)與觀測(cè)點(diǎn)的誤差的平方和達(dá)到最小。在工程實(shí)踐中,這個(gè)函數(shù)通常是比較簡(jiǎn)單的,例如一次函數(shù)或二次函數(shù)。 汽車上的毫米波雷達(dá)可以探測(cè)到其他目

    2024年02月12日
    瀏覽(23)
  • 數(shù)值計(jì)算大作業(yè):最小二乘法擬合(Matlab實(shí)現(xiàn))

    數(shù)值計(jì)算大作業(yè):最小二乘法擬合(Matlab實(shí)現(xiàn))

    ? ? 作為研究生的入門課,數(shù)值計(jì)算的大作業(yè)算是所有研究生開學(xué)的重要編程作業(yè)。 ? ? ?我把最小二乘算法在MATLAB中整合成了一個(gè)M函數(shù)文件least square fitting.m,直線擬合函數(shù)lsf_linear.m,以及拋物線擬合函數(shù)lsf_parabolic.m。程序放在文章最后了,需要的同學(xué)自取。下文為作業(yè)詳

    2024年02月07日
    瀏覽(25)
  • chatgpt賦能python:Python如何擬合直線:使用最小二乘法

    在數(shù)據(jù)分析和機(jī)器學(xué)習(xí)領(lǐng)域,擬合一個(gè)最佳的直線是很常見和有用的。Python中有很多庫(kù)可以擬合直線,但最小二乘法是其中最常用的一種方法。在本文中,我們將介紹最小二乘法的原理和如何在Python中實(shí)現(xiàn)。 最小二乘法是一種常用的回歸分析方法,目的是找到一條直線來(lái)擬合

    2024年02月08日
    瀏覽(26)
  • Python實(shí)現(xiàn)遞歸最小二乘法回歸模型(RecursiveLS算法)項(xiàng)目實(shí)戰(zhàn)

    Python實(shí)現(xiàn)遞歸最小二乘法回歸模型(RecursiveLS算法)項(xiàng)目實(shí)戰(zhàn)

    說(shuō)明:這是一個(gè)機(jī)器學(xué)習(xí)實(shí)戰(zhàn)項(xiàng)目(附帶 數(shù)據(jù)+代碼+文檔+視頻講解 ),如需 數(shù)據(jù)+代碼+文檔+視頻講解 可以直接到文章最后獲取。 RLS主要是在誤差平方和最小的原則基礎(chǔ)上, 提出一種解析的擬合模型參數(shù)的迭代遞推公式;可以實(shí)現(xiàn)在新的樣本數(shù)據(jù)到來(lái)時(shí), 利用新的樣本數(shù)據(jù)以及

    2024年01月16日
    瀏覽(23)
  • 一文速學(xué)數(shù)模-時(shí)序預(yù)測(cè)模型(二)平穩(wěn)時(shí)間序列預(yù)測(cè)算法和自回歸模型(AR)詳解+Python代碼實(shí)現(xiàn)

    目錄 前言 一、平穩(wěn)時(shí)間序列預(yù)測(cè)算法 1.時(shí)間序列的分布、均值和協(xié)方差函數(shù) 概率分布

    2023年04月08日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包