recurrence analysis cumulative formula (was JSL coding)Hi, all
I want to Save Cumulative Formula from a model for each Cause level in recurrence analysis model. Following is the code I have
ra = Recurrence Analysis(
Y( :age ),
Label( :BOT ID ),
Cost( :Censor ),
Grouping( :Bot Series ),
Event Plot( 0 ),
Fit Model(
Scale Effects( :Bot Series ),
Shape Effects( :Bot Series ),
Run Model,
Model Type( "Proportional Intensity Poisson Process" )
)
);
// Get fitted recurrence model object
fit = Report(ra)[OutlineBox("Fitted Recurrence Model")] << Get Scriptable Object;
// Save intensity and cumulative formulas from fit
intensity_col = fit << Save Intensity Formula;
cumul_col = fit << Save Cumulative Formula (
If( :Part Grouping2 == "Caster Assy-Left"",
full_formula
)
);
I have Part Grouping2 as Cause and there are 13 levels in Part Grouping2, I want to generate fit value for each level in Part Grouping2. I tried some code but did not work. In the code Part Grouping2 == "Caster Assy-Left" . That is just trying to use the formular for one Part Grouping2 level Caster Assy-Left. There are 13 total levels and I want to automate this so I don't need to repeat 13 times.
Thanks.
</CODE></P>
<DIV> </DIV></LINGO-BODY><LINGO-LABS id="lingo-labs-912116" slang="en-US" mode="UPDATE"><LINGO-LABEL>Automation and Scripting</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-912154" slang="en-US" mode="CREATE" translate="no">Re: JSL codeing</LINGO-SUB><LINGO-BODY id="lingo-body-912154" slang="en-US" mode="CREATE"><P>What are you trying to extract or do in the end? Your script will create the formulas for you which seem to look something like this</P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jthi_0-1762581573217.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1762581573217.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1762581573217.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1762581573217.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1762581573217.png" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1762581573217.png" style="width: 999px;"><span class="lia-inline-image-display-wrapper" image-alt="jthi_0-1762581573217.png" style="width: 999px;"><img src="https://us.v-cdn.net/6038925/uploads/images/86635iE72CED4B36533B07/jthi_0-1762581573217.png" role="button" title="jthi_0-1762581573217.png" alt="jthi_0-1762581573217.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P>
<PRE><CODE class=" language-jsl">Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Reliability/Bladder Cancer.jmp");
ra = dt << Recurrence Analysis(
Y(:Age),
Cost(:Cost),
Grouping(:Treatment Group),
Label(:Patient Number),
Fit Model(
Scale Effects(:Treatment Group),
Shape Effects(:Treatment Group),
Run Model,
Model Type("Proportional Intensity Poisson Process")
)
);
fit = Report(ra)[Outline Box("Fitted Recurrence Model")] << Get Scriptable Object;
intensity_col = fit << Save Intensity Formula;
cumul_col = fit << Save Cumulative Formula;
Re: JSL codeingHi,
Thanks for your reply.
I want to predict the cumulative values (number of repairs in this study) 90 days later for each machine. I figured it out.
I just need to use "fit = Report(ra)[OutlineBox("Fitted Recurrence Model Cause= Caster Assay-Left)] << Get Scriptable Object;". So the "Cause =" will generate the formular for the cause level I want.
To automate this for 13 cause levels, I just created a list of cause and use a for loop to go through each level.
Thanks.
Re: JSL codeingYou are using By column? Most likely looping isn't necessary but that is a good option, just make sure you aren't overwriting any columns by accident
If you are using By column, broadcasting might also work if it does what you are looking for
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Reliability/Bladder Cancer.jmp");
ra = dt << Recurrence Analysis(
Y(:Age),
Cost(:Cost),
Grouping(:Treatment Group),
Label(:Patient Number),
Fit Model(
Scale Effects(:Treatment Group),
Shape Effects(:Treatment Group),
Run Model,
Model Type("Proportional Intensity Poisson Process")
),
By(:Cause of Death)
);
fit = Report(ra[1])[Outline Box("Fitted Recurrence Model")] << Get Scriptable Object;
fit << Broadcast(Save Intensity Formula);
fit << Broadcast(Save Cumulative Formula);
