summaryrefslogtreecommitdiff
path: root/man/seqB.Rd
diff options
context:
space:
mode:
Diffstat (limited to 'man/seqB.Rd')
-rw-r--r--man/seqB.Rd117
1 files changed, 59 insertions, 58 deletions
diff --git a/man/seqB.Rd b/man/seqB.Rd
index 184f476..0864294 100644
--- a/man/seqB.Rd
+++ b/man/seqB.Rd
@@ -9,82 +9,83 @@ seqB(NT, mu, kappa = 20)
\arguments{
\item{NT}{Vector of case counts.}
-\item{mu}{Mean of the serial distribution. This needs to match case counts in time units. For example, if case counts
-are weekly and the serial distribution has a mean of seven days, then \code{mu} should be set to one. If case
-counts are daily and the serial distribution has a mean of seven days, then \code{mu} should be set to seven.}
+\item{mu}{Mean of the serial distribution. This needs to match case counts in
+time units. For example, if case counts are weekly and the serial
+distribution has a mean of seven days, then \code{mu} should be set
+to one. If case counts are daily and the serial distribution has a
+mean of seven days, then \code{mu} should be set to seven.}
-\item{kappa}{Largest possible value of uniform prior (defaults to 20). This describes the prior belief on ranges of R0,
-and should be set to a higher value if R0 is believed to be larger.}
+\item{kappa}{Largest possible value of uniform prior (defaults to 20). This
+describes the prior belief on ranges of R0, and should be set to
+a higher value if R0 is believed to be larger.}
}
\value{
-\code{secB} returns a list containing the following components: \code{Rhat} is the estimate of R0 (the posterior mean),
- \code{posterior} is the posterior distribution of R0 from which alternate estimates can be obtained (see examples),
- and \code{group} is an indicator variable (if \code{group=TRUE}, zero values of NT were input and grouping was done
- to obtain \code{Rhat}). The variable \code{posterior} is returned as a list made up of \code{supp} (the support of
- the distribution) and \code{pmf} (the probability mass function).
+\code{seqB} returns a list containing the following components:
+ \code{Rhat} is the estimate of R0 (the posterior mean),
+ \code{posterior} is the posterior distribution of R0 from which
+ alternate estimates can be obtained (see examples), and \code{group}
+ is an indicator variable (if \code{group == TRUE}, zero values of NT
+ were input and grouping was done to obtain \code{Rhat}). The variable
+ \code{posterior} is returned as a list made up of \code{supp} (the
+ support of the distribution) and \code{pmf} (the probability mass
+ function).
}
\description{
-This function implements a sequential Bayesian estimation method of R0 due to Bettencourt and Riberio (PloS One, 2008).
-See details for important implementation notes.
+This function implements a sequential Bayesian estimation method of R0 due to
+Bettencourt and Riberio (PloS One, 2008). See details for important
+implementation notes.
}
\details{
-The method sets a uniform prior distribution on R0 with possible values between zero and \code{kappa}, discretized to a fine grid.
-The distribution of R0 is then updated sequentially, with one update for each new case count observation.
-The final estimate of R0 is \code{Rhat}, the mean of the (last) posterior distribution.
-The prior distribution is the initial belief of the distribution of R0; which in this implementation is the uninformative uniform
-distribution with values between zero and \code{kappa}. Users can change the value of /code{kappa} only (i.e., the prior distribution
-cannot be changed from the uniform). As more case counts are observed, the influence of the prior distribution should lessen on
-the final estimate \code{Rhat}.
+The method sets a uniform prior distribution on R0 with possible values
+between zero and \code{kappa}, discretized to a fine grid. The distribution
+of R0 is then updated sequentially, with one update for each new case count
+observation. The final estimate of R0 is \code{Rhat}, the mean of the (last)
+posterior distribution. The prior distribution is the initial belief of the
+distribution of R0, which is the uninformative uniform distribution with
+values between zero and \code{kappa}. Users can change the value of
+\code{kappa} only (i.e., the prior distribution cannot be changed from the
+uniform). As more case counts are observed, the influence of the prior
+distribution should lessen on the final estimate \code{Rhat}.
-This method is based on an approximation of the SIR model, which is most valid at the beginning of an epidemic. The method assumes
-that the mean of the serial distribution (sometimes called the serial interval) is known. The final estimate can be quite sensitive
-to this value, so sensitivity testing is strongly recommended. Users should be careful about units of time (e.g., are counts observed
-daily or weekly?) when implementing.
+This method is based on an approximation of the SIR model, which is most
+valid at the beginning of an epidemic. The method assumes that the mean of
+the serial distribution (sometimes called the serial interval) is known. The
+final estimate can be quite sensitive to this value, so sensitivity testing
+is strongly recommended. Users should be careful about units of time (e.g.,
+are counts observed daily or weekly?) when implementing.
-Our code has been modified to provide an estimate even if case counts equal to zero are present in some time intervals. This is done
-by grouping the counts over such periods of time. Without grouping, and in the presence of zero counts, no estimate can be provided.
+Our code has been modified to provide an estimate even if case counts equal
+to zero are present in some time intervals. This is done by grouping the
+counts over such periods of time. Without grouping, and in the presence of
+zero counts, no estimate can be provided.
}
\examples{
-## ===================================================== ##
-## Illustrate on weekly data ##
-## ===================================================== ##
-
+# Weekly data.
NT <- c(1, 4, 10, 5, 3, 4, 19, 3, 3, 14, 4)
-## obtain Rhat when serial distribution has mean of five days
-res1 <- seqB(NT=NT, mu=5/7)
+
+## Obtain R0 when the serial distribution has a mean of five days.
+res1 <- seqB(NT, mu = 5 / 7)
res1$Rhat
-## obtain Rhat when serial distribution has mean of three days
-res2 <- seqB(NT=NT, mu=3/7)
+
+## Obtain R0 when the serial distribution has a mean of three days.
+res2 <- seqB(NT, mu = 3 / 7)
res2$Rhat
-## ============================================================= ##
-## Compute posterior mode instead of posterior mean and plot ##
-## ============================================================= ##
+# Compute posterior mode instead of posterior mean and plot.
-Rpost <- res1$posterior
+Rpost <- res1$posterior
loc <- which(Rpost$pmf == max(Rpost$pmf))
-Rpost$supp[loc] # posterior mode
-res1$Rhat # compare with posterior mean
-
-par(mfrow=c(2, 1), mar=c(2, 2, 1, 1))
-plot(Rpost$supp, Rpost$pmf, col="black", type="l", xlab="", ylab="")
-abline(h=1/(20/0.01+1), col="red")
-abline(v=res1$Rhat, col="blue")
-abline(v=Rpost$supp[loc], col="purple")
-legend("topright", legend=c("prior", "posterior", "posterior mean (Rhat)", "posterior mode"),
- col=c("red", "black", "blue", "purple"), lty=1)
-plot(Rpost$supp, Rpost$pmf, col="black", type="l", xlim=c(0.5, 1.5), xlab="", ylab="")
-abline(h=1/(20/0.01+1), col="red")
-abline(v=res1$Rhat, col="blue")
-abline(v=Rpost$supp[loc], col="purple")
-legend("topright", legend=c("prior", "posterior", "posterior mean (Rhat)", "posterior mode"),
- col=c("red", "black", "blue", "purple"), lty=1)
+Rpost$supp[loc] # Posterior mode.
+res1$Rhat # Compare with the posterior mean.
-## ========================================================= ##
-## Compute Rhat using only the first five weeks of data ##
-## ========================================================= ##
+par(mfrow = c(2, 1), mar = c(2, 2, 1, 1))
-res3 <- seqB(NT=NT[1:5], mu=5/7) # serial distribution has mean of five days
-res3$Rhat
+plot(Rpost$supp, Rpost$pmf, col = "black", type = "l", xlab = "", ylab = "")
+abline(h = 1 / (20 / 0.01 + 1), col = "red")
+abline(v = res1$Rhat, col = "blue")
+abline(v = Rpost$supp[loc], col = "purple")
+legend("topright",
+ legend = c("Prior", "Posterior", "Posterior mean", "Posterior mode"),
+ col = c("red", "black", "blue", "purple"), lty = 1)
}