Plot of slices through fitted linear regression surface
plotSlice( creates a figure
containing one or more plots, each representing a slice through the regression
surface predicted by
mdl. Each plot shows the fitted response
values as a function of a single predictor variable, with the other predictor
variables held constant.
plotSlice also displays the 95% confidence bounds for the
response values. Use the Bounds menu to choose the type
of confidence bounds, and use the Predictors menu to
select which predictors to use for each slice plot. For details, see Tips.
Slice Plot for Linear Regression Model
Plot slices through a fitted linear regression model surface.
carsmall data set and fit a linear regression
model of the mileage as a function of model year, weight, and weight
load carsmall Year = categorical(Model_Year); tbl = table(MPG,Weight,Year); mdl = fitlm(tbl,'MPG ~ Year + Weight^2');
Create a slice plot.
The green line in each plot represents the predicted response values as a function of a single predictor variable, with the other predictor variables held constant. The red dotted lines are the 95% confidence bounds. The y-axis label includes the predicted response value and the corresponding confidence bound for the point selected by the vertical and horizontal lines. The x-axis label shows the predictor variable name and the predictor value for the selected point.
mdl includes both the
Weight^2 terms, but
plotSlice creates only one plot for the
Move the vertical line in the
Weight plot to the right
and observe the change in the y-axis label and the
changes in the
Use the Bounds menu in the figure window to choose the type of confidence bounds. You can choose Simultaneous or Non-Simultaneous, and Curve or Observation. You can also choose No Bounds to have no confidence bounds.
Simultaneous or Non-Simultaneous
Simultaneous (default) —
plotSlicecomputes confidence bounds for the curve of the response values using Scheffe's method. The range between the upper and lower confidence bounds contains the curve consisting of true response values with 95% confidence.
plotSlicecomputes confidence bounds for the response value at each observation. The confidence interval for a response value at a specific predictor value contains the true response value with 95% confidence.
Simultaneous bounds are wider than separate bounds, because requiring the entire curve of response values to be within the bounds is stricter than requiring the response value at a single predictor value to be within the bounds.
Curve or Observation
A regression model for the predictor variables X and the response variable y has the form
y = f(X) + ε,
where f is a function of X and ε is a random noise term.
Curve (default) —
plotSlicepredicts confidence bounds for the fitted responses f(X).
plotSlicepredicts confidence bounds for the response observations y.
The bounds for y are wider than the bounds for f(X) because of the additional variability of the noise term.
Use the Predictors menu in the figure window to select which predictors to use for each slice plot. If the regression model
mdlincludes more than eight predictors,
plotSlicecreates plots for the first five predictors by default.
predictto return the predicted response values and confidence bounds. You can also specify the confidence level for confidence bounds by using the
'Alpha'name-value pair argument of the
predictfunction. Note that
predictfinds nonsimultaneous bounds by default whereas
plotSlicefinds simultaneous bounds by default.
LinearModelobject provides multiple plotting functions.
When creating a model, use
plotAddedto understand the effect of adding or removing a predictor variable.
After fitting a model, use
plotEffectsto understand the effect of a particular predictor. Use
plotInteractionto understand the interaction effect between two predictors. Also, use
plotSliceto plot slices through the prediction surface.
Accelerate code by running on a graphics processing unit (GPU) using Parallel Computing Toolbox™.
Usage notes and limitations:
This function supports model objects fitted with GPU array input arguments.
For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).