Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: Generating first-differences in regression coefficients


From   "Clive Nicholas" <Clive.Nicholas@newcastle.ac.uk>
To   statalist@hsphsun2.harvard.edu
Subject   st: Generating first-differences in regression coefficients
Date   Fri, 27 May 2005 22:36:30 +0100 (BST)

Stata 8.2, Windows 2000

I'm wondering if somebody has for a solution for what must be a basic
task. After generating some useful regression models to interpret, I'm
looking to automatically generate first-differences in the regression
coefficients.

Let me be clear as to what I mean here, as there are at least two
interpretations of FDs. My desired form of FD is the difference in a
coefficient's value at 1 standard deviation below the zero mean and 1 SD
above. Now, this can be done using one of my favourite user-written Stata
routines - Gary King et al's excellent -clarify- package (downloadable
from SSC) - where you can do this:

. estsimp reg con0105 turn0105 margin01 ownocc91, sims(5000) genname(b)

    Source |       SS       df       MS              Number of obs =     567
-----------+------------------------------           F(  3,   563) =   10.62
     Model |  295.587169     3  98.5290562           Prob > F      =  0.0000
  Residual |  5223.73578   563  9.27839392           R-squared     =  0.0536
-----------+------------------------------           Adj R-squared =  0.0485
     Total |  5519.32294   566  9.75145396           Root MSE      =   3.046
----------------------------------------------------------------------------
   con0105 |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-----------+----------------------------------------------------------------
  turn0105 |   .0319125   .0542078     0.59   0.556    -.0745618    .1383869
  margin01 |  -.3979688   .1022995    -3.89   0.000    -.5989041   -.1970335
  ownocc91 |   .0266134   .0119748     2.22   0.027     .0030927     .050134
     _cons |  -.0630194   1.064416    -0.06   0.953    -2.153731    2.027692
----------------------------------------------------------------------------

[...]

. setx mean

. simqi, fd(ev) changex(turn0105 p15.87 p84.13)

First Difference: turn0105 p15.87 p84.13

    Quantity of Interest |     Mean       Std. Err.    [95% Conf. Interval]
-------------------------+--------------------------------------------------
             dE(con0105) |   .1366748     .2276696    -.3152429    .5821121

Nice and simple: if you're using -reg- or any of the routines supported by
-clarify-. Unfortunately, there are no plans at all to update -clarify-
for Stata users to cover other kinds of regression models, such as the ML
beta-distributed models I'm currently fitting to my data.

Amongst other things, I've tried -findit first differences- and looked at
the help files for -predict- and -adjust-, but nothing doing. I've also
-bootstrap-ped, thus:

. bs "reg con0105 turn0105 margin01 ownocc91" _b _se, size(567) reps(500)
  saving(clive) dots

from which, I could obtain:

. sum b_turn0105, detail

                        _b[turn0105]
-------------------------------------------------------------
      Percentiles      Smallest
 1%    -.1167764      -.1452201
 5%    -.0725563      -.1339739
10%    -.0440525      -.1310334       Obs                 500
25%     -.004207      -.1268797       Sum of Wgt.         500

50%     .0329396                      Mean           .0361172
                        Largest       Std. Dev.      .0642915
75%      .082854       .1817445
90%     .1196568       .1875912       Variance       .0041334
95%     .1396888       .1922761       Skewness      -.0019643
99%     .1790191        .254556       Kurtosis        2.90165

for any coefficient. I tried using -pctile- with this, but it wouldn't let
me use the -percentiles()- option:

. pctile pct = b_turn0105, nq(4) p(15.87 50 84.13) genp(pc)
option p() not allowed
r(198);

. pctile pct = b_turn0105, nq(4) percentiles(15.87 50 84.13) genp(pc)
option percentiles() not allowed
r(198);

. pctile pct = b_turn0105, percentiles(15.87 50 84.13) genp(pc)
option percentiles() not allowed
r(198);

. pctile pct = b_turn0105, percentiles(15.87 50 84.13)
option percentiles() not allowed
r(198);

If anyone knows of any canned post-estimation solutions for generating FDs
in regression coefficients, then I'd be very grateful to you.

CLIVE NICHOLAS        |t: 0(044)7903 397793
Politics              |e: clive.nicholas@ncl.ac.uk
Newcastle University  |http://www.ncl.ac.uk/geps

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index