% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/extrapolate_rate.R
\name{extrapolate_rate}
\alias{extrapolate_rate}
\title{Get extrapolation rate.}
\usage{
extrapolate_rate(test_df, true_df, extrap_df)
}
\arguments{
\item{test_df}{dataframe. See details for the input format.}

\item{true_df}{dataframe. See details for the input format.}

\item{extrap_df}{dataframe. See details for the input format.}
}
\value{
number. The extrapolation rate value in double format. If
  extrapolation rate is 1, it means the extrapolated signal recovers as the
  true signal. If extrapolation rate is between 0 and 1, it means the
  extrapolation helps reducing the errors caused by signal maxing out. If
  extrapolation rate is smaller than 0, it means the extrapolation increases
  the errors caused by signal maxing out (during over extrapolation).
}
\description{
\code{extrapolate_rate} computes the extrapolation rate given the test signal
(maxed out), the true complete signal (no maxed out) and the extrapolated
signal.
}
\details{
All three input dataframes will have the same format, with the first column
being timestamps in POSXlct format, and the following columns being
acceleration values in g.
}
\section{How is it used in MIMS-unit algorithm?}{
 This function is used to
  compute extrapolation rate during extrapolation parameter optimization. You
  may see results in Figure 2 of the manuscript.
}

\examples{
  # Prepare data for test, ground truth
  test_df = conceptual_diagram_data[
                conceptual_diagram_data['GRANGE'] == 4,
                c("HEADER_TIME_STAMP", "X")]
  true_df = conceptual_diagram_data[
                conceptual_diagram_data['GRANGE'] == 8,
                c("HEADER_TIME_STAMP", "X")]

  # Do extrapolation
  extrap_df = extrapolate(test_df, range=c(-4, 4))

  # Compute extrapolation rate
  extrapolate_rate(test_df, true_df, extrap_df)
}
\seealso{
Other extrapolation related functions: 
\code{\link{extrapolate}()}
}
\concept{extrapolation related functions}
