Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: comparing coefficients and retrieve b from bootstrap
From
Maarten buis <[email protected]>
To
[email protected]
Subject
Re: st: comparing coefficients and retrieve b from bootstrap
Date
Sat, 13 Mar 2010 00:17:14 -0800 (PST)
--- On Fri, 12/3/10, G. Dai wrote:
> I'm interested in compare two coefficients from the following two
> regressions:
> y=a0+a1*X1+a2*X2+ey
> z=b0+b1*X1+b2*X3+ez
<snip>
> Unfortunately, y is truncated in my data and z is a dummy and thus a
> tobit and a probit will be a better choice. Keep this in mind, I have to
> compare a1 and b1 form the regressions:
> tobit y X1 X2 [pw=weight], ll(.) ul(.)
> probit z X1 X3 [pw=weight]
You can combine models using -suest-, see: -help suest-. However, why do
you expect the two coefficients to be the same? The unit of the depedent
variable is likely to be very different, so a direct comparison of the two
coefficients boils down to comparing apples and oranges.
You could turn the dependent variable of the -tobit- and -logit-
regressions into a similar metric by first computing the standard
deviations of the latent variables, and than divide the parameter of the
variable of interest by this standard deviation
The latent variable in both cases is y* = b0 + b1 x + e (assuming you have
1 explanatory variables x). Using standard rules for variances and standard
deviations (see <http://en.wikipedia.org/wiki/Variance>, you can see that
that the variance of y* is:
b1^2*var(x) + var(e)
var(e) is the sigma that is returned by -tobit- squared or 1 in -probit-, and var(x) can be obtained from -summarize-.
Putting this together:
*--------------------------- begin example -------------------------
sysuse auto, clear
generate wgt=weight/1000
tobit mpg wgt, ll(17)
est store a
probit foreign wgt
est store b
suest a b
sum wgt
local sd_y "sqrt([a_model]_b[wgt]^2*`r(Var)' + [a_sigma]_b[_cons])"
local sd_z "sqrt([b_foreign]_b[wgt]^2*`r(Var)' + 1)"
testnl [a_model]_b[wgt] / `sd_y' = [b_foreign]_b[wgt] / `sd_z'
*---------------------------- end example ---------------------------
( For more on how to use examples I sent to statalist see:
http://www.maartenbuis.nl/stata/exampleFAQ.html )
If you have multiple explanatory variables you also have to take into
account the covariances between the explanatory variables when computing
the standard deviation of y*. The relevant formulas are shown on the
wikipedia page I linked to earlier.
Hope this helps,
Maarten
--------------------------
Maarten L. Buis
Institut fuer Soziologie
Universitaet Tuebingen
Wilhelmstrasse 36
72074 Tuebingen
Germany
http://www.maartenbuis.nl
--------------------------
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/