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 at the end of May, and its replacement, statalist.org is already up and running.


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

Re: st: how do we jointly test coefficients from different regressions?


From   Arthur Boman <boman@berkeley.edu>
To   <statalist@hsphsun2.harvard.edu>
Subject   Re: st: how do we jointly test coefficients from different regressions?
Date   Tue, 19 Mar 2013 12:07:53 -0700

Jorge,

When I say 'allow the constant' I just meant that the regression has a
constant in it and is not forced to pass through the origin.  But now that
you mention it... Yes I need to allow the constant to vary over different y
variables.

I will have to do a lot of reading and study to know what this means.

If I trim your code to exclude generation of the dataset, I guess I get
the following.  I have also tried to include the facts that 1. there is
more than just x2, there is also x3 and x4 and that 2. there are y1... y25:

clear
reshape long y, i(year) j(var)
* Regress the stacked y on x, different coefficients by var.
* Allowing the constant to change over different y variables:
reg y c.(x1 x2 x3 x4)##i.var
* Test coefficients on x1. Notice this can be run for any number of
variables.
qui test 1.var#c.x1=0
forv i=2(1)$nvar {
qui test `i'.var#c.x1=1.var#c.x1, accum
}
test

Did I erase anything that I should not have?



On Tue, 19 Mar 2013 00:38:36 -0400, Jorge Eduardo Pérez Pérez
<perez.jorge@ur.edu.co> wrote:
> This is an example of the "stacking" approach using reshape. I don't
> understand what you mean when you say you want to allow the constant,
> but I contemplate it the example below.
> 
> * ----------------- Begin code ---------------------------------------
> clear
> version 12
> * This just generates some random data. You do not need to do this.
> set obs 68
> set seed 135
> * x variables
> gen x1=rnormal()
> gen x2=rnormal()
> * time
> gen time=_n
> * 3 y variables (this could be any number of variables, i.e. 25)
> glo nvar=3
> * Coefficients. I am setting 0 for x1 and 1 for x2
> forv i=1(1)$nvar {
> glo b`i'1=0
> glo b`i'2=1
> }
> forv i=1(1)$nvar {
> gen y`i'=${b`i'1}*x1+${b`i'2}*x2
> }
> * Now I have a data set like yours.
> * Reshape, same as stacking y into 1 vector
> reshape long y, i(time) j(var)
> * Add an error term for the regression. You do not need to do this.
> gen e=0.1*rnormal()
> replace y=y+e
> * Regress the stacked y on x, different coefficients by var.
> * Constant is not varying over the different y variables
> * If you want to allow the constant to vary, use reg y c.(x1 x2)##i.var
> reg y c.(x1 x2)#i.var
> * Test coefficients on x1. Notice this can be run for any number of
> variables.
> qui test 1.var#c.x1=0
> forv i=2(1)$nvar {
> qui test `i'.var#c.x1=1.var#c.x1, accum
> }
> test
> * --------------------- End code
----------------------------------------
> 
> Hope this helps,
> 
> Jorge Pérez.
> _______________________
> Jorge Eduardo Pérez Pérez
> 
> 
> On Mon, Mar 18, 2013 at 11:55 PM, Arthur Boman <boman@berkeley.edu>
wrote:
>> Hello,
>>
>> I am working on a joint test.  The test is NOT of the standard f-test
>> form:
>>
>> y = a*x1 + b*x2+ c*x3 +d*x4, and then testing the null whether a=b=c=0.
>>
>> The test is of the form:
>>
>> y1= a*x1 + f*x2  and  y2= b*x1 + g*x2 and  y3= c*x1 + h*x2 and testing
>> the
>> null whether a=b=c=0
>>
>> I want to allow the constant.
>>
>> I have looked a lot and cannot figure out how to do in Stata.
>>
>> y1, y2, y3, x1, x2 are time series data by year... one value per year. 
I
>> have data for all five of those variables for each of 68 consecutive
>> years.
>> I don't have data for any of them for any other years.
>>
>> Someone suggested I stack (y1, y2, y3) into a column vector.  I dont
get
>> how that would work and cannot ask the person.
>>
>> Thanks,
>> Arthur
>>
>> (More background: y1, y2, and y3 are portfolio returns by year.  I want
>> to
>> test the hypothesis that x1 is not a priced factor in ANY of the
>> portfolios
>> (i.e. that the coefficient on x1 is zero for ALL portfolios).  x2 is
just
>> another factor in my asset-pricing model.  There are actually 25
>> portfolios, not just three.  I will be testing whether we can reject
the
>> null hypothesis that all of the 25 coefficients are zero.)
>>
>>
>>
>>
>>
>>
>>
>>
>> *
>> *   For searches and help try:
>> *   http://www.stata.com/help.cgi?search
>> *   http://www.stata.com/support/faqs/resources/statalist-faq/
>> *   http://www.ats.ucla.edu/stat/stata/
>>
>>
> 
> 
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/faqs/resources/statalist-faq/
> *   http://www.ats.ucla.edu/stat/stata/
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


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