En su Caminando al azar el blog, Mike Croucher muestra cómo encajar una curva no lineal simple usando cinco bibliotecas de programación estadística diferentes: R, MATLAB, Maple, Julia y Python / numpy. La idea es proporcionar ejemplos concretos para una pregunta de modelado de preguntas frecuentes que sea fácil de expresar pero no tan simple de resolver.
Para un conjunto de datos dado de 10 valores de x e y, el problema es encontrar los mejores valores para los parámetros p 1 y P 2 para que la siguiente curva se ajuste mejor a los valores de y:
pag 1 cos (p 2 x) + p 2 pecado (p 1 X )
Dado que la adaptación no lineal implica una búsqueda iterativa del espacio de la solución, necesitamos valores de parámetros de inicio, que Croucher da como
pag 1 = 1.0, p 2 = 0.2.
Entonces, ¿cómo harías lo mismo en JMP ?
Normalmente, comenzaría con una tabla de datos y usaría la plataforma no lineal en el menú Analizar para iniciar el ajuste de forma interactiva. Para un modelo como este, que no está integrado en JMP, puede agregarlo en una columna de fórmula y usarlo en el cuadro de diálogo No lineal. Pero como casi todo en JMP, puede ser manejado completamente por un script JSL si lo desea.
Aquí está mi versión JSL:
xv
= El - 2 , -1.64 , - 1,33 , -0.7 , 0 , 0.45 , 1.2 , 1.64 , 2,32 , 2.9 ] ; yv = El 0.699369 , 0.700462 , 0.695354 , 1.03905 , 1.97389 ,
2.411430 , 1.910910 , 0.919576 , -0.730975 , -1.42001 ] ;
dt = Nueva mesa ( "Datos" ,
Nueva Columna ( "X" , Valores establecidos ( xv )) ,
Nueva Columna ( "y" , Valores establecidos ( yv ) ) ) ;
dt << No lineal ( Y ( : y ) , X ( : X ) ,
Modelo ( Parámetro ( { p1 = 1 , p2 = 0.2 } ,
p1 * Coseno ( p2 * : X ) + p2 * Seno ( p1 * : X ) ) ) ,
Terminar , Límites de confianza ) ;
Ese script produce la siguiente salida interactiva.

Algunos de los otros idiomas requieren un poco de trabajo adicional para obtener los intervalos de confianza, por lo que es bueno ver que solo queda una opción en JMP.