线性拟合polyfit_6.数据分析(1) 描述性统计量和线性回归(2)
昨天分享了描述性統(tǒng)計(jì)量相關(guān)內(nèi)容,今天把昨天剩下的部分寫(xiě)完,
昨天文章鏈接:
6.數(shù)據(jù)分析(1) --描述性統(tǒng)計(jì)量和線性回歸(1)
前言:在針對(duì)非物理信號(hào)分析的時(shí)候,例如用戶(hù)數(shù)、用戶(hù)經(jīng)常出入的地點(diǎn)、疾病感染人數(shù)等,這部分涉及到數(shù)據(jù)分析知識(shí),本文分享一下Matlab常用的描述性統(tǒng)計(jì)量函數(shù)和線性回歸的基本應(yīng)用。
1、線性回歸簡(jiǎn)介
數(shù)據(jù)模型明確描述預(yù)測(cè)變量與響應(yīng)變量之間的關(guān)系。線性回歸擬合模型系數(shù)為線性的數(shù)據(jù)模型。最常見(jiàn)的線性回歸類(lèi)型是最小二乘擬合,它可用于擬合線和多項(xiàng)式以及其他線性模型。
在對(duì)各對(duì)數(shù)量之間的關(guān)系進(jìn)行建模之前,最好進(jìn)行相關(guān)性分析,以確定這些數(shù)量之間是否存在線性關(guān)系。
如果需要使用非線性模型擬合數(shù)據(jù),請(qǐng)轉(zhuǎn)換變量以使關(guān)系變成線性關(guān)系。或者嘗試使用nlinfit 函數(shù)、lsqcurvefit 函數(shù)直接擬合非線性函數(shù)。
2、簡(jiǎn)單線性回歸
線性回歸對(duì)一個(gè)因變量(即響應(yīng)變量)y 與一個(gè)或多個(gè)自變量(即預(yù)測(cè)變量)x1,...,xn之間的關(guān)系進(jìn)行建模。簡(jiǎn)單線性回歸使用以下關(guān)系方程:
y=β0+β1x+?其中,β0是 y 軸截距,β1是斜率(即回歸系數(shù)),??是誤差項(xiàng)。
首先確定一組(n 個(gè))x 和 y 的觀測(cè)值,以?(x1,y1), (x2,y2), ..., (xn,yn)?形式給出。對(duì)這些值應(yīng)用簡(jiǎn)單線性回歸關(guān)系方程,構(gòu)成一個(gè)線性方程組。這些方程以矩陣形式表示如下:
假設(shè)
現(xiàn)在關(guān)系變?yōu)?Y=XB。
load x.matload y.matb1?=?x\yb1?=1.372716735564871e-04b1 是斜率或回歸系數(shù)。線性關(guān)系為 y=β1x=0.0001373x。
yCalc1 = b1*x;scatter(x,y)hold onplot(x,yCalc1)grid on在模型中加入 y 軸截距β0?以改進(jìn)擬合,即y=β0+β1x。用一列 1 填補(bǔ) x 并使用?\?運(yùn)算符計(jì)算?β0。
X = [ones(length(x),1) x];b = X\y此結(jié)果表示關(guān)系 y=β0+β1x=142.7120+0.0001256x。
yCalc2 = X*b;plot(x,yCalc2,'--')legend('原始數(shù)據(jù)','方法1','方法2','Location','best');如圖所示,兩個(gè)擬合非常相似。判斷更佳擬合的一種方法是計(jì)算決定系數(shù) R2。R2 用于度量模型能夠在多大程度上預(yù)測(cè)數(shù)據(jù),其值介于?0?和 1 之間。R2 的值越高,模型預(yù)測(cè)數(shù)據(jù)的準(zhǔn)確性越高。
其中,?y?表示?y?的計(jì)算值, ̄y?是?y?的均值,R2?定義為
通過(guò)比較 R2 的值,找出兩個(gè)擬合中較好的一個(gè)。如 R2 值所示,包含 y 軸截距的第二個(gè)擬合更好。
Rsq1 = 1 - sum((y - yCalc1).^2)/sum((y - mean(y)).^2)Rsq2 = 1 - sum((y - yCalc2).^2)/sum((y - mean(y)).^2)Rsq1?=???0.822235650485566Rsq2?= 0.8382105311034283、殘差與擬合優(yōu)度
殘差是響應(yīng)變量(因變量y)的觀測(cè)值與模型的預(yù)測(cè)值之間的差。當(dāng)擬合的模型適合數(shù)據(jù)時(shí),殘差接近獨(dú)立隨機(jī)誤差。即,殘差分布不應(yīng)該呈現(xiàn)出可辨識(shí)的模式。
利用線性模型產(chǎn)生擬合需要盡量減小殘差平方和。該最小化的結(jié)果即為最小二乘擬合。
擬合優(yōu)度的一個(gè)度量是決定系數(shù)?或 R2。該統(tǒng)計(jì)量表明通過(guò)擬合模型得到的值與模型可預(yù)測(cè)的因變量的匹配程度。擬合模型的殘差方差定義 R2:
R2?= 1 – SSresid?/ SStotal
SSresid 是與回歸的殘差的平方和。SStotal 是與因變量均值的差的平方和(總平方和)。
3.1?通過(guò)多項(xiàng)式擬合計(jì)算 R2
從多項(xiàng)式回歸的系數(shù)得出 R2,以確定線性模型對(duì)?y?的方差的解釋率,
利用 polyfit 計(jì)算從 x 預(yù)測(cè) y 的線性回歸:
p = polyfit(x,y,1)p =
1.5229 -2.1911
p(1)?是斜率,p(2)?是線性預(yù)測(cè)變量的截距。
調(diào)用 polyval 以使用 p 預(yù)測(cè) y,調(diào)用結(jié)果 yfit:
yfit = polyval(p,x);使用 polyval,在本例中擬合方程為:
yfit = p(1) * x + p(2);將殘差值計(jì)算為有符號(hào)數(shù)的向量:
yresid = y - yfit;計(jì)算殘差的平方并相加,以獲得殘差平方和:
SSresid = sum(yresid.^2);通過(guò)將觀測(cè)次數(shù)減 1 再乘以 y 的方差,計(jì)算 y 的總平方和:
SStotal = (length(y)-1) * var(y);計(jì)算 R2:
rsq = 1 - SSresid/SStotalrsq =
0.8707
這表明,線性方程 1.5229 * x -2.1911 可預(yù)測(cè)變量 y 中方差的 87%。
3.2 計(jì)算多項(xiàng)式回歸的調(diào)整 R2
通常可通過(guò)擬合更高次多項(xiàng)式,減少模型中的殘差。當(dāng)您添加更多項(xiàng)時(shí),會(huì)增加決定系數(shù) R2。您可獲得更接近數(shù)據(jù)的擬合,但代價(jià)是模型更為復(fù)雜,此時(shí)需要對(duì)該統(tǒng)計(jì)量R2進(jìn)行改進(jìn),調(diào)整 R2 中包括了一項(xiàng)對(duì)模型中項(xiàng)數(shù)的罰值。因此,調(diào)整 R2 更適合比較不同的模型對(duì)同一數(shù)據(jù)的擬合程度。調(diào)整 R2 定義如下:
R2adjusted?= 1 - (SSresid?/ SStotal)*((n-1)/(n-d-1))
其中 n 是數(shù)據(jù)中的觀測(cè)值數(shù)量,d 是多項(xiàng)式的次數(shù)。(線性擬合的階數(shù)為 1,二次擬合為 2,三次擬合為 3,依此類(lèi)推。)調(diào)用 polyfit 生成三次擬合,以從 x 預(yù)測(cè) y:
p = polyfit(x,y,3)p =
-0.0003 0.0390 0.2233 6.2779
p(4)?是三次預(yù)測(cè)變量的截距。
調(diào)用 polyval 以使用 p 中的系數(shù)預(yù)測(cè) y,將結(jié)果命名為 yfit:
yfit = polyval(p,x);polyval 計(jì)算顯式方程,手動(dòng)輸入則如下所示:
yfit = p(1) * x.^3 + p(2) * x.^2 + p(3) * x + p(4);計(jì)算殘差值:
yresid = y - yfit;計(jì)算殘差的平方并相加,以獲得殘差平方和:
SSresid = sum(yresid.^2);通過(guò)將觀測(cè)次數(shù)減 1 再乘以 y 的方差,計(jì)算 y 的總平方和:
SStotal = (length(y)-1) * var(y);計(jì)算三次擬合的簡(jiǎn)單 R2:
rsq = 1 - SSresid/SStotalrsq =
0.9083
最后,計(jì)算調(diào)整 R2 :
rsq_adj = 1 - SSresid/SStotal * (length(y)-1)/(length(y)-length(p))rsq_adj =
0.8945
調(diào)整 R2 (0.8945) 小于簡(jiǎn)單 R2 (0.9083)。后者可以更可靠地估計(jì)多項(xiàng)式模型的預(yù)測(cè)能力。
在許多多項(xiàng)式回歸模型中,對(duì)方程添加次數(shù)會(huì)使 R2 和調(diào)整 R2 都增加。在上面的示例中,與線性擬合相比,使用三次擬合使這兩種統(tǒng)計(jì)量都有所增加。線性擬合并非始終差于更高階擬合:更復(fù)雜擬合的調(diào)整 R2 也有可能低于更簡(jiǎn)單的擬合,此時(shí)表明增加復(fù)雜度并不適當(dāng)。此外,雖然基本擬合工具生成的多項(xiàng)式回歸模型的 R2 值始終在 0 和 1 之間變動(dòng),但某些模型的調(diào)整 R2 可能為負(fù)值,這表明該模型的項(xiàng)太多。
總結(jié)
以上是生活随笔為你收集整理的线性拟合polyfit_6.数据分析(1) 描述性统计量和线性回归(2)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 备案号链接工信部_工信部备案系统启用新域
- 下一篇: cdh5.12.1 service mo