Hi @Marjoleine ,
I'm not personally familiar with the definition of what an endset is, but it looks like it is the value of X where the linear slope of the sigmoid curve intersects with the asymptote. If that is the case, I do not think that JMP can perform that automatically.
However, just as an FYI, in the fit curve platform, after you've fit your sigmoid curve, you can go to the red-button next to the name of the sigmoid (Gompertz or Logistic, etc.), and select Custom Inverse Prediction. When you do this, you provide several Y values, and JMP will use the sigmoid function to do the inverse calculation to determine the X value where that Y value occurs. This might not be what you want, but it could be useful for other things in the future.
That being said, you can script up a solution to your problem that would "automatically" do it, but there are several steps that need to be done. First, I would take a look at these series of very helpful posts by @JerryFish that talk about piecewise fitting non-linear data, here. This could be very useful for you if you have to do this many times and automation would simplify your life.
If it's a one-time thing, you can do this manually with the following steps (could also be automated with JSL).
- First select the data points that ARE NOT needed for the linear approximation to the sigmoid curve -- essentially, you're fitting a line at the inflection point to the slope of the sigmoid while ignoring the asymptotic extremes.
- Create a new column and give it a Formula -- the formula you will type in is something like m*X+b.
- m is a parameter that you have to define in the formula window and give it a starting value.
- X is the X regressor column that you used when fitting your sigmoid curve.
- b is a parameter that you have to define in the formula window and give it a starting value.
- Go back to the non-linear fit platform and use this new column formula as the X regressor/Predictor Formula.
- Cast whatever your Y column is in the Y role and click OK, then click Go in the new report window.
This should result in a nice linear fit through your data points that excludes the asymptotic parts of the curve. At the bottom of the report, you'll see parameter values for m and b, and you can use those to back calculate what what your X value is at the Y asymptote.
Below is a screenshot of an example that I ran. In this case, my Y asymptote is 100, m = -0.255, b = 162.99, so (100-162.99)/(-0.255) = 247. So in my example, my endset is 247. You can of course script everything up in JSL so that it spits out your endset once you click "go" in your program, but this might be more than what you're after. Again, if you have to do it dozens or hundreds of times, it might be worth writing the code to do it for you.
Hope this helps!,
DS
