Uses a parametric bootstrap to estimate the power (probability of detection) for terms in a `REML`

analysis (R.W. Payne & C.J. Brien).

### Options

`PRINT` = string tokens |
Controls printed output (`power` , `nnotconverged` , `monitoring` ); default `powe` |
---|---|

`VPRINT` = string tokens |
Controls the output from the `REML` analyses (`model` , `components` , `effects` , `means` , `stratumvariances` , `monitoring` , `vcovariance` , `deviance` , `Waldtests` , `missingvalues` , `covariancemodels` ); default `*` i.e. none |

`TERM` = formula |
Fixed term to be assessed in the analysis |

`UVCOVARIANCE` = symmetric matrix |
Specifies the variances and covariances of the units; default is to take this from the `SAVE` structure |

`PROBABILITY` = scalar |
Significance level at which the response is to be detected; default 0.05 |

`TMETHOD` = string token |
Type of test to be made (`fratio` , `wald` , `twosided` , `greaterthan` , `lessthan` , `equivalence` , `noninferiority` ); default `frat` |

`XCONTRASTS` = variate |
X-variate defining a contrast to be detected |

`CONTRASTTYPE` = string token |
Type of contrast (`regression` , `comparison` ) default `rege` |

`CRITICALVALUE` = scalar |
Supplies a critical value for the test statistic |

`NBOOT` = scalar |
Number of bootstrap samples to analyse; default 500 |

`NRETRIES` = scalar |
Maximum number of extra samples to take when some `REML` analyses fail to converge; default `NBOOT` |

`SEED` = scalar |
Seed for random number generation; default 0 continues an existing sequence or, if none, selects a seed automatically |

`METHOD` = string token |
Indicates whether to use the standard Fisher-scoring algorithm or the new AI algorithm with sparse matrix methods (`Fisher` , `AI` ); default `AI` |

`MAXCYCLE` = scalar |
Sets a limit on the number of iterations in the `REML` analyses; default 30 |

`FMETHOD` = string token |
Controls whether and how to calculate F statistics for fixed terms (`automatic` , `none` , `algebraic` , `numerical` ); default `auto` |

`WMETHOD` = string token |
Controls which Wald statistics are saved (`add` , `drop` ); default `add` |

`WORKSPACE` = scalar |
Number of blocks of internal memory to be set up for use by the `REML` algorithm |

`SAVE` = vsave |
`REML` save structure to provide the unit-by-unit variance-covariance matrix if `UVCOVARIANCE` is not specified |

### Parameters

`RESPONSE` = scalars, variates or tables |
Specifies the response to be detected |
---|---|

`POWER` = scalars |
Saves the power (i.e. probability of detection) for `RESPONSE` |

`NCONVERGED` = scalars |
Saves the number of bootstrap samples whose `REML` analyses converged |

`NNOTCONVERGED` = scalars |
Saves the number of bootstrap samples whose `REML` analyses failed to converge |

### Description

When assessing an experimental design, it can be useful to know how likely a fixed response of a specified size is to be detected. This probability of detection, known as the *power* of the design with respect to the response of interest, helps to determine whether the experiment is sufficiently large or accurate to achieve its purpose.

`VPOWER`

performs a parametric bootstrap to allow the power to be estimated, for designs whose results will be analysed by `REML`

. The model to be fitted must be defined using the `VCOMPONENTS`

and `VSTRUCTURE`

directives, in the usual way. The bootstrap samples are generated from a multivariate Normal distribution with dimension equal to the number of units in the analysis. The `UVCOVARIANCE`

option supplies the variances and covariances of the units. If `UVCOVARIANCE`

is not specified, the default is the unit-by-unit variance-covariance matrix from the `REML`

analysis supplied by the `SAVE`

option, or from the most recent `REML`

if `SAVE`

is not set. (See the `UVCOVARIANCE`

option of `VKEEP`

). Note: you can use the `VUVCOVARIANCE`

procedure to form the variance-covariance matrix, if you know the variance components for a `REML`

model that contains no covariance models.

The `NBOOT`

option specifies the number of bootstrap samples to take (default 500). The `NRETRIES`

option specifies the maximum number of extra samples to take when some `REML`

analyses fail to converge; the default is to use the same number as specified by `NBOOT`

. The `SEED`

option supplies the seed for the random number generator used to form the samples; default 0 continues from the previous generation or (if none) initializes the seed automatically.

