CIAO,
Quando analizzo i dati di degradazione utilizzando la piattaforma Degradation Data Analysis, voglio esaminare vari modelli per selezionare il migliore in base ad AICc. Per fare ciò, applico manualmente le diverse distribuzioni e trasformazioni per una data definizione di percorso e genero report per ogni combinazione cliccando sul pulsante "Generate Report". Esiste un modo per far sì che JMP generi automaticamente report per tutte le combinazioni e li aggiunga all'elenco dei modelli? Un bonus sarebbe far sì che JMP esegua questa operazione escludendo anche le trasformazioni considerate inappropriate o che generano valori mancanti (ad esempio applicando la trasformazione logaritmica al fattore tempo quando contiene zero).
JMP versione 17.2
Grazie in anticipo.
/Giovanni F.
Potresti doverlo fare tramite script. Di seguito è riportata un'opzione (non è uno script molto robusto, ma può dare qualche idea su cosa si può fare)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Reliability/Adhesive Bond.jmp");
obj = dt << Destructive Degradation(
Y(:Strength),
Time(:Weeks),
X(:Degrees),
Censor(:Censor),
Censor Code("Right"),
Control("Log10", "Sqrt", "Normal", "Individual Path with Intercept")
);
rep = Report(obj);
cb = (rep << XPath("//PanelBox[text() = 'Distribution']/ComboBox"))[1];
rb_transformations = (rep << XPath("//PanelBox[text() = 'Transformation']//RadioBox"));
cb_options = cb << get items;
rb_tr = rb_transformations << get items;
btn = (rep << XPath("//ButtonBox[text() = 'Generate Report']"))[1];
tb1 = rep[TextBox(3)];
tb2 = rep[TextBox(4)];
For Each({option, idx}, cb_options,
cb << Set(idx);
For Each({op1, idx1}, rb_tr[1],
rb_transformations[1] << Set(idx1);
For Each({op2, idx2}, rb_tr[2],
rb_transformations[2] << Set(idx2);
visibilities = {tb1, tb2} << get visibility;
visibs = Loc(visibilities, "Visible");
If(N Items(visibs) == 0,
btn << Click(1);
,
skipped_txt = Eval insert("\[Skipped combination ^option^+^op1^+^op2^ due to ^Concat Items(({tb1, tb2} << get text)[Matrix(visibs)], ", ")^]\");
Write("\!N", skipped_txt);
);
wait(0);
);
);
);
Write();