Calculates BLUPs for block terms in an `ANOVA`

analysis (R.W. Payne).

### Options

`PRINT` = string token |
Controls printed output (`blups` ); default `blup` |
---|---|

`PTERMS` = formula |
Specifies the block terms whose BLUPs are to be printed; default is to print them all |

`PSE` = string tokens |
Types of standard errors to be printed with the BLUPs (`differences` , `alldifferences` , `blups` , `allblups` ); default `diff` , `blup` |

`SAVE` = identifier |
Save structure for the `ANOVA` analysis; default is to take the most recent `ANOVA` analysis |

### Parameters

`TERMS` = formula |
Block terms whose BLUPs etc are to be saved |
---|---|

`BLUPS` = table or pointer to tables |
Saves the BLUPs |

`SEBLUPS` = table or pointer to tables |
Standard errors for the BLUPs of each term |

`SEDMEANS` = symmetric matrix or pointer to symmetric matrices |
Standard errors of differences between the BLUPs of each term |

### Description

This procedure can be used to calculate best linear unbiased predictors (BLUPs) for block terms in an analysis of variance that has been performed by the `ANOVA`

directive. These differ from the ordinary `ANOVA`

residuals in that they are predictors rather than estimates of the random effects. They usually have the property of shrinkage, i.e. they are biased towards zero. As a result they are more likely to represent future observations of the same terms.

By default, the BLUPs are from most recent `ANOVA`

analysis. However, you can use an earlier analysis, by using the SAVE option of ABLUPS to specify its save structure (saved using the SAVE parameter of the earlier `ANOVA`

command).

The BLUPs are usually printed. However, this can be suppressed by setting option PRINT=*. The PTERMS option can be used to specify the block terms whose BLUPs are to be printed. The default is to print the BLUPs for all the block terms.

The PSE option specifies which standard errors are printed, with the following settings.

`differences` |
prints a summary of the standard errors of differences between pairs of BLUPs, |

`alldifferences` |
prints all the standard errors of differences between pairs of BLUPs, |

`blups` |
prints a summary of the standard errors of the BLUPs, and |

`allblups` |
prints all the standard errors of the BLUPs. |

By default `PSE`

=`differences`

, `blups`

.

The parameters of `ABLUPS`

can save the BLUPs and standard errors. The `TERMS`

parameter specifies the block terms whose BLUPs or standard errors are to be saved. The `BLUPS`

parameter saves tables of BLUPs, the `SEMEANS`

parameter saves tables containing their standard errors, and the `SEDMEANS`

parameter saves symmetric matrices containing standard errors of differences between pairs of BLUPs. If you have a single term, you can supply a table or symmetric matrix for each of these parameters, as appropriate. However, if you have several terms, you must supply a pointer which will then be set up to contain as many tables or symmetric matrices as there are `TERMS`

. A fault is given if the pointer has been defined already with a different number of elements to the number of `TERMS`

.

Options: `PRINT`

, `PTERMS`

, `PSE`

, `SAVE`

.

Parameters: `TERMS`

, `BLUPS`

, `SEBLUPS`

, `SEDBLUPS`

.

### Method

The BLUPs are calculated by a ridge regression where the y-variate is the variate of combined residuals from the `ANOVA`

, and the explanatory terms are the block terms. The ridge variate contains the reciprocals of the gamma parameters, which are the variance components of the block terms divided by the variance of the bottom stratum. See, for example, equation 5.4 and the subsequent discussion in Robinson (1991). The variance-covariance matrix for the BLUPs is calculated as

σ^{2} × **( Z′ Z + G ^{-1} – Z′ X (X′ X)^{-1} X′ Z )^{-1}**

where **G** is a diagonal matrix containing the gamma parameters, **X** is the design matrix for the treatment effects and any covariates, **Z** is the design matrix for the block effects, and σ2 is the variance of the bottom stratum. The design matrices and the inverse of **X′ X** are obtained using Genstat regression; see the `TERMS`

and `RKEEP`

directives for details.

### Action with `RESTRICT`

If the y-variate originally analysed by `ANOVA`

was restricted, the calculations will use only the units not excluded by the restriction.

### Reference

Robinson, G.K. (1991). That BLUP is a good thing: the estimation of random effects. Statistical Science, **6**, 15-32.

### See also

Directives: `ANOVA`

, `REML`

.

Commands for: Analysis of variance.

### Example

CAPTION 'ABLUPS example',\ 'Slate Hall Farm data (Guide to REML in Genstat, Section 1.8).';\ STYLE=meta,plain SPLOAD [PRINT=*] '%gendir%/data/slatehall.gsh' BLOCKS replicates/(rows*columns) TREATMENTS variety ANOVA [PRINT=aov,information,stratum] yield ABLUPS " compare with REML " VCOMPONENTS [FIXED=variety] replicates/(rows*columns) REML [PRINT=components; METHOD=fisher] yield VDISPLAY [PRINT=effects; PTERM=replicates/(rows*columns)]