cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Register to attend Discovery Summit 2025 Online: Early Users Edition, Sept. 24-25.
  • New JMP features coming to desktops everywhere this September. Sign up to learn more at jmp.com/launch.
Choose Language Hide Translation Bar
ZHANDOUJI
Level II

How can I to generate a Plackett-Burman design that is exactly the same as the one in the picture?

I want to generate a design taht is totaly same as the one sshown in the picture.I have made many tries but all of them dont work.is it possible to change the generating rules of plackett-burman in jmp? 

and this is the plackett-burmandesign I want to generate:Screenshot 2025-03-09 162139.png

The plackett-burman design I generated by jmp is here,and I dont find any button here used to change the plackett-burman design geneating rules:

Screenshot 2025-03-09 162249.png

2 ACCEPTED SOLUTIONS

Accepted Solutions
statman
Super User

Re: How can I to generate a Plackett-Burman design that is exactly the same as the one in the picture?

Not sure I understand completely, but here are may thoughts:

 

PB is a res III design (specially structured Hadamard matrices).  In these designs you are separating 1st order from other first order effects, but all 2nd order and above are aliased and with PB there is much partial aliasing. If you are trying to re-create exactly what appears to be from a publication, just copy and paste that table into a JMP table.  Re-creating an exact PB design in JMP, is unlikely unless you manage your selection regarding run order.  If, for example, you create a PB design with 19 factors and for run order, select Sort Left to Right, then try to re-create that with the same Sort Left to Right, you will get the exact same table.

 

BTW, I never get a treatment of all - in JMP PB designs (it is always a row of +)

 

 

"All models are wrong, some are useful" G.E.P. Box

View solution in original post

Victor_G
Super User

Re: How can I to generate a Plackett-Burman design that is exactly the same as the one in the picture?

Hi @ZHANDOUJI,

 

Reproducing designs to recreate the modeling and analysis can sometimes be difficult. The easiest option mentioned by @statman is to copy-paste the design from Excel/file to JMP.

By analyzing the row used in JMP for design generation and the one from your design, the one from your design is the negative one from JMP and "reversed" ; these operations don't change anything to the matrix properties, hence the different ways to generate a specific design type (like Plackett-Burman, Hadamard matrices, etc...). 

In order to reproduce the textbook design natively in JMP, you will need some extra steps :

  1. Create a Plackett-Burman design with row order "Keep the Same" :
    DOE(
    	Screening Design,
    	{Add Response( Maximize, "Y", ., ., . ),
    	Add Factor( Continuous, -1, 1, "X1", 0 ),
    	Add Factor( Continuous, -1, 1, "X2", 0 ),
    	Add Factor( Continuous, -1, 1, "X3", 0 ),
    	Add Factor( Continuous, -1, 1, "X4", 0 ),
    	Add Factor( Continuous, -1, 1, "X5", 0 ),
    	Add Factor( Continuous, -1, 1, "X6", 0 ),
    	Add Factor( Continuous, -1, 1, "X7", 0 ),
    	Add Factor( Continuous, -1, 1, "X8", 0 ),
    	Add Factor( Continuous, -1, 1, "X9", 0 ),
    	Add Factor( Continuous, -1, 1, "X10", 0 ),
    	Add Factor( Continuous, -1, 1, "X11", 0 ),
    	Add Factor( Continuous, -1, 1, "X12", 0 ),
    	Add Factor( Continuous, -1, 1, "X13", 0 ),
    	Add Factor( Continuous, -1, 1, "X14", 0 ),
    	Add Factor( Continuous, -1, 1, "X15", 0 ),
    	Add Factor( Continuous, -1, 1, "X16", 0 ),
    	Add Factor( Continuous, -1, 1, "X17", 0 ),
    	Add Factor( Continuous, -1, 1, "X18", 0 ),
    	Add Factor( Continuous, -1, 1, "X19", 0 ), Set Random Seed( 1549927455 ),
    	Make Design( 1 ), Simulate Responses( 0 ), Save X Matrix( 0 )}
    );
  2. Reverse all signs in the design matrix (-1 to 1 and 1 to -1) :
    // Recode columns
    Local( {dt},
    	dt = Data Table( "Plackett-Burman" );
    	dt << Begin Data Update;
    	For Each( {colref, index},
    		{dt:X1, dt:X2, dt:X3, dt:X4, dt:X5, dt:X6, dt:X7, dt:X8, dt:X9, dt:X10, dt
    		:X11, dt:X12, dt:X13, dt:X14, dt:X15, dt:X16, dt:X17, dt:X18, dt:X19},
    		dt << Recode Column(
    			colref,
    			{Map Value( _rcOrig, {-1, 1, 1, -1}, Unmatched( _rcNow ) )},
    			Update Properties( 1 ),
    			Target Column( colref )
    		)
    	);
    	dt << End Data Update;
    );
  3. Reverse column order (and I moved Y to the end):
    // Reverse column order
    Data Table( "Plackett-Burman" ) << Reverse Order;
    // Move selected column: Y
    Data Table( "Plackett-Burman" ) << Move Selected Columns( {:Y}, after( :X1 ) );
  4. Invert row order (I had to do in several steps, and I'm not sure there is a JSL function to automatize it, it's not saved by the log ; It could however be automatized using the Move Rows function, and selecting the last row to be the first one, the 19th to be the 2nd, ...)

  5. Change columns names and add the response values :
    // Recode column names
    Local( {dt = Data Table( "Plackett-Burman" ), names},
    	names = Recode(
    		dt << Get Column Names( String ),
    		{Map Value(
    			_rcOrig,
    			{"X1", "S", "X10", "J", "X11", "I", "X12", "H", "X13", "G", "X14", "F",
    			"X15", "E", "X16", "D", "X17", "C", "X18", "B", "X19", "A", "X2", "R",
    			"X3", "Q", "X4", "P", "X5", "O", "X6", "N", "X7", "M", "X8", "L", "X9",
    			"K"},
    			Unmatched( _rcNow )
    		)}
    	);
    	For Each( {name, i}, names, Column( dt, i ) << Set Name( name ) );
    );
    

