Weighted linear fit of model to data using multivariate input

3 views (last 30 days)
What is the best matlab functionality to use that allows weighted linear fit of data y using multiple predictors x, where each predictor is likely to have a different predictive power in the model, hence requiring weights, and there is a large amount of noisy data with weak correlation?
For example, for y with size 100,000 x 1 and x of size 100,000 x 3 it is possible to do this:
[b,int,r,rint,stats] = regress(y,x);
predicted = x * b;
However, this does not account for the fact that the the columns in x may require different weighting to produce optimal outcomes, eg does not produce weightings for b.
What is the best matlab function / approach for finding a weighted linear model, with the weights being for the columns (coefficients), not the datapoints?
If there is a nice tool that allows different types of low-dimensional models (eg non-linear but with only a few coefficients) to be compared as well, great!
The goal is to produce a model that makes predictions of future data with minimum least-squared error (on a validation data test set) after fitting the model on a sub-sample training set pulled from the data.

Answers (1)

Benjamin Thompson
Benjamin Thompson on 3 Feb 2022
Look at the features in the System Identification Toolbox.
  2 Comments
CdC
CdC on 4 Feb 2022
Thanks very much for your suggestion.
I have spent some time with the System Identification Toolbox, which looks like it has some fantastic functionality.
However, unfortunately, I have not yet been able to figure out how to use it to make actual future predictions for a timeseries, which is my requirement per the question above. I created a new question on this topic. I thought you might know the answer, and that this follow-on question might also be useful for others who come to this question in the future, so I'm linking it here:
https://www.mathworks.com/matlabcentral/answers/1642755-how-to-predict-a-future-time-point-in-a-time-series-using-a-predictive-model-created-with-the-syste?s_tid=srchtitle
Benjamin Thompson
Benjamin Thompson on 4 Feb 2022
If you have a model of past system behavior you can use that to extrapolate into the future as well.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!