Learn R Programming

greybox (version 0.6.4)

plot.greybox: Plots of the fit and residuals

Description

The function produces fitted values and plots for the residuals of the greybox functions

Usage

# S3 method for greybox
plot(x, which = c(1, 2, 4, 6), level = 0.95,
  legend = FALSE, ask = prod(par("mfcol")) < length(which) &&
  dev.interactive(), lowess = TRUE, ...)

Arguments

x

Time series model for which forecasts are required.

which

Which of the plots to produce. The possible options (see details for explanations):

  1. Actuals vs Fitted values;

  2. Standardised residuals vs Fitted;

  3. Studentised residuals vs Fitted;

  4. Absolute residuals vs Fitted;

  5. Squared residuals vs Fitted;

  6. Q-Q plot with the specified distribution;

  7. Fitted over time;

  8. Standardised residuals vs Time;

  9. Studentised residuals vs Time;

  10. ACF of the residuals;

  11. PACF of the residuals;

  12. Cook's distance over time with 0.5, 0.75 and 0.95 quantile lines from Fisher's distribution.

level

Confidence level. Defines width of confidence interval. Used in plots (2), (3), (7), (8), (9), (10) and (11).

legend

If TRUE, then the legend is produced on plots (2), (3) and (7).

ask

Logical; if TRUE, the user is asked to press Enter before each plot.

lowess

Logical; if TRUE, LOWESS lines are drawn on scatterplots, see lowess.

...

The parameters passed to the plot functions. Recommended to use with separate plots.

Value

The function produces the number of plots, specified in the parameter which.

Details

The list of produced plots includes:

  1. Actuals vs Fitted values. Allows analysing, whether there are any issues in the fit. Does the variability of actuals increase with the increase of fitted values? Is the relation well captured? They grey line on the plot corresponds to the perfect fit of the model.

  2. Standardised residuals vs Fitted. Plots the points and the confidence bounds (red lines) for the specified confidence level. Useful for the analysis of outliers;

  3. Studentised residuals vs Fitted. This is similar to the previous plot, but with the residuals divided by the scales with the leave-one-out approach. Should be more sensitive to outliers;

  4. Absolute residuals vs Fitted. Useful for the analysis of heteroscedasticity;

  5. Squared residuals vs Fitted - similar to (3), but with squared values;

  6. Q-Q plot with the specified distribution. Can be used in order to see if the residuals follow the assumed distribution. The type of distribution depends on the one used in the estimation (see distribution parameter in alm);

  7. Fitted over time. Plots actuals (black line), fitted values (purple line) and prediction interval (red lines) of width level, but only in the case, when there are some values lying outside of it. Can be used in order to make sure that the model did not miss any important events over time;

  8. Standardised residuals vs Time. Useful if you want to see, if there is autocorrelation or if there is heteroscedasticity in time. This also shows, when the outliers happen;

  9. Studentised residuals vs Time. Similar to previous, but with studentised residuals;

  10. ACF of the residuals. Are the residuals autocorrelated? See acf for details;

  11. PACF of the residuals. No, really, are they autocorrelated? See pacf for details;

  12. Cook's distance over time. Shows influential observations. If a value is above 0.5, then this means that the observation influences the parameters of the model. This does not work well for non-normal distributions.

Which of the plots to produce, is specified via the which parameter. The plots 2, 3, 7, 8 and 9 also use the parameters level, which specifies the confidence level for the intervals.

See Also

plot.lm, rstandard, rstudent

Examples

Run this code
# NOT RUN {
xreg <- cbind(rlaplace(100,10,3),rnorm(100,50,5))
xreg <- cbind(100+0.5*xreg[,1]-0.75*xreg[,2]+rlaplace(100,0,3),xreg,rnorm(100,300,10))
colnames(xreg) <- c("y","x1","x2","Noise")

ourModel <- alm(y~x1+x2, xreg, distribution="dnorm")

par(mfcol=c(3,4))
plot(ourModel, c(1:12))

# }

Run the code above in your browser using DataLab