Tutorials › Multi-Arm Multi-Stage (MAMS) Designs › Graphical Procedures for Alpha Transfer

Multiplicity Across Arms and Hypotheses · Tutorial 42 of 499

Graphical Procedures for Alpha Transfer

Learn to read and update a testing graph that allocates and transfers the familywise significance level across hypotheses.

Intermediate 9 min read

What You'll Learn

  • Represent each hypothesis as a node with an initial local significance level.
  • Interpret directed edges as weights governing alpha transfer after rejection.
  • Check that starting allocations and outgoing transfer weights satisfy the required constraints.
  • Update remaining alpha levels and transition weights when a hypothesis is rejected.
  • Distinguish a testing graph from fixed-sequence and weighted stepwise procedures.
  • Recognize design choices and boundary cases that can make a graph misleading.

Why Represent Alpha Transfer as a Graph?

A multi-arm trial may contain several hypotheses that share a familywise significance level. A graphical procedure makes the allocation and the rules for reallocating that level visible: each hypothesis is a node, and directed edges specify where its testing level can go if that hypothesis is rejected. This is useful when treatment comparisons have different priorities or when evidence for one objective is meant to enable testing of another.

The graph is a prespecified testing rule, not a picture of results. Its nodes, initial allocations, and transfer weights must be chosen before examining the p-values. It is also distinct from a graph of interim stages: here the nodes represent hypotheses in a multiplicity family, not successive analyses of the same hypothesis.

Definition: A testing graph consists of a fixed family of hypotheses \(H_1,\ldots,H_m\), initial local significance levels \(\alpha_1,\ldots,\alpha_m\), and directed transition weights \(g_{ij}\) for distinct hypotheses \(H_i\) and \(H_j\). The initial levels satisfy \(\alpha_i\geq 0\) and \(\sum_{i=1}^m\alpha_i\leq\alpha\). The weights satisfy \(g_{ij}\geq 0\) and \(\sum_{j\ne i}g_{ij}\leq 1\) for every node \(i\). A hypothesis is tested at its current local level; if it is rejected, its current level is distributed to the remaining hypotheses according to its outgoing weights.

An edge from \(H_i\) to \(H_j\) carries weight \(g_{ij}\), not a p-value and not an absolute significance level. If the current local level at \(H_i\) is \(\alpha_i\), rejection transfers \(\alpha_i g_{ij}\) to \(H_j\). If the outgoing weights sum to less than one, the unallocated fraction is not transferred. A node with no incoming edges may still be tested if it has a positive initial allocation.

At each step, compare the p-value for an active \(H_i\) with its current local level. Rejection removes the node and triggers the prespecified update; failure to reject does not trigger transfer. The graph’s allocations are significance levels for testing individual hypotheses within the family. They are not estimates of treatment effects or probabilities that hypotheses are true.

Constructing and Reading a Graph

To specify a graph clearly, list the hypotheses, state each initial level, and provide every outgoing transition weight. A table or a diagram can do this, but the numerical constraints must be checked either way. Initial levels may sum to less than \(\alpha\), leaving some familywise error allowance unused; they must not sum to more than \(\alpha\). Each row of outgoing weights sums to at most one, so rejecting a node cannot distribute more than its entire current level.

Worked Example: Reading Initial Allocations and Edges

Suppose a hypothetical trial prespecifies three treatment comparisons, represented by \(H_1,H_2,H_3\), and uses familywise significance level \(\alpha=0.05\). The initial levels are \(\alpha_1=0.025\), \(\alpha_2=0.015\), and \(\alpha_3=0.010\). The outgoing weights are \(g_{12}=0.60,\ g_{13}=0.40\), \(g_{21}=0.50,\ g_{23}=0.50\), and \(g_{31}=1.00,\ g_{32}=0\).

The initial allocation uses the full familywise level because \(0.025+0.015+0.010=0.050\). The outgoing weights also meet the constraints: the row sums are \(0.60+0.40=1\), \(0.50+0.50=1\), and \(1.00+0=1\). Thus, if \(H_1\) is rejected, its current level is divided between \(H_2\) and \(H_3\) in the proportions 0.60 and 0.40. The edge \(H_3\to H_1\) has weight 1, so a rejection of \(H_3\) directs all of its current level to \(H_1\).

This description completely specifies the starting graph. It does not say that any hypothesis has been rejected: that decision also requires its p-value and current local level.

A graphical procedure requires valid hypothesis tests at the local levels assigned by the procedure. In the usual p-value implementation, each p-value must be valid under its corresponding null: for every \(u\) between 0 and 1, \(P(p_i\leq u\mid H_i\text{ is true})\leq u\). The family and graph must be prespecified, and the initial total must not exceed \(\alpha\). Under these conditions, the standard graphical testing procedure controls the familywise error rate (FWER), the probability of at least one false rejection in the family, at no more than \(\alpha\). This control does not require independence among the p-values.

