作者:連玉君 | 許夢潔 (知乎 | 簡書 | 碼雲)

Stata連享會 「Stata現場班報名中……」

最小二乘估計( OLS )是經管類學生學術道路上的第一個攔路虎,也是最重要的墊腳石。複雜的估計參數、模型設定以及各種統計量總是讓初學者們望而卻步,同時如何清楚明白地向同學們講清楚複雜的 OLS 系統對於老師們來說也是一個不小的挑戰。因此一個能夠直觀反映 OLS 系統抽象性質的工具想必不僅能幫助同學們對抽象的 OLS 系統有一個直觀地體驗,而且也能極大地方便老師們的教學工作。在這篇推文中,我們就將為大家介紹這樣一個福利APP:A Shiny App for Playing with OLS。

1. OLS 回顧

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

y = xeta + u  	ag{1}

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

hat{eta} = (xx)^{-1}xy 	ag{2}

進一步假設 u sim N(0, sigma^2) ,則 hat{eta} 為:

Var(hat{eta}) = sigma^2(xx)^{-1} 	ag{3}

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

- 要點1: 幹擾項的變異程度。顯然, sigma^2 越小越好:這意味著原始模型 (1) 中幹擾項的方差 ( Var(u)=sigma_u^2) 越小越好。實證分析中,若模型設定中遺漏了重要的變數,或是某些不可觀測的個體或時間特徵沒有得到很好的控制,它們都會跑到幹擾項中,從而導致sigma^2 過大。一個比較常用的處理方式就是在模型中加入反應個體或時間固定效應的虛擬變數。

- 要點2: 解釋變數的變異程度。若把 (xx) 視為 Var(x)=sigma_x^2 ,則 (xx)^{-1} 可以視為 1/Var(x)。換言之,解釋變數的離散程度越高,則越容易更為準確地識別 eta 的參數估計值。實證分析中,在收集數據環節,就要儘可能保證樣本的來源多樣化,能夠較好的反應母體的特徵。

2. OLS 性質的可視化模擬

2.1 概覽

為了讓大家對參數和模型的設定如何影響 OLS 回歸結果有一個直觀地感受,本文與大家分享一個在線的可視化 APP —— A Shiny App for Playing with OLS。

這個 APP 使我們可以直接修改 DGP (數據生成過程,Data Generation Process) 中各項參數,以便了解 OLS 的估計性質受那些因素影響,從而為實證分析中合理設定模型提供依據。

具體而言,在進行基本參數設定時,該 APP 對解釋變數和擾動項的假設與經典 OLS 假設一致 ,並給定 x 的期望為 2, u 的期望為0。用戶可以調整解釋變數 x 和幹擾項 u 的標準差、隨機模擬的種子值、樣本數、DGP 以及 OLS 回歸模型,並可以在調整參數的同時看到樣本點、擬合情況和對應的回歸統計量的實時變化,如下圖:

2.2 樣本規模的影響

首先,我們來看樣本規模對 OLS 回歸的影響。其他條件不變,在回歸模型設定正確的前提下,樣本量越大模型的擬合優度越高。這個預判可以從下圖的操作中得到驗證,這裡真實數據生成過程 (DGP) 為 y=2+3x+u ,回歸模型與真實模型一致,為 y = alpha+xeta + u。隨著樣本量由 10 逐漸擴大到 496,擬合優度由 0.26 增加到 0.31。

2.3 解釋變數標準差的影響

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

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

當同時考慮解釋變數和誤差項的標準差變化時,我們將能更清楚地看到解釋變數和誤差項標準差對擬合效果不同方向的影響以及影響程度的相對大小。

模擬顯示,保持 x 的標準差為 0.25, u 的標準差由 1 增加到 7 時,模型的擬合優度將由 0.28 驟降到 0。保持 u 的標準差為 5,x 的標準差由 0.25 增加到 4.25時,模型的擬合優度將由 0.01增加到 0.83。

