非線性最小二乘
目錄
1 非線性最小二乘估計
在經(jīng)典最小二乘法估計中,假定被解釋變量的條件期望是關(guān)于參數(shù)的線性函數(shù),例如
E
(
y
∣
x
)
=
a
+
b
x
E(y|x) = a+bx
E(y∣x)=a+bx
其中
a
,
b
a,b
a,b為待估參數(shù),
E
(
y
∣
x
)
E(y|x)
E(y∣x)是關(guān)于參數(shù)
a
,
b
a,b
a,b的線性函數(shù)。但
E
(
y
∣
x
)
E(y|x)
E(y∣x)是關(guān)于參數(shù)的非線性函數(shù),則利用ols求出的正規(guī)方程組沒有解析解。只能通過相關(guān)數(shù)值計算。考慮一個簡單的非線性模型
Y
i
=
β
X
1
i
+
β
2
X
2
i
+
ε
i
Y_{i}=\beta X_{1 i}+\beta^{2} X_{2 i}+\varepsilon_{i}
Yi?=βX1i?+β2X2i?+εi?
其中擾動項
ε
i
\varepsilon_i
εi?滿足
E
(
ε
i
)
=
0
,
var
?
(
ε
i
)
=
σ
2
\mathrm{E}\left(\varepsilon_{i}\right)=0,\operatorname{var}\left(\varepsilon_{i}\right)=\sigma^{2}
E(εi?)=0,var(εi?)=σ2,且為獨(dú)立同分布。其殘差平方和為
S
(
β
)
=
∑
i
=
1
n
ε
i
2
=
∑
i
=
1
n
[
Y
i
?
f
(
X
i
,
β
)
]
2
=
∑
i
=
1
n
[
Y
i
?
β
X
1
i
?
β
2
X
2
i
]
2
\begin{aligned} S(\beta) &=\sum_{i=1}^{n} \varepsilon_{i}^{2}=\sum_{i=1}^{n}\left[Y_{i}-f\left(X_{i}, \beta\right)\right]^{2} \\ &=\sum_{i=1}^{n}\left[Y_{i}-\beta X_{1 i}-\beta^{2} X_{2 i}\right]^{2} \end{aligned}
S(β)?=i=1∑n?εi2?=i=1∑n?[Yi??f(Xi?,β)]2=i=1∑n?[Yi??βX1i??β2X2i?]2?
為了使回歸線盡可能接近觀測值,要求殘差平方和最小。根據(jù)微積分的知識
d
S
?
d
β
=
2
∑
i
=
1
n
[
Y
i
?
f
(
X
i
,
β
)
]
(
?
d
f
(
X
i
,
β
)
d
β
)
=
2
∑
i
=
1
n
[
Y
i
?
β
X
1
i
?
β
2
X
2
i
]
[
?
X
1
i
?
2
β
X
2
i
]
=
0
\begin{aligned} \frac{\mathrmn5n3t3z S}{\mathrm{~d} \beta} &=2 \sum_{i=1}^{n}\left[Y_{i}-f\left(X_{i}, \beta\right)\right]\left(-\frac{\mathrmn5n3t3z f\left(X_{i}, \beta\right)}{\mathrmn5n3t3z \beta}\right) \\ &=2 \sum_{i=1}^{n}\left[Y_{i}-\beta X_{1 i}-\beta^{2} X_{2 i}\right]\left[-X_{1 i}-2 \beta X_{2 i}\right]=0 \end{aligned}
?dβdS??=2i=1∑n?[Yi??f(Xi?,β)](?dβdf(Xi?,β)?)=2i=1∑n?[Yi??βX1i??β2X2i?][?X1i??2βX2i?]=0?
整理得:
2
β
3
∑
i
=
1
n
X
2
i
2
+
3
β
2
∑
i
=
1
n
X
1
i
X
2
i
+
β
(
∑
i
=
1
n
X
1
i
2
?
2
∑
i
=
1
n
X
2
i
Y
i
)
?
∑
i
=
1
n
X
1
i
Y
i
=
0
2 \beta^{3} \sum_{i=1}^{n} X_{2 i}^{2}+3 \beta^{2} \sum_{i=1}^{n} X_{1 i} X_{2 i}+\beta\left(\sum_{i=1}^{n} X_{1 i}^{2}-2 \sum_{i=1}^{n} X_{2 i} Y_{i}\right)-\sum_{i=1}^{n} X_{1 i} Y_{i}=0
2β3i=1∑n?X2i2?+3β2i=1∑n?X1i?X2i?+β(i=1∑n?X1i2??2i=1∑n?X2i?Yi?)?i=1∑n?X1i?Yi?=0
這是關(guān)于參數(shù)
β
\beta
β的三次函數(shù)。盡管三次函數(shù)存在解析解(利用卡丹或盛金公式),其結(jié)果極為復(fù)雜。若上述三次方程存在實根
β
i
(
i
=
1
,
2
,
3
)
\beta_i(i=1,2,3)
βi?(i=1,2,3)(最多三個),則將
β
i
\beta_i
βi?代入殘差平方和,取
S
(
β
)
S(\beta)
S(β)最小所對應(yīng)的
β
i
\beta_i
βi?。上述例子中,被解釋變量條件期望是關(guān)于參數(shù)的二次函數(shù),如果將這種函數(shù)形式改為指數(shù)、對數(shù)或三角函數(shù)形式,則一般不存在解析解。
因此,數(shù)值分析自然成為解決上述問題的有力武器??紤]一般化的非線性回歸問題,設(shè)總體回歸模型滿足
Y
=
f
(
X
,
β
)
+
ε
Y=f(X, \beta)+\varepsilon
Y=f(X,β)+ε
對應(yīng)的殘差平方和為
S
(
β
)
=
∑
i
=
1
n
[
Y
i
?
f
(
X
i
,
β
)
]
2
S(\beta)=\sum_{i=1}^{n}\left[Y_{i}-f\left(X_{i}, \beta\right)\right]^{2}
S(β)=i=1∑n?[Yi??f(Xi?,β)]2
要使其最小化,需要滿足一階條件
d
S
?
d
β
=
?
2
[
∑
i
=
1
n
[
Y
i
?
f
(
X
i
,
β
)
]
(
?
d
f
(
X
i
,
β
)
d
β
)
]
=
0
\frac{\mathrmn5n3t3z S}{\mathrm{~d} \beta}=-2\left[\sum_{i=1}^{n}\left[Y_{i}-f\left(X_{i}, \beta\right)\right]\left(-\frac{\mathrmn5n3t3z f\left(X_{i}, \boldsymbol{\beta}\right)}{\mathrmn5n3t3z \beta}\right)\right]=0
?dβdS?=?2[i=1∑n?[Yi??f(Xi?,β)](?dβdf(Xi?,β)?)]=0
顯然,上述問題不存在解析解,因此考慮對
f
(
X
i
,
β
)
f(X_i, \beta)
f(Xi?,β)進(jìn)行一階泰勒展開。設(shè)參數(shù)向量
β
\beta
β的初始值為
β
1
\beta_1
β1?,則可以在
β
1
\beta_1
β1?附近找到函數(shù)
f
(
X
i
,
β
)
f(X_i, \beta)
f(Xi?,β)使得
f
(
X
i
,
β
)
≈
f
(
X
i
,
β
1
)
+
d
f
(
X
i
,
β
)
d
β
∣
β
=
β
1
(
β
?
β
1
)
f\left(X_{i}, \beta\right) \approx f\left(X_{i}, \beta_{1}\right)+\frac{\mathrmn5n3t3z f\left(X_{i}, \beta\right)}{\mathrmn5n3t3z \beta} \mid_{\beta = \beta_{1}}\left(\beta-\beta_{1}\right)
f(Xi?,β)≈f(Xi?,β1?)+dβdf(Xi?,β)?∣β=β1??(β?β1?)
記
d
f
(
X
i
,
β
)
d
β
∣
β
1
≈
f
(
X
i
,
β
)
?
f
(
X
,
β
)
β
?
β
1
\left.\frac{\mathrmn5n3t3z f\left(X_{i}, \beta\right)}{\mathrmn5n3t3z \beta}\right|_{\beta_{1}} \approx \frac{f\left(X_{i}, \beta\right)-f(X, \beta)}{\beta-\beta_{1}}
dβdf(Xi?,β)?
?β1??≈β?β1?f(Xi?,β)?f(X,β)?,簡記
X
~
i
(
β
1
)
=
d
f
(
X
i
,
β
)
d
β
∣
β
1
\widetilde{X}_{i}\left(\beta_{1}\right)=\left.\frac{\mathrmn5n3t3z f\left(X_{i}, \beta\right)}{\mathrmn5n3t3z \beta}\right|_{\beta_{1}}
X
i?(β1?)=dβdf(Xi?,β)?
?β1??,則
S
(
β
)
=
∑
i
=
1
n
[
Y
i
?
f
(
X
i
,
β
1
)
?
X
~
i
(
β
1
)
(
β
?
β
1
)
]
2
=
∑
i
=
1
n
[
Y
~
i
(
β
1
)
?
X
i
(
β
1
)
β
]
2
\begin{aligned} S(\beta) &=\sum_{i=1}^{n}\left[Y_{i}-f\left(X_{i}, \beta_{1}\right)-\widetilde{X}_{i}\left(\beta_{1}\right)\left(\beta-\beta_{1}\right)\right]^{2} \\ &=\sum_{i=1}^{n}\left[\widetilde{Y}_{i}\left(\beta_{1}\right)-X_{i}\left(\beta_{1}\right) \beta\right]^{2} \end{aligned}
S(β)?=i=1∑n?[Yi??f(Xi?,β1?)?X
i?(β1?)(β?β1?)]2=i=1∑n?[Y
i?(β1?)?Xi?(β1?)β]2?
其中
Y
~
i
(
β
1
)
=
Y
i
?
f
(
X
i
,
β
1
)
+
X
~
i
(
β
1
)
β
1
\widetilde{Y}_{i}\left(\beta_{1}\right)=Y_{i}-f\left(X_{i}, \beta_{1}\right)+\widetilde{X}_{i}\left(\beta_{1}\right) \beta_{1}
Y
i?(β1?)=Yi??f(Xi?,β1?)+X
i?(β1?)β1?
給定初始值向量
β
i
\beta_i
βi?,則
Y
~
i
(
β
1
)
\widetilde{Y}_{i}\left(\beta_{1}\right)
Y
i?(β1?)與
X
~
i
(
β
1
)
\widetilde{X}_{i}\left(\beta_{1}\right)
X
i?(β1?)可計算,從而求出最小殘差平方和。
S
(
β
)
S(\beta)
S(β)對應(yīng)的回歸方程為
Y
~
i
(
β
1
)
=
X
~
i
(
β
)
β
+
ε
i
\widetilde{Y}_{i}\left(\beta_{1}\right)=\widetilde{X}_{i}(\beta) \beta+\varepsilon_{i}
Y
i?(β1?)=X
i?(β)β+εi?
最小二乘估計量為
β
2
=
[
X
~
(
β
1
)
′
X
~
(
β
1
)
]
?
1
X
~
(
β
1
)
′
Y
~
(
β
1
)
\beta_{2}=\left[\widetilde{X}\left(\beta_{1}\right)^{\prime} \widetilde{X}\left(\beta_{1}\right)\right]^{-1} \widetilde{X}\left(\beta_{1}\right)^{\prime} \widetilde{Y}\left(\beta_{1}\right)
β2?=[X
(β1?)′X
(β1?)]?1X
(β1?)′Y
(β1?)
其中
X
~
(
β
1
)
=
[
X
~
1
(
β
1
)
?
X
~
n
(
β
1
)
]
,
Y
^
(
β
1
)
=
[
Y
~
1
(
β
1
)
?
Y
~
n
(
β
1
)
]
\widetilde{X}\left(\beta_{1}\right)=\left[\begin{array}{c} \widetilde{X}_{1}\left(\beta_{1}\right) \\ \vdots \\ \widetilde{X}_{n}\left(\beta_{1}\right) \end{array}\right], \quad \hat{Y}\left(\beta_{1}\right)=\left[\begin{array}{c} \widetilde{Y}_{1}\left(\beta_{1}\right) \\ \vdots \\ \widetilde{Y}_{n}\left(\beta_{1}\right) \end{array}\right]
X
(β1?)=
?X
1?(β1?)?X
n?(β1?)?
?,Y^(β1?)=
?Y
1?(β1?)?Y
n?(β1?)?
?
此時我們求出
β
2
\beta_2
β2?,再將
β
2
\beta_2
β2?作為初始值依次迭代計算,得到關(guān)于向量參數(shù)
β
i
\beta_i
βi?的一個序列,當(dāng)且僅當(dāng)
∣
∣
β
(
k
+
1
)
?
β
(
k
)
∣
∣
<
δ
||\beta^{(k+1)}-\beta^{(k)}||<\delta
∣∣β(k+1)?β(k)∣∣<δ
其中
δ
>
0
\delta>0
δ>0為事先預(yù)定的絕對誤差。不難得到,參數(shù)
β
\beta
β滿足遞推關(guān)系
β
n
+
1
=
[
X
~
(
β
n
)
′
X
~
(
β
n
)
]
?
1
X
~
(
β
n
)
′
Y
~
(
β
n
)
=
[
X
~
(
β
n
)
′
X
~
(
β
n
)
]
?
1
X
~
(
β
n
)
′
[
Y
?
f
(
X
~
,
β
n
)
+
X
~
(
β
n
)
β
n
]
=
β
n
+
[
X
~
(
β
n
)
′
X
~
(
β
n
)
]
?
1
X
~
(
β
n
)
′
[
Y
?
f
(
X
,
β
n
)
]
\begin{aligned} \boldsymbol{\beta}_{n+1} &=\left[\widetilde{X}\left(\boldsymbol{\beta}_{n}\right)^{\prime} \widetilde{X}\left(\boldsymbol{\beta}_{n}\right)\right]^{-1} \widetilde{X}\left(\boldsymbol{\beta}_{n}\right)^{\prime} \widetilde{Y}\left(\boldsymbol{\beta}_{n}\right) \\ &=\left[\widetilde{X}\left(\boldsymbol{\beta}_{n}\right)^{\prime} \widetilde{X}\left(\boldsymbol{\beta}_{n}\right)\right]^{-1} \widetilde{X}\left(\boldsymbol{\beta}_{n}\right)^{\prime}\left[\boldsymbol{Y}-f\left(\widetilde{X}, \boldsymbol{\beta}_{n}\right)+\widetilde{X}\left(\boldsymbol{\beta}_{n}\right) \boldsymbol{\beta}_{n}\right] \\ &=\boldsymbol{\beta}_{n}+\left[\widetilde{X}\left(\boldsymbol{\beta}_{n}\right)^{\prime} \widetilde{X}\left(\boldsymbol{\beta}_{n}\right)\right]^{-1} \widetilde{X}\left(\boldsymbol{\beta}_{n}\right)^{\prime}\left[Y-f\left(X, \boldsymbol{\beta}_{n}\right)\right] \end{aligned}
βn+1??=[X
(βn?)′X
(βn?)]?1X
(βn?)′Y
(βn?)=[X
(βn?)′X
(βn?)]?1X
(βn?)′[Y?f(X
,βn?)+X
(βn?)βn?]=βn?+[X
(βn?)′X
(βn?)]?1X
(βn?)′[Y?f(X,βn?)]?
通過證明,隨著樣本容量
n
→
∞
n\to\infty
n→∞,參數(shù)
β
\beta
β估計量服從漸進(jìn)正態(tài)分布,即
β
~
~
N
(
β
,
σ
^
2
[
X
~
(
β
)
′
X
~
(
β
)
]
?
1
)
,
σ
^
2
=
S
(
β
~
)
n
?
1
\widetilde{\beta} \sim N\left(\beta, \hat{\sigma}^{2}\left[\widetilde{X}(\beta)^{\prime} \widetilde{X}(\beta)\right]^{-1}\right), \hat{\sigma}^{2}=\frac{S(\widetilde{\beta})}{n-1}
β
?~N(β,σ^2[X
(β)′X
(β)]?1),σ^2=n?1S(β
?)?
3 非線性最小二乘的實現(xiàn)
在R語言中,可以適用nls函數(shù)實現(xiàn)非線性最小二乘法。以C-D函數(shù)為例,
設(shè)一國產(chǎn)出取決于資本、勞動與全要素的投入,即
Y
=
A
K
α
L
β
μ
Y = AK^{\alpha}L^{\beta}\mu
Y=AKαLβμ
下面通過R代碼運(yùn)行實現(xiàn)對參數(shù)
α
,
β
\alpha,\beta
α,β的估計
t = 1:12 #時間設(shè)定
Y=c(26.74, 34.81, 44.72, 57.46, 73.84, 88.45, 105.82,126.16, 150.9, 181.6, 204.3, 222.8) #產(chǎn)出序列
K=c(23.66,30.55,38.12,46.77,56.45,67.15,78.92,91.67,105.5, 121.3, 128.6, 132.5) #資本序列
L=c(26, 28, 32, 36, 41, 45, 48, 52, 56, 60, 66, 70) #勞動投入序列
Cdnls <- nls(Y~A*K^a*L^b,start = list(A = 0.1,a = 0.5,b = 0.5)) #非線性最小二乘,start為參數(shù)初始值向量
summary(Cdnls)
#-------------------運(yùn)行結(jié)果---------------------------
#Formula: Y ~ A * K^a * L^b
Parameters:
Estimate Std. Error t value Pr(>|t|)
A 0.1129 0.0159 7.12 5.6e-05 ***
a 0.6568 0.0652 10.07 3.4e-06 ***
b 1.0298 0.1044 9.86 4.0e-06 ***
---
Signif. codes:
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.7 on 9 degrees of freedom
Number of iterations to convergence: 9
Achieved convergence tolerance: 7.55e-06
結(jié)果顯示,參數(shù)
α
=
0.6568
\alpha = 0.6568
α=0.6568,
β
=
1.0298
\beta = 1.0298
β=1.0298。對比直接取對數(shù)的OLS,即估計
l
n
Y
=
l
n
A
+
α
l
n
K
+
β
l
n
L
+
e
lnY = lnA+\alpha lnK+\beta lnL+e
lnY=lnA+αlnK+βlnL+e
CDlm <- lm(log(Y)~log(K)+log(L)) #對數(shù)形式
summary(CDlm)
#--------------------運(yùn)行結(jié)果--------------
Call:
lm(formula = log(Y) ~ log(K) + log(L))
Residuals:
Min 1Q Median 3Q Max
-0.02714 -0.00595 -0.00118 0.00764 0.02557
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.0737 0.2355 -8.80 1.0e-05 ***
log(K) 0.6258 0.0916 6.83 7.6e-05 ***
log(L) 1.0379 0.1621 6.40 0.00012 ***
---
Signif. codes:
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.0173 on 9 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: 0.999
F-statistic: 9.16e+03 on 2 and 9 DF, p-value: 1.29e-15
結(jié)果顯示,參數(shù)
α
=
0.6268
\alpha = 0.6268
α=0.6268,
β
=
1.0379
\beta = 1.0379
β=1.0379。因此,CD函數(shù)對數(shù)化的結(jié)果回歸與非線性最小二乘回歸的參數(shù)基本一致。但一些不能對數(shù)化的方程,非線性最小二乘的作用更為明顯??紤]真實模型
y
=
2
s
i
n
(
x
)
+
4
c
o
s
(
x
)
y = 2sin(x)+4cos(x)
y=2sin(x)+4cos(x)
接下來我們進(jìn)行仿真模擬
set.seed(123) #隨機(jī)種子
x <- seq(1,100,by = 0.1) #1-100,步長為0.1
e <- rnorm(length(x),0,1) #長度為序列x的長度,服從標(biāo)準(zhǔn)正態(tài)分布的誤差
y <- 2*sin(x)+4*cos(x)+e #實際觀測的被解釋變量
plot(x,y,type = "o") #打印散點(diǎn)圖
nls1 <- nls(y~a*sin(x)+b*cos(x),
start = list(a = 0,b =0)) #非線性最小二乘,初始值設(shè)定為0,0
nls1
#-------------運(yùn)行結(jié)果------------------
Nonlinear regression model
model: y ~ a * sin(x) + b * cos(x)
data: parent.frame()
a b
1.92 4.03
residual sum-of-squares: 974
Number of iterations to convergence: 1
Achieved convergence tolerance: 6.73e-10
結(jié)果顯示估計量 a = 1.92 a = 1.92 a=1.92, b = 4.03 b = 4.03 b=4.03,與總體參數(shù) a = 2 , b = 4 a = 2,b = 4 a=2,b=4即為接近
參考文獻(xiàn)文章來源:http://www.zghlxwxcb.cn/news/detail-440166.html
王斌會(2015).計量經(jīng)濟(jì)學(xué)建模及R語言應(yīng)用[M].北京大學(xué)出版社文章來源地址http://www.zghlxwxcb.cn/news/detail-440166.html
到了這里,關(guān)于非線性最小二乘的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!