Regression

對數變換後報告回歸統計

  • April 8, 2014

我對如何在對因變量進行對數轉換後報告線性回歸統計數據感到有些困擾。

我想我應該報告轉換後的係數,但它們會很容易解釋嗎?

在回歸圖中,我應該使用轉換後的值還是原始值?而秒數會比繪製轉換後產生的回歸線更清晰。

有什麼方向嗎?

在結果的對數線性模型中具有連續未轉換的解釋變量和一個虛擬解釋變量:

  1. 是百分比變化對於一個小小的改變(上或下)
  2. 如果 d 從 0 變為 1,則百分比變化是.
  3. 如果 d 從 1 變為 0,則百分比變化是

就個人而言,我發現這種半彈性解釋比虛擬變量的幾何基線平均值(指數截距)的乘法效應更容易理解,. 如果是一個比率,也許這會更有意義。


對於圖表,您可以繪製兩條重新轉換的線 反對 x,一個與和一個:

這個表達式的第二部分是困難的部分。如果我們假設正態性和獨立性,我們可以將第二項近似為我們將記錄回歸中的 RMSE 用於未觀察到的. 或者我們可以使用一個較弱的假設在,並使用來自對數模型的取冪殘差的樣本平均值作為第二項。這就是段“抹黑”的做法。取兩個平均值可能是有意義的:一個用於觀察和一個如果您有理由相信兩組之間存在異方差。

最後,所有這些重新轉換的廢話也可以通過使用 GLM 模型來避免。

下面是一個使用 Stata 的例子:

. sysuse auto, clear
(1978 Automobile Data)

. gen lnp=ln(price)

. reg lnp i.foreign mpg

     Source |       SS       df       MS              Number of obs =      74
-------------+------------------------------           F(  2,    71) =   17.80
      Model |  3.74819416     2  1.87409708           Prob > F      =  0.0000
   Residual |  7.47533892    71  .105286464           R-squared     =  0.3340
-------------+------------------------------           Adj R-squared =  0.3152
      Total |  11.2235331    73  .153747029           Root MSE      =  .32448

------------------------------------------------------------------------------
        lnp |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
    foreign |
   Foreign  |   .2824445   .0897634     3.15   0.002     .1034612    .4614277
        mpg |  -.0421151   .0071399    -5.90   0.000    -.0563517   -.0278785
      _cons |     9.4536   .1485422    63.64   0.000     9.157415    9.749785
------------------------------------------------------------------------------

國外溢價為 32% 且顯著:

. nlcom 100*(exp(_b[1.foreign])-1)

      _nl_1:  100*(exp(_b[1.foreign])-1)

------------------------------------------------------------------------------
        lnp |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
      _nl_1 |   32.63681   11.90594     2.74   0.006     9.301603    55.97202
------------------------------------------------------------------------------

以下是指數係數:

. reg, eform(b)

     Source |       SS       df       MS              Number of obs =      74
-------------+------------------------------           F(  2,    71) =   17.80
      Model |  3.74819416     2  1.87409708           Prob > F      =  0.0000
   Residual |  7.47533892    71  .105286464           R-squared     =  0.3340
-------------+------------------------------           Adj R-squared =  0.3152
      Total |  11.2235331    73  .153747029           Root MSE      =  .32448

------------------------------------------------------------------------------
        lnp |          b   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
    foreign |
   Foreign  |   1.326368   .1190594     3.15   0.002     1.109003    1.586337
        mpg |   .9587594   .0068455    -5.90   0.000     .9452067    .9725066
      _cons |      12754   1894.507    63.64   0.000     9484.509    17150.53
------------------------------------------------------------------------------

國外溢價幾乎相同。國內汽車的幾何平均價格對我來說似乎相當高,但那是因為我們以里程為條件(這些是 Caddies、Lincoln 和 Mercuries)。現在我們手動實現 Duan 的重新轉換方法:

. predict double uhat, residual

. predict double lnyhat, xb

. gen double expuhat = exp(uhat)

. sum expuhat, meanonly

. gen double yhat = r(mean)*exp(lnyhat)

您還可以使用 Chris Baum 的levpredict

. /* Make Sure I Did Things Right */
. levpredict yhat2, duan

. compare yhat yhat2

                                       ---------- difference ----------
                           count       minimum      average     maximum
------------------------------------------------------------------------
yhat=yhat2                     74
                      ----------
jointly defined                74             0            0           0
                      ----------
total                          74

現在對於圖形代碼:

. tw ///
> (line yhat mpg if foreign ==1, sort lcolor(green)) ///
> (line yhat mpg if foreign ==0, sort lcolor(orange)) ///
> (scatter price mpg if foreign==1, mcolor(green) msymbol(Oh) jitter(2)) ///
> (scatter price mpg if foreign==0, mcolor(orange) msymbol(Oh) jitter(2)) ///
> ,legend(label(1 "E[Price|Foreign]") label(2 "E[Price|Domestic]") label(3 "Foreign") label(4 "Domestic") rows(1)) ///
> ytitle("Dollars") title("Duan Smearing In Action") ///
> ylab(, angle(horizontal) format(%9.0fc)) plotregion(fcolor(white) lcolor(white)) graphregion(fcolor(white) lcolor(white)) ///
> 

看起來很合理:

在此處輸入圖像描述

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

comments powered by Disqus