The fixed term to be tested is specified using the `TERM`

option of `VPOWER`

, and the response to be detected is specified by the `RESPONSE`

parameter. This can supply a scalar to specify the maximum difference between the effects of the term, it can supply a table, to specify the anticipated effects themselves, or it can supply a variate with the effects entered in to the relevant units of the design. As an alternative to detecting a difference between its effects, you can ask to detect a contrast. `RESPONSE`

must then supply a scalar, and `TERM`

must be a main effect (that is, it must involve just one factor). The `XCONTRASTS`

option must specify a variate or table containing the coefficients defining the contrast, and the `CONTRASTTYPE`

option indicates whether this is a regression contrast (as specified by the `REG`

function) or a comparison (as specified by `COMPARISON`

).

The `TMETHOD`

option specifies the type of test that is to be used to assess the term, with the following settings.

`fratio` |
assumes that the term will be tested using its F ratio (default). |
---|---|

`wald` |
assumes that the term will be tested by a Wald test. |

`twosided` |
assumes a two-sided test to assess whether a contrast of the term differs from zero (default). |

`lessthan` |
assumes a one-sided test to assess whether a contrast of the term is less than zero. |

`greaterthan` |
assumes a one-sided test to assess whether a contrast of the term is greater than zero. |

`noninferiority` |
assumes a test to check that a contrast of the term is not significantly less then zero. (See Method for more details.) |

`equivalence` |
assumes a one-sided test to check that a contrast of the term does not differ significantly from zero; see Method for more details. |

The `PROBABILITY`

option specifies the significance level to be used in the test; the default is 0.05, i.e. 5%. The `CRITICALVALUE`

option can supply the critical value to be used in the test. (The `VCRITICAL`

procedure can obtain this using a similar parametric bootstrap process to that used by `VPOWER`

.). If `CRITICALVALUE`

is not set, the critical value is obtained in the conventional way, using an F, chi-square or t-distribution, according to the type of test.

The `VPRINT`

option controls the output from the `REML`

analyses of the bootstrap samples, with the same settings as the `PRINT`

option of `REML`

. By default, nothing is printed.

The `MAXCYCLE`

option sets a limit on the number of iterations in the `REML`

analyses (default 30). The `METHOD`

option controls whether `REML`

uses the Fisher-scoring algorithm, or the AI algorithm with sparse matrix methods (the default). The `WMETHOD`

option controls whether the Wald and F statistics are obtained from the table where terms are added sequentially (the default), or from the table where suitable terms are dropped from the full fixed model. Note that, if you use the table where terms are dropped, the `TERM`

must not be not marginal to any other term in the fixed model: for example, the main effect `A`

cannot be tested if the model contains an interaction, such as `A.B`

. The `FMETHOD`

option controls how to estimate the denominator degrees of freedom for the F tests. (This is relevant if `TMETHOD=fratio`

, or if tests for fixed effects are being printed in the `REML`

analyses of the bootstrap samples.) The `WORKSPACE`

option specifies the number of blocks of internal memory to be set up for use by the `REML`

algorithm. The default is to use the same value as in the `SAVE`

structure, if `SAVE`

has been set. Otherwise, it uses the value from the most recent `REML`

analysis, or the standard `REML`

default if there has been no analysis.

Printed output is controlled buy the `PRINT`

option, with the following settings.

`power` |
prints the estimated power. |
---|---|

`nnotconverged` |
prints the number of bootstrap samples whose analysis failed to converge. |

`monitoring` |
prints monitoring information, showing the progress of the bootstrap sampling. |

By default, the power is printed.

The `POWER`

parameter can save the power, in a scalar. The `NCONVERGED`

and `NNOTCONVERGED`

parameters can save the number of samples whose analyses converged, or failed to converge, respectively.

Options: `PRINT`

, `VPRINT`

, `TERM`

, `UVCOVARIANCE`

, `PROBABILITY`

, `TMETHOD`

, `XCONTRASTS`

, `CONTRASTTYPE`

, `CRITICALVALUE`

, `NBOOT`

, `NRETRIES`

, `SEED`

, `METHOD`

, `MAXCYCLE`

, `FMETHOD`

, `WMETHOD`

, `WORKSPACE`

, `SAVE`

.

Parameters: `RESPONSE`

, `POWER`

