With the help of @JimB, I could fit some experimental data with a CDF using NonLinearFitModel
. The set of data is the following:
data ={{0.995, 0.142}, {3.003, 0.2}, {5.908, 0.25}, {10.525, 0.36}, {13.617,
0.498}, {24.321, 0.616}, {33.917, 0.599}, {47.843, 0.7}, {64.172,
0.835}, {91.353, 1.102}, {126.745, 1.083}, {174.118,
1.225}, {225.059, 1.133}, {292.998, 1.165}, {369.133,
1.298}, {640.295, 1.365}, {828.169, 1.298}, {1255.39,
1.373}, {1496.61, 1.409}, {1942.79, 1.538}}
and the suggestion of @JimB (code below) gives as a best fit the following result:
nlm = NonlinearModelFit[data, b CDF[NormalDistribution[c, d], Log10[t]], {b, c, d}, t];
rateOfChange = D[nlm[10^log10t], log10t] /. 10^log10t -> t
I'd like to know if there is a way to fit this data with not only one CDF, but the superposition of two (or, in most precise way, as many CDF as possible to reach te best fit). What I'm attempting to get as result is something like this:
(Obs: These data above are not the same as the fitted data in the first figure. I just posted it as an ilustrative example of what I'm trying to do with my data)
I know that it can be possible with the use of some algorithms as Maximum Likelihood Estimation (MLE) and Gaussian Mixture Model (GMM) to iteratively fit CDFs with the measured data to get the best fit. But I'm pretty new in programming and it have been certainly a challenge for me.
EDIT:
The simple replacement b CDF[NormalDistribution[c, d]
to b1 CDF[NormalDistribution[c1, d1] + b2 CDF[NormalDistribution[c2, d2]
proposed by @JimB gives as result:
The black line represents the sum of both (red and blue) CDFs. The final result doesn't show a good improvement if compared with the case of only one CDF. I'd like to see a more precise fitting when using two CDFs instead of just one
So if someone could help me, I'd be very grateful
Cheers