Skip to contents

[Stable]

NextBestNCRMLoss is the class based on NCRM rule and loss function. This class is similar to NextBestNCRM class, but differences are the addition of loss function and re-defined toxicity intervals, see each toxicity interval documentation and the note for details. As in NCRM rule, first admissible doses are found, which are those with probability to fall in overdose category being below max_overdose_prob. Next, within the admissible doses, the loss function is calculated, i.e. losses %*% target. Finally, the corresponding dose with lowest loss function (Bayes risk) is recommended for the next dose.

Usage

NextBestNCRMLoss(
  target,
  overdose,
  unacceptable = c(1, 1),
  max_overdose_prob,
  losses
)

.DefaultNextBestNCRMLoss()

Arguments

target

(numeric)
see slot definition.

overdose

(numeric)
see slot definition.

unacceptable

(numeric)
see slot definition.

max_overdose_prob

(proportion)
see slot definition in NextBestNCRM.

losses

(numeric)
see slot definition.

Slots

target

(numeric)
the target toxicity interval (limits included). It has to be a probability range excluding 0 and 1.

overdose

(numeric)
the overdose toxicity interval (lower limit excluded, upper limit included) or the excessive toxicity interval (lower limit excluded, upper limit included) if unacceptable is not provided. It has to be a probability range. It is used to filter probability samples.

unacceptable

(numeric)
an unacceptable toxicity interval (lower limit excluded, upper limit included). This must be specified if the overdose does not include 1. Otherwise, it is c(1, 1) (default), which is essentially a scalar equals 1. It has to be a probability range.

losses

(numeric)
a vector specifying the loss function. If the unacceptable is provided, the vector length must be 4, otherwise 3.

Note

The loss function should be a vector of either 3 or 4 values. This is because the loss function values must be specified for each interval, that is under-dosing, target toxicity, and overdosing toxicity or under-dosing, target toxicity, overdosing (excessive) toxicity, and unacceptable toxicity intervals.

Typically, end users will not use the .DefaultNextBestnCRMLoss() function.

Examples

# In the example below, the target toxicity interval [0.2, 0.35] while the
# overdose interval is (0.35, 1]. We would like to constrain the probability
# of overdosing below 25%. The loss function is c(1, 0, 1, 2).
my_next_best <- NextBestNCRMLoss(
  target = c(0.2, 0.35),
  overdose = c(0.35, 0.6),
  unacceptable = c(0.6, 1),
  max_overdose_prob = 0.25,
  losses = c(1, 0, 1, 2)
)