deviant {EVI} | R Documentation |
This function produces the Epidemic Volatility Index based output data (beta)
Description
This is a secondary function of the EVI-package
that you should use to analyze a time series of observed cases per unit of time (ideally per day). This function is based on ongoing work and should be used with caution.
Usage
deviant(
new_cases,
cum = FALSE,
r_a = 7,
r = 0.2,
lag_max = 30,
past = 364/2,
method = "EVI"
)
Arguments
new_cases |
the time series of the newly observed cases per unit of time (ideally per day). |
cum |
TRUE or FALSE; TRUE if the time series is recorded as the cumulative number of the reported cases and FALSE (the default) if newly reported cases per unit of time are recorded. |
r_a |
The window size for the moving average that will be analyzed. If set to 1 the actual observations are analyzed. However, due to the variability of the reported cases between working days and weekends it is recommended that the 7-day moving average is analyzed (i.e. r_a = 7), which is the default for this argument. Users could prefer a longer interval of 14 days or one month (i.e., r_a=14 or 30, respectively). |
r |
Definition for the minimum difference in the mean number of cases, one week before and after each time point that, if present, should be detected. This is the case definition and the default is 0.2 (with 0 <= r <= 1). A value of r=0.2 means that we have a case when the mean number of the newly observed cases in the next 7 days is at least 20% higher than the mean number of the newly observed cases in the past 7 days. |
lag_max |
Integer. Restriction of the maximum window size for the rolling window size. The default is set to one month (lag_max=30) to prevent excess volatility of past epidemic waves from affecting the most recent volatility estimates and the ability of EVI to warn for upcoming waves that may be smaller and of lower volatility than previous ones. |
past |
Integer. Default The full length of the input data series. Restriction on the historical data that EVI/cEVI will use. This is set to 365 (default) to account for a year and aid running times. |
method |
either "EVI" or "cEVI", default equals to "EVI". |
Details
For each time point the stored variables are:
Value
Dates: the date for each time point (with origin 01-01-1970).
Days: the serial number for each time point.
EVI: the estimated EVI for each time point.
Cases: the rolling average of the newly observed cases for each time point. A 7-day rolling average is calculated by default (i.e., r_a=7). The user has the option to change this by modifying r_a.
Index: takes values 1 or 0 for the issuance of an early warning or not, respectively.
ppv: the positive predictive value for each time point.
npv: the negative predictive value for each time point.
lag_all: the selected rolling window size for EVI calculation for each time point.
c_all: the selected cut-off for issuing an early warning for each time point.
se_all: the sensitivity (Se) of EVI up to this time point.
sp_all: the specificity (Sp) of EVI up to this time point.
References
Kostoulas P, Meletis E, Pateras K, et al. The epidemic volatility index, a novel early warning tool for identifying new waves in an epidemic. Sci Rep 11, 23775 (2021). doi:10.1038/s41598-021-02622-3 Pateras K, Meletis E, Denwood M, et al. The convergence epidemic index (cEVI) an early warning tool for identifying waves in an epidemic. Inf Dis Mod, (2023). doi:10.1016/j.idm.2023.05.001
Examples
data("Italy")
deviant(new_cases=Italy$Cases[35:55], cum=FALSE, r_a=7, r=0.2, lag_max=30,method="EVI")
#deviant(new_cases=Italy$Cases, cum=FALSE, r_a=7, r=0.2, lag_max=30,method="EVI")
#This step should take some time and the time elapsed will be printed.
# data("Austria")
# deviant(new_cases=Austria$Cases, cum=FALSE, r_a=7, r=0.2, lag_max=30,method="EVI")