I don't think there is any built-in way to get this test, but you can use some JSL to build it. The steps are: Fit your 2-way ANOVA model. Save the predicted values. Square them. Now fit the 2-way model again, but adding the squared values as a column. That test is your non-additive test. I have included a sample dataset with a script that does this. Here is the script that I used that is hard-coded for this example.
Names Default to Here(1);
dt = Current Data Table();
// Launch platform: Fit Least Squares
dt = Current Data Table();
Mod1 = dt << Fit Model(
Y( :Impurity ),
Effects( :Temp, :Pressure ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" ),
Run(
:Impurity << {Summary of Fit( 1 ), Analysis of Variance( 1 ),
Parameter Estimates( 1 ), Lack of Fit( 0 ), Scaled Estimates( 0 ),
Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ),
Plot Effect Leverage( 1 ), Plot Residual by Normal Quantiles( 0 ),
Box Cox Y Transformation( 0 )}
), Invisible
);
mod1 << Prediction Formula;
mod1 << Close Window();
// New formula column: Pred Formula Impurity^2
dt << New Formula Column(
Operation( Category( "Transform" ), "Square" ),
Columns( :Pred Formula Impurity )
);
// Change column name: Pred Formula Impurity^2 → Nonadd
dt:"Pred Formula Impurity^2"n << Set Name( "Non-Additive Test" );
// Launch platform: Fit Least Squares
dt << Fit Model(
Y( :Impurity ),
Effects( :Temp, :Pressure, :"Non-Additive Test"n ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" ),
Run(
:Impurity << {Summary of Fit( 0 ), Analysis of Variance( 0 ),
Parameter Estimates( 1 ), Sequential Tests( 1 ), Lack of Fit( 0 ), Scaled Estimates( 0 ),
Effect Tests( 0 ),
Plot Actual by Predicted( 0 ), Plot Regression( 0 ),
Plot Residual by Predicted( 0 ), Plot Studentized Residuals( 0 ),
Plot Effect Leverage( 0 ), Plot Residual by Normal Quantiles( 0 ),
Box Cox Y Transformation( 0 )}
)
);
Dan Obermiller