{smcl} {* *! Version 1.2.0 14jun2022}{...} {findalias asfradohelp}{...} {title:xtistest} {phang} {bf:xtistest} {hline 2} Portmanteau test for panel serial correlation, see Inoue & Solon (2006) and Wursten (2018) {marker syntax}{...} {title:Syntax} {p 8 17 2} {cmd: xtistest} {varlist} [if] [in] [{cmd:,} {it:{ul:l}ags(integer or "all", default = 2) {ul:orig}inal}] {synoptset 20 tabbed}{...} {synopthdr} {synoptline} {syntab:Main} {synopt:{opt l:ags}}check for serial correlation up to order {it:lags}{p_end} {synopt:{opt orig:inal}}uses Inoue & Solon calculation (should give same result){p_end} {synoptline} {p2colreset}{...} {marker description}{...} {title:Description} {pstd} {cmd:xtistest} calculates the Portmanteau test for panel serial correlation described in Inoue & Solon (2006) for {varlist} of e-residuals. {pstd} The IS-test is the panel counterpart to the Q-test for time series. It tests for serial correlation of any order, but can be restricted to only consider autocorrelation up to a certain lag. The test rapidly loses power as T gets larger if no maximum is given. In general, N should be large relative to T for this test to function. {marker options}{...} {title:Options} {phang} {opt l:ags} The test looks for autocorrelation up to order {it:lags}. Set to 2 by default, to get the full portmanteau test specify {it:lags(all)}. {phang} {opt orig:inal} The test by default uses the Born & Breitung (2016) implementation, which is many times faster than the description in IS (2006). However, we include the original computation option in case anyone were to find a difference in outcomes between the two. {marker remarks}{...} {title:Remarks} {pstd} Only valid for fixed effect models. Unbalanced panels of any sort are allowed (unlike {cmd:xtqptest} and {cmd:xthrtest}, this test allows gaps in the data). {pstd} Any mistakes are my own. {pstd} Just like academic papers, coding software takes time and effort. As a result, {bf:please cite the Stata Journal article}, Wursten (2018), when you make use of this command, just like you would cite a useful paper. The full reference can be found below. This article contains additional information about the tests, its usage and its strengths, as well as some Monte Carlo evidence. {marker examples}{...} {title:Examples} {phang}{cmd:. ** Example 1}{p_end} {phang}{cmd:. sysuse xtline1.dta, clear}{p_end} {phang}{cmd:. xtreg calories, fe}{p_end} {phang}{cmd:. predict residuals_1, e}{p_end} {phang}{cmd:. xtistest residuals_1, lags(1)}{p_end} {phang}{cmd:. ** Example 2}{p_end} {phang}{cmd:. clear}{p_end} {phang}{cmd:. local N = 200}{p_end} {phang}{cmd:. local T = 5}{p_end} {phang}{cmd:. set obs `=`N'*`T''}{p_end} {phang}{cmd:. *** Panel structure}{p_end} {phang}{cmd:. egen i = seq(), from(1) to(`N')}{p_end} {phang}{cmd:. egen t = seq(), from(1) block(`N')}{p_end} {phang}{cmd:. xtset i t}{p_end} {phang}{cmd:. *** Variables}{p_end} {phang}{cmd:. **** Fixed effect}{p_end} {phang}{cmd:. gen c = rnormal(0, 5)}{p_end} {phang}{cmd:. bysort i (t): replace c = c[1]}{p_end} {phang}{cmd:. **** Regressors}{p_end} {phang}{cmd:. gen x1 = rnormal()}{p_end} {phang}{cmd:. gen x2 = rnormal()}{p_end} {phang}{cmd:. **** Independent variable}{p_end} {phang}{cmd:. gen ea = rnormal()}{p_end} {phang}{cmd:. gen eb = rnormal()}{p_end} {phang}{cmd:. replace eb = 0.4*L.eb + 0.2*L2.eb + rnormal() if ~missing(L.eb, L2.eb)}{p_end} {phang}{cmd:. gen ya = c + 0.03*x1 + 0.6*x2 + ea}{p_end} {phang}{cmd:. gen yb = c + 0.03*x1 + 0.6*x2 + eb}{p_end} {phang}{cmd:. *** Regress}{p_end} {phang}{cmd:. xtreg ya x1 x2, fe}{p_end} {phang}{cmd:. predict res_a, e}{p_end} {phang}{cmd:. xtreg yb x1 x2, fe}{p_end} {phang}{cmd:. predict res_b, e}{p_end} {phang}{cmd:. *** Test residuals}{p_end} {phang}{cmd:. xtistest res*, lags(2)}{p_end} {phang}{cmd:. *** Test as postestimation}{p_end} {phang}{cmd:. xtreg ya x1 x2, fe}{p_end} {phang}{cmd:. xtistest, lags(2)}{p_end} {marker results}{...} {title:Stored results} {pstd} {cmd:xtistest} stores the following in {cmd:r()}: {synoptset 15 tabbed}{...} {p2col 5 15 19 2: Matrices}{p_end} {synopt:{cmd:r(p)}}p values{p_end} {synopt:{cmd:r(IS)}}values of the IS statistics{p_end} {p2col 5 15 19 2: Scalars}{p_end} {synopt:{cmd:r(pvalue{it:i})}}The p-values are also stored as scalars (often more convenient){p_end} {synopt:{cmd:r(is{it:i})}}Same for the is-statistics{p_end} {p2colreset}{...} {marker references}{...} {title:References} {pstd} {it:Testing for Serial Correlation in Fixed-Effects Panel Data Models}, Benjamin Born and Jörg Breitung, Econometric Reviews 2016 {pstd} {it:A Portmanteau Test for Serially Correlated Errors in Fixed Effects Models}, Atsushi Inoue and Gary Solon, Econometric Theory 2006 {pstd}{it:Testing for serial correlation in fixed-effects panel models}, Jesse Wursten, Stata Journal 2018 {title:Author} Jesse Wursten Faculty of Economics and Business KU Leuven {browse "mailto:jesse.wursten@kuleuven.be":jesse.wursten@kuleuven.be}