predictab: Estimate the models performance obtained with 'GPoMo' in term...

predictabR Documentation

Estimate the models performance obtained with GPoMo in term of predictability

Description

The algorithm aims to estimate automatically the forecasting performances of the models obtained with gPoMo.

Usage

predictab(
  ogp,
  fullt = NULL,
  fulldata = NULL,
  hp = NULL,
  Nech = 50,
  intSimStep = NULL,
  show = 1,
  selecmod = NULL,
  id = 1,
  selV = 1,
  na.rm = FALSE
)

Arguments

ogp

The output list obtained from function gPoMo.

fullt

Time vector of the data set for which predictability will be tested

fulldata

Data set for which predictability will be tested

hp

Time vector of the horizon of prediction

Nech

Number of simulations

intSimStep

Internal number of simulation steps

show

Provide (2) or not (0-1) visual output during the running process.

selecmod

A vector of the model selected.

id

The type of model to identify. id = 1 corresponds to unidentified models, that is, potentialy chaotic.

selV

Selected variable for the analysis

na.rm

Indicates if the NA should be removed (na.rm = TRUE) or not (na.rm = FALSE).

Value

ErrmodAll A list of matrix $Predmod1, $Predmod2, etc. and $Errmod1, $Errmod2, etc. providing respectively the forecasting and the forecasting error of models 1, 2, etc. Each column corresponds to one simulation starting from a specific initial condition. Each line corresponds to one horizon of prediction. Vectors corresponding to the initial condition time tE and the horizon of prediction hpE are also provided in $tE and $hpE, respectively. The percentiles of the distributions of error growth are provided in qt (0.05, 0.1, 0.25, 0.5, 0.75, 0.9, 0.95) and of absolute error growth in qt2 (0.5, 0.75, 0.9, 0.95, 0.98, 0.99).

Author(s)

Sylvain Mangiarotti, Mireille Huc

Examples

# load data
data("Ross76")
# time vector
tin <- Ross76[seq(1, 3000, by = 8), 1]
# single time series
data <- Ross76[seq(1, 3000, by = 8), 3]
# dev.new()
# plot(tin, data, xlab = 'time', ylab = 'y(t)')

# global modelling
# results are put in list outputGPoM
outputGPoM <- gPoMo(data[1:300], tin = tin[1:300], dMax = 2, nS=c(3),
                    show = 0, method = 'rk4',
                    nPmin = 10, nPmax = 12,
                    IstepMin = 150, IstepMax = 151)
#
visuOutGP(outputGPoM)

###########################
# and test predictability #
###########################
outpred <- predictab(outputGPoM, hp = 15, Nech = 30)

# manual visualisation of the outputs (e.g. for model 1):
dev.new()
image(outpred$tE, outpred$hpE, t(outpred$Errmod1),
xlab = 't', ylab = 'hp', main = 'Errmod1')


GPoM documentation built on July 9, 2023, 6:23 p.m.