Inverse linear/nonlinear regression model

22 views (last 30 days)
Sergio
Sergio on 16 Nov 2020
Edited: John D'Errico on 17 Nov 2020
Hi, everyone.
I'm working on a problem that has three predictors (weight, blood pressure 1, blood pressure 2), one response variable (age), and 100 observations (actually, I'm using a simplified version of the "hospital dataset"). I've also attached it here, just in case.
So, to build linear/nonlinear regression model is pretty straightforward. However, I'd like your inputs about how should I proceed in case I want to use it "backwards", i.e, for a given age, what are the corresponding weight, blood pressure 1 and blood pressure 2?
Thanks in advance.

Answers (1)

John D'Errico
John D'Errico on 16 Nov 2020
You cannot do this. There are infinitely many possible solutions there, as you should recognize.
  2 Comments
Sergio
Sergio on 16 Nov 2020
Edited: Sergio on 16 Nov 2020
Hi John, thanks for your reply.
I see. But do you think I could try some optimization scheme, where I’d limit the variation ranges for each variable?
Then, instead of obtaining a single solution set, I would have a family of possible solutions, e.g., a Pareto front.
What do you think?
John D'Errico
John D'Errico on 17 Nov 2020
Edited: John D'Errico on 17 Nov 2020
Nope. Limiting the range of values ois meaningless, since there are STILL infinitely many solutions. No optimization scheme makes any sense at all.
Could you think of the solution as an infinite family of solutions? Well, yes. But in this case, if would not be a simple curve as perhaps you are thinking. The locus will be a manifold of solutions. That is...
You have age, as a function of THREE input variables. So imagine the domain as the 3 dimensional space defined by the axes of weight and two blood pressures. (I'll assume that your model is a perfect fit to your data, while in fact, it is not at all going to be that. There are far more parameters impacting this system that you have not controlled.)
But now suppose we fix age at some value? Think of this as a contour plot, with THREE independent variables. The result will be a 2-dimensional surface in the space of your 3 independent variables. Some call that an iso-surface. A contour plot is just a level "surface" with TWO independent variables. So what you want is the contour plot for THREE independet variables. (This is probably what you are thinking about when you mention a pareto front.)
Optimization makes absolutely no sense at all in this context. At best, you could use tools like isosurface to try to plot the implied manifold. Be very careful there, as isosurface will force you to evaluate the model far outside of the convex hull of your data. And that in itself will be a foolish thing to do, since that model will have no validity in those extrapolated corners, even assuming it is quasi-accurate as a predictor of age inside the convex hull of your data.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!