Vincoli ai parametri nel raccordo del modello non lineareSto adattando un modello di crescita bi-esponenziale nella seguente forma:

Vorrei limitare le stime dei parametri in modo che dmax1
C'è un modo per farlo nella piattaforma non lineare?
Ri: Vincoli ai parametri nel raccordo del modello non lineareSe ritieni che l'assunzione sia vera, penso che il modello migliore dovrebbe trovare tali stime senza vincoli. I dati sono prove contrarie a tale presupposto altrimenti.
il modello personalizzato rimarrebbe lo stesso. Penso che dovresti introdurre il vincolo come penalità alla funzione di perdita. La penalità è elevata quando il vincolo viene violato.
Ri: Vincoli ai parametri nel raccordo del modello non lineareQuesta è più una questione di convenienza che di matematica. Il vero problema è che sto adattando un modello non lineare a diversi profili cinetici generati come parte di un DOE. Il modello non lineare che ho mostrato è il modello teorico che riteniamo descriva il processo, che consiste in due reazioni separate, una che è "lenta" e un'altra che è "veloce". La velocità di reazione lenta è circa 1/100 della velocità di reazione rapida.
Il problema è che quando si adatta il modello non lineare a ciascun profilo, a volte il parametro "rate1" che è stimato è il più piccolo, altre volte il parametro "rate1" è il più grande. JMP non sa che voglio che rate1 sia la velocità lenta. Quando salvo le stime dei parametri, devo eseguire alcune elaborazioni dei dati per determinare quale velocità è la frequenza lenta e quale velocità è la velocità veloce. In definitiva, voglio usare i fattori nel DOE per prevedere la velocità di reazione lenta e la velocità di reazione rapida.
Parte di me pensa, tuttavia, che forzare questo vincolo potrebbe anche rendere il modello più stabile? Ma forse no. Non ne sono sicuro.
Ri: Vincoli ai parametri nel raccordo del modello non lineareSue Walsh ha parlato di questo tipo di modello in a carta a JMP Discovery qualche tempo fa.
Le note nelle diapositive sui modelli segmentati sono un po 'scarne, ma penso che sarai in grado di ottenere l'essenza di come configurarlo.
Ri: Vincoli ai parametri nel raccordo del modello non lineareMi chiedo se sarebbe più semplice elaborare le stime dopo il raccordo non lineare senza vincoli. Suppongo che le stime dei parametri dmax1 e rate1 andranno insieme e le stime dei parametri dmax2 e rate2 andranno insieme anche se le stime dei parametri dmax1 e rate1 non sono sempre le prime. Quindi, per ottenere l'ordine desiderato, puoi semplicemente scambiare l'ordine nella tabella dei dati dopo aver salvato la tabella delle stime. Questo esempio mostra ciò che ho in mente:
Names Default to Here( 1 );
dt = New Table( "Double Exponential Models",
Add Rows( 20 ),
New Column( "dmax1",
Values( J( 20, 1, Random Uniform() ) )
),
New Column( "rate1",
Values( J( 20, 1, Random Uniform() ) )
),
New Column( "dmax2",
Values( J( 20, 1, Random Uniform() ) )
),
New Column( "rate2",
Values( J( 20, 1, Random Uniform() ) )
)
);
Wait( 5 );
For Each Row(
If( :rate1 > :rate2,
temp = :dmax1;
:dmax1 = :dmax2;
:dmax2 = temp;
temp = :rate1;
:rate1 = :rate2;
:rate2 = temp;
);
);
Ri: Vincoli ai parametri nel raccordo del modello non lineareAvevo scritto un po 'di JSL che era quasi identico a quello, e ha risolto il problema. Grazie per la condivisione.
Ri: Vincoli ai parametri nel raccordo del modello non lineareGrazie per quel riferimento @Byron_JMP . In questo caso, non è un modello segmentato. Il processo fisico effettivo è che due reazioni si verificano contemporaneamente a due velocità diverse, producendo lo stesso risultato di output. L'uscita misurata è la somma delle due uscite di reazione, ma ogni reazione avviene nello stesso sistema di reazione, quindi non è possibile misurarle in modo indipendente.
Re: Vincoli dei parametri nell'adattamento del modello non linearec'è qualche aggiornamento per i vincoli nell'adattamento non lineare?
ci sono impostazioni min/max nella parte inferiore del report, ma quando clicco su Vai il risultato dell'adattamento è al di fuori del valore min-max.

Re: Vincoli dei parametri nell'adattamento del modello non lineareCiao @hogi ,
Quale set di dati hai utilizzato per questo?
Grazie,
Ben
Re: Vincoli dei parametri nell'adattamento del modello non lineareCiao @Ben_BarrIngh ,
in realtà stavo cercando di adattare 2 picchi e ho provato a limitare l'intervallo di adattamento per i centri.
Difficile adattare i picchi quando le code non corrispondono alla curva di adattamento ; )
Mentre giocavo con l'adattamento, mi sono chiesto se potevo ottimizzarlo limitando l'intervallo per la scansione x1/x2.
... e mi chiedevo se esiste un modo per limitare la piattaforma.
) dt = New Table( "spectra",
Add Rows( 200 ),
New Column( "X",
Formula( Row() )
),
New Column( "input",
Formula(
Parameter(
{h1 = 1, W = 40, h2 = 1},
(h1 * W ^ 2) / ((:X - 70) ^ 2 + W ^ 2) + (h2 * W ^ 2) / ((:X - 130)
^ 2 + W ^ 2)
)
)
),
New Column( "fit",
Formula(
Parameter(
{h1 = 1, W = 40, h2 = 1, x1 = 0, x2 = 200},
h1 * Exp( -(:X - x1) ^ 2 / (2 * W ^ 2) ) + h2 *
Exp( -(:X - x2) ^ 2 / (2 * W ^ 2) )
)
)
)
);
dt << Nonlinear( Y( :input ), X( :fit )
Re: Vincoli dei parametri nell'adattamento del modello non lineareCiao @hogi ,
È necessario passare attraverso i limiti dei parametri (triangolo rosso) e impostarli prima di premere "Invio" per evitare che superino i punti. Sebbene i valori minimo/massimo dovrebbero essere aggiornati nella tabella dei grafici sottostante, potrebbe essere utile segnalarlo a support@jmp.com.
Ciò risolve il problema che stai cercando di risolvere?
Grazie,
Ben
Re: Vincoli dei parametri nell'adattamento del modello non lineareAh, meraviglioso, grazie 
qualcuno può contrassegnare la risposta di @Ben_BarrIngh come "soluzione"?

Re: Vincoli dei parametri nell'adattamento del modello non lineare@Ben_BarrIngh , domanda aggiuntiva:
quando utilizzo "By" per adattare più spettri, esiste un trucco per impostare vincoli globali e il blocco?

qualcosa del tipo:
new column ("by",Nominal, set each value(mod(row(),3)));
Nonlinear( Y( :input ), X( :fit ), by(:by),
SendToByGroup( Bygroup Default,
Parameter Bounds(
h1( 0, 2 ),
x1( 0, 100),
h1( 0, 2 ),
x2( 100, 200)
) )
)
Re: Vincoli dei parametri nell'adattamento del modello non linearesoluzione alternativa per i vincoli globali:
new column ("by",Nominal, set each value(mod(row(),3)));
nl = Nonlinear( Y( :input ), X( :fit ), by(:by) );
nl << Parameter Bounds(
h1( 0, 2 ),
x1( 0, 100 ),
h2( 0, 2 ),
x2( 100, 200 )
)
Sembra che la serratura non sia registrata.
Si potrebbero impostare dei vincoli con min=max.