Main Content

random

Simulate responses with random noise for linear regression model

Description

ysim = random(mdl,Xnew) simulates responses to the predictor data in Xnew using the linear model mdl, adding random noise.

example

Examples

collapse all

Create a quadratic model of car mileage as a function of weight from the carsmall data set.

load carsmall
X = Weight;
y = MPG;
mdl = fitlm(X,y,'quadratic');

Create simulated responses to the data with random noise.

ysim = random(mdl,X);

Plot the original responses and the simulated responses to see how they differ.

plot(X,y,'o',X,ysim,'x')
legend('Data','Simulated')

Figure contains an axes object. The axes object contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent Data, Simulated.

Input Arguments

collapse all

Linear regression model object, specified as a LinearModel object created by using fitlm or stepwiselm, or a CompactLinearModel object created by using compact.

New predictor input values, specified as a table or matrix. Each row of Xnew corresponds to one observation, and each column corresponds to one variable.

  • If Xnew is a table, it must contain predictors that have the same names as predictors in the PredictorNames property of mdl.

  • If Xnew is a matrix, it must have the same number of variables (columns) in the same order as the predictor input used to create mdl. All variables used to create mdl must be numeric. To treat numerical predictors as categorical, specify the predictors using the CategoricalVars name-value argument when you create mdl.

Note that Xnew must also contain any predictor variables not used as predictors in the fitted model.

Data Types: single | double | table

Output Arguments

collapse all

Simulated response value, returned as a numeric vector. The simulated value is the predicted response values at Xnew perturbed by random noise. The noise is independent and normally distributed, with mean equal to zero and variance equal to the estimated error variance of the model.

Alternative Functionality

For predictions without random noise, use predict or feval. These two functions give the same predictions.

  • predict accepts a single input argument containing all predictor variables, and gives confidence intervals on its predictions.

  • feval accepts multiple input arguments with one input for each predictor variable.

Extended Capabilities

expand all

Version History

Introduced in R2012a