2.5 回歸模型設定的影響

在上述模擬中,我們都直接設定回歸模型與真實模型一致。然而,實際分析中,我們並不知道真實的 DGP,也就無從知道真實的模型形式。那麼,當回歸模型設定不符合真實模型會發生什麼呢?

這裡,我們設定真實模型為 y=2+3x-5x^2+u,當回歸模型只包含一次項時,擬合優度為 0.30;只包含二次項 x^2 時,由於拋物線的開口方向相反,擬合優度僅為 0.16;而同時包含一次項和二次項 (與真實模型一致) 時,擬合優度增加到了 0.49;但當我們在模型中進一步添加高次項時,擬合優度並沒有改善。

上述模擬結果表明:當回歸模型與真實模型一致時,OLS 的擬合效果最好。

這意味著,在實證分析中,我們可以使用 R^2 (更多的時候是使用 殘差平方和 RSS),來作為判別模型優劣的指標。(需要說明的是,這只是一個必要條件,而不是充分條件。因為,當存在嚴重共線性或偽回歸問題時,也會表現出 R^2 很高的特徵。參見 「Stata: 協整還是偽回歸?」)

3. 自己動手:用 Stata 模擬 OLS 的性質

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

cd "D:stata15adopersonalJianshuOLS_simu_APP"
clear
set obs 151
set seed 1
gen x = rnormal(2, 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

我們可以在上述 dofile 中修改相應的參數來對比 OLS 性質的變化。

如果想讓模擬分析過程更有效,可以把上述代碼改寫為一個可以反覆執行的 ado 文件,並以此為基礎定義一個 Stata 命令,通過選項來設定模擬過程中各個參數的數值。具體實現過程參見:「Stata:編寫ado文件自動化執行常見任務」。

結語

在這篇推文中,我們為大家介紹了一個根據用戶自己設置的參數生成樣本點並進行 OLS 回歸的 APP,並通過對這個 APP 的簡單操作對 OLS 回歸中樣本規模、解釋變數標準差、誤差項標準差以及各個參數之間的交互作用對回歸結果的影響給出了一個直觀的體驗,希望對大家有所幫助。需要注意的是,在試圖使用 Stata 等其他統計軟體對這個 APP 計算的統計量進行對比和驗證時需要牢記這個 APP 默認 $x$ 的期望為2,$u$ 的期望為 0 ,否則可能會出現與預期不一致的結果。這裡我們也給出了使用 Stata 實現同樣回歸效果的代碼,作為對這個 APP 的一個補充和對照。

關於我們

  • Stata 連享會(公眾號:StataChina)】由中山大學連玉君老師團隊創辦,旨在定期與大家分享 Stata 應用的各種經驗和技巧。
  • 公眾號推文同步發佈於 CSDN-Stata連享會 、簡書-Stata連享會 和 知乎-連玉君Stata專欄。可以在上述網站中搜索關鍵詞StataStata連享會後關注我們。
  • 點擊推文底部【閱讀原文】可以查看推文中的鏈接並下載相關資料。
  • Stata連享會 精彩推文1 || 精彩推文2

聯繫我們

  • 歡迎賜稿: 歡迎將您的文章或筆記投稿至Stata連享會(公眾號: StataChina),我們會保留您的署名;錄用稿件達五篇以上,即可免費獲得 Stata 現場培訓 (初級或高級選其一) 資格。
  • 意見和資料: 歡迎您的寶貴意見,您也可以來信索取推文中提及的程序和數據。
  • 招募英才: 歡迎加入我們的團隊,一起學習 Stata。合作編輯或撰寫稿件五篇以上,即可免費獲得 Stata 現場培訓 (初級或高級選其一) 資格。
  • 聯繫郵件: [email protected]

往期精彩推文

  • Stata連享會推文列表1
  • Stata連享會推文列表2
  • Stata連享會 精彩推文1 || 精彩推文2



推薦閱讀:
相關文章