Nel suo Camminare a caso blog, Mike Croucher mostra come adattare una curva non lineare semplice usando cinque diverse librerie di programmazione statistica: R, MATLAB, Maple, Julia e Python / numpy. L'idea è di fornire esempi concreti per una domanda di modellistica comunemente fatta, semplice da definire ma non così semplice da risolvere.
Per un dato set di dati di 10 valori xey, il problema è trovare i migliori valori per i parametri p 1 e p 2 in modo che la seguente curva si adatti meglio ai valori y:
p 1 cos (p 2 x) + p 2 peccato (p 1 X )
Poiché il fitting non lineare implica una ricerca iterativa dello spazio della soluzione, abbiamo bisogno di iniziare i valori dei parametri, che Croucher fornisce as
p 1 = 1.0, p 2 = 0,2.
Quindi come faresti la stessa cosa in JMP ?
Normalmente, si dovrebbe iniziare con una tabella di dati e utilizzare la piattaforma Non lineare nel menu Analizza per avviare interattivamente l'adattamento. Per un modello come questo, che non è integrato in JMP, è possibile aggiungerlo in una colonna formula e utilizzarlo nella finestra di dialogo Non lineare. Ma come quasi tutto in JMP, può essere completamente guidato da uno script JSL, se lo si desidera.
Ecco la mia versione JSL:
xv
= [ - 2 , -1,64 , - 1.33 , -0.7 , 0 , 0.45 , 1.2 , 1.64 , 2.32 , 2.9 ] ; YV = [ 0.699369 , 0.700462 , 0.695354 , 1,03,905 mila , 1,97,389 mila ,
2.411430 , 1.910910 , 0.919576 , -,730975 , -1,42001 ] ;
dt = Nuova tabella ( "Dati" ,
Nuova colonna ( "X" , Imposta valori ( xv )) ,
Nuova colonna ( "Y" , Imposta valori ( YV ) ) ) ;
dt << Nonlinear ( Y ( : y ) , X ( : X ) ,
Modello ( Parametro ( { p1 = 1 , p2 = 0.2 } ,
p1 * Coseno ( p2 * : X ) + p2 * Seno ( p1 * : X ) ) ) ,
finire , Limiti di confidenza ) ;
Questo script produce il seguente output interattivo.

Alcune delle altre lingue richiedono un po 'di lavoro extra per ottenere gli intervalli di confidenza, quindi è bello vedere che è solo una opzione in JMP.