Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: comparing coefficients and retrieve b from bootstrap

From   Maarten buis <>
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
> 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 <>, 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: )

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 L. Buis
Institut fuer Soziologie
Universitaet Tuebingen
Wilhelmstrasse 36
72074 Tuebingen


*   For searches and help try:

© Copyright 1996–2016 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index