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]

From |
Richard Herron <richard.c.herron@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: How to add Q stats from -wntestq- to -esttab- table (hopefully with -estadd-) |

Date |
Fri, 16 Sep 2011 15:51:16 -0400 |

@Stas -- Thanks for the pointers! I used -estadd- because I wanted to quickly estimate the models and generate the table, although after each estimation I added several lines to find Q, which made it very clunky. I learned enough Stata programming to write my own -estadd- function to add Q. * ----- begin code ----- * my -estadd- function to calculate Box-Ljung Q capture program drop estadd_Q program estadd_Q, eclass tempname residuals predict `residuals', residuals wntestq `residuals' ereturn scalar Q = r(stat) end * get data webuse friedman2, clear generate ln_m1 = ln(m1) * make some models eststo clear eststo: quietly arima DS4.ln_m1, ar(1) ma(2) eststo: quietly arima DS4.ln_m1, ar(1) ma(1/2) eststo: quietly arima DS4.ln_m1, ar(1/2) ma(2) eststo: quietly arima DS4.ln_m1, ar(1/2) ma(1/2) estadd Q : * * and create tables with -esttab- esttab, stats(aic bic Q) noobslast nomtitles * ----- end code ----- It works! Any other suggestions? Thanks! On Fri, Sep 16, 2011 at 10:06, Stas Kolenikov <skolenik@gmail.com> wrote: > I don't see much advantage of -eststo- over the official -estimates > store-, with which you may not be familiar. -estimates- are as close > as Stata gets to R objects, with -e(whatever)- > being essentially results$whatever. -estadd-, on the other hand, is > immensely helpful. In your R to Stata work, you would also find that > you would need to declare temporary variables explicitly with > -tempvar-, and use local macro names for these. (It actually provides > a better locality control than R objects that can seep through the > program interfaces and produce unpredictable results. In Stata, > variables in the data set are ALWAYS global, and the macros in a > program are ALWAYS local.) Hence your programmatic solution would look > like > > program define arima_plus_wntestq > version 11 > syntax varlist , estname( name ) [ * ] > quietly { > arima `varlist', `options' > tempvar res > predict `res', residuals > wntestq `res' > estadd scalar Q = r(stat) > estadd scalar df_Q = r(df) > estadd scalar p_Q = r(p) > estimates store `estname' > } > end // of arima_plus_wntestq > > Another thing about R to Stata change is that you can rely on the > official Stata commands doing good job with backwards compatibility, > but you should rarely expect such of the user-written command. In > other words, in your own programs, you would want to use as little > user-written stuff as needed for them to work. (There is no built-in > mechanisms to resolve dependencies, but you as the author of the > program may build rudimentary tools for that. More typically, I put > whatever -ssc install- packages I need at the top of my do-file, > rather than in ado-files and programs themselves.) > > On Fri, Sep 16, 2011 at 8:39 AM, Richard Herron > <richard.c.herron@gmail.com> wrote: >> I found a hackish solution. >> >> * ----- begin code ----- >> * combine regressions with -eststo- and add -wntestq- with -estadd- >> webuse friedman2, clear >> generate ln_m1 = ln(m1) >> eststo clear >> eststo: quietly arima DS4.ln_m1, ar(1) ma(2) >> quietly predict res_1, residuals >> quietly wntestq res_1 >> estadd scalar Q = r(stat) >> >> eststo: quietly arima DS4.ln_m1, ar(1) ma(1/2) >> quietly predict res_2, residuals >> quietly wntestq res_2 >> estadd scalar Q = r(stat) >> >> eststo: quietly arima DS4.ln_m1, ar(1/2) ma(2) >> quietly predict res_3, residuals >> quietly wntestq res_3 >> estadd scalar Q = r(stat) >> >> eststo: quietly arima DS4.ln_m1, ar(1/2) ma(1/2) >> quietly predict res_4, residuals >> quietly wntestq res_4 >> estadd scalar Q = r(stat) >> >> * and create tables with -esttab- >> esttab, stats(aic bic Q) noobslast nomtitles >> * ----- end code ----- >> >> Programming is the next task in my R-to-Stata switch. I will update >> when I learn how to code a -estadd_wntestq- solution. >> >> On Wed, Sep 14, 2011 at 20:32, Richard Herron >> <richard.c.herron@gmail.com> wrote: >>> >>> I have an -esttab- table with multiple -arima- models to which I would >>> like to add Q stats made with -wntestq-. I can't use -estadd scalar- >>> because Q stats are not part of -arima- objects. Is there a way that I >>> can chain together -predict, residuals- and -wntestq- to add Q stats >>> to my -esttab- table? Thanks! >>> >>> Here is some code (including how I would find Q stats "manually"): >>> >>> * ----- begin code ----- >>> * I know how to combine regressions with -eststo- >>> webuse friedman2, clear >>> generate ln_m1 = ln(m1) >>> eststo clear >>> eststo: quietly arima DS4.ln_m1, ar(1) ma(2) >>> eststo: quietly arima DS4.ln_m1, ar(1) ma(1/2) >>> eststo: quietly arima DS4.ln_m1, ar(1/2) ma(2) >>> eststo: quietly arima DS4.ln_m1, ar(1/2) ma(1/2) >>> >>> * and create tables with -esttab- >>> esttab, aic bic noobslast nomtitles >>> >>> * I would like to add Q stats to each model with -estadd-, but I can't >>> figure out how >>> >>> * here's how I find Q stats "manually" >>> quietly arima DS4.ln_m1, ar(1/2) ma(1/2) >>> predict res, residuals >>> wntestq res, lags(8) >>> * ----- end code ----- > > -- > Stas Kolenikov, also found at http://stas.kolenikov.name > Small print: I use this email account for mailing lists only. > * > * 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/ > * * 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/

**Follow-Ups**:**Re: st: How to add Q stats from -wntestq- to -esttab- table (hopefully with -estadd-)***From:*Stas Kolenikov <skolenik@gmail.com>

**References**:**st: How to add Q stats from -wntestq- to -esttab- table (hopefully with -estadd-)***From:*Richard Herron <richard.c.herron@gmail.com>

**Re: st: How to add Q stats from -wntestq- to -esttab- table (hopefully with -estadd-)***From:*Richard Herron <richard.c.herron@gmail.com>

**Re: st: How to add Q stats from -wntestq- to -esttab- table (hopefully with -estadd-)***From:*Stas Kolenikov <skolenik@gmail.com>

- Prev by Date:
**st: RE: first-difference command** - Next by Date:
**Re : st: RE: first-difference command** - Previous by thread:
**Re: st: How to add Q stats from -wntestq- to -esttab- table (hopefully with -estadd-)** - Next by thread:
**Re: st: How to add Q stats from -wntestq- to -esttab- table (hopefully with -estadd-)** - Index(es):