, `NCONVERGED`

, `NNOTCONVERGED`

.

### Method

The power is estimated by seeing how frequently the relevant test would be significant in the analyses of the bootstrap samples.

With an equivalence test, you define a threshold *h* below which two treatments can be assumed to be equivalent. The contrast *c* would be the difference between the treatments, and the null hypothesis that the treatments are not equivalent is that either

*c* ≤ –*t*

or

*c* ≥ *t*

with the alternative hypothesis that they are equivalent, i.e.

–*t* < *c* < t

This defines an *intersection-union* test, in which each component of the null hypothesis must be rejected separately. This implies performing two one-sided t-tests (this is known as a *TOST* procedure). If the significance level for the full test is to be α, each t-test must have significance level α (see Berger & Hsu 1996).

With a non-inferiority test, you again define the threshold *t* for the effect of the new treatment to be inferior to the standard treatment, and a contrast representing the effect of the new test minus the effect of the standard treatment. The null hypothesis is

–*c* ≥ *t*

which represents a one-sided “less-than” t-test.

### Reference

Berger, M.L. & Hsu, J.C. (1996). Bioequivalence trials, intersection-union tests and equivalence confidence sets. *Statistical Science*, 11, 283-319.

### See also

Directive: `REML`

.

Procedures: `APOWER`

, `RPOWER`

, `VCRITICAL`

, `VSAMPLESIZE`

, `VUVCOVARIANCE`

.

Commands for: REML analysis of linear mixed models, Design of experiments.

### Example

CAPTION 'VPOWER example',!t('1) Split plot design, like Oats example',\ '(see Guide to REML in Genstat, Section 1.1)'); STYLE=meta,plain " form design factors " AGHIERARCHICAL [PRINT=design; ANALYSE=no; SEED=-1] blocks,wplots,subplots;\ TREATMENTFACTORS=*,varieties,nitrogen; LEVELS=6,3,4 " use VUVCOVARIANCE to form unit-by-unit variance-covariance matrix, assuming variance components of 175 for blocks and 125 for whole-plots within blocks, and a residual variance of 100." VARIATE [VALUES=175,125,100] components VUVCOVARIANCE [FIXED=varieties*nitrogen] !f(blocks/wplots/subplots);\ COMPONENTS=components; UVCOVARIANCE=uvcov " estimate power for maximum difference of 30 between effects of varieties " VCOMPONENTS [FIXED=varieties*nitrogen] blocks/wplots/subplots VPOWER [TERM=varieties; UVCOVARIANCE=uvcov; SEED=192697] 30 CAPTION !t('2) Spatial analysis of balanced lattice design, like Slate',\ 'Hall Farm example (see Guide to REML in Genstat, Section 3.2)') SPLOAD [PRINT=*] '%gendir%/data/slatehall.gsh' " show analysis of the original data " VCOMPONENTS [FIXED=variety] fieldrow.fieldcolumn+plotnumber VSTRUCTURE [TERM=fieldrow.fieldcolumn] AR,AR; FACTOR=fieldrow,fieldcolumn REML [PRINT=model,components,means] yield " estimate power for a maximum difference of 2 between variety effects, assuming the same pattern of random variation as in the original data " VPOWER [TERM=variety; SEED=363946] 2.5 " estimate power assuming a variance component of 0.8 for plotnumber (measurement error), a variance of 4 for the fieldrow.fieldcolumn covariance term with correlation parameters of 0.6 and 0.8 for fieldrow and fieldcolumn respectively " SCALAR spatialvar,plotvar; VALUE=4,0.3 " calculate variance ratio for plotnumber to use as the initial value in VCOMPONENTS: fieldrow.fieldcolumn is the residual term (see the warning about the term to be used as R), initial values for other terms are their variance components divided by the residual variance " CALCULATE plotgamma = plotvar / spatialvar VCOMPONENTS [FIXED=variety] fieldrow.fieldcolumn + plotnumber;\ INITIAL=spatialvar,plotgamma VSTRUCTURE [TERM=fieldrow.fieldcolumn] AR,AR; FACTOR=fieldrow,fieldcolumn;\ INITIAL=0.6,0.8 " REML analysis with no iterations, to provide variability information for those variance and correlation parameters " REML [PRINT=model,components,means; MAXCYCLE=0] yield VPOWER [TERM=variety; SEED=532890] 2.5