Nothing
library(fracdiff)
if(FALSE) # manual testing
library(fracdiff, lib="/u/maechler/R/Pkgs/fracdiff.Rcheck")
.ptime <- proc.time()
## Test if the default 'n.start' is ok, i.e., if the
## "burn in" period is long enough :
n <- 512
set.seed(101) ; ok <- TRUE
for(i in 1:2000) {
r <- fracdiff.sim(n, ar = -0.9, ma = NULL, d = 0.3)$series
if(max(abs(r)) > 10) {
cat("OOps : indices ",str(ibig <- which(big <- abs(r) > 10)),
"\n are > 10\n")
if(any(ibig < 200) && (length(ibig) > 5 || abs(r)[big] > 20)) {
cat("Some have index < 200 --> BREAK\n")
ok <- FALSE
break
}
}
if(i %% 100 == 0) {
cat(i,": ACF = \n")
print(acf(r, plot=FALSE))
}
}
if(!ok) {
cat("i=",i," gave series \n")
print(head(r)) ; cat(".......\n")
plot(as.ts(r)) ## clearly did show problem {when we had bug}
}
## Try to find an example more quickly with setting `one seed':
.AR <- c(-.75, -.9)
.MA <- c(0.2, 0.1)
ok <- TRUE
set.seed(1)
r0 <- fracdiff.sim(100, d = 0.3)
r1 <- fracdiff.sim(100, ar = .AR, d = 0.25)
r2 <- fracdiff.sim(100, ar = .AR, ma = .MA, d = 0.2)
for(i in 1:1000) {
set.seed(1)# yes; identical ones
r0i <- fracdiff.sim(100, d = 0.3)
r1i <- fracdiff.sim(100, ar = .AR, d = 0.25)
r2i <- fracdiff.sim(100, ar = .AR, ma = .MA, d = 0.2)
stopifnot(identical(r0, r0i),
identical(r1, r1i),
identical(r2, r2i))
}
## Last Line:
cat('Time elapsed: ', proc.time() - .ptime,'\n')
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.