## ----setup, include=FALSE----------------------------------------------------- knitr::opts_chunk$set(echo = TRUE, eval = FALSE) ## ----------------------------------------------------------------------------- # library("fdaPOIFD") # library("MASS") # library("fdapace") # library("FastGP") # # # auxiliary functions to generate Gaussian processes # Cov_exponential <- function(X1, X2, alpha = NULL, beta = NULL){ # x.aux <- expand.grid(i = X1, j = X2) # # cov <- alpha*exp(-beta*abs(x.aux$i - x.aux$j)) # # Sigma <- matrix(cov, nrow = length(X1)) # return(Sigma) # } # # Cov_Periodic <- function(X1, X2, sigma = NULL, p = NULL, l = NULL) { # #p = period, l = wiggles, sigma = noise # Sigma <- matrix(rep(0, length(X1)*length(X2)), nrow=length(X1)) # for (i in 1:nrow(Sigma)) { # for (j in 1:ncol(Sigma)) { # Sigma[i,j] <- sigma*exp(-(2*(sin(pi*abs(X1[i]-X2[j])/(p)))^2)/(l^2)) # } # } # return(Sigma) # } # ## ----------------------------------------------------------------------------- # n <- 100 # p <- 200 # # #parameters # time_grid <- seq(0, 1, length.out = p) # sigmaPeriodic <- Cov_Periodic(time_grid, time_grid, sigma = 3, p = 1 , l = 0.5) # sigmaExpo <- Cov_exponential(time_grid, time_grid, alpha = 0.5, beta = 5) # # # Generate the random mean # centerline <- MASS::mvrnorm(1, rep(0, p), sigmaPeriodic) # # # Generate the random sample # dataY <- FastGP::rcpp_rmvnorm(n, sigmaExpo, centerline) # data <- t(dataY) # colnames(data) <- as.character(c(1:n)) # rownames(data) <- round(time_grid, digits=5) # # # dataPOFD <- intervalPOFD(data, observability = 0.5, ninterval = 4, pIncomplete = 0.75) ## ----------------------------------------------------------------------------- # depth_complete <- POIFD(dataPOFD$fd, type = "MBD") ## ----------------------------------------------------------------------------- # depth_POIFD <- POIFD(dataPOFD$pofd, type = "MBD") ## ----------------------------------------------------------------------------- # library("refund") # # Fit.IV <- ccb.fpc(t(dataPOFD$pofd)) # # goldsmith_reconstruction <- t(Fit.IV$Yhat) # depth_goldsmith <- POIFD(goldsmith_reconstruction, type = "MBD")