
J'essaie de calculer l'extrémité de cette courbe (voir dessin). Je peux modéliser la courbe elle-même avec une courbe sigmoïde. Existe-t-il un moyen de le faire automatiquement ? Je ne trouve que le point d'inflexion, mais ce n'est pas ce dont j'ai besoin.
Bonjour @Marjoleine ,
Je ne connais pas personnellement la définition d'un ensemble final, mais il semble qu'il s'agisse de la valeur de X à l'intersection de la pente linéaire de la courbe sigmoïde et de l'asymptote. Si tel est le cas, je ne pense pas que JMP puisse effectuer cette opération automatiquement.
Pour information, dans la plateforme d'ajustement de courbe, après avoir ajusté votre courbe sigmoïde, cliquez sur le bouton rouge à côté du nom de la sigmoïde (Gompertz ou Logistique, etc.) et sélectionnez « Prédiction inverse personnalisée ». Vous fournissez alors plusieurs valeurs Y, et JMP utilise la fonction sigmoïde pour effectuer le calcul inverse afin de déterminer la valeur X où se trouve cette valeur Y. Ce n'est peut-être pas ce que vous recherchez, mais cela pourrait vous être utile ultérieurement.
Cela dit, vous pouvez écrire une solution à votre problème qui le fera « automatiquement », mais plusieurs étapes sont nécessaires. Je vous conseille tout d'abord de consulter la série d'articles très utiles de @JerryFish qui traite de l'ajustement par morceaux de données non linéaires, ici . Cela pourrait vous être très utile si vous devez effectuer cette opération plusieurs fois et l'automatisation vous simplifierait la vie.
S'il s'agit d'une opération ponctuelle, vous pouvez le faire manuellement en suivant les étapes suivantes (cela peut également être automatisé avec JSL).
- Sélectionnez d'abord les points de données qui ne sont PAS nécessaires pour l'approximation linéaire de la courbe sigmoïde : en gros, vous ajustez une ligne au point d'inflexion à la pente de la sigmoïde tout en ignorant les extrêmes asymptotiques.
- Créez une nouvelle colonne et donnez-lui une formule : la formule que vous saisirez est quelque chose comme m*X+b.
- m est un paramètre que vous devez définir dans la fenêtre de formule et lui donner une valeur de départ.
- X est la colonne de régresseur X que vous avez utilisée lors de l'ajustement de votre courbe sigmoïde.
- b est un paramètre que vous devez définir dans la fenêtre de formule et lui donner une valeur de départ.
- Revenez à la plate-forme d’ajustement non linéaire et utilisez cette nouvelle formule de colonne comme formule de régresseur/prédicteur X.
- Définissez votre colonne Y dans le rôle Y et cliquez sur OK, puis cliquez sur Aller dans la nouvelle fenêtre de rapport.
Cela devrait produire un ajustement linéaire correct sur vos points de données, excluant les parties asymptotiques de la courbe. Au bas du rapport, vous trouverez les valeurs des paramètres m et b, que vous pouvez utiliser pour calculer rétrospectivement la valeur de X à l'asymptote Y.
Voici une capture d'écran d'un exemple que j'ai exécuté. Dans ce cas, mon asymptote Y est de 100, m = -0,255, b = 162,99, donc (100-162,99)/(-0,255) = 247. Dans mon exemple, mon ensemble final est donc de 247. Vous pouvez bien sûr écrire le tout en JSL pour qu'il génère votre ensemble final dès que vous cliquez sur « Go » dans votre programme, mais cela pourrait dépasser vos attentes. Encore une fois, si vous devez le faire des dizaines, voire des centaines de fois, il peut être judicieux d'écrire le code pour le faire à votre place.
J'espère que cela aide !,
DS

Merci. L'ensemble final est bien le point d'intersection de la pente et de l'asymptote. Je vais essayer d'écrire un script avec votre suggestion, car je dois le faire au moins 100 fois.
Marjoleine