Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Bayesian linear regression model with lasso regularization

The Bayesian linear regression model object `lassoblm`

specifies the
joint prior distribution of the regression coefficients and the disturbance variance
(*β*, *σ*^{2}) for implementing
*Bayesian lasso regression*
[1]. For *j* =
1,…,`NumPredictors`

, the conditional prior distribution of
*β _{j}*|

The data likelihood is $$\prod _{t=1}^{T}\varphi \left({y}_{t};{x}_{t}\beta ,{\sigma}^{2}\right)},$$ where
*ϕ*(*y _{t}*;

In general, when you create a Bayesian linear regression model object, it specifies the joint prior distribution and characteristics of the linear regression model only. That is, the model object is a template intended for further use. Specifically, to incorporate data into the model for posterior distribution analysis and feature selection, pass the model object and data to the appropriate object function.

`PriorMdl = lassoblm(NumPredictors)`

`PriorMdl = lassoblm(NumPredictors,Name,Value)`

creates a Bayesian linear regression
model object (`PriorMdl`

= lassoblm(`NumPredictors`

)`PriorMdl`

) composed of
`NumPredictors`

predictors and an intercept, and sets the
`NumPredictors`

property. The joint prior distribution of
(*β*, *σ*^{2}) is
appropriate for implementing Bayesian lasso regression [1]. `PriorMdl`

is a template that defines the prior distributions and specifyies the values of the
lasso regularization parameter *λ* and the dimensionality of
*β*.

sets properties (except
`PriorMdl`

= lassoblm(`NumPredictors`

,`Name,Value`

)`NumPredictors`

) using name-value pair arguments. Enclose each
property name in quotes. For example, `lassoblm(3,'Lambda',0.5)`

specifies a shrinkage of `0.5`

for the three coefficients (not the
intercept).

`estimate` | Perform predictor variable selection for Bayesian linear regression models |

`simulate` | Simulate regression coefficients and disturbance variance of Bayesian linear regression model |

`forecast` | Forecast responses of Bayesian linear regression model |

`plot` | Visualize prior and posterior densities of Bayesian linear regression model parameters |

`summarize` | Distribution summary statistics of Bayesian linear regression model for predictor variable selection |

`Lambda`

is a tuning parameter. Therefore, perform Bayesian lasso regression using a grid of shrinkage values, and choose the model that best balances a fit criterion and model complexity.For estimation, simulation, and forecasting, MATLAB

^{®}does not standardize predictor data. If the variables in the predictor data have different scales, then specify a shrinkage parameter for each predictor by supplying a numeric vector for`Lambda`

.

The `bayeslm`

function can create any supported prior model object for Bayesian linear regression.

[1]
Park, T., and G. Casella. "The Bayesian Lasso."
*Journal of the American Statistical Association*. Vol. 103, No. 482,
2008, pp. 681–686.