bcdmat {upndown} | R Documentation |
Transition Probability Matrices for Up-and-Down Designs
Description
Transition Probability Matrices for Common Up-and-Down Designs
Usage
bcdmat(cdf, target)
classicmat(cdf)
kmatMarg(cdf, k, lowTarget)
kmatFull(cdf, k, lowTarget, fluffup = FALSE)
gudmat(cdf, cohort, lower, upper)
Arguments
cdf |
monotone increasing vector with positive-response probabilities. The number of dose levels |
target |
the design's target response rate ( |
k |
the number of consecutive identical responses required for dose transitions (k-in-a-row functions only). |
lowTarget |
logical k-in-a-row functions only: is the design targeting below-median percentiles, with |
fluffup |
logical ( |
cohort , lower , upper |
|
Details
Up-and-Down designs (UDDs) generate random walk behavior, whose theoretical properties can be summarized via a transition probability matrix (TPM). Given the number of doses M
, and the value of the cdf F
at each dose (i.e., the positive-response probabilities), the specific UDD rules uniquely determine the TPM.
The utilities described here calculate the TPMs of the most common and simplest UDDs:
The k-in-a-row or fixed staircase design common in sensory studies:
kmatMarg(), kmatFull()
(Gezmu, 1996; Oron and Hoff, 2009; see Note). Design parameters are k, a natural number, and whether k negative responses are required for dose transition, or k positive responses. The former is for targets below the median and vice versa.The Durham-Flournoy Biased Coin Design:
bcdmat()
. This design can target any percentile via thetarget
argument (Durham and Flournoy, 1994).The original "classical" median-targeting UDD:
classicmat()
(Dixon and Mood, 1948). This is simply a wrapper forbcdmat()
withtarget
set to 0.5.Cohort or group UDD:
gudmat()
, with three design parameters for the group size and the up/down rule thresholds (Gezmu and Flournoy, 2006).
Value
An M\times M
transition probability matrix, except for kmatFull()
with k>1
which returns a larger square matrix.
Note
As Gezmu (1996) discovered and Oron and Hoff (2009) further extended, k-in-a-row UDDs with k>1
generate a random walk with internal states. Their full TPM is therefore larger than M\times M.
However, in terms of random-walk behavior, most salient properties are better represented via an M\times M
matrix analogous to those of the other designs, with transition probabilities marginalized over internal states using their asymptotic frequencies. This matrix is provided by kmatMarg()
, while kmatFull()
returns the full matrix including internal states.
Also, in kmatFull()
there are two matrix-size options. Near one of the boundaries (upper boundary with lowTarget = TRUE
, and vice versa), the most extreme k
internal states are practically indistinguishable, so in some sense only one of them really exists. Using the fluffup
argument, users can choose between having a more aesthetically symmetric (but a bit misleading) full Mk\times Mk
matrix, or reducing it to its effectivelly true size by removing k-1
rows and columns.
Author(s)
Assaf P. Oron <assaf.oron.at.gmail.com>
References
Dixon WJ, Mood AM. A method for obtaining and analyzing sensitivity data. J Am Stat Assoc. 1948;43:109-126.
Durham SD, Flournoy N. Random walks for quantile estimation. In: Statistical Decision Theory and Related Topics V (West Lafayette, IN, 1992). Springer; 1994:467-476.
Gezmu M. The Geometric Up-and-Down Design for Allocating Dosage Levels. PhD Thesis. American University; 1996.
Gezmu M, Flournoy N. Group up-and-down designs for dose-finding. J Stat Plan Inference. 2006;136(6):1749-1764.
Oron AP, Hoff PD. The k-in-a-row up-and-down design, revisited. Stat Med. 2009;28:1805-1820.
Oron AP, Souter MJ, Flournoy N. Understanding Research Methods: Up-and-down Designs for Dose-finding. Anesthesiology 2022; 137:137–50.
See Also
-
k2targ
,ktargOptions
to find the k-in-a-row target-response rate for specific k and vice versa. -
g2targ
, ,gtargOptions
likewise for group up-and-down. -
pivec
,currentvec
,cumulvec
, which provide probability vectors of dose-allocation distributions using Up-and-Down TPMs.
Examples
# Let's use an 8-dose design, and a somewhat asymmetric CDF
exampleF = pweibull(1:8, shape = 2, scale = 4)
# You can plot if you want: plot(exampleF)
# Here's how the transition matrix looks for the median-finding classic up-and-down
round(classicmat(exampleF), 2)
# Note how the only nonzero diagonals are at the opposite corners. That's how
# odd-n and even-n distributions communicate (see examples for vector functions).
# Also note how "up" probabilities (the 1st upper off-diagnoal) are decreasing,
# while "down" probabilities (1st lower off-diagonal) are increasing, and
# start exceeding "up" moves at row 4.
# Now, let's use the same F to target the 90th percentile, which is often
# the goal of anesthesiology dose-finding studies.
# We use the biased-coin design (BCD) presented by Durham and Flournoy (1994):
round(bcdmat(exampleF, target = 0.9), 2)
# Note that now there's plenty of probability mass on the diagonal (i.e., repeating same dose).
# Another option, actually with somewhat better operational characteristics,
# is "k-in-a-row". Let's see what k to use:
ktargOptions(.9, tolerance = 0.05)
# Even though nominally k=7's target is closest to 0.9, it's generally preferable
# to choose a somewhat smaller k. So let's go with k=6.
# We must also specify whether this is a low (<0.5) or high target.
round(kmatMarg(exampleF, k = 6, lowTarget = FALSE), 2)
# Compare and contrast with the BCD matrix above! At what dose do the "up" and "down"
# probabilities flip?
# Lastly, if you want to see a 43 x 43 matrix - the full state matrix for k-in-a-row,
# run the following line:
round(kmatFull(exampleF, k = 6, lowTarget = FALSE), 2)