1. Home
  2. MPOLISH procedure

MPOLISH procedure

Performs a median polish of two-way data (D.B. Baird).

Options

MAXCYCLE = scalar Maximum number of iterations; default 50
TOLERANCE = scalar Tolerance for convergence; default 0.0001

Parameters

DATA = variates or pointers or matrices or tables Two-way data to be polished
ROWS = factors Row definitions for a DATA variate
COLUMNS = factors Column definitions for a DATA variate
ROWEFFECTS = variate Row effects removed from polished results
COLEFFECTS = variate Column effects removed from polished results
POLISH = variates or pointers or matrices or tables Polished result in same format as DATA
CENTRE = scalars Estimate of overall centre point

Description

MPOLISH performs a median polish of two-way data, supplied by the DATA parameter. This can be a two-dimensional table, a matrix or a pointer of variates. Alternatively, it can be a single variate. The rows and columns are then defined by factors supplied by the ROWS and COLUMNS parameters, or by just the COLUMNS parameter with the data valueS assumed to be sorted into row order within each column.

The MAXCYCLE option sets a limit on the number of iterations. The TOLERANCE option specifies the convergence criterion: convergence occurs when

ABS(1-SUM(ABS(OldPolish)) / SUM(ABS(NewPolish))) < TOLERANCE

The polished data can be saved by the POLISH parameter, row effects by the ROWEFFECTS parameter, column effects by the COLEFFECTS parameter, and the overall centre point by the CENTRE parameter.

Options: MAXCYCLE, TOLERANCE.

Parameters: DATA, ROWS, COLUMNS, ROWEFFECTS, COLEFFECTS, POLISH, CENTRE.

See also

Procedures: MPOLISH, ROBSSPM, TUKEYBIWEIGHT.

Commands for: Calculations and manipulation.

Example

CAPTION   'MPOLISH example'; STYLE=meta
FACTOR    [LEVELS=10; VALUES=8(1...10)] Block
FACTOR    [LABELS=!t(A,B,C,D,E,F,G,H); VALUES=(1...8)10] Treat
"Log-Normally distributed effects & residuals"
CALCULATE [SEED=130403] TMeans = EXP(GRNORMAL(8; 1; 2))
&         [SEED=0] BMeans = EXP(GRNORMAL(10; 0.5; 1))
"Centre Effects around zero"
CALCULATE TMeans,BMeans = TMeans,BMeans - MEDIAN(TMeans,BMeans)
&         Y = NEWLEVELS(Block;BMeans) + NEWLEVELS(Treat;TMeans) +\ 
              EXP(GRNORMAL(80;1;0.5))
MPOLISH   [TOLERANCE=0.0001] Y; ROWS=Block; COLUMNS=Treat;\ 
          ROWEFFECTS=Blk_Effects; COLEFFECTS=Trt_Effects;\
          POLISH=Residuals; CENTRE=Centre
CAPTION   'True and estimated treatment effects'; STYLE=minor
PRINT     TMeans,Trt_Effects; FIELD=14; DECIMALS=1
CAPTION   'True and estimated block effects'; STYLE=minor
PRINT     BMeans,Blk_Effects; FIELD=14; DECIMALS=1
"Shade plot of residuals"
TABULATE  [CLASS=Block,Treat;PRINT=*] Residuals; MEANS=Res_Table
DSHADE    [TITLE='Residuals from MPOLISH'] Res_Table; PEN=!(4,2); NGROUPS=256
Updated on March 7, 2019

Was this article helpful?