OLS可視化模擬:A Shiny App for Playing with OLS

1. OLS 回顧

1.1 估計係數的決定因素

採用矩陣形式將線性迴歸模型表示如下:

(1)y=xβ+u y = x\beta + u \tag{1}

若假設解釋變量外生 (同時滿足其它基本假設條件),即 E(xu)=0E(x'u)=0,則 OLS 估計式如下:

(2)β^=(xx)1xy \hat{\beta} = (x'x)^{-1}x'y \tag{2}

進一步假設 uN(0,σ2)u \sim N(0, \sigma^2),則 β^\hat{\beta} 爲:

(3)Var(β^)=σ2(xx)1 Var(\hat{\beta}) = \sigma^2(x'x)^{-1} \tag{3}

顯然,若想提高 β^\hat{\beta} 估計的準確程度,我們希望 Var(β^)Var(\hat{\beta}) 儘可能小一點。從公式 (3) 中可以看出,這取決於兩個因素:

  • 要點1: 干擾項的變異程度。顯然,σ2\sigma^2 越小越好:這意味着原始模型 (1) 中干擾項的方差 (Var(u)=σ2Var(u)=\sigma^2) 越小越好。實證分析中,若模型設定中遺漏了重要的變量,或是某些不可觀測的個體或時間特徵沒有得到很好的控制,它們都會跑到干擾項中,從而導致 σ2\sigma^2 過大。一個比較常用的處理方式就是在模型中加入反應個體或時間固定效應的虛擬變量。
  • 要點2: 解釋變量的變異程度。若把 (xx)(x'x) 視爲 Var(x)Var(x),則 (xx)1(x'x)^{-1} 可以視爲 1/Var(x)1/Var(x)。換言之,解釋變量的離散程度越高,則越容易更爲準確地識別 β\beta 的參數估計值。實證分析中,在收集數據環節,就要儘可能保證樣本的來源多樣化,能夠較好的反應母體的特徵。

1.2 擬合優度的決定因素

當模型設定正確即迴歸模型與真實模型一致時,擬合優度 R2R^2 是解釋變量標準差 σx2\sigma^2_x 的增函數,是擾動項標準差 σu2\sigma^2_u 的減函數。這一點可以由下面的簡單推導中得到:

假設真實模型爲 y=β0+β1x+uy=\beta_0+\beta_1 x+u,若迴歸模型與真實模型一致,則估計結果爲y^=β0^+β1^x+u^\hat{y}=\hat{\beta_0}+\hat{\beta_1} x+\hat{u},兩邊取期望有yˉ=β0^+β1^xˉ+uˉ\bar{y}=\hat{\beta_0}+\hat{\beta_1}\bar{x}+\bar{u}。易得:
(4)ui^=uiuˉ(β1^β1)(xixˉ) \hat{u_i}=u_i-\bar{u}-(\hat{\beta_1}-\beta_1)(x_i-\bar{x}) \tag{4}
則有:
(5)i=1nu^i2=i=1n(uiuˉ)2+(β1^β1)2(xixˉ)22(β1^β1)i=1n(xixˉ)ui \sum_{i=1}^{n}\hat{u}_i^2=\sum_{i=1}^{n} (u_i-\bar{u})^2+(\hat{\beta_1}-\beta_1)^2(x_i-\bar{x}) ^2-2(\hat{\beta_1}-\beta_1)\sum_{i=1}^{n}(x_i-\bar{x}) u_i \tag{5}
其中,由β1^=i=1n(xixˉ)ui/i=1n(xixˉ)2\hat{\beta_1}=\sum_{i=1}^{n} (x_i-\bar{x})u_i/\sum_{i=1}^{n} (x_i-\bar{x})^2易得:
(6)β1^β1=i=1n(xixˉ)uii=1n(xixˉ)2 \hat{\beta_1}-\beta_1=\frac{\sum_{i=1}^{n}(x_i-\bar{x}) u_i}{\sum_{i=1}^{n} (x_i-\bar{x})^2} \tag{6}
6{6}代入5{5}中可得:
(7)E[i=1nu^i2]=(n1)σu2+σu22σu2=(n2)σu2 E \left[\sum_{i=1}^{n}\hat{u}_i^2 \right]=(n-1)\sigma_u^2+\sigma_u^2-2\sigma_u^2=(n-2)\sigma_u^2 \tag{7}
則擬合優度 R2R^2 爲:
(8)R2=1SSR/SST=1u^u^(Xβ+u)(Xβ+u)=1(n2)σu2(i=1nβi2)σx2+σu2 R^2=1-SSR/SST=1-\frac{\hat{u}'\hat{u}}{(X\beta+u)'(X\beta+u)}=1-\frac{(n-2)\sigma_u^2}{(\sum_{i=1}^{n}\beta_i^2)\sigma_x^2+\sigma_u^2} \tag{8}

2. OLS 性質的可視化模擬

2.1 概覽

爲了讓大家對參數和模型的設定如何影響 OLS 迴歸結果有一個直觀地感受,本次推文將介紹一個可以直接調整各項參數並得到可視化OLS結果的A Shiny App for Playing with OLS 。這個 APP 對解釋變量和擾動項的假設與經典 OLS 假設一致 ,並給定 xx 的期望爲2, uu 的期望爲0。用戶可以調整解釋變量 xx 和誤差項 uu 的標準差、隨機種子的數量、樣本規模、樣本生成模型以及 OLS 迴歸模型,並可以在調整參數的同時看到樣本點、擬合情況和對應的迴歸統計量的實時變化,如下圖:
OLS_app-01.gif

2.2 樣本規模的影響

首先來看樣本規模對 OLS 迴歸的影響,其他條件不變,在迴歸模型設定正確的前提下,樣本量越大模型的擬合優度越高。這個預判可以從下圖的操作中得到驗證,這裏真實數據生成過程爲 y=2+3x+uy=2+3x+u ,迴歸模型爲y=α+xβ+uy = \alpha+x\beta + u,隨着樣本量由10逐漸擴大到496,擬合優度也呈現由0.26擴大到0.31的非減變化。

OLS_app-02-sample-size.gif

2.3 解釋變量標準差的影響

模型設定正確的前提下,其他條件不變,解釋變量標準差越大,擬合效果越好。如下圖,當解釋變量 xx 的標準差由0.25逐漸增加到3.5時,擬合優度也呈現了大幅度地增長,由0.29 增加到了0.99。

OLS_app-03-varX.gif

2.4 解釋變量標準差和誤差項標準差的交互影響

當同時考慮解釋變量和誤差項的標準差變化時,我們將能更清楚地看到解釋變量和誤差項標準差對擬合效果不同方向的影響以及影響程度的相對大小。模擬顯示,保持 xx 的標準差爲0.25,uu 的標準差由1增加到7時,模型的擬合優度將由0.28驟降到0。保持 uu 的標準差爲5,xx 的標準差由0.25增加到4.25時,模型的擬合優度將由0.01增加到0.83。

OLS_app-04-varU.gif

2.5 迴歸模型設定的影響

前面的模擬我們都直接設定迴歸模型與真實模型一致,如果迴歸模型設定不符合真實模型會發生什麼呢?這裏我們設定真實模型爲 y=2+3x5x2+uy=2+3x-5x^2+u,當迴歸模型只包含一次項時擬合優度爲0.30;只包含二次項x2x^2時,由於拋物線的開口方向相反,擬合優度僅爲0.16;而同時包含一次項和二次項即與真實模型一致時,擬合優度增加到了0.49;而往模型中加入更高次項時,擬合優度 卻並沒有改善。顯然以上模擬結果證實了當迴歸模型與真實模型一致時,OLS 的擬合效果最好。
OLS_app-05-NLS.gif

3. Stata 模擬 OLS

以上模擬過程同樣也可以用 Stata 操作,事實上僅需幾行代碼即可完成:

cd "D:\stata15\ado\personal\Jianshu\OLS_simu_APP"
clear
set obs 151
set seed 1
gen x = rnormal(0, 0.25)
gen u = rnormal(0,1)
gen y = 2 + 3*x + u
*-圖示
twoway (scatter y x) (lfit y x), ///
       scheme(tufte) legend(off)
*-更爲簡潔的做法
aaplot y x
graph export OLS_APP_01.png, replace
reg y x

Stata連享會-OLS蒙特卡洛模擬-使用 aaplot 命令製圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章