Description Usage Arguments Details Value Author(s) References See Also Examples
Auxiliary function (i.e. not intended for the average user) called by the arx
, getsm
, getsv
, isat
and getsFun
functions. The diagnostics
function undertakes tests for autocorrelation, ARCH and nonnormality in a residual series, and userdefined diagnostics provided via the user.fun
argument (see details). The autocorrelation and ARCH tests are conducted as Ljung and Box (1979) tests for autocorrelation in the residuals and squared residuals, respectively, whereas the test for nonnormality is that of Jarque and Bera (1980).
1 2 
x 
a 
ar.LjungB 
a two element vector or 
arch.LjungB 
a two element vector or 
normality.JarqueB 

verbose 
logical. If 
user.fun 

... 
further arguments (ignored) to accommodate deleted arguments from past versions of the functions 
The argument user.fun
enables the user to specify additional diagnostics. The function must be defined in the global environment (i.e. .GlobalEnv
), and the userdefined function should refer to the named items of the estimation result x
(see examples).
The value returned by the userdefined function should be a matrix of dimension m x 3, where m is the number of diagnostic tests performed inside the userdefined function. (If only a single test is performed, then the returned value can be a vector of length 3.) The three columns of the m x 3 matrix should contain, in the following order: 1) the value(s) of the teststatistic(s), 2) the degrees of freedom(s) (or NA
if there are none) of the tests, and 3) the pvalue(s) of the test(s). When checking whether the model passes the diagnostics or not, the pvalue(s) is(are) checked against the value(s) in the second entry of user.fun
.
If 
a 
If 
a 
Genaro Sucarrat, http://www.sucarrat.net/
C. Jarque and A. Bera (1980): 'Efficient Tests for Normality, Homoscedasticity and Serial Independence'. Economics Letters 6, pp. 255259
G. Ljung and G. Box (1979): 'On a Measure of Lack of Fit in Time Series Models'. Biometrika 66, pp. 265270
arx
, getsm
, getsv
, isat
, getsFun
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20  ##return a dataframe with autocorrelation and ARCH diagnostics (default),
##and check whether they pass (the default pvalue is 0.025):
set.seed(123)
vY < rnorm(20)
mX < matrix(rnorm(3*20), 20, 3)
est < ols(vY,mX)
diagnostics(est)
diagnostics(est, verbose=FALSE)
##add the JarqueBera normality test to the diagnostics (w/pvalue=0.05):
diagnostics(est, normality.JarqueB=0.05)
diagnostics(est, normality.JarqueB=0.05, verbose=FALSE)
##userdefined ShapiroWilks test for nonnormality of the residuals:
SWtest < function(residuals, ...){
tmp < shapiro.test(residuals) #do test on est$residuals
return( c(tmp$statistic, NA, tmp$p.value) )
}
diagnostics(est, user.fun=list(name="SWtest", pval=0.05))
diagnostics(est, user.fun=list(name="SWtest", pval=0.05), verbose=FALSE)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.