What Changes When a Node Is Rejected?

If \(H_k\) is rejected at its current level \(\alpha_k\), remove its node. For every remaining \(H_j\), the new local level is

$$ \alpha_j^{\mathrm{new}}=\alpha_j+\alpha_k g_{kj}. $$

The formula adds the portion of \(H_k\)'s level directed to \(H_j\). It does not give every surviving hypothesis the same increase. The remaining graph must also be updated: edges that used to pass through \(H_k\) are represented by transition weights between the surviving nodes. This keeps the graph useful for any later rejection.

Update rule: After rejecting \(H_k\), update each surviving node's level by \(\alpha_j^{\mathrm{new}}=\alpha_j+\alpha_k g_{kj}\). For distinct surviving nodes \(H_i,H_j\), when \(1-g_{ik}g_{ki}>0\), the updated transition weight is \(g_{ij}^{\mathrm{new}}=(g_{ij}+g_{ik}g_{kj})/(1-g_{ik}g_{ki})\). The denominator accounts for paths that repeatedly travel from \(H_i\) to \(H_k\) and back to \(H_i\) before reaching \(H_j\). A row with no remaining outgoing weight can simply be represented with zero weights.

The transition update is a bookkeeping rule for the surviving graph; it does not change the current p-values. For unusual boundary cases, such as a surviving node that sends all its weight into the rejected node and forms a closed loop, the graph needs an appropriate boundary convention rather than blindly applying a formula with a zero denominator. The examples here use nondegenerate graphs.

Worked Example: Updating a Three-Node Graph After Rejection

Consider a hypothetical graph with \(\alpha=0.05\), initial levels \(\alpha_1=0.020,\ \alpha_2=0.010,\ \alpha_3=0.020\), and transition weights \(g_{12}=0.50,\ g_{13}=0.50,\ g_{21}=0.20,\ g_{23}=0.80,\ g_{31}=0.40,\ g_{32}=0.60\). The initial levels sum to \(0.050\), and each row of weights sums to 1. Suppose the observed p-values are \(p_1=0.008,\ p_2=0.018,\ p_3=0.025\).

Since \(p_1=0.008\leq\alpha_1=0.020\), reject \(H_1\). Its level is transferred as follows:

$$ \alpha_2^{\mathrm{new}}=0.010+(0.020)(0.50)=0.020,\qquad \alpha_3^{\mathrm{new}}=0.020+(0.020)(0.50)=0.030. $$

Now only \(H_2\) and \(H_3\) remain. The updated edge from \(H_2\) to \(H_3\) is

$$ g_{23}^{\mathrm{new}} =\frac{g_{23}+g_{21}g_{13}}{1-g_{21}g_{12}} =\frac{0.80+(0.20)(0.50)}{1-(0.20)(0.50)} =\frac{0.90}{0.90}=1. $$

Similarly, the updated edge from \(H_3\) to \(H_2\) is

$$ g_{32}^{\mathrm{new}} =\frac{g_{32}+g_{31}g_{12}}{1-g_{31}g_{13}} =\frac{0.60+(0.40)(0.50)}{1-(0.40)(0.50)} =\frac{0.80}{0.80}=1. $$

The surviving nodes therefore direct all future transfers to one another. At their updated levels, \(p_2=0.018\leq0.020\) and \(p_3=0.025\leq0.030\), so both meet their local testing thresholds. These are decisions under the graph’s sequential rule; they are not tests at the original levels.

Why the Transition-Weight Update Works

The update formula can be understood by tracing paths from a surviving node \(H_i\) to another surviving node \(H_j\) while treating \(H_k\) as removed. A path can go directly from \(i\) to \(j\), with weight \(g_{ij}\), or go from \(i\) to \(k\) and then to \(j\), with weight \(g_{ik}g_{kj}\). It can also make a loop \(i\to k\to i\), whose weight is \(g_{ik}g_{ki}\), before taking either route. Summing all such paths gives

$$ g_{ij}^{\mathrm{new}} =(g_{ij}+g_{ik}g_{kj}) \left[1+(g_{ik}g_{ki})+(g_{ik}g_{ki})^2+\cdots\right]. $$

When \(g_{ik}g_{ki}<1\), the bracketed geometric series equals \(1/(1-g_{ik}g_{ki})\). Substitution gives the stated update formula. This derivation explains why simply deleting the rejected node and leaving all other edge weights unchanged can be wrong: it would discard paths that previously passed through that node.

Worked Example: Encoding a Prespecified Testing Order

