柚子快報邀請碼778899分享:回歸分析 · 學(xué)習(xí)筆記一
柚子快報邀請碼778899分享:回歸分析 · 學(xué)習(xí)筆記一
文章目錄
回歸分析概念一元線性回歸多元線性回歸線性回歸的MATLAB實現(xiàn)多項式回歸
回歸分析
概念
擬合:最小二乘曲線或函數(shù)擬合方法,是根據(jù)一個樣本的觀測值建立擬合函數(shù),并估計擬合函數(shù)中的參數(shù)。 參數(shù)估計的結(jié)果可以視為一個統(tǒng)計意義上的點估計。如果考慮到觀測結(jié)果受隨機因素的影響,實際進行參數(shù)估計時應(yīng)該給出相應(yīng)的區(qū)間估計
如果置信區(qū)間太大,甚至包含了零點,那么參數(shù)的估計值就沒有太大的意義了。
在統(tǒng)計學(xué)中,研究隨機變量之間的關(guān)聯(lián)關(guān)系的方法就是回歸分析法 研究指標(biāo)之間關(guān)聯(lián)關(guān)系的數(shù)學(xué)模型
Y
=
f
(
X
)
+
ε
Y=f(X)+\varepsilon
Y=f(X)+ε為了精確確定
f
(
x
)
f(x)
f(x),通假定
E
(
ε
)
=
0
,
D
(
ε
)
=
σ
2
E(\varepsilon)=0,D(\varepsilon)=\sigma^2
E(ε)=0,D(ε)=σ2 其中,記隨機變量Y為因變量,隨機變量X(或
X
1
,
X
2
,
X
3
,
?
,
X
m
X_1,X_2,X_3,\dotsb,X_m
X1?,X2?,X3?,?,Xm?)。 這個關(guān)系是由兩部分構(gòu)成:一個部分是由X確定的,這一部分可以表達為函數(shù)
f
(
x
)
f(x)
f(x)的形式;而另一個部分是由眾多未考慮的因素(隨機因素或者非隨機因素)決定的,可以視為隨機誤差,記為
ε
\varepsilon
ε。 回歸分析中自變量是影響因變量的主要因素,是人們能控制的,稱為可控變量,而因變量還受到各種隨機因素的干擾,通??梢院侠淼丶僭O(shè)這種干擾服從均值為0的正態(tài)分布。 一元回歸模型:自變量只有一個。 多元回歸模型:自變量多于一個。
一元線性回歸
線性回歸模型
一元線性回歸模型
{
Y
=
β
0
+
β
1
X
+
ε
E
(
ε
)
=
0
,
D
(
ε
)
=
σ
2
\left\{ \begin{array}{c} Y=\beta_0+\beta_1X+\varepsilon \\ E(\varepsilon)=0,D(\varepsilon)=\sigma^2 \\ \end{array} \right.
{Y=β0?+β1?X+εE(ε)=0,D(ε)=σ2?其中,
β
0
\beta_0
β0?為回歸常數(shù),
β
1
\beta_1
β1?為回歸系數(shù),
ε
?
N
(
0
,
σ
2
)
\varepsilon~N(0,\sigma^2)
ε?N(0,σ2) 一元線性回歸模型包含了如下假設(shè):
獨立性:不同的X,Y是相互獨立的隨機變量線性性:Y的數(shù)學(xué)期望是X的線性函數(shù)齊次性:不同的X,Y的方差是常數(shù)正態(tài)性:給定的X,Y服從正態(tài)分布
回歸參數(shù)的估計 求回歸參數(shù)
β
0
^
,
β
1
^
\hat{\beta_0},\hat{\beta_1}
β0?^?,β1?^?使得
Q
(
β
0
^
,
β
1
^
)
=
m
i
n
β
0
,
β
1
Q
(
β
0
,
β
1
)
=
m
i
n
β
0
,
β
1
∑
i
=
1
n
(
y
i
?
β
0
?
β
1
x
i
)
2
Q(\hat{\beta_0},\hat{\beta_1})=\underset{\beta_0,\beta_1}{min}Q(\beta_0,\beta_1)=\underset{\beta_0,\beta_1}{min}\sum_{i=1}^{n}(y_i-\beta_0-\beta_1x_i)^2
Q(β0?^?,β1?^?)=β0?,β1?min?Q(β0?,β1?)=β0?,β1?min?i=1∑n?(yi??β0??β1?xi?)2達到最小值,可以解得:
β
1
^
=
∑
i
=
1
n
(
x
i
?
x
ˉ
)
(
y
i
?
y
ˉ
)
∑
i
=
1
n
(
x
i
?
x
ˉ
)
2
=
S
x
y
S
x
x
\hat{\beta_1}=\frac{\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})}{\sum_{i=1}^{n}(x_i-\bar{x})^2}=\frac{S_{xy}}{S_{xx}}
β1?^?=∑i=1n?(xi??xˉ)2∑i=1n?(xi??xˉ)(yi??yˉ?)?=Sxx?Sxy??
β
0
^
=
y
^
?
β
1
^
x
ˉ
\hat{\beta_0}=\hat{y}-\hat{\beta_1}\bar{x}
β0?^?=y^??β1?^?xˉ稱
β
0
^
,
β
1
^
\hat{\beta_0},\hat{\beta_1}
β0?^?,β1?^?為回歸參數(shù)的最小二乘估計 得到一元線性回歸方程
y
^
=
β
0
^
+
β
1
^
x
\hat{y}=\hat{\beta_0}+\hat{\beta_1}x
y^?=β0?^?+β1?^?x 可以證明殘差的最小二乘估計是:
σ
^
=
∑
i
=
1
n
(
y
i
?
β
0
^
?
β
1
^
x
i
)
2
n
?
2
\hat{\sigma}=\frac{\sum_{i=1}^{n}{(y_i-\hat{\beta_0}-\hat{\beta_1}x_i)^2}}{n-2}
σ^=n?2∑i=1n?(yi??β0?^??β1?^?xi?)2?為隨機誤差
σ
2
\sigma^2
σ2的最小二乘無偏估計 回歸方程的顯著性檢驗
回歸方程的假設(shè)檢驗
H
0
:
β
1
=
0
,
H
1
:
β
1
≠
0
H_0:\beta_1=0,H_1:\beta_1\neq0
H0?:β1?=0,H1?:β1?=0經(jīng)過檢驗,若拒絕
H
0
H_0
H0?,則認為隨機變量Y和X存在線性關(guān)系;否則,就不存在線性關(guān)系,此時所求的回歸方程沒有意義。 若
H
0
H_0
H0?成立,則統(tǒng)計量
T
=
β
1
^
s
t
d
(
β
1
^
)
=
β
1
^
S
x
x
σ
^
~
t
(
n
?
2
)
T=\frac{\hat{{\beta_1}}}{std(\hat{\beta_1})}=\frac{\hat{\beta_1}\sqrt{S_{xx}}}{\hat{\sigma}}\sim t(n-2)
T=std(β1?^?)β1?^??=σ^β1?^?Sxx?
??~t(n?2)其中
s
t
d
(
β
1
^
)
std(\hat{\beta_1})
std(β1?^?)為
β
1
^
\hat{\beta_1}
β1?^?的標(biāo)準(zhǔn)差 對于顯著性水平
α
\alpha
α使得
P
(
∣
T
∣
≤
t
α
/
2
(
n
?
2
)
)
=
1
?
α
P(|T|\leq t_{\alpha/2}(n-2))=1-\alpha
P(∣T∣≤tα/2?(n?2))=1?α則該檢驗的拒絕域為
∣
T
∣
≥
t
α
/
2
(
n
?
2
)
|T|\geq t_{\alpha/2}(n-2)
∣T∣≥tα/2?(n?2) 這一檢驗為t檢驗 回歸方程的顯著性檢驗 回歸方程的顯著性檢驗就是檢驗隨機變量Y是否與X存在線性關(guān)系,其檢驗的本質(zhì)等價于檢驗:
H
0
:
β
1
=
0
,
H
1
:
β
1
≠
0
H_0:\beta_1=0,H_1:\beta_1\neq0
H0?:β1?=0,H1?:β1?=0 當(dāng)
H
0
H_0
H0?成立時,統(tǒng)計量
F
=
U
Q
/
(
n
?
2
)
=
β
1
^
2
S
x
x
σ
^
2
~
F
(
1
,
n
?
2
)
F=\frac{U}{Q/(n-2)}=\frac{\hat{\beta_1}^2S_{xx}}{\hat{\sigma}^2}\sim F(1,n-2)
F=Q/(n?2)U?=σ^2β1?^?2Sxx??~F(1,n?2) 其中有幾個重要的量: 離差平方和:
S
y
y
=
∑
i
=
1
n
(
y
i
?
y
ˉ
)
2
S_{yy}=\sum_{i=1}^{n}(y_i-\bar{y})^2
Syy?=∑i=1n?(yi??yˉ?)2 殘差平方和:
Q
=
∑
i
=
1
n
(
y
i
?
β
0
^
?
β
1
^
x
i
)
2
Q=\sum_{i=1}^{n}(y_i-\hat{\beta_0}-\hat{\beta_1}x_i)^2
Q=∑i=1n?(yi??β0?^??β1?^?xi?)2 回歸平方和:
U
=
∑
i
=
1
n
(
y
i
^
?
y
ˉ
)
2
=
β
1
^
2
S
x
x
U=\sum_{i=1}^{n}(\hat{y_i}-\bar{y})^2=\hat{\beta_1}^2S_{xx}
U=∑i=1n?(yi?^??yˉ?)2=β1?^?2Sxx? 對于顯著水平
α
\alpha
α,檢驗的拒絕域為:
F
≥
F
α
(
1
,
n
?
2
)
F\geq F_\alpha(1,n-2)
F≥Fα?(1,n?2)這一檢驗稱為F檢驗 相關(guān)性檢驗 相關(guān)性檢驗就是檢驗隨機變量Y和X是否線性相關(guān),在回歸分析中,通常用
R
2
R^2
R2表示,計算公式為
R
2
=
S
x
y
2
S
x
x
S
y
y
R^2=\frac{S^2_{xy}}{S_{xx}S_{yy}}
R2=Sxx?Syy?Sxy2??稱R為樣本相關(guān)函數(shù)
多元線性回歸
數(shù)學(xué)模型
{
Y
=
β
0
+
β
1
X
1
+
?
+
β
m
X
m
+
ε
ε
~
N
(
0
,
σ
2
)
\left\{ \begin{array}{c} Y=\beta_0+\beta_1X_1+\dotsb+\beta_mX_m+\varepsilon \\ \varepsilon \sim N(0,\sigma^2)\\ \end{array} \right.
{Y=β0?+β1?X1?+?+βm?Xm?+εε~N(0,σ2)? 代碼實現(xiàn) 設(shè)回歸模型: x1 = [120 140 190 130 155 175 125 145 180 150];
x2 = [100 110 90 150 210 150 250 270 300 250];
y = [102 100 120 77 46 93 26 69 65 85];
x = [ones(10,1),x1(:),x2(:)];%構(gòu)造所需的系數(shù)矩陣
[b,bint,r,rint,stats] = regress(y(:),x);
b,bint,stats
分析: 其最終得到的結(jié)果不是太好:
p
=
0.0247
<
0.05
p=0.0247\lt0.05
p=0.0247<0.05,取
α
=
0.05
\alpha=0.05
α=0.05時回歸模型可以使用,但如果取
α
=
0.01
\alpha=0.01
α=0.01時模型不能用。
R
2
=
0.6527
R^2=0.6527
R2=0.6527較小(一般要大于0.8)
β
^
0
,
β
1
^
\hat{\beta}_0,\hat{\beta_1}
β^?0?,β1?^?的置信區(qū)間包含了零點,即線性回歸方程不顯著,應(yīng)該給予修正,需要考慮非線性回歸
線性回歸的MATLAB實現(xiàn)
MATLAB統(tǒng)計工具箱中用于線性回歸分析的函數(shù)為regress()函數(shù) 具有兩種調(diào)用格式 b = regress(Y,X);
[b,bint,r,rint,stats]=regress(Y,X,alpha)
其中,b為回歸系數(shù)向量的估計值
β
^
0
,
β
^
1
,
?
,
β
^
m
\hat{\beta}_0,\hat{\beta}_1,\dotsb,\hat{\beta}_m
β^?0?,β^?1?,?,β^?m?;
alpha為顯著性水平(缺省時設(shè)定為0.05)bint為回歸系數(shù)的置信區(qū)間;r,rint為殘差向量及其置信區(qū)間;stats是用于檢驗回歸模型的統(tǒng)計量,有四個數(shù)值: 第一個是
R
2
R^2
R2(相關(guān)系數(shù))
R屬于[0,1],一般R越大,則相關(guān)關(guān)系越緊密,一般認為只有
R
>
0.8
R\gt 0.8
R>0.8才認為相關(guān)關(guān)系成立
第二個是F(與假設(shè)檢驗相關(guān)),第三個時域F對應(yīng)的概率p,若
p
<
α
p\lt\alpha
p<α則拒絕
H
0
H_0
H0?,回歸模型成立,第四個是殘差平方和
s
2
s^2
s2
F值的含義: F本身是一個隨機變量,其基于以下假設(shè)
原假設(shè):
H
0
:
β
1
=
?
=
β
m
=
0
原假設(shè):H_0:\beta_1=\dots=\beta_m=0
原假設(shè):H0?:β1?=?=βm?=0
備擇假設(shè):
H
1
:
至少有
1
個
β
i
不為
0
(
i
=
1
,
2
,
…
,
m
)
備擇假設(shè):H_1:至少有1個\beta_i不為0(i=1,2,\dots,m)
備擇假設(shè):H1?:至少有1個βi?不為0(i=1,2,…,m)并且服從F(m,n-m-1),在顯著性水平
α
\alpha
α下可以計算
α
\alpha
α分位數(shù)
F
α
(
m
,
n
?
m
?
1
)
F_\alpha(m,n-m-1)
Fα?(m,n?m?1),檢驗規(guī)則如下:
F
<
F
α
(
m
,
n
?
m
?
1
)
F\lt F_\alpha(m,n-m-1)
F H 0 H_0 H0?。 此時就設(shè)計F的計算方法,對于一個樣本集合,F(xiàn)的計算公式為: F = U / m Q / n ? m ? 1 F = \frac{U/m}{Q/n-m-1} F=Q/n?m?1U/m?其中n是樣本容量,m是自變量的個數(shù) ( X 1 , X 2 , ? , X m ) (X_1,X_2,\dotsb,X_m) (X1?,X2?,?,Xm?) Q是殘差平方和,反映了隨機誤差對y的影響: Q = ∑ i = 1 n e i 2 = ∑ i = 1 n ( y i ? y i ^ ) 2 Q=\sum_{i=1}^{n}e_i^2=\sum_{i=1}^{n}(y_i-\hat{y_i})^2 Q=i=1∑n?ei2?=i=1∑n?(yi??yi?^?)2U反映了自變量對y的影響,稱為回歸平方和: U = ∑ i = 1 n ( y i ^ ? y ˉ ) 2 U = \sum_{i=1}^{n}(\hat{y_i}-\bar{y})^2 U=i=1∑n?(yi?^??yˉ?)2 殘差及其置信區(qū)間的可視化試圖,可以調(diào)用rcoplot()函數(shù) rcoplot(r,rint); 案例1:一元線性回歸 x = [0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.20 0.22 0.24]; y = [42 42.5 45 45.5 45.0 47.5 49 51 50 55 57.5 59.5]; n = length(x); x1 = x(:);y = y(:) x = [ones(n,1),x1];%%系數(shù)矩陣 [b,bint,r,rint,stats] = regress(y,x);% 回歸分析 rcoplot(r,rint);%利用殘差和殘差向量繪制殘差分布圖 b,bint,stats 由此可以得到的結(jié)果是: β 0 ^ = 28.4835 , β 1 ^ = 129.0094 \hat{\beta_0}=28.4835,\hat{\beta_1}=129.0094 β0?^?=28.4835,β1?^?=129.0094其中 β 0 ^ \hat{\beta_0} β0?^?的置信區(qū)間為[26.1881,30.7789], β 1 ^ 的置信區(qū)間為 [ 115.1337 , 142.8851 ] \hat{\beta_1}的置信區(qū)間為[115.1337,142.8851] β1?^?的置信區(qū)間為[115.1337,142.8851] R 2 = 0.9972 , F = 429.1581 R^2=0.9972,F=429.1581 R2=0.9972,F=429.1581 由于得到的 p < 0.05 p\lt0.05 p<0.05,因此拒絕原假設(shè),線性模型成立,殘差分布圖如下: 可以看出第九個數(shù)據(jù)點不包含零點,是異常點,應(yīng)該剔除后重新計算,可以得到更好結(jié)果 多項式回歸 多項式回歸的數(shù)學(xué)模型 y = β 0 + β 1 x + β 2 x 2 + ? + β n x n + ε y = \beta_0+\beta_1x+\beta_2x^2+\dots+\beta_nx_n +\varepsilon y=β0?+β1?x+β2?x2+?+βn?xn?+ε 其中, ε \varepsilon ε是隨機誤差,滿足 E ( ε ) = 0 , D ( ε ) = σ 2 E(\varepsilon)=0,D(\varepsilon)=\sigma^2 E(ε)=0,D(ε)=σ2 一元多項式的回歸 先繪制散點圖觀察分布 x = 17:2:29; y1 = [20.48 25.13 26.15 30.0 26.1 20.3 19.35]; y2 = [24.35 28.11 26.3 31.4 26.92 25.7 21.3]; plot(x,y1,'+',x,y2,'+') legend('y_1','y_2') 觀察得到的散點圖呈現(xiàn)兩端低中間高的情況,因此應(yīng)該擬合一條二次曲線,建立二次模型: y = a 2 x 2 + a 1 x + a 0 + ε y=a_2x^2+a_1x+a_0+\varepsilon y=a2?x2+a1?x+a0?+ε回歸系數(shù)的確定:繼續(xù)在前述命令的基礎(chǔ)上運行如下MATLAB程序: x = 17:2:29; y1 = [20.48 25.13 26.15 30.0 26.1 20.3 19.35]; y2 = [24.35 28.11 26.3 31.4 26.92 25.7 21.3]; plot(x,y1,'+',x,y2,'+') legend('y_1','y_2') x0=[x,x]; y0=[y1,y2]; [p,s]=polyfit(x0,y0,2) 最終得到結(jié)果: p返回擬合多項式的系數(shù)向量,即回歸預(yù)測方程為 y = ? 0.2003 x 2 + 8.9782 x ? 72.2150 y=-0.2003x^2+8.9782x-72.2150 y=?0.2003x2+8.9782x?72.2150s則返回一個數(shù)據(jù)結(jié)構(gòu),R為3x3上三角矩陣,是有x_0生成的范德蒙德矩陣德QR分解中德上三角矩陣R,df為自由度,normr為殘差德范數(shù) 回歸多項式的預(yù)測值及其置信區(qū)間的確定 可由函數(shù)polyconf()實現(xiàn),調(diào)用格式為: [y,delta]=polyconf(p,x0,s) 其中輸入?yún)?shù): p為多項式系數(shù)向量,其維數(shù)減去1即為多項式的次數(shù);x0為自變量坐標(biāo)p為回歸預(yù)測方程的系數(shù),s為觀測點的數(shù)據(jù)結(jié)構(gòu) 輸出參數(shù): y為預(yù)測函數(shù)值delta為顯著性水平為0.05下預(yù)測值的95%置信區(qū)間的半徑(暫且可以理解成為置信區(qū)間長度的一半) 擬合多項式并繪制擬合效果圖 可由函數(shù)polytool()實現(xiàn),調(diào)用格式為: polytool(x,y,n,alpha) 其中輸入?yún)?shù)為: x,y為同維數(shù)組n為多項式次數(shù)(缺省時,默認為1)alpha為置信區(qū)間 返回結(jié)果為交互式多項式擬合效果圖,包含擬合曲線的 ( 1 ? α ) (1-\alpha) (1?α)置信區(qū)間范圍,效果如下: x = 17:2:29; y1 = [20.48 25.13 26.15 30.0 26.1 20.3 19.35]; y2 = [24.35 28.11 26.3 31.4 26.92 25.7 21.3]; x0=[x,x]; y0=[y1,y2]; polytool(x0,y0,2,0.05) 1. 圖中中間實踐為擬合曲線,它上下兩側(cè)虛線是y的預(yù)測值的置信區(qū)間范圍。 2. 鼠標(biāo)移動圖中的十字線沿預(yù)測曲線,圖窗左側(cè)就會同步顯示y的預(yù)測值及其置信區(qū)間 3. 導(dǎo)出按鈕可以導(dǎo)出以下幾個變量:預(yù)測回歸系數(shù)beta、回歸系數(shù)的置信區(qū)間betaci,預(yù)測值yhat,預(yù)測值的置信區(qū)間yci,以及預(yù)測結(jié)果的殘差 一元高次多項式也可以利用多元線性回歸模型進行預(yù)測,如: y = β m x m + ? + β 1 x + β 0 + ε y=\beta_mx^m+\dots+\beta_1x+\beta_0+\varepsilon y=βm?xm+?+β1?x+β0?+ε可以轉(zhuǎn)換成: y = β 0 + β 1 x 1 + ? + β m x m + ε y=\beta_0+\beta_1x_1+\dots+\beta_mx_m+\varepsilon y=β0?+β1?x1?+?+βm?xm?+ε 多元二次多項式回歸(專門用于多元二次多項式回歸的函數(shù)rstool()) 調(diào)用格式 restool(x,y,model) 其中輸入項x,y分別為nxm矩陣和n維向量,alpha為顯著性水平(缺省時設(shè)定為alpha=0.05),model由下列4個模型中選擇1個 linear(線性): y = β 0 + β 1 x 1 + ? + β m x m y=\beta_0+\beta_1x_1+\dots+\beta_mx_m y=β0?+β1?x1?+?+βm?xm?purequadratic(純二次): y = β 0 + β 1 x 1 + ? + β m x m + ∑ j = 1 m β j j x j 2 y=\beta_0+\beta_1x_1+\dots+\beta_mx_m+\sum_{j=1}^{m}\beta_{jj}x^2_j y=β0?+β1?x1?+?+βm?xm?+∑j=1m?βjj?xj2?interaction(交叉): y = β 0 + β 1 x 1 + ? + β m x m + ∑ i ≤ j ≠ k ≤ m β j k x j x k y=\beta_0+\beta_1x_1+\dots+\beta_mx_m+\sum_{i\le j\neq k \le m}\beta_{jk}x_jx_k y=β0?+β1?x1?+?+βm?xm?+i≤j=k≤m∑?βjk?xj?xk?quadratic(完全二次): y = β 0 + β 1 x ! + ? + β m x m + ∑ 1 ≤ j , k ≤ m β j k x j x k y=\beta_0+\beta_1x_!+\dots+\beta_m x_m+\sum_{1\le j,k \le m}\beta_{jk}x_j x_k y=β0?+β1?x!?+?+βm?xm?+1≤j,k≤m∑?βjk?xj?xk? 效果演示: x1 = [120 140 190 130 155 175 125 145 180 150]; x2 = [100 110 90 150 210 150 250 270 300 250]; y = [102 100 120 77 46 93 26 69 65 85]; x=[x1',x2'];y = y'; rstool(x,y,'purequadratic') 導(dǎo)出后可以獲得beta(回歸系數(shù)),rmse(剩余標(biāo)準(zhǔn)差,即殘差平方和),residuals(殘差) 可以通過比較四種模型的剩余標(biāo)準(zhǔn)差大小,使用最小的那個作為自己的模型 柚子快報邀請碼778899分享:回歸分析 · 學(xué)習(xí)筆記一 參考閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。