Bookmark and Share

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]

st: RE: RE: do file: t-score, dfuller, to sw regress


From   steven quattry <[email protected]>
To   [email protected]
Subject   st: RE: RE: do file: t-score, dfuller, to sw regress
Date   Thu, 9 Dec 2010 15:13:31 -0500

Thank you Nick for your comments, and apologies to all for being
unclear.  I fully understand if this leads many to ignore my original
post.  However if I may re-attempt to explain, essentially I have a
do-file created with the help of Statlist contributors that performs
bi-variate regressions, sorts the  independent  variables by t-score
and removes those below a certain threshold.  It then runs a Dfuller
test and further removes variables that do not pass the critical
level, and finally there is code that essentially removes any
variables that have blanks.  I would like to be able to learn of a way
to then take this output and sort the resulting variables by t-score,
then keep only the 72 variables with the highest t-score, and run a sw
regress with those variables.  My current code is below.  Again, I
sincerely apologize for being unclear and would appreciate any
feedback but understand if I do not receive any.

Also Nick, I assume you do not have the time to go into the
spuriousness of the above process, but if you were able to direct me
to a certain chapter in a well known stats text, or even an online
resource I would be quite thankful, however I fully understand it is
not your role.

Thank you for your consideration,
-Steven


I am using Stata/SE 11.1 for Windows

* 2.1 T-test and Dickey-Fuller Filter
**************************************

    drop if n<61

    tsset n
	tempname memhold
    tempname memhold2
    postfile `memhold' str20 var  double t using t_score, replace
    postfile `memhold2' str20 var2 double df_pvalue using df_pvalue, replace

    foreach var of varlist swap1m-allocglobal uslib1m-infdify
dswap1m-dallocglobal6 {
        qui reg dhealth `var'
        matrix e =e(b)
        matrix v = e(V)
        local t = abs(e[1,1]/sqrt(v[1,1]))
		if `t' < 1.7 {
			drop `var'
		}
		else {
			local mylist "`mylist' `var'"
			post `memhold' ("`var'") (`t')
		}
    }
    postclose `memhold'

    foreach l of local mylist {
	   qui dfuller `l', lag(1)
	   if r(p) > .01 {
	       drop `l'
	   }
	   else {
	       local mylist2 "`mylist2' `l'"
	       post `memhold2' ("`l'") (r(p))
	   }
    }
    postclose `memhold2'
    keep `mylist2'
log on
    use t_score,clear
    gsort -t
    l
    use df_pvalue, clear
    l
log off
restore

* 2.2 Missing data Filter
**************************
preserve
    drop if n<61

    foreach x of varlist `mylist2' {
        qui sum `x'
            if r(N)<72 {
                di in red "`x'"
                drop `x'
            }
            else {
                local myvar "`myvar' `x'"
            }
    }

    sum date
    keep if date==r(max)

    foreach x of varlist `myvar' {
        if `x'==. {
            drop `x'
        }
        else {
            local myvar2 "`myvar2' `x'"
        }
    }
log on
d `myvar2'
log off
restore


* 2.3 Stepwise Regressions
***************************

preserve
    drop if n<61

*Simultaneous Model
    local x "Here is where I paste in variables after sorting by
t-score and keeping only 72 highest"


log on
    sw reg dhealth `x', pe(0.05)


vif
*
*   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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index