Hallo,
Wenn ich Degradationsdaten mithilfe der Degradation Data Analysis-Plattform analysiere, möchte ich verschiedene Modelle prüfen, um das beste basierend auf AICc auszuwählen. Dazu wende ich die verschiedenen Verteilungen und Transformationen für eine bestimmte Pfaddefinition manuell an und erstelle Berichte für jede Kombination, indem ich auf die Schaltfläche „Bericht erstellen“ klicke. Gibt es eine Möglichkeit, dass JMP automatisch Berichte für alle Kombinationen erstellt und sie der Modellliste hinzufügt? Ein Bonus wäre, wenn JMP dies durchführen und gleichzeitig Transformationen ausschließen würde, die als unangemessen erachtet werden oder fehlende Werte erzeugen (d. h. eine Log-Transformation auf den Zeitfaktor anwenden, wenn dieser Null enthält).
JMP Version 17.2
Dank im Voraus.
/JF
Möglicherweise müssen Sie dies per Skript erledigen. Unten finden Sie eine Option (kein sehr robustes Skript, kann aber einige Ideen dazu liefern, was getan werden kann).
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();