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.
Ci sono 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 di JMP.
Salva colonne==>Formula di previsione==>Apri la formula dalla tabella dati==>Dal menu a comparsa del triangolo rosso dell'editor di equazioni, scegli semplifica

La mia immagine ideale è ottenere i coefficienti della formula semplificata in una nuova tabella di dati, simile al clic con il pulsante destro del mouse in "Stime dei parametri" ==> "Crea nella tabella dei 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 esperienze può aiutare!
Tabella datiSceneggiaturaRe: Recupera formula di previsione semplificata tramite scriptPuoi anche analizzare direttamente l'espressione. Per informazioni sulle funzioni Head(), N Args() e Arg(), vedere la Guida di JMP o l'indice di scripting. Attraversi l'espressione come un albero o un elenco collegato.
Re: Recupera 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 potrebbero iniziare: Words(), Substitute() (e Regex se sai come usarlo). Altre funzioni possono essere trovate da Scripting Index:

Dopo aver ottenuto un elenco di 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)
)
);
Re: Recupera 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 Make Into Data Table, viene creata una tabella contenente i coefficienti di quelli "non semplificati".
Poiché 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 cambiarlo in una matrice o una tabella, ma finora nessuno di loro funziona.
(Non sono sicuro di quale sia il tipo di oggetto formula... testo?)
Re: Recupera 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 scrivere il datatable Make Into dal modello Fit:
dt_new = ((obj << report)["Parameter Estimates"])[TableBox(1)]<< Make Into Data Table;
Controlla Scripting Index per una grande fonte di script JSL.