
Ich versuche, den Endpunkt dieser Kurve zu berechnen (siehe Zeichnung). Die Kurve selbst kann ich mit einer Sigmoidkurve modellieren. Gibt es eine Möglichkeit, dies automatisch zu tun? Ich kann nur den Wendepunkt finden, aber den brauche ich nicht.
Hallo @Marjoleine ,
Ich persönlich kenne die Definition eines Endsets nicht, aber es sieht so aus, als wäre es der Wert von X, bei dem die lineare Steigung der Sigmoidkurve die Asymptote schneidet. Wenn das der Fall ist, glaube ich nicht, dass JMP das automatisch durchführen kann.
Zur Information: Nachdem Sie Ihre Sigmoidkurve angepasst haben, können Sie in der Plattform zur Kurvenanpassung auf den roten Button neben dem Namen der Sigmoidkurve (Gompertz, Logistisch usw.) klicken und „Benutzerdefinierte inverse Vorhersage“ auswählen. Dabei geben Sie mehrere Y-Werte ein, und JMP verwendet die Sigmoidfunktion für die inverse Berechnung, um den X-Wert zu bestimmen, bei dem dieser Y-Wert auftritt. Dies ist vielleicht nicht das, was Sie möchten, könnte aber in Zukunft für andere Zwecke nützlich sein.
Sie können eine Lösung für Ihr Problem skripten, die dies „automatisch“ erledigt. Dazu sind jedoch mehrere Schritte erforderlich. Zunächst empfehle ich Ihnen einen Blick auf diese Reihe sehr hilfreicher Beiträge von @JerryFish , die sich mit der stückweisen Anpassung nichtlinearer Daten befassen (hier) . Dies könnte für Sie sehr nützlich sein, wenn Sie dies häufig tun müssen und die Automatisierung Ihnen die Arbeit erleichtern würde.
Wenn es sich um eine einmalige Sache handelt, können Sie dies mit den folgenden Schritten manuell tun (kann auch mit JSL automatisiert werden).
- Wählen Sie zunächst die Datenpunkte aus, die für die lineare Annäherung an die Sigmoidkurve NICHT benötigt werden. Im Wesentlichen passen Sie eine Linie am Wendepunkt an die Steigung der Sigmoidkurve an und ignorieren dabei die asymptotischen Extreme.
- Erstellen Sie eine neue Spalte und geben Sie ihr eine Formel ein. Die Formel, die Sie eingeben, lautet etwa m*X+b.
- m ist ein Parameter, den Sie im Formelfenster definieren und mit einem Startwert versehen müssen.
- X ist die X-Regressorspalte, die Sie beim Anpassen Ihrer Sigmoidkurve verwendet haben.
- b ist ein Parameter, den Sie im Formelfenster definieren und mit einem Startwert versehen müssen.
- Gehen Sie zurück zur nichtlinearen Anpassungsplattform und verwenden Sie diese neue Spaltenformel als X-Regressor-/Prädiktorformel.
- Weisen Sie Ihrer Y-Spalte die Y-Rolle zu, klicken Sie auf „OK“ und dann im neuen Berichtsfenster auf „Los“.
Dies sollte zu einer guten linearen Anpassung Ihrer Datenpunkte führen, die die asymptotischen Kurvenabschnitte ausschließt. Unten im Bericht sehen Sie die Parameterwerte für m und b. Mit diesen können Sie Ihren X-Wert an der Y-Asymptote zurückrechnen.
Unten sehen Sie einen Screenshot eines Beispiels, das ich ausgeführt habe. In diesem Fall ist meine Y-Asymptote 100, m = -0,255, b = 162,99, also (100-162,99)/(-0,255) = 247. Mein Endset ist also 247. Sie können natürlich alles in JSL skripten, sodass Ihr Endset ausgegeben wird, sobald Sie in Ihrem Programm auf „Los“ klicken. Das ist aber möglicherweise nicht das, was Sie benötigen. Wenn Sie es Dutzende oder Hunderte Male wiederholen müssen, lohnt es sich möglicherweise, den Code selbst zu schreiben.
Hoffe das hilft!,
DS

Danke. Die Endmenge ist tatsächlich der Schnittpunkt der Steigung mit der Asymptote. Ich werde versuchen, ein Skript mit Ihrem Vorschlag zu erstellen, da ich es mindestens 100 Mal machen muss.
Marjoleine