Please find attached the datatable with the design matrix you have in your textbook and the responses to analyze.

Hope this will help you,

 

Victor GUILLER

"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)

View solution in original post

6 REPLIES 6
statman
Super User

Re: How can I to generate a Plackett-Burman design that is exactly the same as the one in the picture?

Not sure I understand completely, but here are may thoughts:

 

PB is a res III design (specially structured Hadamard matrices).  In these designs you are separating 1st order from other first order effects, but all 2nd order and above are aliased and with PB there is much partial aliasing. If you are trying to re-create exactly what appears to be from a publication, just copy and paste that table into a JMP table.  Re-creating an exact PB design in JMP, is unlikely unless you manage your selection regarding run order.  If, for example, you create a PB design with 19 factors and for run order, select Sort Left to Right, then try to re-create that with the same Sort Left to Right, you will get the exact same table.

 

BTW, I never get a treatment of all - in JMP PB designs (it is always a row of +)

 

 

"All models are wrong, some are useful" G.E.P. Box
ZHANDOUJI
Level II

Re: How can I to generate a Plackett-Burman design that is exactly the same as the one in the picture?

thank you! Your experience has been of very gtreat help to me.I also cant made a plackett-burman design a treatment of all factors level at low.

Victor_G
Super User

Re: How can I to generate a Plackett-Burman design that is exactly the same as the one in the picture?

Hi @ZHANDOUJI,

 

Reproducing designs to recreate the modeling and analysis can sometimes be difficult. The easiest option mentioned by @statman is to copy-paste the design from Excel/file to JMP.

By analyzing the row used in JMP for design generation and the one from your design, the one from your design is the negative one from JMP and "reversed" ; these operations don't change anything to the matrix properties, hence the different ways to generate a specific design type (like Plackett-Burman, Hadamard matrices, etc...). 

