plotResiduals
Plot residuals of nonlinear regression model
Syntax
Description
plotResiduals(
creates a histogram
plot of the nonlinear regression model (mdl
)mdl
) residuals.
plotResiduals(
specifies additional options using one or more name-value arguments. For example, you
can specify the residual type and the graphical properties of residual data
points.mdl
,plottype
,Name,Value
)
returns graphics
objects for the lines or patch in the plot. Use h
= plotResiduals(___)h
to modify the
properties of a specific line or patch after you create the plot. For a list of
properties, see Line Properties and Patch Properties.
Examples
Residual Plot
Plot the residuals of a fitted nonlinear model.
Load the reaction
data and fit a model of the reaction rate as a function of reactants.
load reaction
mdl = fitnlm(reactants,rate,@hougen,[1 .05 .02 .1 2]);
Plot the residuals of the fitted model.
plotResiduals(mdl)
Residual Probability Plot
Create a normal probability plot of the residuals of a fitted nonlinear model.
Load the reaction
data and fit a model of the reaction rate as a function of reactants.
load reaction
mdl = fitnlm(reactants,rate,@hougen,[1 .05 .02 .1 2]);
Create a normal probability plot of the residuals of the fitted model.
plotResiduals(mdl,'probability')
Input Arguments
mdl
— Nonlinear regression model object
NonLinearModel
object
Nonlinear regression model object, specified as a NonLinearModel
object created by using fitnlm
.
plottype
— Plot type
"histogram"
(default) | "caseorder"
| "fitted"
| "lagged"
| "probability"
| "observed"
| "symmetry"
Plot type, specified as one of the values in this table.
Value | Description |
---|---|
"caseorder" | Residuals vs. case order (row number) |
"fitted" | Residuals vs. fitted values |
"histogram" | Histogram of residuals using probability density function scaling.
The area of each bar is the relative number of observations. The sum of
the bar areas is equal to 1 . |
"lagged" | Residuals vs. lagged residuals (r(t) vs. r(t – 1)) |
"probability" | Normal probability plot of residuals. For details, see probplot . |
"observed" | Observed vs. fitted values. This plot includes a dotted reference line of y = x. Each residual is represented by the vertical distance from the corresponding observed value to the reference line. |
"symmetry" | Symmetry plot of residuals around their median (residuals in upper tail – median vs. median – residuals in lower tail). This plot includes a dotted reference line of y = x to examine the symmetry of residuals. |
ax
— Target axes
Axes
object
Since R2024a
Target axes, specified as an Axes object. If you do not specify the axes,
then plotResiduals
uses the current axes (gca
).
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
Example: 'Color','blue','Marker','o'
Note
The graphical properties listed here are only a subset. For a complete list, see Line Properties for lines and Patch Properties for histogram. The specified properties apply to the appearance of residual data points or the appearance of the histogram.
Color
— Line color
RGB triplet | hexadecimal color code | color name | short name
Line color, specified as the comma-separated pair consisting of 'Color'
and
an RGB triplet, hexadecimal color code, color name, or short name for one of the
color options listed in the following table.
The 'Color'
name-value pair argument also determines marker outline color and marker fill color if 'MarkerEdgeColor'
is 'auto'
(default) and 'MarkerFaceColor'
is 'auto'
.
For a custom color, specify an RGB triplet or a hexadecimal color code.
An RGB triplet is a three-element row vector whose elements specify the intensities of the red, green, and blue components of the color. The intensities must be in the range
[0,1]
, for example,[0.4 0.6 0.7]
.A hexadecimal color code is a string scalar or character vector that starts with a hash symbol (
#
) followed by three or six hexadecimal digits, which can range from0
toF
. The values are not case sensitive. Therefore, the color codes"#FF8800"
,"#ff8800"
,"#F80"
, and"#f80"
are equivalent.
Alternatively, you can specify some common colors by name. This table lists the named color options, the equivalent RGB triplets, and hexadecimal color codes.
Color Name | Short Name | RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan"
| "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" | |
"none" | Not applicable | Not applicable | Not applicable | No color |
Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB® uses in many types of plots.
RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
Example: 'Color','blue'
LineWidth
— Line width
positive value
Line width, specified as the comma-separated pair consisting of 'LineWidth'
and a positive value in points. If the line has markers, then the line width also
affects the marker edges.
Example: 'LineWidth',0.75
Marker
— Marker symbol
'o'
| '+'
| '*'
| '.'
| 'x'
| ...
Marker symbol, specified as the comma-separated pair consisting of 'Marker'
and one of the values in this table.
Marker | Description | Resulting Marker |
---|---|---|
"o" | Circle |
|
"+" | Plus sign |
|
"*" | Asterisk |
|
"." | Point |
|
"x" | Cross |
|
"_" | Horizontal line |
|
"|" | Vertical line |
|
"square" | Square |
|
"diamond" | Diamond |
|
"^" | Upward-pointing triangle |
|
"v" | Downward-pointing triangle |
|
">" | Right-pointing triangle |
|
"<" | Left-pointing triangle |
|
"pentagram" | Pentagram |
|
"hexagram" | Hexagram |
|
"none" | No markers | Not applicable |
Example: 'Marker','+'
MarkerEdgeColor
— Marker outline color
'auto'
(default) | 'none'
| RGB triplet | hexadecimal color code | color name | short name
Marker outline color, specified as the comma-separated pair consisting of
'MarkerEdgeColor'
and an RGB triplet, hexadecimal color code,
color name, or short name for one of the color options listed in the
Color
name-value pair argument.
The default value of 'auto'
uses the same color specified by
using 'Color'
.
Example: 'MarkerEdgeColor','blue'
MarkerFaceColor
— Marker fill color
'none'
(default) | 'auto'
| RGB triplet | hexadecimal color code | color name | short name
Marker fill color, specified as the comma-separated pair consisting of
'MarkerFaceColor'
and an RGB triplet, hexadecimal color code,
color name, or short name for one of the color options listed in the
Color
name-value pair argument.
The 'auto'
value uses the same color specified by using 'Color'
.
Example: 'MarkerFaceColor','blue'
MarkerSize
— Marker size
6
(default) | positive value
Marker size, specified as the comma-separated pair consisting of 'MarkerSize'
and a positive value in points.
Example: 'MarkerSize',2
ResidualType
— Type of residual
'raw'
(default) | 'pearson'
| 'standardized'
| 'studentized'
Type of residual used in the plot, specified as the comma-separated pair consisting of
'ResidualType'
and one of these values:
Value | Description |
---|---|
'raw' | Observed minus fitted values |
'pearson' | Raw residuals divided by the root mean squared error (RMSE) |
'standardized' | Raw residuals divided by their estimated standard deviation |
'studentized' | Raw residuals divided by an independent (delete-1) estimate of their standard deviation |
The Residuals
property of mdl
contains the
residual values used by plotResiduals
to create plots.
For details, see Residuals.
Example: 'ResidualType','Pearson'
Output Arguments
h
— Graphics objects
graphics array
Graphics objects corresponding to the lines or patch in the plot, returned as a graphics array. Use dot notation to query and set properties of the graphics objects. For details, see Line Properties and Patch Properties.
You can use name-value pair arguments to specify the appearance of residual data points or the appearance of the histogram, corresponding to the first graphics object h(1)
.
Tips
The data cursor displays the values of the selected plot point in a data tip (small text box located next to the data point). The data tip includes the x-axis and y-axis values for the selected point, along with the observation name or number.
Version History
Introduced in R2012aR2024b: Plot observed versus fitted values
You can now plot observed versus fitted values by specifying the
plottype
input argument as
"observed"
.
R2024a: Specify target axes
Specify the target axes for the plot by using the ax
input
argument.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)