Suppose a hypothetical trial has two primary hypotheses, \(H_1\) and \(H_2\), and two secondary hypotheses, \(H_3\) and \(H_4\). The familywise level is \(0.05\), allocated initially as \(\alpha_1=\alpha_2=0.025\) and \(\alpha_3=\alpha_4=0\). Choose edges \(H_1\to H_3\) and \(H_2\to H_4\), each with weight 1, and edges \(H_3\to H_4\) and \(H_4\to H_3\), also each with weight 1. All other outgoing weights are zero.

The initial sum is \(0.025+0.025+0+0=0.050\), and every row sum is either 0 or 1. The graph represents the intended ordering: initially, the two primary hypotheses can be tested; rejection of \(H_1\) passes its level to \(H_3\), while rejection of \(H_2\) passes its level to \(H_4\). The secondary nodes can then pass their levels between one another if rejected.

For illustration, suppose \(p_1=0.012,\ p_2=0.030,\ p_3=0.021,\ p_4=0.018\). Since \(0.012\leq0.025\), reject \(H_1\), and \(H_3\)'s level becomes \(0+0.025(1)=0.025\). Since \(p_3=0.021\leq0.025\), reject \(H_3\), transferring its \(0.025\) level to \(H_4\). Now \(H_4\)'s level is \(0.025\), so \(p_4=0.018\leq0.025\) permits rejection of \(H_4\). In contrast, \(p_2=0.030>0.025\), so \(H_2\) is not rejected and does not transfer its level. This graph encodes one particular prespecified strategy; its appropriateness depends on the trial objectives and the validity of the individual tests.

Diagnostics, Alternatives, and Limitations

Before applying a graph, check that the hypothesis family is fixed, that the initial levels sum to at most \(\alpha\), and that no outgoing row sums above one. Then check that each rejection is made using the current level and that only a rejection triggers a transfer. After removing a node, verify that the surviving levels and edge weights are updated consistently. If a calculated row sums above one, or if a node receives the same transferred level more than once, the graph has been implemented incorrectly.

Graphical procedures are flexible: unlike a simple fixed ordering, they can direct portions of a rejected node's level to several hypotheses, and surviving nodes can continue to exchange level. Weighted Holm procedures instead encode priorities through weighted stepwise thresholds; a fixed-sequence procedure permits testing in a single prespecified order, with later tests enabled only by earlier rejections. A graph can represent some such strategies, but offers a more general visual description of transfer pathways. It does not remove the need to choose a scientifically defensible family and allocation.

A common mistake is to read an edge weight of 0.60 as meaning that the destination hypothesis receives a significance level of 0.60, or as a 60% chance of rejection. Neither interpretation is correct. The weight is a fraction of the rejected node’s current local level: if that level is 0.02, a weight of 0.60 transfers \(0.02(0.60)=0.012\). The transfer changes a testing threshold; it does not change the scientific meaning of a p-value or prove that a treatment effect exists.

A graph also cannot fix invalid p-values, omitted hypotheses, or an outcome-dependent choice of the testing family. Nor does a valid graph guarantee useful power: an allocation can be formally valid but poorly matched to the trial’s priorities. In a multi-stage trial, the graph handles multiplicity across hypotheses; any separate control of error across interim looks must be incorporated into the tests or design as appropriate.

Key takeaway: A graphical procedure is defined by its hypotheses, initial local levels, and directed transfer weights. Rejection changes both the levels and, when needed, the connections among surviving nodes. Correctly specifying and updating that structure is essential to implementing the prespecified FWER procedure.

Check Your Understanding

Answer each question, then compare your reasoning with the solutions below.

  1. With \(\alpha=0.05\), do initial levels \(0.020,\ 0.020,\ 0.015\) satisfy the total-allocation constraint? What is the issue, if any?
  2. A node at level \(0.018\) has outgoing weights 0.25 and 0.75. If it is rejected, how much level is transferred along the first edge?
  3. In a three-node graph, \(g_{12}=0.4,\ g_{13}=0.6,\ g_{21}=0.5,\ g_{23}=0.5\). After rejecting \(H_1\), calculate the new level at \(H_2\) if its old level was \(0.010\) and \(\alpha_1=0.020\).
  4. Why is it incorrect to test a surviving hypothesis at its original level after another node has been rejected and transferred level to it?

Solutions. (1) The sum is \(0.020+0.020+0.015=0.055\), which exceeds \(0.05\); the initial allocation is not valid for this familywise level and must be revised. (2) The transfer is \(0.018(0.25)=0.0045\), an increase of 0.0045 in that destination's local level. (3) The edge \(H_1\to H_2\) has weight \(g_{12}=0.4\), so the new level is \(0.010+0.020(0.4)=0.018\). (4) The graph’s rule adds the allocated transfer to the surviving hypothesis’s current level. Ignoring it would fail to implement the prespecified procedure; using an unrelated level would implement a different testing rule.

Clinical Biostats