Hai bisogno di aiuto per automatizzare la selezione graduale del modello!Salve esperti JMP,
Ho bisogno del tuo aiuto per rivedere il mio codice per automatizzare la selezione graduale del modello con la soglia del valore p. Questo JSL collegato può essere eseguito gradualmente automaticamente in base agli effetti e alla risposta assegnati. Ho bisogno di aggiungere più funzioni per rendere il mio lavoro più efficiente.
1. Voglio che questo script possa generare interazione e quadratico automaticamente in base ai predittori (è meglio averlo, ma non necessario)
2. Lo script deve generare un modello per ogni risposta nell'elenco response_col.
3. Dopo il modello Esegui, voglio che questo rapporto di risposta abbia i seguenti grafici o tabelle:
{Riepilogo dell'adattamento( 1 ), Analisi della varianza( 1 ),
Stime dei parametri( 1 ), Test degli effetti( 0 ), Dettagli degli effetti( 0 ),
Mancanza di adattamento( 0 ), Stime in scala( 0 ), Plot Actual by Predicted( 1 ),
Grafico regressione( 0 ), Grafico residuo per previsto( 0 ),
Plot Studentized Residuals( 1 ), Plot Effect Leverage( 0 ),
Tracciare il residuo per quantili normali( 1 ), Trasformazione Box Cox Y( 0 ),
Premere ( 1 )}
4. Voglio salvare questo report nella tabella JMP con un nome assegnato come stepwise_ risposta.
5. Salva tutti i grafici e la tabella in grafici separati in una cartella assegnata, in modo da non dover copiare i risultati del modello uno per uno in PowerPoint o in un documento Word.
AnaliticaDAIScriptingRi: Ho bisogno di aiuto per automatizzare la selezione graduale del modello!La pagina seguente è utile per capire come gestire le espressioni.
https://community.jmp.com/t5/JSL-Cookbook-Archived/Insert-one-expression-into-another-using-Eval-Insert-Eval-Expr/ta-p/48998
Per la regressione graduale, ecco un esempio;
For( i = 1, i <= N Items( response_col ), i++,
Eval(
Parse(
Eval Insert(
"\[step_wise = Fit Model(
Y( ^response_col[i]^ ),
Effects( ^effects_term^ ),
Personality( Stepwise ),
Run Model(
Stopping Rule( "P-value Threshold" ),
Prob to Enter( 0.05 ),
Prob to Leave( 0.25 );
),
Run
);
]\"
)
)
);
step_wise << Finish;
Wait( 0 );
fit_model = step_wise << Run model;
step_wise << close window();
);//end of loop
Si prega di consultare il file allegato per lo script completo.
Ri: Ho bisogno di aiuto per automatizzare la selezione graduale del modello!CIAO @yuichi_katsumur Grazie mille per il tuo precedente aiuto su JSL stepwise. Ha funzionato bene, lo stepwise ha solo una soglia del valore P, ma questo esempio di seguito ha due metodi Stepwise, uno è la soglia del valore P, l'altro è il BIC minimo. Quando ho usato il tuo codice per salvare il modello ha due modelli, devo usare il codice per eliminare l'ultimo script ogni volta dopo aver salvato i modelli. C'è un modo per rimuovere il BIC minimo nel grafico sottostante?
La direzione per stepwise che ho usato è "Misto", ma il grafico sottostante mostra solo "Avanti", quindi qual è la direzione effettiva usata nello script?
@jthi mi aiutate a dare un'occhiata anche voi?

sdt = Open("$SAMPLE_DATA/Boston Housing.jmp");
response_col = {" :mvalue", ":crim"};
effects_term = {:zn, :indus, :chas, :nox, :rooms, :age, :distance, :radial, :tax, :pt, :b,
:lstat};
var1= 0,05;
var2 = 0,25;
For( i = 1, i <= N Items( response_col ), i++,
Eval(
Analizza(
Inserisci valutazione(
"\[step_wise = Adatta modello(
Y( ^risposta_col[i]^ ),
Effetti( ^effects_term^ ),
Personalità (graduale),
Esegui modello(
Regola di arresto ("Soglia del valore P"),
Prob per entrare ( ^var1^ ),
Prob to Leave( ^var2^ );
Direzione ("Misto");
Regole("Combina");
),
Correre
);
]\"
)
)
);
step_wise << Fine;
Aspetta(0);
fit_model = step_wise << Esegui modello;
/* step_wise << chiudi finestra();*/
);
Ri: Ho bisogno di aiuto per automatizzare la selezione graduale del modello!Ho appena notato che la direzione è solo in avanti. Come possiamo cambiarlo in "misto" nel codice sopra?
Ri: Ho bisogno di aiuto per automatizzare la selezione graduale del modello!CIAO @lazzybug ,
Mi dispiace, ho trovato un errore nel mio script. Si prega di sostituire ; con ,.
// Previous script
Prob to Leave( ^var2^ );
Direction ("Mixed");
Rules("Combine");
// Correct one
Prob to Leave( ^var2^ ),
Direction ("Mixed"),
Rules("Combine"),