# SCM Repository

[surveillance] Annotation of /pkg/inst/NEWS.Rd
 [surveillance] / pkg / inst / NEWS.Rd

# Annotation of /pkg/inst/NEWS.Rd

 1 : wastl 1792 %% Some pre-defined commands: \R, \code, \acronym, \url, \file, \pkg 2 : %% Since R 3.2.0, additional system Rd macros are available, 3 : %% e.g., \CRANpkg and \doi. See the definitions in the file 4 : %% file.path(R.home("share"), "Rd", "macros", "system.Rd") 5 : 6 : \name{NEWS} 7 : \title{News for Package 'surveillance'} 8 : \encoding{latin1} 9 : 10 : 11 : wastl 2207 \section{Changes in surveillance version 1.16.2.9000}{ 12 : 13 : wastl 2237 \subsection{NEW FEATURES}{ 14 : \itemize{ 15 : \item \code{W_powerlaw(..., from0 = TRUE)} enables more parsimonious 16 : wastl 2246 \code{hhh4} models in that the power-law weights are modified to 17 : include the autoregressive (0-distance) case (see 18 : \code{vignette("hhh4_spacetime")}). The unstructured distance 19 : weights \code{W_np()} gained \code{from0} support as well. 20 : wastl 2237 } 21 : } 22 : 23 : wastl 2238 \subsection{MINOR CHANGES}{ 24 : \itemize{ 25 : \item \code{W_np()}'s argument \code{to0} has been renamed to 26 : \code{truncate}. The old name still works but is deprecated. 27 : } 28 : } 29 : 30 : wastl 2207 \subsection{BUG FIXES}{ 31 : \itemize{ 32 : wastl 2253 \item For \code{farringtonFlexible()} with multivariate time series, 33 : only the last unit had stored the additional control items 34 : (exceedence scores, p-values, ...), all others were 0. 35 : [reported by Johannes Bracher] 36 : 37 : wastl 2207 \item Using negative indices to exclude time points from an 38 : \code{"sts"} object (e.g., \code{x[-1,]}) is now supported and 39 : equivalent to the corresponding subset expression of retained 40 : indexes (\code{x[2:nrow(x),]}) in resetting the \code{start} and 41 : \code{epoch} slots. [reported by Johannes Bracher] 42 : wastl 2213 43 : wastl 2215 \item The supplementary p-values returned by \code{farringtonFlexible()} 44 : were wrong for the default approach, where \code{thresholdMethod="delta"} 45 : wastl 2213 (i.e., the original Farrington method) and a power transformation 46 : was applied to the data (\code{powertrans != "none"}). 47 : [reported by Lore Merdrignac] 48 : wastl 2217 49 : \item \code{epidataCS2sts()} no longer transfers the 50 : \code{stgrid$BLOCK} indices to the \code{epoch} slot of the 51 : resulting \code{"sts"} object (to avoid \code{epoch[1] != 1} 52 : scenarios). 53 : wastl 2207 } 54 : } 55 : 56 : } 57 : 58 : 59 : wastl 2198 \section{Changes in surveillance version 1.16.2 (2018-07-24)}{ 60 : wastl 2172 61 : wastl 2178 \subsection{MINOR CHANGES}{ 62 : \itemize{ 63 : wastl 2197 \item \code{autoplot.sts()} gained a \code{width} argument to adjust 64 : the bar width, which now defaults to 7 for weekly time series 65 : (previously was 90\% of that so there were gaps between the bars). 66 : 67 : wastl 2178 \item \code{"epidataCS"} generation now (again) employs 68 : \CRANpkg{spatstat}'s \code{bdist.points()}, which has been 69 : accelerated in version 1.56-0. If you use the 70 : \code{twinstim()}-related modelling part of \pkg{surveillance}, you 71 : are thus advised to update your \pkg{spatstat} installation. 72 : wastl 2191 73 : wastl 2192 \item The \code{boda()} examples in 74 : \code{vignette("monitoringCounts")} have been updated to also work 75 : with recent versions of \pkg{INLA}. 76 : wastl 2178 } 77 : } 78 : 79 : wastl 2172 \subsection{BUG FIXES}{ 80 : \itemize{ 81 : wastl 2192 \item Offsets in \code{hhh4}'s epidemic components were ignored by 82 : wastl 2173 \code{simulate.hhh4()} [spotted by Johannes Bracher] as well as 83 : in dominant eigenvalues (\dQuote{maxEV}). 84 : wastl 2198 85 : \item The color key in \code{fanplot()} is no longer distorted by 86 : \code{log="y"}. 87 : wastl 2172 } 88 : } 89 : 90 : } 91 : 92 : 93 : wastl 2164 \section{Changes in surveillance version 1.16.1 (2018-05-28)}{ 94 : wastl 2093 95 : \subsection{BUG FIXES}{ 96 : \itemize{ 97 : \item \code{autoplot.sts()} now sets the calling environment as 98 : the \code{plot_env} of the result. 99 : wastl 2102 100 : wastl 2113 \item Several \code{twinstim}-related functions finally allow for 101 : prehistory events (long supported by \code{twinstim()} itself): 102 : \code{as.epidataCS()}, \code{glm_epidataCS()}, 103 : \code{as.epidata.epidataCS()}. 104 : wastl 2108 105 : \item The \code{summary()} for SI[R]S-type \code{"epidata"} failed 106 : if there were initially infectious individuals. 107 : wastl 2093 } 108 : } 109 : wastl 2124 110 : \subsection{DEPRECATED AND DEFUNCT}{ 111 : \itemize{ 112 : wastl 2126 \item Several ancient functions have been deprecated and may be 113 : removed in future versions of \pkg{surveillance}: \code{qlomax()}, 114 : wastl 2131 \code{readData()}, \code{toFileDisProg()}, \code{correct53to52()}, 115 : \code{enlargeData()}, \code{compMatrix.writeTable()}, 116 : \code{test()}, \code{testSim()}, \code{makePlot()}. 117 : wastl 2124 } 118 : wastl 2093 } 119 : 120 : wastl 2127 } 121 : wastl 2093 122 : wastl 2127 123 : wastl 2075 \section{Changes in surveillance version 1.16.0 (2018-01-24)}{ 124 : wastl 2001 125 : wastl 2009 \subsection{NEW FEATURES}{ 126 : \itemize{ 127 : \item The \code{as.data.frame()} method for \code{"sts"} objects 128 : gained a \code{tidy} argument, which enables conversion to the 129 : wastl 2010 long data format and is also available as function \code{tidy.sts()}. 130 : wastl 2042 131 : wastl 2059 \item A \CRANpkg{ggplot2} variant of \code{stsplot_time()} is now 132 : available via \code{autoplot.sts()}. 133 : 134 : wastl 2042 \item \code{as.epidata.data.frame()} gained an argument 135 : \code{max.time} to specify the end of the observation period (which 136 : by default coincides with the last observed event). 137 : wastl 2053 138 : \item The now exported function \code{fanplot()} wraps 139 : wastl 2057 \CRANpkg{fanplot}\code{::fan()}. It is used by 140 : \code{plot.oneStepAhead()} and \code{plot.hhh4sims()}, which now 141 : have an option to add the point forecasts to the fan as well. 142 : wastl 2070 143 : \item \code{plotHHH4_fitted()} (and \code{plotHHH4_fitted1()}) 144 : gained an option \code{total} to sum the fitted components over all 145 : units. 146 : wastl 2009 } 147 : } 148 : 149 : wastl 2075 \subsection{SIGNIFICANT CHANGES}{ 150 : wastl 2035 \itemize{ 151 : \item Package \CRANpkg{polyCub} is no longer automatically attached 152 : wastl 2075 (only imported). 153 : wastl 2049 154 : wastl 2057 \item \code{scores.oneStepAhead()} no longer reverses the ordering 155 : of the time points by default, as announced in 1.15.0. 156 : } 157 : } 158 : 159 : \subsection{MINOR CHANGES}{ 160 : \itemize{ 161 : wastl 2049 \item Some code in \code{vignette("monitoringCounts")} has been 162 : adjusted to work with the new version of \CRANpkg{MGLM} (0.0.9). 163 : wastl 2067 164 : \item Added a \code{[}-method for the \code{"hhh4sims"} class to 165 : retain the attributes when subsetting simulations. 166 : wastl 2035 } 167 : } 168 : 169 : wastl 2001 \subsection{BUG FIXES}{ 170 : \itemize{ 171 : \item \code{aggregate(stsObj, by = "unit")} no longer results in 172 : empty colnames (set to \code{"overall"}). 173 : wastl 2004 The obsolete map is dropped. 174 : wastl 2019 175 : \item The \code{subset} argument of \code{twinSIR()} was partially 176 : ignored: 177 : \itemize{ 178 : \item If \code{nIntervals = 1}, the model \code{summary()} 179 : reported the total number of events. 180 : \item Automatic \code{knots}, model \code{residuals()}, as well as 181 : the rug in \code{intensityplot()} were computed from the whole set 182 : of event times. 183 : } 184 : wastl 2036 185 : \item The \code{as.epidata.data.frame()} converter did not actually 186 : allow for latent periods (via \code{tE.col}). This is now possible 187 : but considered experimental (methods for \code{"epidata"} currently 188 : ignore latent periods). 189 : wastl 2048 190 : \item The \code{all.equal()} methods for \code{"hhh4"} and 191 : \code{"twinstim"} objects now first check for the correct classes. 192 : wastl 2001 } 193 : } 194 : 195 : } 196 : 197 : 198 : wastl 1995 \section{Changes in surveillance version 1.15.0 (2017-10-06)}{ 199 : wastl 1925 200 : wastl 1936 \subsection{NEW FEATURES}{ 201 : \itemize{ 202 : \item \code{siaf.gaussian()} now also employs a \code{polyCub.iso()} 203 : integration routine by default (similar to the powerlaw-type 204 : kernels), instead of adaptive midpoint cubature. 205 : This increases precision and considerably accelerates estimation of 206 : \code{twinstim()} models with a Gaussian spatial interaction 207 : wastl 1947 function. Models fitted with the new default 208 : (\code{F.adaptive=FALSE, F.method="iso"}) 209 : will likely differ from previous fits (\code{F.adaptive=TRUE}), 210 : and the numerical difference depends on 211 : wastl 1936 the adaptive bandwidth used before (the default \code{adapt=0.1} 212 : yielded a rather rough approximation of the integral). 213 : wastl 1958 214 : wastl 1959 \item Added \code{quantile()}, \code{confint()}, and \code{plot()} 215 : methods for \code{"oneStepAhead"} predictions. 216 : wastl 1995 217 : \item Exported the function \code{simEndemicEvents()} to simulate a 218 : spatio-temporal point pattern from an endemic-only 219 : \code{"twinstim"}; faster than via the general 220 : \code{simulate.twinstim()} method. 221 : wastl 1936 } 222 : } 223 : 224 : wastl 1930 \subsection{MINOR CHANGES}{ 225 : \itemize{ 226 : \item \code{twinstim(..., siaf = siaf.gaussian())} 227 : uses a larger default initial value for the kernel's standard 228 : wastl 1938 deviation (based on the size of the observation region). 229 : wastl 1937 230 : \item Non-default parametrizations of \code{siaf.gaussian()} are 231 : deprecated, i.e., always use \code{logsd=TRUE} and \code{density=FALSE}. 232 : wastl 1948 233 : \item \code{twinstim()} uses a smaller default initial value for the 234 : epidemic intercept, which usually allows for faster convergence. 235 : wastl 1957 236 : \item \code{update.hhh4()} now allows \code{subset.upper} values 237 : beyond the originally fitted time range (but still within the time 238 : range of the underlying \code{"sts"} object). 239 : wastl 1961 240 : \item \code{scores.oneStepAhead()} by default reverses the ordering 241 : of the time points. This awkward behaviour will change in the next 242 : version, so the method now warns if the default \code{reverse=TRUE} 243 : is used without explicit specification. 244 : wastl 1995 245 : \item Minor improvements in the documentation and some vignettes: 246 : corrected typos, simplified example code, documented some methods. 247 : wastl 1930 } 248 : } 249 : 250 : wastl 1925 \subsection{BUG FIXES}{ 251 : \itemize{ 252 : \item The C-routines introduced in version 1.14.0 used \code{==} 253 : comparisons on parameter values to choose among case-specific 254 : formulae (e.g., for \eqn{d==2} in \code{siaf.powerlaw()}). 255 : wastl 1936 We now employ an absolute tolerance of 1e-7 (which should fix 256 : wastl 1925 the failing tests on Solaris). 257 : wastl 1995 258 : \item Interaction functions for \code{twinstim()}, such as 259 : \code{siaf.powerlaw()} or \code{tiaf.exponential()}, no longer live in 260 : the global environment as this risks using masked base functions. 261 : wastl 1925 } 262 : } 263 : 264 : wastl 1926 } 265 : wastl 1925 266 : wastl 1926 267 : wastl 1915 \section{Changes in surveillance version 1.14.0 (2017-06-29)}{ 268 : wastl 1863 269 : \subsection{DOCUMENTATION}{ 270 : \itemize{ 271 : wastl 1915 \item The replication code from Meyer et al. (2017, JSS) 272 : is now included as \code{demo("v77i11")}. 273 : It exemplifies the spatio-temporal endemic-epidemic modelling 274 : frameworks \code{twinstim}, \code{twinSIR}, and \code{hhh4} 275 : (see also the corresponding vignettes). 276 : wastl 1863 } 277 : } 278 : 279 : \subsection{NEW FEATURES}{ 280 : \itemize{ 281 : \item Pure C-implementations of integration routines for spatial 282 : interaction functions considerably accelerate the estimation of 283 : \code{twinstim()} models containing 284 : wastl 1881 \code{siaf.powerlaw()}, \code{siaf.powerlawL()}, or \code{siaf.student()}. 285 : wastl 1878 286 : \item The color palette generating function used by \code{sts} 287 : plots, \code{hcl.colors}, is now exported. 288 : 289 : \item The utility function \code{clapply} (\emph{c}onditional 290 : \code{lapply}) is now exported. 291 : 292 : \item Some utility functions for \code{hhh4} fits are now exported 293 : (\code{update.hhh4}, \code{getNEweights}, \code{coefW}), 294 : as well as several internal functions for use by \code{hhh4} add-on 295 : packages (\code{meanHHH}, \code{sizeHHH}, \code{decompose.hhh4}). 296 : wastl 1898 297 : \item The \code{"fan"}-type plot function for \code{"hhh4sims"} 298 : gained a \code{key.args} argument for an automatic color key. 299 : wastl 1912 300 : \item New auxiliary function \code{makeControl()}, which may be 301 : used to specify a \code{hhh4()} model. 302 : wastl 1863 } 303 : } 304 : 305 : wastl 1885 \subsection{MINOR CHANGES}{ 306 : \itemize{ 307 : \item \code{twinstim()} now throws an informative error message when 308 : trying to fit a purely epidemic model to data containing endemic 309 : events (i.e., events without ancestors). The \code{help("twinstim")} 310 : exemplifies such a model. 311 : } 312 : wastl 1863 } 313 : 314 : wastl 1889 \subsection{BUG FIXES}{ 315 : \itemize{ 316 : \item \code{siaf.powerlaw()$deriv} returned \code{NaN} for the 317 : partial derivative wrt the decay parameter \eqn{d}, if \eqn{d} 318 : was large enough for \eqn{f} to be numerically equal to 0. 319 : It will now return 0 in this case. 320 : wastl 1901 321 : \item \code{twinstim()} could fail (with an error from 322 : \code{duplicated.default}) if the fitted time range was 323 : substantially reduced via the \code{T} argument. 324 : wastl 1902 325 : \item The \code{"simEpidataCSlist"} generated by 326 : \code{simulate.twinstim(..., simplify = TRUE)} was missing the 327 : elements \code{bbox} and \code{control.siaf}. 328 : wastl 1889 } 329 : wastl 1885 } 330 : wastl 1863 331 : wastl 1889 } 332 : wastl 1885 333 : wastl 1889 334 : wastl 1852 \section{Changes in surveillance version 1.13.1 (2017-04-28)}{ 335 : wastl 1827 336 : wastl 1852 \subsection{DOCUMENTATION}{ 337 : \itemize{ 338 : \item The paper on \dQuote{Spatio-Temporal Analysis of Epidemic 339 : Phenomena Using the \R Package \pkg{surveillance}} (by Sebastian 340 : Meyer, Leonhard Held, and Michael \enc{Höhle}{Hoehle}) will appear 341 : in the upcoming volume of the \emph{Journal of Statistical Software}. 342 : The main sections 3 to 5 of the paper are contained in the package 343 : as \code{vignette("twinstim")}, \code{vignette("twinSIR")}, and 344 : \code{vignette("hhh4_spacetime")}, respectively. 345 : } 346 : } 347 : 348 : wastl 1827 \subsection{NEW FEATURES}{ 349 : \itemize{ 350 : wastl 1829 \item The \code{calibrationTest()} and \code{pit()} methods for 351 : \code{"oneStepAhead"} forecasts gained an argument \code{units} 352 : to allow for unit-specific assessments. 353 : wastl 1836 354 : \item A default \code{scores}-method is now available to compute a 355 : set of proper scoring rules for Poisson or NegBin predictions. 356 : wastl 1842 357 : \item New plot \code{type = "fan"} for simulations from 358 : \code{"hhh4"} models to produce a fan chart using the 359 : \CRANpkg{fanplot} package. 360 : wastl 1827 } 361 : } 362 : 363 : \subsection{MINOR CHANGES}{ 364 : \itemize{ 365 : wastl 1834 \item \code{scores.hhh4()} sets rownames for consistency with 366 : \code{scores.oneStepAhead()}. 367 : wastl 1827 } 368 : } 369 : 370 : \subsection{BUG FIXES}{ 371 : \itemize{ 372 : wastl 1843 \item The \code{"Lambda.const"} matrix returned by 373 : \code{getMaxEV_season()} was wrong for models with asymmetric 374 : neighbourhood weights. [spotted by Johannes Bracher]\cr 375 : Dominant eigenvalues (\code{"maxEV"}) were not affected by this bug. 376 : wastl 1827 } 377 : } 378 : 379 : } 380 : 381 : 382 : wastl 1821 \section{Changes in surveillance version 1.13.0 (2016-12-20)}{ 383 : wastl 1792 384 : \subsection{NEW FEATURES}{ 385 : \itemize{ 386 : wastl 1793 \item \code{earsC} now has two new arguments thanks to Howard 387 : Burkom: the number of past time units to be used in calculation is 388 : now not always 7, it can be chosen in the \code{baseline} parameter. 389 : Furthermore, the \code{minSigma} parameter allows to get a threshold 390 : in the case of sparse data. When one doesn't give any value for those 391 : two parameters, the algorithm works like it used to. 392 : 393 : \item \code{animate.sts()} gained support for date labels in the 394 : bottom \code{timeplot}. 395 : wastl 1802 396 : \item \code{stsplot_space()} and \code{animate.sts()} can now 397 : generate incidence maps based on the population information 398 : stored in the supplied \code{"sts"} object. 399 : Furthermore, \code{animate.sts()} now supports time-varying 400 : population numbers. 401 : wastl 1792 } 402 : } 403 : 404 : \subsection{MINOR CHANGES}{ 405 : \itemize{ 406 : \item \code{hhh4()} guards against the misuse of 407 : \code{family = factor("Poisson")} for univariate time series. 408 : Previously, this resulted in a negative binomial model by 409 : definition, but is now interpreted as \code{family = "Poisson"} 410 : (with a warning). 411 : } 412 : } 413 : 414 : \subsection{BUG FIXES}{ 415 : \itemize{ 416 : \item \code{animate.sts()} now supports objects with missing values 417 : wastl 1800 (with a warning). Furthermore, the automatic color breaks have been 418 : improved for incidence maps, also in \code{stsplot_space()}. 419 : wastl 1792 420 : \item The \code{as.data.frame}-method for the \code{"sts"} class, 421 : applied to classical time-index-based \code{"sts"} objects 422 : (\code{epochAsDate=FALSE}), ignored a \code{start} epoch different 423 : from 1 when computing the \code{epochInPeriod} indexes. 424 : Furthermore, the returned \code{epochInPeriod} now is a fraction of 425 : \code{freq}, for consistency with the result for objects with 426 : \code{epochAsDate=TRUE}. 427 : wastl 1807 428 : \item \code{simulate.hhh4()} did not handle shared overdispersion 429 : parameters correctly. The different parameters were simply recycled 430 : to the number of units, ignoring the factor specification from the 431 : model's \code{family}. [spotted by Johannes Bracher] 432 : wastl 1810 433 : \item Simulations from \emph{endemic-only} \code{"hhh4"} models 434 : with unit-specific overdispersion parameters used wrong 435 : variances. [spotted by Johannes Bracher] 436 : wastl 1813 437 : \item \code{oneStepAhead()} predictions of \code{type} 438 : \code{"rolling"} (or \code{"first"}) were incorrect for time points 439 : \code{tp} (\code{tp[1]}) beyond the originally fitted time range 440 : (in that they were based on the original time range only). 441 : This usage of \code{oneStepAhead()} was never really supported and 442 : is now catched when checking the \code{tp} argument. 443 : wastl 1817 444 : \item \code{plot.hhh4simslist()} ignored its \code{par.settings} 445 : argument if \code{groups=NULL} (default). 446 : wastl 1792 } 447 : } 448 : 449 : } 450 : 451 : 452 : \section{Changes in surveillance version 1.12.2 (2016-11-14)}{ 453 : 454 : \subsection{NEW FEATURES}{ 455 : \itemize{ 456 : \item The internal auxiliary function, which determines the sets of 457 : potential source events in \code{"epidataCS"} has been implemented 458 : in \samp{C++}, which accelerates \code{as.epidataCS()}, 459 : \code{permute.epidataCS()}, and therefore \code{epitest()}. 460 : This is only really relevant for \code{"epidataCS"} with a large 461 : number of events (>1000, say). 462 : 463 : \item Negative-binomial \code{hhh4()} models may not converge for 464 : non-overdispersed data (try, e.g., 465 : \code{set.seed(1); hhh4(sts(rpois(104, 10)), list(family="NegBin1"))}). 466 : The resulting non-convergence warning message now mentions low 467 : overdispersion if this is detected. [suggested by Johannes Bracher] 468 : 469 : \item An additional \code{type="delay"} option was added to the 470 : \code{plot} method of \code{stsNC} objects. Furthermore, an 471 : \code{animate_nowcasts} function allows one to animate a sequence of 472 : nowcasts. 473 : 474 : } 475 : } 476 : 477 : \subsection{MINOR CHANGES}{ 478 : \itemize{ 479 : \item In the \code{animate}-method for \code{"sts"} objects, 480 : the default top padding of \pkg{lattice} plots is now disabled for the 481 : bottom \code{timeplot} to reduce the space between the panels. 482 : Furthermore, the new option \code{fill} can be used to make the 483 : panel of the \code{timeplot} as large as possible. 484 : } 485 : } 486 : 487 : \subsection{BUG FIXES}{ 488 : \itemize{ 489 : \item \code{bodaDelay()}: fixed spurious warnings from \code{rnbinom()}. 490 : \item \code{vignette("monitoringCounts")}: fixed \code{boda}-related 491 : code and cache to obtain same results as in corresponding JSS paper. 492 : } 493 : } 494 : 495 : } 496 : 497 : 498 : 499 : \section{Changes in surveillance version 1.12.1 (2016-05-18)}{ 500 : 501 : \subsection{DOCUMENTATION}{ 502 : \itemize{ 503 : \item The new \code{vignette("monitoringCounts")} illustrates the 504 : monitoring of count time series in \R with a particular focus on 505 : aberration detection in public health surveillance. 506 : This vignette corresponds to a recently accepted manuscript 507 : for the \emph{Journal of Statistical Software} 508 : (Salmon, Schumacher, and \enc{Höhle}{Hoehle}, 2016). 509 : } 510 : } 511 : 512 : \subsection{MINOR CHANGES}{ 513 : \itemize{ 514 : \item Non-convergent \code{hhh4()} fits now obey the structure of 515 : standard \code{"hhh4"} objects. In particular, such fits now also 516 : contain the \code{control} and \code{stsObj} elements, allowing 517 : for model \code{update()}s of non-convergent fits. 518 : 519 : \item \code{knox()} warns about symmetric input matrices. 520 : } 521 : } 522 : 523 : \subsection{BUG FIXES}{ 524 : \itemize{ 525 : \item The code of \code{boda()} (with \code{samplingMethod="joint"}) 526 : and \code{bodaDelay()} (with \code{inferenceMethod="INLA"}) 527 : has been adjusted to a change of arguments of \pkg{INLA}'s 528 : \code{inla.posterior.sample} function. Accordingly, the minimum 529 : \pkg{INLA} version required to run \code{boda()} and 530 : \code{bodaDelay()} is 0.0-1458166556. 531 : 532 : \item The functions returned by \code{W_powerlaw()} now have the 533 : package namespace as their environment to support situations where 534 : the package is not attached. 535 : 536 : \item Attaching package \CRANpkg{nlme} after \pkg{surveillance} no 537 : longer masks \code{"hhh4"}'s \code{ranef}-method. (We now import the 538 : \code{fixef} and \code{ranef} generics from \pkg{nlme}.) 539 : } 540 : } 541 : 542 : } 543 : 544 : 545 : 546 : \section{Changes in surveillance version 1.12.0 (2016-04-02)}{ 547 : 548 : \subsection{DOCUMENTATION}{ 549 : \itemize{ 550 : \item Several new vignettes illustrate \emph{endemic-epidemic} 551 : modeling frameworks for spatio-temporal surveillance data: 552 : \describe{ 553 : \item{\code{vignette("twinstim")}}{describes a spatio-temporal 554 : point process regression model.} 555 : \item{\code{vignette("twinSIR")}}{describes a multivariate 556 : temporal point process regression model.} 557 : \item{\code{vignette("hhh4_spacetime")}}{describes an areal 558 : time-series model for infectious disease counts.} 559 : } 560 : These vignettes are based on a recently accepted manuscript 561 : for the \emph{Journal of Statistical Software} 562 : (Meyer, Held, and \enc{Höhle}{Hoehle}, 2016). 563 : \item Improved the documentation on various help pages. 564 : \item The \code{hhh4()}-based analysis of \code{data("fluBYBW")} 565 : has been moved to a separate demo script \file{fluBYBW.R}. Due to 566 : the abundance of models and the relatively long runtime, we 567 : recommend to open the script in an editor rather than running 568 : all the code at once using \code{demo("fluBYBW")}. 569 : } 570 : } 571 : 572 : \subsection{NEW FEATURES}{ 573 : \itemize{ 574 : \item Overhaul of the \code{"sts"} implementation. This mostly 575 : affects package-internal code, which is simpler, cleaner and better 576 : tested now, but requires \R >= 3.2.0 (due to \code{callNextMethod()} 577 : bugs in older versions of \R). 578 : Beyond that, the user-level constructor function \code{sts()} now 579 : has explicit arguments for clarity and convenience. 580 : For instance, its first argument sets the \code{observed} slot and 581 : no longer needs to be named, i.e., 582 : \code{sts(mycounts, start=c(2016,3), frequency=12)} 583 : works just like for the classical \code{ts()} function. 584 : 585 : \item \code{stsplot_time(..., as.one=TRUE)} is now implemented 586 : (yielding a simple \code{matplot} of multiple time series). 587 : } 588 : } 589 : 590 : \subsection{MINOR CHANGES}{ 591 : \itemize{ 592 : \item \code{plotHHH4_season()} now by default draws a horizontal 593 : reference line at unity if the multiplicative effect of component 594 : seasonality is shown (i.e., if \code{intercept=FALSE}). 595 : 596 : \item Since \pkg{surveillance} 1.8-0, \code{hhh4()} results are of 597 : class \code{"hhh4"} instead of \code{"ah4"} (renamed). 598 : Legacy methods for the old class name \code{"ah4"} have been removed. 599 : 600 : \item The internal model preparation in \code{twinstim()} is more 601 : efficient (the distance matrix of the events is only computed if 602 : event sources actually need to be updated). 603 : } 604 : } 605 : 606 : \subsection{BUG FIXES}{ 607 : \itemize{ 608 : \item \code{stsplot_spacetime()} now recognizes its \code{opts.col} 609 : argument. 610 : 611 : \item Conversion from \code{"ts"} to \code{"sts"} using 612 : \code{as(ts, "sts")} could set a wrong start time. For instance, 613 : \code{as(ts(1:10, start=c(1959,2), frequency=4), "sts")@start} was 614 : \code{c(1959,1)}. 615 : 616 : \item \code{algo.twins()} now also accepts \code{"sts"} input and 617 : the automatic legend in the first plot of \code{plot.atwins()} works 618 : again. 619 : 620 : \item The experimental \code{profile}-method for \code{"twinstim"} 621 : objects did not work if embedded \code{twinstim()} fits issued warnings. 622 : } 623 : } 624 : 625 : } 626 : 627 : 628 : 629 : \section{Changes in surveillance version 1.11.0 (2016-02-08)}{ 630 : 631 : \subsection{NEW FEATURES}{ 632 : \itemize{ 633 : \item \code{update.epidata()} can now handle a distance matrix 634 : wastl 1807 \code{D} in the form of a classed \code{"Matrix"}. 635 : [suggested by George Wood] 636 : wastl 1792 637 : \item \code{glrnb()} can now handle \code{ret="cases"} for the 638 : generalized likelihood ratio detector based on the negative binomial 639 : distribution. It's based on a brute-force search and hence might be 640 : slow in some situations. 641 : 642 : \item \code{boda()} and \code{bodaDelay()} now support an 643 : alternative method (\code{quantileMethod="MM"}) to compute quantiles 644 : based on the posterior distribution. The new method samples 645 : parameters from the posterior distribution and then computes the 646 : quantile of the mixture distribution using bisectionning, which is 647 : faster and yields similar results compared to the original method 648 : (\code{quantileMethod="MC"}, still the default). 649 : } 650 : } 651 : 652 : \subsection{MINOR CHANGES}{ 653 : \itemize{ 654 : \item Revised \code{vignette("hhh4")}, updated the package 655 : description as well as some references in the documentation. 656 : Also updated (the cache of) the slightly outdated 657 : \code{vignette("surveillance")} to account for the corrected version 658 : of \code{algo.bayes()} implemented since \pkg{surveillance} 1.10-0. 659 : } 660 : } 661 : 662 : \subsection{BUG FIXES}{ 663 : \itemize{ 664 : \item Fixed bug in \code{categoricalCUSUM()}, which ignored alarms 665 : generated for the last time point in \code{range}. Furthermore, the 666 : exact computation in case of returns of the type \code{"value"} for 667 : the binomial are now checked through an attribute. 668 : 669 : \item Fixed bug in the \code{estimateGLRNbHook} function of 670 : \code{algo.glrnb}, which ignored potential fixed \code{alpha} 671 : values. If \code{alpha} is fixed this is now taken into consideration 672 : while fitting the negative binomial function. See revised help files 673 : for the details. 674 : 675 : \item Made a hot-fix such that the \code{algo.quality} function now 676 : also works for \code{sts} objects and if the \code{state} or 677 : \code{alarm} slots consists of TRUE/FALSE instead of 0/1. 678 : 679 : \item \code{intensity.twinstim()} did not work for non-endemic models. 680 : 681 : \item A parallelized \code{epitest()} could fail with a strange 682 : error message if some replications were left unassigned. 683 : This seems to happen if forking is used (\code{mclapply}) with 684 : insufficient memory. Incomplete replications are now ignored with a 685 : warning. 686 : } 687 : } 688 : 689 : } 690 : 691 : 692 : 693 : \section{Changes in surveillance version 1.10-0 (2015-11-04)}{ 694 : 695 : \subsection{NEW FEATURES}{ 696 : \itemize{ 697 : \item Calibration tests for count data (Wei and Held, 2014, Test) 698 : are now implemented and available as \code{calibrationTest()}. 699 : In addition to a default method taking pure counts and predictive 700 : means and dispersion parameters, there are convenient methods for 701 : \code{"hhh4"} and \code{"oneStepAhead"} objects. 702 : 703 : \item Shared overdispersion across units in negative binomial 704 : \code{hhh4()} time series models (by specifying a factor variable 705 : as the \code{family} argument). 706 : 707 : \item \code{scores()} and \code{pit()} are now generic and have convenient 708 : methods for \code{"oneStepAhead"} predictions and \code{"hhh4"} fits. 709 : 710 : \item The initial values used for model updates during the 711 : \code{oneStepAhead()} procedure can now be specified directly 712 : through the \code{which.start} argument (as an alternative to the 713 : previous options \code{"current"} and \code{"final"}). 714 : 715 : \item \code{plotHHH4_fitted()} (and \code{plotHHH4_fitted1()}) 716 : gained an option \code{decompose} to plot the contributions from 717 : each single unit (and the endemic part) instead of the default 718 : endemic + AR + neighbours decomposition. 719 : Furthermore, a formatted time axis similar to \code{stsplot_time1()} 720 : can now be enabled via the new argument \code{xaxis}. 721 : 722 : \item The new \code{plot} \code{type} \code{"maps"} for \code{"hhh4"} 723 : fits shows maps of the fitted mean components averaged over time. 724 : 725 : \item New \code{plot}-method for simulations from \code{"hhh4"} 726 : models (using \code{simulate.hhh4(..., simplify = TRUE)}, which now 727 : has a dedicated class: \code{"hhh4sims"}) to show the final 728 : size distribution or the simulated time series 729 : (possibly stratified by groups of units). 730 : There is also a new \code{scores}-method to compute proper scoring 731 : rules based on such simulations. 732 : 733 : \item The argument \code{idx2Exp} of \code{coef.hhh4()} may now be 734 : conveniently set to \code{TRUE} to exp-transform all coefficients. 735 : 736 : \item Added a \code{coeflist()}-method for \code{"hhh4"} fits. 737 : 738 : \item The generator function \code{sts()} can now be used to 739 : initialize objects of class \code{"sts"} (instead of writing 740 : \code{new("sts", ...)}). 741 : 742 : \item Additional arguments of \code{layout.scalebar()} now allow to 743 : change the style of the labels. 744 : 745 : \item A pre-computed distance matrix \code{D} can now be used as 746 : input for the \code{as.epidata()} converter -- offering an alternative 747 : to the default Euclidean distance based on the individuals coordinates. 748 : (Request of George Wood to support \code{twinSIR} models on networks.) 749 : } 750 : } 751 : 752 : \subsection{MINOR CHANGES}{ 753 : \itemize{ 754 : \item The first argument of \code{scores()} is now called \code{x} 755 : instead of \code{object} (for consistency with \code{calibrationTest()}). 756 : 757 : \item The result of \code{oneStepAhead()} now has the dedicated 758 : class attribute \code{"oneStepAhead"} (previously was just a list). 759 : 760 : \item Changed interpretation of the \code{col} argument of 761 : \code{plotHHH4_fitted()} and \code{plotHHH4_fitted1()} (moved color 762 : of \dQuote{observed} to separate argument \code{pt.col} and reversed 763 : remaining colors). The old \code{col} specification as a vector of 764 : length 4 still works (catched internally) but is undocumented. 765 : 766 : \item The \code{epoch} slot of class \code{"sts"} is now initialized to 767 : \code{1:nrow(observed)} by default and thus no longer needs to be 768 : explicitly set when creating a \code{new("sts", ...)} for this 769 : standard case. 770 : 771 : \item Initialization of \code{new("sts", ...)} now supports the 772 : argument \code{frequency} (for consistency with \code{ts()}). 773 : Note that \code{freq} still works (via partial argument matching) 774 : and that the corresponding \code{"sts"} slot is still called \code{freq}. 775 : 776 : \item If \code{missing(legend.opts)} in \code{stsplot_time1()}, the 777 : default legend will only be produced if the \code{"sts"} object 778 : contains information on outbreaks, alarms, or upperbounds. 779 : 780 : \item The default \code{summary()} of a \code{"twinstim"} fit is more 781 : concise since it no longer includes the number of log-likelihood and 782 : score function evaluations and the elapsed time during model fitting. 783 : Set the new \code{runtime} argument of \code{summary.twinstim()} to 784 : \code{TRUE} to add this information to the summary as before. 785 : 786 : \item The \code{animate}-method for \code{"sts"} objects gained an 787 : argument \code{draw} (to disable the default instantaneous plotting) 788 : and now invisibly returns the sequential plot objects (of class 789 : \code{"gtable"} or \code{"trellis"}) in a list for post-processing. 790 : 791 : \item The flexible time axis configurations for \code{"sts"} plots 792 : introduced in version 1.8-0 now also work for classical \code{"sts"} 793 : objects with integer epochs and standard frequencies 794 : (try \code{plot(..., epochsAsDate = TRUE)}). 795 : 796 : \item \code{stsplot_time()} initiates \code{par} settings only 797 : if the \code{par.list} argument is a list. 798 : 799 : \item The new \code{all.equal()} method for class \code{"hhh4"} 800 : compares two fits ignoring their \code{"runtime"} and \code{"call"} 801 : elements (at least). 802 : } 803 : } 804 : 805 : \subsection{BUG FIXES}{ 806 : \itemize{ 807 : \item Fixed a bug in \code{algo.bayes}, where an alarm was already 808 : sounded if the current observation was equal to the quantile of the 809 : predictive posterior. This was changed in order to get \eqn{alarm_t 810 : = I(obs_t > quantile_t)} which is consistent with the use in 811 : \code{boda} and \code{bodaDelay}. 812 : 813 : \item Fixed bug in \code{algo.outbreakP} causing a halt in the 814 : computations of \code{value="cases"} when 815 : \code{calc.outbreakP.statistic} returned \code{NaN}. Now, a 816 : \code{NaN} is returned. 817 : 818 : \item \code{wrap.algo} argument \code{control.hook} used 819 : \code{control} argument defined outside it's scope (and not the one 820 : provided to the function). It is now added as additional 2nd argument 821 : to the \code{control.hook} function. 822 : 823 : \item \code{stsplot_time()} did not account for the optional 824 : \code{units} argument for multivariate \code{"sts"} objects 825 : when choosing a suitable value for \code{par("mfrow")}. 826 : 827 : \item \code{hhh4()} could have used a function \code{dpois()} or 828 : \code{dnbinom()} from the global environment instead of the 829 : respective function from package \pkg{stats}. 830 : 831 : \item The default time variable \code{t} created as part of the 832 : \code{data} argument in \code{hhh4()} was incompatible with 833 : \code{"sts"} objects having \code{epochAsDate=TRUE}. 834 : 835 : \item A consistency check in \code{as.epidata.default()} failed for 836 : SI-type data (and, more generally, for all data which ended with an 837 : wastl 1807 I-event in the last time block). [spotted by George Wood] 838 : wastl 1792 } 839 : } 840 : 841 : } 842 : 843 : 844 : 845 : \section{Changes in surveillance version 1.9-1 (2015-06-12)}{ 846 : 847 : \itemize{ 848 : \item This is a quick patch release to make the test suite run 849 : smoothly on CRAN's Windows and Solaris Sparc systems. 850 : 851 : \item The new \code{hhh4()} option to scale neighbourhood weights 852 : did not work for parametric weights with more than one parameter 853 : if \code{normalize=FALSE}. 854 : } 855 : 856 : } 857 : 858 : 859 : 860 : \section{Changes in surveillance version 1.9-0 (2015-06-09)}{ 861 : 862 : \subsection{NEW FEATURES}{ 863 : \itemize{ 864 : \item New functions and data for Bayesian outbreak detection in the 865 : presence of reporting delays (Salmon et al., 2015): 866 : \code{bodaDelay()}, \code{sts_observation()}, and \code{sts_creation()}. 867 : 868 : \item New functions implementing tests for space-time interaction: 869 : \itemize{ 870 : \item \code{knox()} supports both the Poisson approximation and a 871 : Monte Carlo permutation approach to determine the p-value, 872 : \item \code{stKtest()} wraps space-time K-function methods from 873 : package \CRANpkg{splancs} for use with \code{"epidataCS"}, 874 : \item and \code{epitest()} for \code{twinstim} models 875 : (makes use of the new auxiliary function \code{simpleR0()}). 876 : } 877 : 878 : \item New function \code{plapply()}: a parallel and verbose version 879 : of \code{lapply()} wrapping around both \code{mclapply()} and 880 : \code{parLapply()} of package \pkg{parallel}. 881 : 882 : \item New converter \code{as.xts.sts()} to transform \code{"sts"} 883 : objects to the quasi standard \code{"xts"} class, e.g., to make use 884 : of package \CRANpkg{dygraphs} for interactive time series plots. 885 : 886 : \item New options for scaling and normalization of neighbourhood 887 : weights in \code{hhh4()} models. 888 : 889 : \item New auxiliary function \code{layout.scalebar()} for use as part 890 : of \code{sp.layout} in \code{spplot()} or in the traditional 891 : graphics system. 892 : } 893 : 894 : \subsection{New features for \code{"epidataCS"}}{ 895 : \itemize{ 896 : \item New argument \code{by} for \code{plot.epidataCS()}, which 897 : defines a stratifying variable for the events (default is the event 898 : type as before). It can also be set to \code{NULL} to make the plot 899 : not distinguish between event types. 900 : 901 : \item The spatial plot of \code{"epidataCS"} gained the arguments 902 : \code{tiles}, \code{pop} and \code{sp.layout}, and can now produce 903 : an \code{spplot()} with the tile-specific population levels behind 904 : the point pattern. 905 : 906 : \item New function \code{permute.epidataCS()} to randomly permute 907 : time points or locations of the events (holding other marks fixed). 908 : } 909 : } 910 : 911 : \subsection{New features for \code{twinstim()}}{ 912 : \itemize{ 913 : \item New S3-generic \code{coeflist()} to list model coefficients by 914 : component. It currently has a default method and one for 915 : \code{"twinstim"} and \code{"simEpidataCS"}. 916 : 917 : \item New argument \code{newcoef} for \code{simulate.twinstim()} to 918 : customize the model parameters used for the simulation. 919 : 920 : \item New argument \code{epilink} for \code{twinstim()}, offering 921 : experimental support for an identity link for the epidemic 922 : predictor. The default remains \code{epilink = "log"}. 923 : 924 : \item Simulation from \code{"twinstim"} models and generation of 925 : \code{"epidataCS"} is slightly faster now (faster \pkg{spatstat} 926 : functions are used to determine the distance of events to the border). 927 : 928 : \item New option \code{scaled = "standardized"} in \code{iafplot()} 929 : to plot \eqn{f(x) / f(0)} or \eqn{g(t) / g(0)}, respectively. 930 : } 931 : } 932 : } 933 : 934 : \subsection{MINOR CHANGES}{ 935 : \itemize{ 936 : \item Initial data processing in \code{twinstim()} is faster 937 : since event sources are only re-determined if there is effective 938 : need for an update (due to subsetting or a change of 939 : \code{qmatrix}). 940 : 941 : \item \code{formatPval()} disables \code{scientific} notation by default. 942 : 943 : \item The \code{"time"} plot for \code{"epidataCS"} uses the 944 : temporal grid points as the default histogram \code{breaks}. 945 : 946 : \item The special \code{fe()} function which sets up fixed effects 947 : in \code{hhh4()} models gained an argument \code{unitSpecific} as a 948 : convenient shortcut for \code{which = rep(TRUE, nUnits)}. 949 : 950 : \item The convenient \code{plot} option of \code{permutationTest()} 951 : uses \CRANpkg{MASS}::\code{truehist()} instead of \code{hist()} and 952 : accepts graphical parameters to customize the histogram. 953 : } 954 : } 955 : 956 : \subsection{BUG FIXES}{ 957 : \itemize{ 958 : \item The \code{bodaFit} function did not draw samples from the 959 : joint posterior. Instead draws were from the respective posterior 960 : marginals. A new argument \code{samplingMethod} is now introduced 961 : defaulting to the proper 'joint'. For backwards compatibility use 962 : the value 'marginal'. 963 : 964 : \item The functions \code{as.epidataCS()} and \code{simEpidataCS()} 965 : could throw inappropriate warnings when checking polygon areas 966 : (only if \code{W} or \code{tiles}, respectively, contained holes). 967 : 968 : \item Non-convergent endemic-only \code{twinstim} models 969 : wastl 1807 produced an error. [spotted by Bing Zhang] 970 : wastl 1792 971 : \item The \code{"owin"}-method of \code{intersectPolyCircle} could 972 : have returned a rectangle-type \code{"owin"} instead of a polygon. 973 : 974 : \item An error occurred in \code{twinstim()} if \code{finetune=TRUE} 975 : or choosing \code{optim()} instead of the default \code{nlminb()} 976 : optimizer without supplying a \code{control} list in \code{optim.args}. 977 : 978 : \item The \code{"time"} plot for \code{"epidataCS"} did not 979 : necessarily use the same histogram \code{breaks} for all strata. 980 : 981 : \item Specifying a step function of interaction via a numeric vector 982 : of knots did not work in \code{twinstim()}. 983 : 984 : \item \code{plot.hhh4()} did not support an unnamed \code{type} 985 : argument such as \code{plot(x, "season")}. 986 : 987 : \item \code{simEpidataCS()} did not work if \code{t0} was in the 988 : last block of \code{stgrid} (thus it did not work for single-cell 989 : grids), and mislabeled the \code{start} column copied to 990 : \code{events} if there were no covariates in \code{stgrid}. 991 : 992 : \item Evaluating \code{intensity.twinstim()$hFUN()} at time points 993 : before \code{t0} was an error. The function now returns 994 : \code{NA_real_} as for time points beyond \code{T}. 995 : 996 : \item Truncated, normalized power-law weights for \code{hhh4()} 997 : models, i.e., \code{W_powerlaw(maxlag = M, normalize = TRUE)} 998 : with \code{M < max(neighbourhood(stsObj))}, had wrong derivatives 999 : and thus failed to converge. 1000 : 1001 : \item \code{update.hhh4(..., use.estimates = TRUE)} did not 1002 : use the estimated weight function parameters as initial values for 1003 : the new fit. It does so now iff the weight function 1004 : \code{ne$weights} is left unchanged. 1005 : } 1006 : } 1007 : 1008 : } 1009 : 1010 : 1011 : 1012 : \section{Changes in surveillance version 1.8-3 (2015-01-05)}{ 1013 : 1014 : \itemize{ 1015 : \item Accommodate a new note given by R-devel checks, and set the new 1016 : INLA additional repository in the \file{DESCRIPTION} file. 1017 : 1018 : \item Made \code{linelist2sts()} work for quarters by adding extra 1019 : \code{"\%q"} formatting in \code{formatDate()}. 1020 : } 1021 : 1022 : } 1023 : 1024 : 1025 : 1026 : \section{Changes in surveillance version 1.8-2 (2014-12-16)}{ 1027 : 1028 : \subsection{MINOR CHANGES related to \code{hhh4}}{ 1029 : \itemize{ 1030 : \item In the coefficient vector resulting from a \code{hhh4} fit, 1031 : random intercepts are now named. 1032 : 1033 : \item Parameter \code{start} values in \code{hhh4()} are now 1034 : matched by name but need not be complete in that case (default 1035 : initial values are used for unspecified parameters). 1036 : 1037 : \item The \code{update.hhh4()}-method now by default does 1038 : \code{use.estimates} from the previous fit. This reduces the 1039 : number of iterations during model fitting but may lead to slightly 1040 : different parameter estimates (within a tolerance of \code{1e-5}). 1041 : Setting \code{use.estimates = FALSE} means to re-use the previous 1042 : start specification. 1043 : } 1044 : } 1045 : 1046 : \subsection{MINOR CHANGES related to the \code{"sts"}-class}{ 1047 : \itemize{ 1048 : \item For univariate \code{"sts"} objects, the (meaningless) 1049 : \dQuote{head of neighbourhood} is no longer \code{show}n. 1050 : 1051 : \item The \code{"sts"} class now has a \code{dimnames}-method 1052 : instead of a \code{colnames}-method. Furthermore, the redundant 1053 : \code{nrow} and \code{ncol} methods have been removed 1054 : (the \code{dim}-method is sufficient). 1055 : 1056 : \item If a \code{map} is provided when \code{initialize()}ing an 1057 : \code{"sts"} object, it is now verified that all \code{observed} 1058 : regions are part of the \code{map} (matched by \code{row.names}). 1059 : 1060 : \item In \code{stsplot_space()}, extra (unobserved) regions of the 1061 : \code{map} are no longer dropped but shown with a dashed border by 1062 : default. 1063 : } 1064 : } 1065 : 1066 : } 1067 : 1068 : 1069 : 1070 : \section{Changes in surveillance version 1.8-1 (2014-10-29)}{ 1071 : 1072 : \subsection{NEW FEATURES}{ 1073 : \itemize{ 1074 : \item The \code{R0}-method for \code{"twinstim"} gained an argument 1075 : \code{newcoef} to simplify computation of reproduction numbers with 1076 : a different parameter vector (also used for Monte Carlo CI's). 1077 : 1078 : \item New plot \code{type="neweights"} for \code{"hhh4"} fits. 1079 : 1080 : \item The \code{scores()} function allows the selection of multiple 1081 : \code{units} (by index or name) for which to compute (averaged) proper 1082 : scores. Furthermore, one can now select \code{which} scores to compute. 1083 : 1084 : \item Added a \code{formula}-method for \code{"hhh4"} fits to 1085 : extract the \code{f} specifications of the three components from the 1086 : control list. 1087 : 1088 : \item The \code{update()}-method for fitted \code{"hhh4"} models 1089 : gained an argument \code{S} for convenient modification of component 1090 : seasonality using \code{addSeason2formula()}. 1091 : 1092 : \item The new auxiliary function \code{layout.labels()} generates an 1093 : \code{sp.layout} item for \code{spplot()} in order to draw labels. 1094 : 1095 : \item When generating the \code{pit()} histogram with a single 1096 : predictive CDF \code{pdistr}, the \code{\dots} arguments can now be 1097 : \code{x}-specific and are recycled if necessary using \code{mapply()}. 1098 : If \code{pdistr} is a list of CDFs, \code{pit()} no longer requires 1099 : the functions to be vectorized. 1100 : 1101 : \item New method \code{as.epidata.data.frame()}, which constructs the 1102 : start/stop SIR event history format from a simple individual-based 1103 : data frame (e.g., \code{hagelloch.df}). 1104 : 1105 : \item New argument \code{w} in \code{as.epidata.default()} to 1106 : generate covariate-based weights for the force of infection in 1107 : \code{twinSIR}. The \code{f} argument is for distance-based weights. 1108 : 1109 : \item The result of \code{profile.twinSIR()} gained a class and an 1110 : associated \code{plot}-method. 1111 : } 1112 : } 1113 : 1114 : \subsection{MAJOR CHANGES}{ 1115 : \itemize{ 1116 : \item For multivariate \code{oneStepAhead()} predictions, 1117 : \code{scores(..., individual=TRUE)} now returns a 3d array instead 1118 : of a collapsed matrix. Furthermore, the scores computed by default 1119 : are \code{c("logs","rps","dss","ses")}, excluding the normalized 1120 : squared error score \code{"nses"} which is improper. 1121 : 1122 : \item The plot-\code{type="season"} for \code{"hhh4"} fits now by 1123 : default plots the multiplicative effect of seasonality on the 1124 : respective component (new argument \code{intercept=FALSE}). 1125 : The default set of components to plot has also changed. 1126 : 1127 : \item When \code{as.epidata()} and \code{simEpidata()} calculate 1128 : distance-based epidemic weights from the \code{f} functions, they no 1129 : longer set the distance of an infectious individual to itself 1130 : artificially to \code{Inf}. 1131 : This changes the corresponding columns in the \code{"epidata"} in 1132 : rows of currently infectious individuals, but the \code{twinSIR} 1133 : model itself is invariant, since only rows with \code{atRiskY=1} 1134 : contribute to the likelihood. 1135 : 1136 : \item Several modifications and corrections in \code{data("hagelloch")}. 1137 : } 1138 : } 1139 : 1140 : \subsection{MINOR CHANGES}{ 1141 : \itemize{ 1142 : \item Better plotting of \code{stsNC} objects by writing an own plot 1143 : method for them. Prediction intervals are now shown jointly with the 1144 : point estimate. 1145 : 1146 : \item Reduced package size by applying \code{tools::resaveRdaFiles} 1147 : to some large datasets and by building the package with 1148 : \code{--compact-vignettes=both}, i.e., using additional GhostScript 1149 : compression with ebook quality, see \code{?tools::compactPDF}. 1150 : 1151 : \item Added \code{units} argument to \code{stsplot_time} to select 1152 : only a subset of the multivariate time series for plotting. 1153 : 1154 : \item The \code{untie}-method for class \code{"epidataCS"} gained an 1155 : argument \code{verbose} which is now \code{FALSE} by default. 1156 : 1157 : \item \code{"epidataCS"} objects store the \code{clipper} used 1158 : during generation as attribute of \code{$events$.influenceRegion}. 1159 : 1160 : \item In \code{plotHHH4_fitted()}, the argument \code{legend.observed} 1161 : now defaults to \code{FALSE}. 1162 : 1163 : \item The default weights for the spatio-temporal component in 1164 : \code{hhh4} models now are \code{neighbourhood(stsObj) == 1}. 1165 : The previous default \code{neighbourhood(stsObj)} does not make 1166 : sense for the newly supported \code{nbOrder} neighbourhood matrices 1167 : (shortest-path distances). The new default makes no difference for 1168 : (old) models with binary adjacency matrices in the neighbourhood 1169 : slot of the \code{stsObj}. 1170 : 1171 : \item The default for nonparametric weights \code{W_np()} in 1172 : \code{hhh4()} is now to assume zero weight for neighbourhood orders 1173 : above \code{maxlag}, i.e., \code{W_np()}'s argument \code{to0} now 1174 : defaults to \code{TRUE}. 1175 : 1176 : \item Added a \code{verbose} argument to \code{permutationTest()}, 1177 : which defaults to \code{FALSE}. The previous behaviour corresponds 1178 : to \code{verbose=TRUE}. 1179 : 1180 : \item \code{simulate.twinstim()} now by default uses the original 1181 : \code{data$W} as observation region. 1182 : 1183 : \item The \code{data("measlesWeserEms")} contain two additional 1184 : variables in the \code{@map@data} slot: \code{"vaccdoc.2004"} and 1185 : \code{"vacc1.2004"}. 1186 : 1187 : \item The plot-method for \code{"epidata"} objects now uses colored 1188 : lines by default. 1189 : 1190 : \item The \pkg{surveillance} package now depends on \R >= 3.0.2, 1191 : which, effectively, is the minimum version required since 1192 : \pkg{surveillance} 1.7-0 (see the corresponding NEWS below). 1193 : 1194 : \item The two diagnostic plots of \code{checkResidualProcess()} are 1195 : now by default plotted side by side (\code{mfrow=c(1,2)}) instead of 1196 : one below the other. 1197 : } 1198 : } 1199 : 1200 : \subsection{BUG FIXES}{ 1201 : \itemize{ 1202 : \item In \code{farringtonFlexible} alarms are now for 1203 : \code{observed>upperbound} and not for \code{observed>=upperbound} 1204 : which was not correct. 1205 : 1206 : \item Fixed duplicate \code{"functions"} element resulting from 1207 : \code{update.twinstim(*,model=TRUE)} and ensured that 1208 : \code{"twinstim"} objects always have the same components (some may 1209 : be \code{NULL}). 1210 : 1211 : \item \code{animate.epidata} works again with the 1212 : \CRANpkg{animation} package (\code{ani.options("outdir")} was 1213 : removed in version 2.3) 1214 : 1215 : \item For \code{hhh4} models with random effects, \code{confint()} 1216 : only worked if argument \code{parm} was specified. 1217 : 1218 : \item Computing one-sided AIC weights by simulation for \code{twinSIR} 1219 : models with more than 2 epidemic covariates now is more robust (by 1220 : rescaling the objective function for the quadratic programming 1221 : solver) and twice as fast (due to code optimization). 1222 : 1223 : \item \code{simulate.twinstim(..., rmarks=NULL)} can now handle the 1224 : case where \code{data} has no events within the simulation period 1225 : (by sampling marks from all of \code{data$events}). 1226 : 1227 : \item The \code{lambda.h} values of simulated events in 1228 : \code{"simEpidataCS"} objects were wrong if the model contained an 1229 : endemic intercept (which is usually the case). 1230 : 1231 : \item Automatic choice of color breaks in the \code{animate}-method 1232 : for class \code{"sts"} now also works for incidence maps (i.e., with 1233 : a \code{population} argument). 1234 : 1235 : \item \code{hhh4()} did not allow the use of nonparametric 1236 : neighbourhood weights \code{W_np()} with \code{maxlag=2}. 1237 : 1238 : \item \code{scores()} did not work for multivariate \code{oneStepAhead()} 1239 : predictions if both \code{individual=TRUE} and \code{sign=TRUE}, and 1240 : it could not handle a \code{oneStepAhead()} prediction of only one 1241 : time point. Furthermore, the \code{"sign"} column of 1242 : \code{scores(..., sign=TRUE)} was wrong (reversed). 1243 : 1244 : \item For \code{"epidataCS"} with only one event, 1245 : \code{epidataCSplot_space()} did not draw the point. 1246 : 1247 : \item The trivial (identity) call 1248 : \code{aggregate(stsObj, nfreq=stsObj@freq)} did not work. 1249 : } 1250 : } 1251 : 1252 : } 1253 : 1254 : 1255 : 1256 : \section{Changes in surveillance version 1.8-0 (2014-06-16)}{ 1257 : 1258 : \subsection{PACKAGE INFRASTRUCTURE}{ 1259 : \itemize{ 1260 : \item Package \pkg{surveillance} now depends on newer versions of 1261 : packages \CRANpkg{sp} (>= 1.0-15), \CRANpkg{polyCub} (>= 0.4-2), 1262 : and \CRANpkg{spatstat} (>= 1.36-0). 1263 : The \R packages \pkg{INLA} and \CRANpkg{runjags} are now suggested 1264 : to support a new outbreak detection algorithm (\code{boda()}) and 1265 : the new \code{nowcast()}ing procedure, respectively. 1266 : The \R packages for \CRANpkg{lattice}, \CRANpkg{grid}, 1267 : \CRANpkg{gridExtra}, and \CRANpkg{scales} are suggested for 1268 : added visualization facilities. 1269 : 1270 : \item More tests have been implemented to ensure package integrity. 1271 : We now use \CRANpkg{testthat} instead of the outdated package 1272 : \CRANpkg{RUnit}. 1273 : 1274 : \item \code{hhh4()} fits now have class \code{"hhh4"} instead of 1275 : \code{"ah4"}, for consistency with \code{twinstim()}, 1276 : \code{twinSIR()}, and to follow the common convention (cp. \code{lm()}). 1277 : Standard S3-methods for the old \code{"ah4"} name are still 1278 : available for backwards compatibility but may be removed in the 1279 : future. 1280 : 1281 : \item Plot variants for \code{"sts"} objects have been cleaned up: 1282 : The functions implementing the various plot types 1283 : (\code{stsplot_*}, previously named \code{plot.sts.*}) 1284 : are now exported and documented separately. 1285 : } 1286 : } 1287 : 1288 : \subsection{NEW FEATURES}{ 1289 : \itemize{ 1290 : \item The \code{nowcast} procedure has been completely re-written to 1291 : handle the inherit right-truncation of reporting data (best 1292 : visualized as a reporting triangle). The new code implements the 1293 : generalized-Dirichlet and the hierarchical Bayesian approach described in 1294 : \enc{Höhle}{Hoehle} and an der Heiden (2014). No backwards 1295 : compatibility to the old nowcasting procedure is given. 1296 : 1297 : \item The package contains a new monitoring function 1298 : \code{boda}. This is a first experimental surveillance 1299 : implementation of the Bayesian Outbreak Detection Algorithm (BODA) 1300 : proposed in Manitz and \enc{Höhle}{Hoehle} (2012). The function 1301 : relies on the non-CRAN package \pkg{INLA}, which has to be installed first 1302 : in order to use this function. Expect initial problems. 1303 : 1304 : 1305 : \item New \code{toLatex}-method for \code{"sts"} objects. 1306 : 1307 : \item The new function \code{stsplot_space()} provides an improved 1308 : map plot of disease incidence for \code{"sts"} objects aggregated 1309 : over time. It corresponds to the new \code{type = observed ~ unit} 1310 : of the \code{stsplot}-method, and supersedes 1311 : \code{type = observed ~ 1|unit} (except for alarm shading). 1312 : 1313 : \item An \code{animate()}-method for the \code{"sts"} class provides 1314 : a new implementation for animated maps (superseding the \code{plot} 1315 : \code{type=observed ~ 1 | unit * time}) with an optional evolving 1316 : time series plot below the map. 1317 : 1318 : \item The \code{plot()} method for \code{"sts"} objects with epochs as 1319 : dates is now made more flexible by introducing the arguments 1320 : \code{xaxis.tickFreq}, \code{xaxis.labelFreq} and 1321 : \code{xaxis.labelFormat}. These allow the specification of 1322 : tick-marks and labelling based on \code{strftime} compatible 1323 : conversion codes -- independently if data are daily, weekly, monthly, 1324 : etc. As a consequence, the old argument \code{xaxis.years} is 1325 : removed. See \code{stsplot_time()} for more information. 1326 : 1327 : 1328 : \item Inference for neighbourhood weights in \code{hhh4()} models: 1329 : \code{W_powerlaw()} and \code{W_np()} both implement weights 1330 : depending on the order of neighbourhood between regions, a power-law 1331 : decay and nonparametric weights, i.e., unconstrained estimation of 1332 : individual weights for each neighbourhood order. 1333 : 1334 : \item \code{hhh4()} now allows the inclusion of multiplicative 1335 : offsets also in the epidemic components \code{"ar"} and \code{"ne"}. 1336 : 1337 : \item \code{hhh4()} now has support for \code{lag != 1} in the 1338 : autoregressive and neighbor-driven components. The applied lags are 1339 : stored as component \code{"lags"} of the return value (previously 1340 : there was an unused component \code{"lag"} which was always 1 and 1341 : has been removed now). 1342 : 1343 : \item \code{oneStepAhead()}: 1344 : \itemize{ 1345 : \item Added support for parallel computation of predictions using 1346 : \code{mclapply()} from package \pkg{parallel}. 1347 : \item New argument \code{type} with a new \code{type} 1348 : \code{"first"} to base all subsequent one-step-ahead predictions 1349 : on a single initial fit. 1350 : \item Nicer interpretation of \code{verbose} levels, and 1351 : \code{txtProgressBar()}. 1352 : } 1353 : 1354 : \item The \code{plot()}-method for fitted \code{hhh4()} objects now 1355 : offers three additional types of plots: component seasonality, 1356 : seasonal or time course of the dominant eigenvalue, and maps 1357 : of estimated random intercepts. It is documented and more customizable. 1358 : Note that argument order and some names have changed: 1359 : \code{i} -> \code{units}, \code{title} -> \code{names}. 1360 : 1361 : \item (Deviance) \code{residuals()}-method for fitted \code{hhh4()} 1362 : models. 1363 : 1364 : \item Added methods of \code{vcov()} and \code{nobs()} 1365 : for the \code{"hhh4"} class. For \code{AIC()} and \code{BIC()}, the 1366 : default methods work smoothly now (due to changes to 1367 : \code{logLik.hhh4()} documented below). 1368 : 1369 : 1370 : \item New predefined interaction functions for \code{twinstim()}: 1371 : \code{siaf.student()} implements a \eqn{t}-kernel for the distance 1372 : decay, and \code{siaf.step()} and \code{tiaf.step()} provide step 1373 : function kernels (which may also be invoked by specifying the 1374 : vector of knots as the \code{siaf} or \code{tiaf} argument in 1375 : \code{twinstim}). 1376 : 1377 : \item Numerical integration over polygonal domains in the \code{F} 1378 : and \code{Deriv} components of \code{siaf.powerlaw()} and 1379 : \code{siaf.powerlawL()} is much faster and more accurate now since 1380 : we use the new \code{polyCub.iso()} instead of \code{polyCub.SV()} 1381 : from package \CRANpkg{polyCub}. 1382 : 1383 : \item New \code{as.stepfun()}-method for \code{"epidataCS"} objects. 1384 : 1385 : \item \code{plot.epidataCS()}: 1386 : \itemize{ 1387 : \item The spatial plot has new arguments to automatically add 1388 : legends to the plot: \code{legend.types} and \code{legend.counts}. 1389 : It also gained an \code{add} argument. 1390 : \item The temporal plot now supports type-specific sub-histograms, 1391 : additional lines for the cumulative number of events, and an 1392 : automatic legend. 1393 : } 1394 : 1395 : \item The new function \code{glm_epidataCS()} can be used to fit 1396 : an endemic-only \code{twinstim()} via \code{glm()}. 1397 : This is mainly provided for testing purposes since wrapping into 1398 : \code{glm} usually takes longer. 1399 : } 1400 : } 1401 : 1402 : \subsection{MAJOR CHANGES}{ 1403 : \itemize{ 1404 : \item Fitted \code{hhh4()} objects no longer contain the associated 1405 : \code{"sts"} data twice: it is now only stored as \code{$stsObj} 1406 : component, the hidden duplicate in \code{$control$data$.sts} was 1407 : dropped, which makes fitted objects substantially smaller. 1408 : 1409 : \item \code{logLik.hhh4()} always returns an object of class 1410 : \code{"logLik"} now; for random effects models, its \code{"df"} 1411 : attribute is \code{NA_real_}. Furthermore, for non-convergent fits, 1412 : \code{logLik.hhh4()} gives a warning and returns \code{NA_real_}; 1413 : previously, an error was thrown in this case. 1414 : 1415 : \item \code{oneStepAhead()}: 1416 : \itemize{ 1417 : \item Default of \code{tp[2]} is now the penultimate time point of 1418 : the fitted subset (not of the whole \code{stsObj}). 1419 : \item \code{+1} on rownames of \code{$pred} (now the same as for 1420 : \code{$observed}). 1421 : } 1422 : 1423 : \item The optional \code{"twinstim"} result components 1424 : \code{fisherinfo}, \code{tau}, and \code{functions} are always 1425 : included. They are set to \code{NULL} if they are not applicable 1426 : instead of missing completely (as before), such that all 1427 : \code{"twinstim"} objects have the same list structure. 1428 : 1429 : \item \code{iafplot()} ... 1430 : \itemize{ 1431 : \item invisibly returns a matrix containing the plotted 1432 : values of the (scaled) interaction function (and the confidence 1433 : interval as an attribute). 1434 : Previously, nothing (\code{NULL}) was returned. 1435 : \item detects a type-specific interaction function and by default 1436 : uses \code{types=1} if it is not type-specific. 1437 : \item has better default axis ranges. 1438 : \item adapts to the new step function kernels (with new arguments 1439 : \code{verticals} and \code{do.points}). 1440 : \item supports logarithmic axes (via new \code{log} argument 1441 : passed on to \code{plot.default}). 1442 : \item optionally respects \code{eps.s} and \code{eps.t}, 1443 : respectively (by the new argument \code{truncated}). 1444 : \item now uses \code{scaled=TRUE} by default. 1445 : } 1446 : 1447 : \item The argument \code{colTypes} of 1448 : \code{plot.epidataCS(,aggregate="space")} is deprecated (use 1449 : \code{points.args$col} instead). 1450 : 1451 : \item The events in an \code{"epidataCS"} object no longer have 1452 : a reserved \code{"ID"} column. 1453 : } 1454 : } 1455 : 1456 : \subsection{MINOR CHANGES}{ 1457 : \itemize{ 1458 : \item \code{hhh4()} now stores the runtime just like \code{twinstim()}. 1459 : \item Take \code{verbose=FALSE} in \code{hhh4()} more seriously. 1460 : \item \code{hhh4()} issues a \code{warning()} if non-convergent. 1461 : \item The following components of a \code{hhh4()} fit now have names: 1462 : \code{"se"}, \code{"cov"}, \code{"Sigma"}. 1463 : \item The new default for \code{pit()} is to produce the plot. 1464 : 1465 : \item The \code{twinstim()} argument \code{cumCIF} now defaults to 1466 : \code{FALSE}. 1467 : \item \code{update.twinstim()} no longer uses recursive 1468 : \code{modifyList()} for the \code{control.siaf} argument. Instead, 1469 : the supplied new list elements (\code{"F"}, \code{"Deriv"}) 1470 : completely replace the respective elements from the original 1471 : \code{control.siaf} specification. 1472 : \item \code{siaf.lomax()} is now defunct (it has been deprecated 1473 : since version 1.5-2); use \code{siaf.powerlaw()} instead. 1474 : \item Allow the default \code{adapt}ive bandwidth to be specified via the 1475 : \code{F.adaptive} argument in \code{siaf.gaussian()}. 1476 : \item Unsupported options (\code{logpars=FALSE}, 1477 : \code{effRangeProb}) have been dropped from \code{siaf.powerlaw()} 1478 : and \code{siaf.powerlawL()}. 1479 : \item More rigorous checking of \code{tiles} in 1480 : \code{simulate.twinstim()} and \code{intensityplot.twinstim}. 1481 : 1482 : \item \code{as.epidataCS()} gained a \code{verbose} argument. 1483 : \item \code{animate.epidataCS()} now by default does not draw 1484 : influence regions (\code{col.influence=NULL}), is \code{verbose} if 1485 : \code{interactive()}, and ignores \code{sleep} on non-interactive 1486 : devices. 1487 : 1488 : \item The \code{multiplicity}-generic and its default method have 1489 : been integrated into \CRANpkg{spatstat} and are imported from there. 1490 : } 1491 : } 1492 : 1493 : \subsection{DATA}{ 1494 : \itemize{ 1495 : \item The polygon representation of Germany's districts ( 1496 : \code{system.file("shapes", "districtsD.RData", package="surveillance")} 1497 : ) has been simplified further. The union of \code{districtsD} is 1498 : used as observation window \code{W} in \code{data("imdepi")}. The 1499 : exemplary \code{twinstim()} fit \code{data("imdepifit")} has been 1500 : updated as well. Furthermore, \code{row.names(imdepi$events)} have 1501 : been reset (chronological index), and numerical differences 1502 : in \code{imdepi$events$.influenceRegion} are due to changes in 1503 : \CRANpkg{polyclip} 1.3-0. 1504 : 1505 : \item The Campylobacteriosis data set \code{campyDE}, where absolute 1506 : humidity is used as concurrent covariate to adjust the outbreak 1507 : detection is added to the package to exemplify \code{boda()}. 1508 : 1509 : \item New \code{data("measlesWeserEms")} (of class \code{"sts"}), 1510 : a corrected version of \code{data("measles.weser")} (of the old 1511 : \code{"disProg"} class). 1512 : } 1513 : } 1514 : 1515 : \subsection{BUG FIXES}{ 1516 : \itemize{ 1517 : \item Fixed a bug in \code{LRCUSUM.runlength} where computations 1518 : were erroneously always done under the in-control parameter 1519 : \code{mu0} instead of \code{mu}. 1520 : 1521 : \item Fixed a bug during alarm plots (\code{stsplot_alarm()}), 1522 : where the use of \code{alarm.symbol} was ignored. 1523 : 1524 : \item Fixed a bug in \code{algo.glrnb} where the overdispersion 1525 : parameter \code{alpha} from the automatically fitted \code{glm.nb} 1526 : model (fitted by \code{estimateGLRNbHook}) was incorrectly taken as 1527 : \code{mod[[1]]$theta} instead of \code{1/mod[[1]]$theta}. The error is 1528 : due to a different parametrization of the negative binomial 1529 : distribution compared to the parametrization in \enc{Höhle}{Hoehle} 1530 : and Paul (2008). 1531 : 1532 : \item The score function of \code{hhh4()} was wrong when fitting 1533 : endemic-only models to a \code{subset} including the first time 1534 : point. This led to \dQuote{false convergence}. 1535 : 1536 : \item \code{twinstim()} did not work without an endemic offset if 1537 : \code{is.null(optim.args$par)}. 1538 : } 1539 : } 1540 : 1541 : } 1542 : 1543 : 1544 : 1545 : \section{Changes in surveillance version 1.7-0 (2013-11-19)}{ 1546 : 1547 : \subsection{SYNOPSIS}{ 1548 : \itemize{ 1549 : \item Package \CRANpkg{gpclib} is no longer necessary for the 1550 : construction of \code{"epidataCS"}-objects. Instead, we make use of 1551 : the new dedicated package \CRANpkg{polyclip} (licensed under the 1552 : BSL) for polygon clipping operations (via 1553 : \code{spatstat::intersect.owin()}). This results in a slightly 1554 : different \code{$events$.influenceRegion} component of 1555 : \code{"epidataCS"} objects, one reason being that 1556 : \pkg{polyclip} uses integer arithmetic. 1557 : Change of \code{twinstim()} estimates for a newly created 1558 : \code{"epidataCS"} compared with the same data prepared in earlier 1559 : versions should be very small (e.g., for \code{data("imdepifit")} 1560 : the mean relative difference of coefficients is 3.7e-08, while the 1561 : \code{logLik()} is \code{all.equal()}). 1562 : As an alternative, \pkg{rgeos} can still be chosen to do the polygon 1563 : operations. 1564 : 1565 : \item The \pkg{surveillance}-internal code now depends on 1566 : \R >= 2.15.2 (for \code{nlminb()} \code{NA} fix of PR#15052, 1567 : consistent \code{rownames(model.matrix)} of PR#14992, 1568 : \code{paste0()}, \code{parallel::mcmapply()}). However, the 1569 : required recent version of \pkg{spatstat} (1.34-0, for 1570 : \pkg{polyclip}) actually needs \R >= 3.0.2, which therefore also 1571 : applies to \pkg{surveillance}. 1572 : 1573 : \item Some minor new features and changes are documented below. 1574 : } 1575 : } 1576 : 1577 : \subsection{NEW FEATURES}{ 1578 : \itemize{ 1579 : \item Functions \code{unionSpatialPolygons()} and 1580 : \code{intersectPolyCircle()} are now exported. Both are wrappers 1581 : around functionality from different packages supporting polygon 1582 : operations: for determining the union of all subpolygons of a 1583 : \code{"SpatialPolygons"} object, and the intersection of a polygonal 1584 : and a circular domain, respectively. 1585 : \item \code{discpoly()} moved back from \CRANpkg{polyCub} 1586 : to \pkg{surveillance}. 1587 : } 1588 : } 1589 : 1590 : \subsection{MINOR CHANGES}{ 1591 : \itemize{ 1592 : \item \pkg{surveillance} now Depends on \CRANpkg{polyCub} (>= 0.4-0) 1593 : and not only Imports it (which avoids \code{::}-references in 1594 : .GlobalEnv-made functions). 1595 : \item Nicer default axis labels for \code{iafplot()}. 1596 : \item For \code{twinstim()}, the default is now to \code{trace} 1597 : every iteration instead of every fifth only. 1598 : \item Slightly changed default arguments for \code{plot.epidata()}: 1599 : \code{lwd} (1->2), \code{rug.opts} (\code{col} is set according to 1600 : \code{which.rug}) 1601 : \item \code{twinstim()} saves the vector of \code{fixed} 1602 : coefficients as part of the returned \code{optim.args} component, 1603 : such that these will again be held fixed upon \code{update()}. 1604 : \item The \code{plot}-method for \code{hhh4()}-fits allows for 1605 : region selection by name. 1606 : } 1607 : } 1608 : 1609 : } 1610 : 1611 : 1612 : 1613 : \section{Changes in surveillance version 1.6-0 (2013-09-03)}{ 1614 : 1615 : \subsection{SYNOPSIS}{ 1616 : \itemize{ 1617 : \item The \code{polyCub}-methods for cubature over polygonal domains 1618 : have been moved to the new dedicated package \CRANpkg{polyCub}, 1619 : since they are of a rather general use. The \code{discpoly()} function 1620 : has also been moved to that package. 1621 : 1622 : \item As a replacement for the license-restricted \pkg{gpclib} package, 1623 : the \pkg{rgeos} package is now used by default 1624 : (\code{surveillance.options(gpclib=FALSE)}) in generating 1625 : \code{"epidataCS"} (polygon intersections, slightly slower). 1626 : Therefore, when installing \pkg{surveillance} version 1.6-0, the 1627 : system requirements for \CRANpkg{rgeos} have to be met, i.e., GEOS 1628 : must be available on the system. On Linux variants this means 1629 : installing \file{libgeos} (\file{libgeos-dev}). 1630 : 1631 : \item The improved Farrington method described in Noufaily et al. 1632 : (2012) is now available as function \code{farringtonFlexible()}. 1633 : 1634 : \item New handling of reference dates in \code{algo.farrington()} for 1635 : \code{"sts"} objects with \code{epochAsDate=TRUE}. Instead of always 1636 : going back in time to the next Date in the \code{"epoch"} slot, the 1637 : function now determines the \emph{closest} Date. Note that this 1638 : might lead to slightly different results for the upperbound 1639 : compared to previously. Furthermore, the functionality is only 1640 : tested for weekly data (monthly data are experimental). The same 1641 : functionality applies to \code{farringtonFlexible()}. 1642 : 1643 : \item To make the different retrospective modelling frameworks of 1644 : the \pkg{surveillance} package jointly applicable, it is now possible 1645 : to convert (aggregate) \code{"epidataCS"} 1646 : (continuous-time continuous-space data) into an \code{"sts"} object 1647 : (multivariate time series of counts) by the new function 1648 : \code{epidataCS2sts}. 1649 : 1650 : \item Simulation from \code{hhh4} models has 1651 : been re-implemented, which fixes a bug and makes it more flexible 1652 : and compatible with a wider class of models. 1653 : 1654 : \item The \code{map}-slot of the \code{"sts"} class now requires 1655 : \code{"SpatialPolygons"} (only) instead of 1656 : \code{"SpatialPolygonsDataFrame"}. 1657 : 1658 : \item Re-implementation of \code{oneStepAhead()} for 1659 : \code{hhh4}-models with a bug fix, some speed-up and more options. 1660 : 1661 : \item Slight speed-up for \code{hhh4()} fits, 1662 : e.g., by more use of \code{.rowSums()} and \code{.colSums()}. 1663 : 1664 : \item Crucial speed-up for \code{twinstim()} fits by more efficient 1665 : code: \code{mapply}, dropped clumsy \code{for}-loop in 1666 : \code{fisherinfo}, new argument \code{cores} for parallel 1667 : computing via forking (not available on Windows). 1668 : 1669 : \item Some further new features, minor changes, and bug fixes are 1670 : described in the following subsections. 1671 : } 1672 : } 1673 : 1674 : \subsection{NEW FEATURES}{ 1675 : \itemize{ 1676 : \item Using \code{tiaf.exponential()} in a \code{twinstim()} now works 1677 : with \code{nTypes=1} for multi-type data. 1678 : 1679 : \item A legend can be added automatically in \code{iafplot()}. 1680 : 1681 : \item The \code{untie} methods are now able to produce jittered points 1682 : with a required minimum separation (\code{minsep}). 1683 : 1684 : \item \code{simulate.ah4} gained a \code{simplify} argument. 1685 : 1686 : \item New \code{update}-method for fitted \code{hhh4}-models 1687 : (class \code{"ah4"}). 1688 : 1689 : \item \code{oneStepAhead()} has more options: specify time range 1690 : (not only start), choose type of start values, \code{verbose} 1691 : argument. 1692 : 1693 : \item \code{pit()} allows for a list of predictive distributions 1694 : (\code{pdistr}), one for each observation \code{x}. 1695 : 1696 : \item New spatial auxiliary function \code{polyAtBorder()} 1697 : indicating polygons at the border (for a \code{"SpatialPolygons"} 1698 : object). 1699 : 1700 : \item \code{animate.epidataCS()} allows for a \code{main} title and 1701 : can show a progress bar. 1702 : } 1703 : } 1704 : 1705 : \subsection{MINOR CHANGES}{ 1706 : \itemize{ 1707 : \item Changed parametrization of \code{zetaweights()} and completed 1708 : its documentation (now no longer marked as experimental). 1709 : 1710 : \item \code{twinstim(...)$converged} is \code{TRUE} if 1711 : the optimization routine converged (as before) but contains 1712 : the failure message otherwise. 1713 : 1714 : \item Increased default \code{maxit} for the Nelder-Mead optimizer 1715 : in \code{hhh4} from 50 to 300, and removed default artificial lower 1716 : bound (-20) on intercepts of epidemic components. 1717 : 1718 : \item Renamed returned list from \code{oneStepAhead} 1719 : (mean->pred, x->observed, params->coefficients, 1720 : variances->Sigma.orig) for consistency, and 1721 : \code{oneStepAhead()$psi} is only non-\code{NULL} if we have a 1722 : NegBin model. 1723 : 1724 : \item Argument order of \code{pit()} has changed, which is also 1725 : faster now and got additional arguments \code{relative} and 1726 : \code{plot}. 1727 : 1728 : \item \code{twinstim(...)$runtime} now contains the complete 1729 : information from \code{proc.time()}. 1730 : } 1731 : } 1732 : 1733 : \subsection{BUG FIXES}{ 1734 : \itemize{ 1735 : \item Fixed a bug in function 1736 : \code{refvalIdxByDate()} which produced empty reference values 1737 : (i.e. \code{NA}s) in case the Date entries of \code{epoch} were not 1738 : mondays. Note: The function works by subtracting \code{1:b} years from the 1739 : date of the range value and then takes the span \code{-w:w} around this 1740 : value. For each value in this set it is determined whether the 1741 : closest date in the epoch slot is obtained by going forward or 1742 : backward. Note that this behaviour is now slightly changed compared 1743 : to previously, where we \emph{always} went back in time. 1744 : 1745 : \item \code{algo.farrington()}: Reference values too far back in time 1746 : and hence not being in the \code{"epoch"} slot of the \code{"sts"} 1747 : object are now ignored (previously the resulting \code{NA}s caused the 1748 : function to halt). A warning is displayed in this case. 1749 : 1750 : \item \code{hhh4}: The entry \eqn{(5,6)} of the marginal Fisher 1751 : information matrix in models with random intercepts in all three 1752 : components was incorrect. 1753 : If \code{nlminb} was used as optimizer for the variance parameters 1754 : (using the negative marginal Fisher information as Hessian), this 1755 : could have caused false convergence (with warning) or minimally 1756 : biased convergence (without warning). 1757 : As a consequence, the \code{"Sigma.cov"} component of the 1758 : \code{hhh4()} result, which is the inverse of the marginal Fisher 1759 : information matrix at the MLE, was also wrong. 1760 : 1761 : \item \code{untie.matrix()} could have produced jittering greater than 1762 : the specified \code{amount}. 1763 : 1764 : \item \code{hhh4}: if there are no random intercepts, the 1765 : redundant \code{updateVariance} steps are no longer evaluated. 1766 : 1767 : \item \code{update.twinstim()} did not work with 1768 : \code{optim.args=..1} (e.g., if updating a list of models with lapply). 1769 : Furthermore, if adding the \code{model} component only, the 1770 : \code{control.siaf} and \code{optim.args} components were lost. 1771 : 1772 : \item \code{earsC} should now also work with multivariate 1773 : \code{sts} time-series objects. 1774 : 1775 : \item The last week in \code{data(fluBYBW)} (row index 417) has been 1776 : removed. It corresponded to week 1 in year 2009 and was wrong 1777 : (an artifact, filled with zero counts only). 1778 : Furthermore, the regions in \code{@map} are now ordered the same as 1779 : in \code{@observed}. 1780 : 1781 : \item Fixed start value of the overdispersion parameter in 1782 : \code{oneStepAhead} (must be on internal log-scale, not 1783 : reparametrized as returned by \code{coef()} by default). 1784 : 1785 : \item When subsetting \code{"sts"} objects in time, \code{@start} was 1786 : updated but not \code{@epoch}. 1787 : 1788 : \item \code{pit} gave \code{NA} results if any \code{x[-1]==0}. 1789 : 1790 : \item The returned \code{optim.args$par} vector in \code{twinstim()} 1791 : was missing any fixed parameters. 1792 : 1793 : \item \code{hhh4()} did not work with time-varying neighbourhood 1794 : weights due to an error in the internal \code{checkWeightsArray()} 1795 : function. 1796 : } 1797 : } 1798 : 1799 : } 1800 : 1801 : 1802 : 1803 : \section{Changes in surveillance version 1.5-4 (2013-04-21)}{ 1804 : 1805 : \subsection{SYNOPSIS}{ 1806 : \itemize{ 1807 : \item Fixed obsolete \code{.path.package()} calls. 1808 : \item Small corrections in the documentation. 1809 : \item \code{update.twinstim()} performs better in preserving 1810 : the original initial values of the parameters. 1811 : \item New pre-defined spatial interaction function 1812 : \code{siaf.powerlawL()}, which implements a _L_agged power-law 1813 : kernel, i.e. accounts for uniform short-range dispersal. 1814 : } 1815 : } 1816 : 1817 : } 1818 : 1819 : 1820 : 1821 : \section{Changes in surveillance version 1.5-2 (2013-03-15)}{ 1822 : 1823 : \subsection{SYNOPSIS}{ 1824 : \itemize{ 1825 : \item New method for outbreak detection: \code{earsC} 1826 : (CUSUM-method described in the CDC Early Aberration Reporting 1827 : System, see Hutwagner et al, 2003). 1828 : \item New features and minor bug fixes for the "\code{twinstim}" 1829 : part of the package (see below). 1830 : \item Yet another p-value formatting function \code{formatPval()} 1831 : is now also part of the \pkg{surveillance} package. 1832 : \item \code{polyCub.SV()} now also accepts objects of classes 1833 : \code{"Polygon"} and \code{"Polygons"} for convenience. 1834 : \item \code{siaf.lomax} is deprecated and replaced by 1835 : \code{siaf.powerlaw} (re-parametrization). 1836 : } 1837 : } 1838 : 1839 : \subsection{NEW FEATURES (\code{twinstim()}-related)}{ 1840 : \itemize{ 1841 : \item The temporal \code{plot}-method for class \code{"epidataCS"} 1842 : now understands the \code{add} parameter to add the histogram to an 1843 : existing plot window, and auto-transforms the \code{t0.Date} 1844 : argument using \code{as.Date()} if necessary. 1845 : \item \code{nobs()} methods for classes \code{"epidataCS"} and 1846 : \code{"twinstim"}. 1847 : \item New argument \code{verbose} for \code{twinstim()} which, if 1848 : set to \code{FALSE}, disables the printing of information messages 1849 : during execution. 1850 : \item New argument \code{start} for \code{twinstim()}, where (some) 1851 : initial parameter values may be provided, which overwrite those in 1852 : \code{optim.args$par}, which is no longer required (as a naive 1853 : default, a crude estimate for the endemic intercept and zeroes for 1854 : the other parameters are used). 1855 : \item Implemented a wrapper \code{stepComponent()} for \code{step()} 1856 : to perform algorithmic component-specific model selection in 1857 : \code{"twinstim"} models. This also required the implementation of 1858 : suitable \code{terms()} and \code{extractAIC()} methods. The single-step 1859 : methods \code{add1()} and \code{drop1()} are also available. 1860 : \item The \code{update.twinstim()} method now by default uses the 1861 : parameter estimates from the previous model as initial values for 1862 : the new fit (new argument \code{use.estimates = TRUE}). 1863 : \item \code{as.epidataCS()} checks for consistency of the area of 1864 : \code{W} and the (now really obligatory) area column in 1865 : \code{stgrid}. 1866 : \item \code{simulate.twinstim()} now by default uses the previous 1867 : \code{nCircle2Poly} from the \code{data} argument. 1868 : \item \code{direction} argument for \code{untie.epidataCS()}. 1869 : \item The \code{toLatex}-method for \code{"summary.twinstim"} got 1870 : different defaults and a new argument \code{eps.Pvalue}. 1871 : \item New \code{xtable}-method for \code{"summary.twinstim"} for 1872 : printing the covariate effects as risk ratios (with CI's and p-values). 1873 : } 1874 : } 1875 : 1876 : \subsection{NEW FEATURES (\code{hhh4()}-related)}{ 1877 : \itemize{ 1878 : \item New argument \code{hide0s} in the \code{plot}-method for class 1879 : \code{"ah4"}. 1880 : \item New argument \code{timevar} for \code{addSeason2formula()}, 1881 : which now also works for long formulae. 1882 : } 1883 : } 1884 : 1885 : } 1886 : 1887 : 1888 : 1889 : \section{Changes in surveillance version 1.5-1 (2012-12-14)}{ 1890 : 1891 : \subsection{SYNOPSIS}{ 1892 : \itemize{ 1893 : \item The \pkg{surveillance} package is again backward-compatible 1894 : with \R version 2.14.0, which is now declared as the minimum 1895 : required version. 1896 : } 1897 : } 1898 : 1899 : } 1900 : 1901 : 1902 : 1903 : \section{Changes in surveillance version 1.5-0 (2012-12-12)}{ 1904 : 1905 : \subsection{SYNOPSIS}{ 1906 : \itemize{ 1907 : \item This new version mainly improves upon the \code{twinstim()} and 1908 : \code{hhh4()} implementations (see below). 1909 : \item As requested by the CRAN team, examples now run faster. Some 1910 : are conditioned on the value of the new package option 1911 : \code{"allExamples"}, which usually defaults to \code{TRUE} (but is 1912 : set to \code{FALSE} for CRAN checking, if timings are active). 1913 : \item Moved some rarely used package dependencies to 1914 : \dQuote{Suggests:}, and also removed some unused packages from there. 1915 : \item Dropped strict dependence on \CRANpkg{gpclib}, which has a 1916 : restricted license, for the \pkg{surveillance} package to be clearly 1917 : GPL-2. Generation of \code{"epidataCS"} objects, which makes use of 1918 : \pkg{gpclib}'s polygon intersection capabilities, now requires prior 1919 : explicit acceptance of the \pkg{gpclib} license via setting 1920 : \code{surveillance.options(gpclib = TRUE)}. Otherwise, 1921 : \code{as.epidataCS()} and \code{simEpidataCS()} may not be used. 1922 : } 1923 : } 1924 : 1925 : \subsection{NEW FEATURES (\code{twinstim()}-related)}{ 1926 : \itemize{ 1927 : \item Speed-up by memoisation of the \code{siaf} cubature (using 1928 : the \CRANpkg{memoise} package). 1929 : \item Allow for \code{nlm}-optimizer (really not recommended). 1930 : \item Allow for \code{nlminb}-specific control arguments. 1931 : \item Use of the expected Fisher information matrix can be disabled 1932 : for \code{nlminb} optimization. 1933 : \item Use of the \code{effRange}-trick can be disabled in 1934 : \code{siaf.gaussian()} and \code{siaf.lomax()}. The default 1935 : \code{effRangeProb} argument for the latter has been changed from 1936 : 0.99 to 0.999. 1937 : \item The \code{twinstim()} argument \code{nCub} has been replaced 1938 : by the new \code{control.siaf} argument list. The old 1939 : \code{nCub.adaptive} indicator became a feature of the 1940 : \code{siaf.gaussian()} generator (named \code{F.adaptive} there) and 1941 : does no longer depend on the \code{effRange} specification, but uses 1942 : the bandwidth \code{adapt*sd}, where the \code{adapt} parameter may be 1943 : specified in the \code{control.siaf} list in the \code{twinstim()} 1944 : call. Accordingly, the components \code{"nCub"} and 1945 : \code{"nCub.adaptive"} have been removed from the result 1946 : of \code{twinstim()}, and are replaced by \code{"control.siaf"}. 1947 : \item The \code{"method"} component of the \code{twinstim()} result 1948 : has been replaced by the whole \code{"optim.args"}. 1949 : \item The new \code{"Deriv"} component of \code{siaf} specifications 1950 : integrates the \dQuote{siaf$deriv} function over a polygonal domain. 1951 : \code{siaf.gaussian()} and \code{siaf.lomax()} use \code{polyCub.SV()} 1952 : (with intelligent \code{alpha} parameters) for this task 1953 : (previously: midpoint-rule with naive bandwidth) 1954 : \item \code{scaled} \code{iafplot()} (default \code{FALSE}). The 1955 : \code{ngrid} parameter has been renamed to \code{xgrid} and is more 1956 : general. 1957 : \item The \code{"simulate"} component of \code{siaf}'s takes an 1958 : argument \code{ub} (upperbound for distance from the source). 1959 : \item Numerical integration of spatial interaction functions with an 1960 : \code{Fcircle} trick is more precise now; this slightly changes 1961 : previous results. 1962 : \item New \acronym{S3}-generic \code{untie()} with a method for the 1963 : \code{"epidataCS"} class (to randomly break tied event times and/or 1964 : locations). 1965 : \item Renamed \code{N} argument of \code{polyCub.SV()} to 1966 : \code{nGQ}, and \code{a} to \code{alpha}, which both have new 1967 : default values. 1968 : The optional polygon rotation proposed by Sommariva & 1969 : Vianello is now also implemented (based on the corresponding MATLAB 1970 : code) and available as the new \code{rotation} argument. 1971 : \item The \code{scale.poly()} method for \code{"gpc.poly"} is now 1972 : available as \code{scale.gpc.poly()}. The default return class of 1973 : \code{discpoly()} was changed from \code{"gpc.poly"} to 1974 : \code{"Polygon"}. 1975 : \item An \code{intensityplot()}-method is now also implemented for 1976 : \code{"simEpidataCS"}. 1977 : } 1978 : } 1979 : 1980 : \subsection{NEW FEATURES (\code{hhh4()}-related)}{ 1981 : \itemize{ 1982 : \item Significant speed-up (runs about 6 times faster now, amongst 1983 : others by many code optimizations and by using sparse \CRANpkg{Matrix} 1984 : operations). 1985 : \item \code{hhh4()} optimization routines can now be customized for 1986 : the updates of regression and variance parameters seperately, which 1987 : for instance enables the use of Nelder-Mead for the variance 1988 : updates, which seems to be more stable/robust as it does 1989 : not depend on the inverse Fisher info and is usually faster. 1990 : \item The \code{ranef()} extraction function for \code{"ah4"} objects 1991 : gained a useful \code{tomatrix} argument, which re-arranges random 1992 : effects in a unit x effect matrix (also transforming CAR effects 1993 : appropriately). 1994 : \item Generalized \code{hhh4()} to also capture parametric 1995 : neighbourhood weights (like a power-law decay). The new function 1996 : \code{nbOrder()} determines the neighbourhood order matrix 1997 : from a binary adjacency matrix (depends on package \CRANpkg{spdep}). 1998 : \item New argument \code{check.analyticals} (default \code{FALSE}) 1999 : mainly for development purposes. 2000 : } 2001 : } 2002 : 2003 : \subsection{BUG FIXES}{ 2004 : \itemize{ 2005 : \item Fixed sign of observed Fisher information matrix in 2006 : \code{twinstim}. 2007 : \item Simulation from the Lomax kernel is now correct (via polar 2008 : coordinates). 2009 : \item Fixed wrong Fisher information entry for the overdispersion 2010 : parameter in \code{hhh4}-models. 2011 : \item Fixed wrong entries in penalized Fisher information wrt the 2012 : combination fixed effects x CAR intercept. 2013 : \item Fixed indexing bug in penalized Fisher calculation in the case 2014 : of multiple overdispersion parameters and random intercepts. 2015 : \item Fixed bug in Fisher matrix calculation concerning the relation 2016 : of unit-specific and random effects (did not work previously). 2017 : \item Improved handling of non-convergent / degenerate solutions during 2018 : \code{hhh4} optimization. This involves using \code{ginv()} from 2019 : package \CRANpkg{MASS}, if the penalized Fisher info is singular. 2020 : \item Correct labeling of overdispersion parameter in 2021 : \code{"ah4"}-objects. 2022 : \item Some control arguments of \code{hhh4()} have more clear 2023 : defaults. 2024 : \item The result of \code{algo.farrington.fitGLM.fast()} now 2025 : additionally inherits from the \code{"lm"} class to avoid warnings 2026 : from \code{predict.lm()} about fake object. 2027 : \item Improved \file{NAMESPACE} imports. 2028 : \item Some additional tiny bug fixes, see the subversion log on 2029 : R-Forge for details. 2030 : } 2031 : } 2032 : 2033 : } 2034 : 2035 : 2036 : 2037 : \section{Changes in surveillance version 1.4-2 (2012-08-17)}{ 2038 : 2039 : \subsection{SYNOPSIS}{ 2040 : \itemize{ 2041 : \item This is mainly a patch release for the \code{twinstim}-related 2042 : functionality of the package. 2043 : \item Apart from that, the package is now again compatible with older 2044 : releases of \R (< 2.15.0) as intended (by defining \code{paste0()} in 2045 : the package namespace if it is not found in \R \pkg{base} at 2046 : installation of the \pkg{surveillance} package). 2047 : } 2048 : } 2049 : 2050 : \subsection{NEW FEATURES}{ 2051 : \itemize{ 2052 : \item Important new \code{twinstim()}-feature: fix parameters 2053 : during optimization. 2054 : \item Useful \code{update}-method for \code{"twinstim"}-objects. 2055 : \item New \code{[[}- and \code{plot}-methods for 2056 : \code{"simEpidataCSlist"}-objects. 2057 : \item \code{simEpidataCS()} received tiny bug fixes and is now 2058 : able to simulate from epidemic-only models. 2059 : \item \code{R0}-method for \code{"simEpidataCS"}-objects (actually 2060 : a wrapper for \code{R0.twinstim()}). 2061 : \item Removed \code{dimyx} and \code{eps} arguments from 2062 : \code{R0.twinstim()}; now uses \code{nCub} and 2063 : \code{nCub.adaptive} from the fitted model and applies the same 2064 : (numerical) integration method. 2065 : \item \code{animate.epidata} is now compatible with the 2066 : \CRANpkg{animation} package. 2067 : \item More thorough documentation of \code{"twinstim"}-related 2068 : functions \emph{including many examples}. 2069 : } 2070 : } 2071 : 2072 : \subsection{BUG FIXES (\code{"twinstim"}-related)}{ 2073 : \itemize{ 2074 : \item \code{nlminb} (instead of \code{optim}'s \code{"BFGS"}) is 2075 : now the default optimizer (as already documented). 2076 : \item The \code{twinstim}-argument \code{nCub} can now be omitted when 2077 : using \code{siaf.constant()} (as documented) and is internally set to 2078 : \code{NA_real_} in this case. Furthermore, \code{nCub} and 2079 : \code{nCub.adaptive} are set to \code{NULL} if there is 2080 : no epidemic component in the model. 2081 : \item \code{toLatex.summary.twinstim} now again works for 2082 : \code{summary(*, test.iaf=FALSE)}. 2083 : \item \code{print}- and \code{summary}-methods for 2084 : \code{"epidataCS"} no longer assume that the \code{BLOCK} index 2085 : starts at 1, which may not be the case when using a subset in 2086 : \code{simulate.twinstim()}. 2087 : \item The \code{"counter"} step function returned by 2088 : \code{summary.epidataCS()} does no longer produce false 2089 : numbers of infectives (they were lagged by one timepoint). 2090 : \item \code{plot.epidataCS()} now resolves \dots correctly and 2091 : the argument \code{colTypes} takes care of a possible 2092 : \code{subset}. 2093 : \item \code{simEpidataCS()} now also works for endemic-only models 2094 : and is synchronised with \code{twinstim()} regarding the 2095 : way how \code{siaf} is numerically integrated (including the 2096 : argument \code{nCub.adaptive}). 2097 : \item Fixed problem with \code{simEpidataCS()} related to missing 2098 : \file{NAMESPACE} imports (and re-exports) of \code{marks.ppp} and 2099 : \code{markformat.default} from \CRANpkg{spatstat}, which are required 2100 : for \code{spatstat::runifpoint()} to work, probably because 2101 : \pkg{spatstat} currently does not register its S3-methods. 2102 : \item Improved error handling in \code{simEpidataCS()}. Removed a 2103 : \code{browser()}-call and avoid potentially infinite loop. 2104 : } 2105 : } 2106 : 2107 : \subsection{BUG FIXES (\code{"twinSIR"}-related)}{ 2108 : \itemize{ 2109 : \item The \code{.allocate} argument of \code{simEpidata()} has 2110 : now a fail-save default. 2111 : \item Simulation without endemic \code{cox()}-terms now works. 2112 : } 2113 : } 2114 : 2115 : \subsection{MINOR CHANGES}{ 2116 : \itemize{ 2117 : \item Simplified \code{imdepi} data to monthly instead of weekly 2118 : intervals in \code{stgrid} for faster examples and reduced package 2119 : size. 2120 : \item The environment of all predefined interaction functions for 2121 : \code{twinstim()} is now set to the \code{.GlobalEnv}. The previous 2122 : behaviour of defining them in the \code{parent.frame()} could have 2123 : led to huge \code{save()}'s of \code{"twinstim"} objects even with 2124 : \code{model=FALSE}. 2125 : \item \code{simulate.twinSIR} only returns a list of epidemics if 2126 : \code{nsim > 1}. 2127 : \item \code{simulate.twinstim} uses \code{nCub} and 2128 : \code{nCub.adaptive} from fitted object as defaults. 2129 : \item Removed the \dots-argument from \code{simEpidataCS()}. 2130 : \item The coefficients returned by \code{simEpidataCS()} are now stored 2131 : in a vector rather than a list for compatibility with 2132 : \code{"twinstim"}-methods. 2133 : \item Argument \code{cex.fun} of \code{intensityplot.twinstim()} now 2134 : defaults to the \code{sqrt} function (as in \code{plot.epidataCS()}. 2135 : } 2136 : } 2137 : } 2138 : 2139 : 2140 : \section{Changes in surveillance version 1.4 (2012-07-26)}{ 2141 : 2142 : \subsection{SYNOPSIS}{ 2143 : \itemize{ 2144 : \item Besides minor bug fixes, additional functionality has entered the package 2145 : and a new attempt is made to finally release a new version on CRAN 2146 : (version 1.3 has not appeared on CRAN), including a proper \file{NAMESPACE}. 2147 : } 2148 : } 2149 : 2150 : \subsection{NEW FEATURES}{ 2151 : \itemize{ 2152 : \item Support for non-parametric back-projection using the function 2153 : \code{backprojNP()} which returns an object of the new 2154 : \code{"stsBP"} class which inherits from \code{"sts"}. 2155 : \item Bayesian nowcasting for discrete time count data is implemented in 2156 : the function \code{nowcast()}. 2157 : \item Methods for cubature over polygonal domains can now also visualize what 2158 : they do. There is also a new quasi-exact method for cubature of the 2159 : bivariate normal density over polygonal domains. The 2160 : function \code{polyCub()} is a wrapper for the different 2161 : methods. 2162 : \item \code{residuals.twinstim()} and \code{residuals.twinSIR()}: 2163 : extract the \dQuote{residual process}, see \cite{Ogata 2164 : (1988)}. The residuals of \code{"twinSIR"} and 2165 : \code{"twinstim"} models may be checked graphically by the new 2166 : function \code{checkResidualProcess()}. 2167 : \item Many new features for the \code{"twinstim"} class of 2168 : self-exciting spatio-temporal point process models (see 2169 : below). 2170 : } 2171 : } 2172 : 2173 : \subsection{NEW FEATURES AND SIGNIFICANT CHANGES FOR \code{"twinstim"}}{ 2174 : \itemize{ 2175 : \item Modified arguments of \code{twinstim()}: new ordering, new 2176 : argument \code{nCub.adaptive}, removed argument 2177 : \code{typeSpecificEndemicIntercept} (which is now specified as part of 2178 : the \code{endemic} formula as \code{(1|type)}). 2179 : \item Completely rewrote the \code{R0}-method (calculate \dQuote{trimmed} and 2180 : \dQuote{untrimmed} \eqn{R_0} values) 2181 : \item The \dQuote{trimmed} \code{R0} values are now part of the 2182 : result of the model fit, as well as \code{bbox(W)}. The 2183 : model evaluation environment is now set as attribute of the 2184 : result if \code{model=TRUE}. 2185 : \item New predefined spatial kernel: the Lomax power law kernel 2186 : \code{siaf.lomax()} 2187 : \item \code{plot}-methods for \code{"twinstim"} 2188 : (\code{intensityplot()} and \code{iafplot()}) 2189 : \item \code{as.epidataCS()} now auto-generates the stop-column if this is missing 2190 : \item \code{print}-method for class \code{"summary.epidataCS"} 2191 : \item \code{[}- and subset-method for \code{"epidataCS"} 2192 : (subsetting \code{...$events}) 2193 : \item \code{plot}-method for \code{"epidataCS"} 2194 : } 2195 : } 2196 : 2197 : \subsection{MINOR CHANGES}{ 2198 : \itemize{ 2199 : \item Improved documentation for the new functionalities. 2200 : \item Updated references. 2201 : \item \code{twinSIR}'s \code{intensityPlot} is now a method of the 2202 : new S3-generic function \code{intensityplot}. 2203 : } 2204 : } 2205 : } 2206 : 2207 : 2208 : \section{Changes in surveillance version 1.3 (2011-04-25)}{ 2209 : \subsection{SYNOPSIS}{ 2210 : \itemize{ 2211 : \item This is a major realease integrating plenty of new code (unfortunately 2212 : not all documented as good as it could be). This includes code 2213 : for the \code{"twinstim"} and the \code{"hhh4"} model. 2214 : The \code{"twinSIR"} class of models has been 2215 : migrated from package \pkg{RLadyBug} to \pkg{surveillance}. 2216 : It may take a while before this version will become available from CRAN. 2217 : For further details see below. 2218 : } 2219 : } 2220 : \subsection{SIGNIFICANT CHANGES}{ 2221 : \itemize{ 2222 : \item Renamed the \code{"week"} slot of the \code{"sts"} S4 class to \code{"epoch"}. 2223 : All saved data objects have accordingly be renamed, but some hazzle 2224 : is to be expected if one you have old \code{"sts"} objects stored in binary 2225 : form. The function \code{convertSTS()} can be used to 2226 : convert such \dQuote{old school} \code{"sts"} objects. 2227 : \item Removed the functions \code{algo.cdc()} and \code{algo.rki()}. 2228 : } 2229 : } 2230 : \subsection{NEW FEATURES}{ 2231 : \itemize{ 2232 : \item Support for \code{"twinSIR"} models (with associated 2233 : \code{"epidata"} objects) as described 2234 : in \enc{Höhle}{Hoehle} (2009) has been moved from package 2235 : \pkg{RLadyBug} to \pkg{surveillance}. 2236 : That means continuous-time discrete-space \acronym{SIR} models. 2237 : \item Support for \code{"twinstim"} models as described in 2238 : \cite{Meyer et al (2012)}. That means continuous-time 2239 : continuous-space infectious disease models. 2240 : \item Added functionality for non-parametric back projection 2241 : (\code{backprojNP()}) and 2242 : now-casting (\code{nowcast()}) based on \code{"sts"} objects. 2243 : } 2244 : } 2245 : } 2246 : 2247 : \section{Changes in surveillance version 1.2-2}{ 2248 : \itemize{ 2249 : \item Replaced the deprecated getSpPPolygonsLabptSlots method with calls 2250 : to the coordinates method when plotting the map slot. 2251 : \item Minor proof-reading of the documentation. 2252 : \item Added an argument \code{"extraMSMargs"} to the algo.hmm function. 2253 : \item Fixed bug in \code{outbreakP()} when having observations equal to zero 2254 : in the beginning. Here, \eqn{\hat{\mu}^{C1}} in (5) of \cite{Frisen et al (2008)} 2255 : is zero and hence the log-based summation in the code failed. 2256 : Changed to product as in the original code, which however might be 2257 : less numerically stable. 2258 : \item Fixed bug in stcd which added one to the calculated index of idxFA and idxCC. 2259 : Thanks to Thais Rotsen Correa for pointing this out. 2260 : } 2261 : } 2262 : 2263 : \section{Changes in surveillance version 1.2-1 (2010-06-10)}{ 2264 : \itemize{ 2265 : \item Added \code{algo.outbreakP()} (\cite{Frisen & Andersson, 2009}) providing a 2266 : semiparametric approach for outbreak detection for Poisson 2267 : distributed variables. 2268 : \item Added a pure \R function for extracting ISO week and year from Date 2269 : objects. This function (isoWeekYear) is only called if "\%G" and "\%V" 2270 : format strings are used on Windows (\code{sessionInfo()[[1]]$os == "mingw32"}) 2271 : as this is not implemented for \code{"format.Date"} on Windows. 2272 : Thanks to Ashley Ford, University of Warwick, UK for identifying 2273 : this Windows specific bug. 2274 : \item For \code{algo.farrington()} a faster fit routine \code{"algo.farrington.fitGLM.fast"} 2275 : has been provided by Mikko Virtanen, National Institute for Health 2276 : and Welfare, Finland. The new function calls \code{glm.fit()} 2277 : directly, which gives a doubling of speed for long series. However, if one 2278 : wants to process the fitted model output some of the GLM routines might 2279 : not work on this output. For backwards compability the argument 2280 : \code{control$fitFun = "algo.farrington.fitGLM"} provides the old (and slow) 2281 : behaviour. 2282 : } 2283 : } 2284 : 2285 : \section{Changes in surveillance version 1.1-6 (2010-05-25)}{ 2286 : \itemize{ 2287 : \item A few minor bug fixes 2288 : \item Small improvements in the C-implementation of the \code{twins()} 2289 : function by Daniel Saban\enc{é}{e}s Bov\enc{é}{e} fixing the segmentation fault 2290 : issue on 64-bit architectures. 2291 : } 2292 : } 2293 : 2294 : \section{Changes in surveillance version 1.1-2 (2009-10-15)}{ 2295 : \itemize{ 2296 : \item Added the functions categoricalCUSUM and LRCUSUM.runlength 2297 : for the CUSUM monitoring of general categorical time series 2298 : (binomial, beta-binomial, multinomial, ordered response, 2299 : Bradley-Terry models). 2300 : \item Added the functions pairedbinCUSUM and pairedbinCUSUM.runlength 2301 : implementing the CUSUM monitoring and run-length computations for 2302 : a paired binary outcome as described in Steiner et al. (1999). 2303 : \item Experimental implementation of the prospective space-time cluster 2304 : detection described in Assuncao and Correa (2009). 2305 : \item Added a \code{demo("biosurvbook")} containing the code of an upcoming 2306 : book chapter on how to use the surveillance package. This 2307 : contains the description of ISO date use, negative binomial CUSUM, 2308 : run-length computation, etc. From an applicational point of view 2309 : the methods are illustrated by Danish mortality monitoring. 2310 : \item Fixed a small bug in algo.cdc found by Marian Talbert Allen 2311 : which resulted in the control\$m argument being ignored. 2312 : \item The constructor of the sts class now uses the argument 2313 : \code{"epoch"} instead of weeks to make clearer that also 2314 : daily, monthly or other data can be handled. 2315 : \item Added additional epochAsDate slot to sts class. Modified 2316 : plot functions so they can handle ISO weeks. 2317 : \item algo.farrington now also computes quantile and median of 2318 : the predictive distribution. Furthermore has the computation 2319 : of reference values been modified so its a) a little bit faster 2320 : and b) it is also able to handle ISO weeks now. The reference values 2321 : for date t0 are calculated as follows: 2322 : For i, i=1,..., b look at date t0 - i*year. From this date on move 2323 : w months/weeks/days to the left and right. In case of weeks: 2324 : For each of these 2325 : determined time points go back in time to the closest Monday 2326 : \item Renamed the functions obsinyear to epochInYear, which now also 2327 : handles objects of class Date. 2328 : } 2329 : } 2330 : 2331 : \section{Changes in surveillance version 1.0-2 (2009-03-06)}{ 2332 : \itemize{ 2333 : \item Negative Binomial CUSUM or the more general NegBin likelihood ratio 2334 : detector is now implemented as part of algo.glrnb. 2335 : This includes the back calculation of the required number of cases 2336 : before an alarm. 2337 : \item Time varying proportion binomial CUSUM. 2338 : } 2339 : } 2340 : 2341 : \section{Changes in surveillance version 0.9-10}{ 2342 : \itemize{ 2343 : \item Current status: Development version available from 2344 : \url{http://surveillance.r-forge.r-project.org/} 2345 : \item Rewriting of the plot.sts.time.one function to use polygons 2346 : instead of lines for the number of observed cases. Due cause 2347 : a number of problems were fixed in the plotting of the legend. 2348 : Plotting routine now also handles binomial data, where the 2349 : number of observed cases y are stored in \code{"observed"} and the 2350 : denominator data n are stored in \code{"populationFrac"}. 2351 : \item Problems with the aggregate function not operating correctly 2352 : for the populationFrac were fixed. 2353 : \item The \code{"rogerson"} wrapper function for algo.rogerson was modified so it 2354 : now works better for distribution \code{"binomial"}. Thus a time varying 2355 : binomial cusum can be run by calling 2356 : \code{rogerson( x, control(..., distribution="binomial"))} 2357 : \item An experimental implementation of the twins model documented in 2358 : Held, L., Hofmann, M., \enc{Höhle}{Hoehle}, M. and Schmid V. (2006). A two-component 2359 : model for counts of infectious diseases, Biostatistics, 7, pp. 2360 : 422--437 is now available as algo.twins. 2361 : } 2362 : } 2363 : 2364 : \section{Changes in surveillance version 0.9-9 (2008-01-21)}{ 2365 : \itemize{ 2366 : \item Fixed a few small problems 2367 : which gave warnings in the CRAN distribution 2368 : } 2369 : } 2370 : 2371 : \section{Changes in surveillance version 0.9-8 (2008-01-19)}{ 2372 : \itemize{ 2373 : \item The algo_glrpois function now has an additional \code{"ret"} arguments, 2374 : where one specifies the return type. The arguments of the underlying 2375 : c functions have been changed to include an additional direction and 2376 : return type value arguments. 2377 : \item added restart argument to the algo.glrpois control object, which 2378 : allows the user to control what happens after the first alarm has been 2379 : generated 2380 : \item experimental algo.glrnb function is added to the package. All calls to 2381 : algo.glrpois are now just alpha=0 calls to this function. However, 2382 : the underlying C functions differentiate between poisson and negative case 2383 : } 2384 : }