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

Re: st: How to test for Fixed Effect after "areg"


From   JAYESH KUMAR <[email protected]>
To   <[email protected]>
Subject   Re: st: How to test for Fixed Effect after "areg"
Date   Sun, 20 Jul 2003 17:52:57 +0530 (IST)

Hi there,

Thanks for your sugession.

Probably I couldn't make my self clear enough in this case.

As I want to test whether the Fixed Effect, is at all needed verses OLS?
I am using firm level data to analyze firm's performance.

My equation is something like:

Y_it= (X1_it + X2_it + X3_it + ...+ X9_it) + (Z1_it + Z2_it + Z3_it +Z4_it) + u_it

where X's and Z's both are firm specific variables. I have option of using
industry dummies, firm dummies or fixed effect transformation for some
variables.

Since its argued that Z variables may get significant just because of firm
heterogeneity (Himmelberg et. al, 1999 in JFE), if not controlled with firm
dummies.

They suggest to use Firm dummies as well in the regression, which is same
as -xtreg, fe or areg.

While, Zhou (2001 in JFE) in criticism of Himmelberg (1999) argues that, Z
variables does not vary much to be used in fixed effect model.

Now, in this case I would like to test whether Fixed Effect should be used
for both X and Z's or not ( I propose to use fixed effect transformation in
this case).
i.e. i have these alternative equations:

Model 1:

(Y_it - Y_i.) = (X_it - X_i.) + Z_it + u_it   (If Fixed effect for Z's are
not significant)

Model 2:

(Y-it - Y_i.) = (X_it - X_i.) + (Z_it - Z_i.) + (u_it _ U_i.)
(IF Fixed Effect for both X's and Z's are significant)

Model 3:

Y_it = X_it + Z_it + u_it
(IF Fixed Effect for both X's and Z's are insignificant)

I would like to test as which model should be used in this case.
The tests which I propose here are:

Fit Model 2, test for (X_it -X_i.) and (Z_it -Z_i.) significance separately
and jointly as well.

Fit Model 3, with firm dummies included and test for joint significance of
firm dummies. (i.e. areg)

I hope this makes my question clear, in case of any doubts please feel
free to get in touch with me personally.

with regards,

-Jayesh Kumar


#You wrote:
:-----------------------end excerpt from posting---------------------------------
:I'm not sure whether I follow Jayesh's description, but if I understand it
:correctly, then I recommend to use -xtreg , re- and not -areg- (-xtreg , fe-
:would be the same).  If the independent variables x1 and x2 (sets of controls)
:are between individuals, then both -areg- and -xtreg , fe- would drop both of
:those independent variables.  -xtreg , re- would allow testing of them.  (-
:xtreg , be- would be the same if the dataset is balanced, that is, no missing
:data.)
:
:Testing independent variables jointly is easy in Stata.  The command would be -
:test x1 x2- after a suitable estimation command.
:
:Take a look at the illustration below.  Gloss over all but the last three
:commands; most of the do-file is just to create an illustrative fictional
:dataset with i(2000) and t(15) and then to fit a model to the data.  In the
:illustration, the two sets of controls are named ind1 and ind2, two independent
:variables (covariates) with values 0 (control) and 1 (noncontrol).  After
:fitting a suitable statistical model of the data, I use -test- on the
:covariates individually, and then on them jointly.  If the dataset is a time
:series with 15 relatively distantly spaced intervals, or if the model is
:nonnormal, then -xtgee- or some other estimation command of the -xt- series
:might be more suitable.
:
:Joseph Coveney
:------------------------begin illustration do-file------------------------------
:clear
:set seed 20030720
:set obs 15
:set more off
:forvalues i = 1/15 {
:generate float a`i' = 0.7
:    quietly replace a`i' = 1 in `i'
:}
:mkmat a*, matrix(A)
:local means "100"
:local sd "15"
:local dep "dep1"
:forvalues i = 2/15 {
:    local means = "`means'" + ", 100"
:    local sd = "`sd'" + ", 15"
:    local dep = "`dep'" + " dep`i'"
:}
:drawnorm "`dep'", n(2000) means("`means'") /*
:  */ sd("`sd'") corr(A) clear
:matrix drop A
:generate int rid = _n
:generate byte ind1 = uniform() > 0.5
:generate byte ind2 = uniform() > 0.5
:reshape long dep, i(rid) j(tim)
:xi: xtreg dep ind1 ind2 i.tim, i(rid) re
:* Testing each alone
:test ind1
:test ind2
:* Testing both together
:test ind1 ind2
:exit
:--------------------------end illustration do-file------------------------------

*
*   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–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index