cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
mark_war
Level I

Post processing Monte Carlo Outcomes from Prediction Profiler

Hello everybody,

 

I have a JMP file with a formula of two random variables: "Voltage" and "thickness".

To visualize the statistical distribution of the formula, I am using the JMP Prediction profiler.

I managed to create a table with all the Monte Carlo outcomes run by the profiler using the JSL command:

Simulate to Table

Here is what my screen looks like:

Capture.PNG

 

As a next step I would like to use the columns in the new table to make some customized statistical analysis, using the same script open in the picture (for instance to evaluate the mean value from the column Formula). I’m stuck at this point and can’t move forward...

 

Do you have some ideas? 

Thank you in advance,

Mark

2 REPLIES 2
SDF1
Super User

Re: Post processing Monte Carlo Outcomes from Prediction Profiler

Hi @mark_war ,

 

  Without knowing exactly what kind of statistics you are looking to perform and evaluate, see the below example of how you can modify your code so that it automatically performs analyses.

Names Default to Here(1);

Profiler(
	Y( :Formula ),
	Profiler(
		1,
		Term Value(
			thickness(
				2.9875,
				Min( 2.30771982310094 ),
				Max( 3.46241935483871 ),
				Lock( 0 ),
				Show( 1 )
			),
			Voltage(
				1,
				Min( 0.3584375 ),
				Max( 1.59908333333333 ),
				Lock( 0 ),
				Show( 1 )
			)
		),
		Simulator(
			1,
			Factors(
				thickness << Random( Normal( 2.9875, 0.2 ) ),
				Voltage << Random( Normal( 1, 0.2 ) )
			),
			Responses( Formula << No Noise ),
			Resimulate,
			Simulate to Table
		)
	),
	SendToReport(
		Dispatch(
			{"Prediction Profiler"},
			"10000",
			ScaleBox,
			{Min( -0.0325024497795198 ), Max( 0.801201923076923 ), Inc( 0.2 ),
			Minor Ticks( 1 )}
		),
		Dispatch(
			{"Prediction Profiler"},
			"2",
			ScaleBox,
			{Min( 0.3584375 ), Max( 1.59908333333333 ), Inc( 0.2 ), Minor Ticks( 1 )
			}
		),
		Dispatch(
			{"Prediction Profiler"},
			"1",
			ScaleBox,
			{Min( 2.30771982310094 ), Max( 3.46241935483871 ), Inc( 0.2 ),
			Minor Ticks( 1 )}
		),
		Dispatch(
			{"Prediction Profiler"},
			"Profiler",
			FrameBox,
			{Frame Size( 134, 167 )}
		),
		Dispatch(
			{"Prediction Profiler"},
			"Profiler Simulator Distribution",
			FrameBox,
			{Frame Size( 124, 56 )}
		),
		Dispatch(
			{"Prediction Profiler"},
			"Profiler",
			FrameBox( 3 ),
			{Frame Size( 134, 167 )}
		),
		Dispatch(
			{"Prediction Profiler"},
			"Profiler Simulator Distribution",
			FrameBox( 2 ),
			{Frame Size( 124, 56 )}
		),
		Dispatch(
			{"Prediction Profiler"},
			"Profile Simulator Histogram",
			FrameBox,
			{Frame Size( 64, 157 ), DispatchSeg(
				Hist Seg( 1 ),
				{Fill Color( "Green" ), Bin Span( 2, 0 )}
			)}
		),
		Dispatch(
			{"Prediction Profiler", "Simulator"},
			"Simulate to Table",
			OutlineBox,
			{Close( 0 )}
		)
	)
);

dtlist=get data table list();//this creates a list of all the open data tables.

dt=Data Table(dtlist[1]);//this assigns the top-most data table to the variable dt so that you can perform the statistics on this data table rather than the original data table

//this sends the command to the data table to generate some distributions.
dt<<Distribution(
	Continuous Distribution( Column( :thickness ) ),
	Continuous Distribution( Column( :Voltage ) ),
	Continuous Distribution( Column( :Formula ),
	Process Capability( Use Column Property Specs )
	)
);

This should at least get you started.

 

Hope this helps!,

DS

Re: Post processing Monte Carlo Outcomes from Prediction Profiler

Scatterplots (Graph > Scatterplot Matrix) of the columns are useful for this type of analysis.   You can also add a data filter for the response variable so that you can filter on the specification range.

 

If the goal of your analysis is to find ranges for the input variables that will allow you to meet specification, you should try the Design Space Profiler (under the Profiler), which is designed to help you do that task more automatically.