Normal-Distribution

估計參數函數周圍的置信區間

  • November 8, 2021

假設我估計以下模型, $$ y = \hat{\beta_0} + \hat{\beta_1} X_1 + \hat{\beta_2} X_2\ , $$ 並且對數量也很感興趣 $$ \gamma = \sqrt{\beta_0^2 - 4\beta_1\beta_2}\ . $$ 以上估計, $ \hat{\gamma} $ ,通過插入估計值清楚地給出 $ \hat\beta_i $ 的在上面的公式中。

但是,如何計算圍繞這種不直接估計的“複合”量的置信區間呢?

我的嘗試。

我的“經驗”方法如下。我生成大小的多元正態分佈 $ n $ 使用估計的手段 $ \hat\beta_i $ 的和擬合的協方差矩陣。因此,我有一個大小分佈 $ n $ 為了 $ \gamma $ . 這個分佈的平均值 $ \bar\gamma $ 自然是那麼接近 $ \hat\gamma $ 上面計算,我現在還有這個分佈的標準偏差 $ \sigma $ .

使用 $ \sigma $ 生成置信區間。

如果我使用標准定義 $ \bar\gamma \pm t(\alpha, n-1) \sigma / \sqrt{n} $ , 在哪裡 $ t $ 是 PPF 的 $ t $ -distribution,我遇到了以下困境:因為我選擇 $ n $ 就我自己而言,我實際上可以將標準誤差設置為我喜歡的盡可能小。這不是我想要的:我正在尋找一個“自然”置信區間,它完全取決於我對 $ \beta $ 的。因此,我的想法如下: $ \sigma $ 保持積極,並且似乎“收斂”到其真正的價值 $ n $ :因此,我的 95% 的值 $ \gamma $ 分佈在區間內 $ \bar\gamma \pm 2\sigma $ .

這種方法有效嗎?

這個問題的兩種常見方法是直接從回歸計算係數的非線性組合或引導它。

前者的方差基於“delta 方法”,這是一種適用於大樣本的近似值。這是在另一個答案中提出的,但是統計軟件可以使計算變得容易得多。

後者的方差來自於對內存中的數據進行帶放回的重採樣,擬合模型,計算係數組合,然後使用採樣分佈得到置信區間。

這是兩者都使用Stata的示例:

. sysuse auto, clear
(1978 automobile data)

. set seed 11082021

. regress price mpg foreign

     Source |       SS           df       MS      Number of obs   =        74
-------------+----------------------------------   F(2, 71)        =     14.07
      Model |   180261702         2  90130850.8   Prob > F        =    0.0000
   Residual |   454803695        71  6405685.84   R-squared       =    0.2838
-------------+----------------------------------   Adj R-squared   =    0.2637
      Total |   635065396        73  8699525.97   Root MSE        =    2530.9

------------------------------------------------------------------------------
      price | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
        mpg |  -294.1955   55.69172    -5.28   0.000    -405.2417   -183.1494
    foreign |   1767.292    700.158     2.52   0.014     371.2169    3163.368
      _cons |   11905.42   1158.634    10.28   0.000     9595.164    14215.67
------------------------------------------------------------------------------

. nlcom (gamma_dm:sqrt(_b[_cons] - 4*_b[mpg]*_b[foreign]))

   gamma_dm: sqrt(_b[_cons] - 4*_b[mpg]*_b[foreign])

------------------------------------------------------------------------------
      price | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
   gamma_dm |   1446.245   361.0078     4.01   0.000     738.6823    2153.807
------------------------------------------------------------------------------

使用 delta 方法的 95% CI 為 [738.6823, 2153.807]。

Boostrapping 產生 [740.5149, 2151.974],非常相似:

. bootstrap (gamma_bs:sqrt(_b[_cons] - 4*_b[mpg]*_b[foreign])), reps(500) nodots: regress price mpg foreign

Linear regression                                          Number of obs =  74
                                                          Replications  = 499

       Command: regress price mpg foreign
[gamma_bs]_bs_1: sqrt(_b[_cons] - 4*_b[mpg]*_b[foreign])

------------------------------------------------------------------------------
            |   Observed   Bootstrap                         Normal-based
            | coefficient  std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
gamma_bs     |
      _bs_1 |   1446.245   360.0728     4.02   0.000     740.5149    2151.974
------------------------------------------------------------------------------
Note: One or more parameters could not be estimated in 1 bootstrap replicate;
     standard-error estimates include only complete replications.


您的解決方案

如果您有大量數據,您提出的解決方案會起作用,但在這裡它只有 74 個觀察結果並不好:

. quietly regress price mpg foreign

. corr2data b_mpg b_foreign b_cons, n(500) means(e(b)) cov(e(V)) clear
(obs 500)

. gen gamma_sim = sqrt(b_cons - 4*b_mpg*b_foreign)
(3 missing values generated)

. sum gamma_sim

   Variable |        Obs        Mean    Std. dev.       Min        Max
-------------+---------------------------------------------------------
  gamma_sim |        497    1426.183    366.6408   197.5594   2397.263

. display "[" %-9.4f r(mean) + invttail(r(N)-1,.975)*r(sd) ", " r(mean) + invttail(r(N)-1,.025)*r(sd) "]"
[705.8224 , 2146.5434]

這裡的 CI 是 [705.8224 , 2146.5434],與上面的兩個 CI 明顯不同。

我的想法是,如果您要進行模擬,您不妨引導而不依賴僅漸近有效的正態近似。如果您有大量數據,則通過估計係數和方差參數化的 MVN 的自舉和採樣之​​間的差異應該不明顯。

引用自:https://stats.stackexchange.com/questions/551416

comments powered by Disqus