Recupera la formula di previsione semplificata tramite scriptCiao, sono abbastanza nuovo nello script JMP ma sto cercando di ottenere i coefficienti della formula di previsione dai modelli adattati.
Esistono già molti post che descrivono come ottenere la formula di previsione negli script, ma quello che voglio è la formula dopo aver applicato "Semplifica" nell'interfaccia JMP.
Salva colonne==>Formula di previsione==>Apri la formula dalla tabella dati==>Dal menu a comparsa del triangolo rosso dell'editor delle equazioni, scegli Semplifica

La mia immagine ideale è ottenere i coefficienti della formula semplificata in una nuova tabella dati, simile al clic con il pulsante destro del mouse in "Stime parametri" ==> "Crea tabella dati (combinata)"

Ho il codice per costruire il modello adattato, ma non so come includere la funzione semplificata e salvarla in una nuova tabella.
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
obj = dt << Fit Model(
Y( :ABRASION ),
Effects(
:SILICA & RS, :SILANE & RS, :SILICA * :SILICA, :SILICA * :SILANE,
:SILANE * :SILANE
),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Screening" ),
Run(
Profiler(
1,
Confidence Intervals( 1 ),
Desirability Functions( 1 ),
ABRASION << Response Limits(
{Lower( 100, 0.066 ), Middle( 150, 0.5 ),
Upper( 200, 0.9819 ), Goal( "Maximize" ), Importance( 0.25 )}
),
Term Value(
SILICA( 1.2, Lock( 0 ), Show( 1 ) ),
SILANE( 50, Lock( 0 ), Show( 1 ) )
)
),
:ABRASION << {Summary of Fit( 0 ), Analysis of Variance( 0 ),
Parameter Estimates( 1 ), Effect Details( 0 ), Sorted Estimates( 0 ),
Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 1 ),
Plot Effect Leverage( 0 ), Plot Residual by Normal Quantiles( 0 ),
Box Cox Y Transformation( 1 )}
),
SendToReport(
Dispatch(
{"Response ABRASION"},
"Parameter Estimates",
OutlineBox,
{Close( 0 )}
)
)
);
Apprezzo se qualcuno con esperienza può aiutare!
Accesso ai datiRi: Recupera la formula di previsione semplificata tramite scriptPuoi anche analizzare direttamente l'espressione. Consultare la Guida di JMP o l'indice degli script per ulteriori informazioni sulle funzioni Head(), N Args() e Arg(). Si attraversa l'espressione come un albero o un elenco collegato.
Ri: Recupera la formula di previsione semplificata tramite scriptNell'esempio che ho fornito è lasciato come Expression. Penso che dovrai prima convertirlo in stringa con:
simplified_formula_str = Char(simplified_formula);
E da lì inizia ad analizzarlo in elenchi. Per l'analisi delle seguenti funzioni potresti iniziare: Words(), Substitute() (e Regex se sai come usarlo). Ulteriori funzioni possono essere trovate da Scripting Index:

Dopo aver ottenuto l'elenco dei valori, puoi utilizzare Imposta valori per aggiungere valori a datatable:
Names Default To Here(1);
intercept_list = {"Intercept", "SILICA"};
estimate_list = [123, 1];
New Table("Untitled",
Add Rows(2),
Compress File When Saved(1),
New Column("Term", Character, "Nominal", Set Values(intercept_list)),
New Column("Estimate",
Numeric,
"Continuous",
Format("Best", 12),
Set Values(estimate_list)
)
);
Ri: Recupera la formula di previsione semplificata tramite script@jthi
Grazie!
Il primo è esattamente quello che voglio.
Ma voglio creare una nuova tabella che mostri i coefficienti e le variabili della formula semplificata come "Make Into Data Table".
Se si utilizza la funzione originale Trasforma in tabella dati, crea una tabella contenente i coefficienti di quelli "non semplificati".
Dato che ora la formula_semplificata è stata salvata, c'è un modo per trasformarla in una tabella (non il valore di previsione, solo i coefficienti e le variabili)?
Stavo cercando di analizzarlo o modificarlo in una matrice o tabella, ma finora nessuno di essi ha funzionato.
(Non sono sicuro di quale sia il tipo dell'oggetto formula...testo?)
Ri: Recupera la formula di previsione semplificata tramite scriptPuoi ottenere la formula semplificata con qualcosa del genere:
col_formula = Expr(Column(dt, "Pred Formula ABRASION") << Get Formula);<BR />simplified_formula = Expr(Simplify Expr(col_formula));
E puoi creare script per il modello Make Into datatable dal modello Fit:
dt_new = ((obj << report)["Parameter Estimates"])[TableBox(1)]<< Make Into Data Table;
Controlla l'indice di scripting per un'ottima fonte di scripting JSL.