In order to reproduce the textbook design natively in JMP, you will need some extra steps :

  1. Create a Plackett-Burman design with row order "Keep the Same" :
    DOE(
    	Screening Design,
    	{Add Response( Maximize, "Y", ., ., . ),
    	Add Factor( Continuous, -1, 1, "X1", 0 ),
    	Add Factor( Continuous, -1, 1, "X2", 0 ),
    	Add Factor( Continuous, -1, 1, "X3", 0 ),
    	Add Factor( Continuous, -1, 1, "X4", 0 ),
    	Add Factor( Continuous, -1, 1, "X5", 0 ),
    	Add Factor( Continuous, -1, 1, "X6", 0 ),
    	Add Factor( Continuous, -1, 1, "X7", 0 ),
    	Add Factor( Continuous, -1, 1, "X8", 0 ),
    	Add Factor( Continuous, -1, 1, "X9", 0 ),
    	Add Factor( Continuous, -1, 1, "X10", 0 ),
    	Add Factor( Continuous, -1, 1, "X11", 0 ),
    	Add Factor( Continuous, -1, 1, "X12", 0 ),
    	Add Factor( Continuous, -1, 1, "X13", 0 ),
    	Add Factor( Continuous, -1, 1, "X14", 0 ),
    	Add Factor( Continuous, -1, 1, "X15", 0 ),
    	Add Factor( Continuous, -1, 1, "X16", 0 ),
    	Add Factor( Continuous, -1, 1, "X17", 0 ),
    	Add Factor( Continuous, -1, 1, "X18", 0 ),
    	Add Factor( Continuous, -1, 1, "X19", 0 ), Set Random Seed( 1549927455 ),
    	Make Design( 1 ), Simulate Responses( 0 ), Save X Matrix( 0 )}
    );
  2. Reverse all signs in the design matrix (-1 to 1 and 1 to -1) :
    // Recode columns
    Local( {dt},
    	dt = Data Table( "Plackett-Burman" );
    	dt << Begin Data Update;
    	For Each( {colref, index},
    		{dt:X1, dt:X2, dt:X3, dt:X4, dt:X5, dt:X6, dt:X7, dt:X8, dt:X9, dt:X10, dt
    		:X11, dt:X12, dt:X13, dt:X14, dt:X15, dt:X16, dt:X17, dt:X18, dt:X19},
    		dt << Recode Column(
    			colref,
    			{Map Value( _rcOrig, {-1, 1, 1, -1}, Unmatched( _rcNow ) )},
    			Update Properties( 1 ),
    			Target Column( colref )
    		)
    	);
    	dt << End Data Update;
    );
  3. Reverse column order (and I moved Y to the end):
    // Reverse column order
    Data Table( "Plackett-Burman" ) << Reverse Order;
    // Move selected column: Y
    Data Table( "Plackett-Burman" ) << Move Selected Columns( {:Y}, after( :X1 ) );
  4. Invert row order (I had to do in several steps, and I'm not sure there is a JSL function to automatize it, it's not saved by the log ; It could however be automatized using the Move Rows function, and selecting the last row to be the first one, the 19th to be the 2nd, ...)

  5. Change columns names and add the response values :
    // Recode column names
    Local( {dt = Data Table( "Plackett-Burman" ), names},
    	names = Recode(
    		dt << Get Column Names( String ),
    		{Map Value(
    			_rcOrig,
    			{"X1", "S", "X10", "J", "X11", "I", "X12", "H", "X13", "G", "X14", "F",
    			"X15", "E", "X16", "D", "X17", "C", "X18", "B", "X19", "A", "X2", "R",
    			"X3", "Q", "X4", "P", "X5", "O", "X6", "N", "X7", "M", "X8", "L", "X9",
    			"K"},
    			Unmatched( _rcNow )
    		)}
    	);
    	For Each( {name, i}, names, Column( dt, i ) << Set Name( name ) );
    );
    

Please find attached the datatable with the design matrix you have in your textbook and the responses to analyze.

Hope this will help you,

 

Victor GUILLER

"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)
ZHANDOUJI
Level II

Re: How can I to generate a Plackett-Burman design that is exactly the same as the one in the picture?

Thanks for taking the time to answer my question!I am a freshman when it comes to these coded thing,so it is a little difficult for me to understand how these code work. I will spend some time figuring out how these thing work.

Victor_G
Super User

Re: How can I to generate a Plackett-Burman design that is exactly the same as the one in the picture?

Hi @ZHANDOUJI,

 

Sorry, I didn't want to make things more complex, all these operations can be done manually in JMP, I just didn't know if you wanted to have the code snippets so that you can build the design in one time by concatenating the code parts.

I have extracted the code parts thanks to the log recorder in JMP, here is how to do the steps manually :

  1. Create a Plackett-Burman design with row order "Keep the Same".
  2. Reverse all signs, by selecting all columns, right-click on one column, choose "Standardize Attributes..." and use the "Recode" option :
    Victor_G_0-1741679399090.png

    Make sure to not directly switch the first value to the opposite sign, as all values would then be grouped together and you won't be able to differentiate them again. You can start by switching -1 to 0 for example, then 1 to -1, and finally 0 to 1.

  3. To reverse order of the columns, you can go in the menu "Cols", "Reorder Columns", and then "Reverse Order" :
    Victor_G_1-1741679579067.png
  4. To move rows, select the row you want to move, and then click on "Rows" menu, then "Move Rows..." :

    Victor_G_2-1741679805842.png

    In this situation, I had to move one row at a time, moving 20th run to the first row, then the new last row to the second row, etc... (in order to invert the row order of the complete matrix).

  5.  

    To recode column names in one action, select the columns, and in the menu "Cols", select "Column Names" and then "Recode Column Names..." :
    Victor_G_3-1741679925677.png

 

Hope these instructions will help you if you need to reproduce the steps.

Victor GUILLER

"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)
ZHANDOUJI
Level II

Re: How can I to generate a Plackett-Burman design that is exactly the same as the one in the picture?

thank you so so so so much! I have construct this PB design successfully by the method you described!

Recommended Articles