Relation or Pattern between curves

4 views (last 30 days)
I am having the following curves, and I am trying to find a relation between them, or a statistical factor to use it so i can predict curves just from one:
I would appreciate any help, Thanks!
  3 Comments
Hidd_1
Hidd_1 on 20 May 2023
Sorry it was a mistake, I wanted to flag another post not this one!
Image Analyst
Image Analyst on 20 May 2023
But if the question was posted multiple times, perhaps with slight modifications each time, the question becomes which is the one to answer. Presumably the latest, most recent one is the final/best one is the one to answer, rather than the first/oldest one.

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 17 May 2023
The plot appears to be incomplete.
What do the curves look like between 0 (or whatever the minimum independent value is) and 150? What are the independent variable values?
The parts of the curves displayed appear to be inverted Logistic function curves, so one option might be to estimate the parameters of each of them and then compare those parameters.
That objective function could be —
lgfcn = @(b,x) b(1) - b(2)./(1 + exp(-b(3).*(x-b(4))));
.
  23 Comments
Hidd_1
Hidd_1 on 11 Jun 2023
Edited: Hidd_1 on 11 Jun 2023
How can we validate a non-linear regression model when it only fits the measured data but may not accurately represent the underlying mathematical description of the physical process?
for instance: Should a cross-correlation analysis be performed to validate a non-linear regression model on additional measurements?
Star Strider
Star Strider on 11 Jun 2023
How can we validate a non-linear regression model when it only fits the measured data but may not accurately represent the underlying mathematical description of the physical process?
Without knowing the process that created the data (and I do not know what it is here), and creating a mathematical model of it, there only way to model the data is empirically, that is, fitting the data to a function that just looks like it would work. There is no way to ‘validate’ it in the sense of determining how well the estimated parameters describe the underlying process, if the underlying process is not actually known.
Should a cross-correlation analysis be performed to validate a non-linear regression model on additional measurements?
I would simply fit the new measurments to the existing empirical model and see how well the empirical model fits the data. I am not certain there is any other way to determine that.
If the process that created the data was known, then it might be possible to see how well the estimated parameters of the empirical model modeled the actual mathematical model of the process (that is, compared to its parameters). Without having the mathematical model of the process that created the data, we are restricted to using an empirical model. There is simply no other option.
In the absence of a mathematical model of the process that created the data, other empirical models can certainly be hypothesized and tested. For example, if a different input produced a different output, procedures described in the System Identification Toolbox could be used to derive different models, or perhaps one model that could fit outputs from other inputs, providing that both the inputs and corresponding outputs were available. I am not certain what benefit a cross-correlation analysis would have, when it is possible to fit the data, however I may not understand the sort of analysis you want to do.

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 17 May 2023
You forgot to attach your data! It should be possible to fit any particular curve to some sigmoid kind of curve, if you have the model for it, with fitnlm. I'm attaching some demos using various models so you can see how it's done.
  6 Comments
Hidd_1
Hidd_1 on 19 May 2023
Edited: Hidd_1 on 19 May 2023
Thnak a lot Alex!
I've tried to implement your algorithm using your objective function, but I got bad results:
clc
clear all
close all
DF = load('Inter_cubic.mat');
Data = DF.Inter_cubic(:,1:230);
x = (1:size(Data,2))';
% Define the fitting function
Sig = @(p,x) p(4)./(1 + exp(-p(1).*x + p(7))) + p(5)./(1 + exp(-p(2).*x + p(8))) + p(6)./(1 + exp(-p(3).*x + p(9))) + p(10);
% Initial guess of coefficients
beta0 = ones(1,10);
for k = 1:size(Data,1)
% Put the data for this curve into a table
y = Data(k,:)';
tbl = table(x,y);
% Fit the model
mdl{k} = fitnlm(tbl,Sig,beta0);
% Plot the fit against the data
figure
hold on
plot(x,Data(k,:),'o')
plot(x,predict(mdl{k},x))
end
I coudn't achieve your result, can you please check what went wrong, please!
Alex Sha
Alex Sha on 20 May 2023
GA only has the so-called global optimization capability in theory, but in practice it will be far from the same, even Matlab's global optimization toolbox, the results are often unsatisfactory。

Sign in to comment.

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!