object: fitted neural network model or array containing the raw sensitivities from the function SensAnalysisMLP
fdata: data.frame containing the data to evaluate the sensitivity of the model. Not needed if the raw sensitivities has been passed as object
date.var: Posixct vector with the date of each sample of fdata
If NULL, the first variable with Posixct format of fdata is used as dates
facet: logical if TRUE, function facet_grid from ggplot2 is used
smooth: logical if TRUE, geom_smooth plots are added to each variable plot
nspline: integer if smooth is TRUE, this determine the degree of the spline used to perform geom_smooth. If nspline is NULL, the square root of the length of the timeseries is used as degrees of the spline.
...: further arguments that should be passed to SensAnalysisMLP function
Returns
list of geom_line plots for the inputs variables representing the sensitivity of each output respect to the inputs over time
Examples
## Load data -------------------------------------------------------------------data("DAILY_DEMAND_TR")fdata <- DAILY_DEMAND_TR
fdata[,3]<- ifelse(as.data.frame(fdata)[,3]%in% c("SUN","SAT"),0,1)## Parameters of the NNET ------------------------------------------------------hidden_neurons <-5iters <-250decay <-0.1######################################################################################################### REGRESSION NNET ####################################################################################################################### Regression dataframe --------------------------------------------------------# Scale the datafdata.Reg.tr <- fdata[,2:ncol(fdata)]fdata.Reg.tr[,3]<- fdata.Reg.tr[,3]/10fdata.Reg.tr[,1]<- fdata.Reg.tr[,1]/1000# Normalize the data for some modelspreProc <- caret::preProcess(fdata.Reg.tr, method = c("center","scale"))nntrData <- predict(preProc, fdata.Reg.tr)#' ## TRAIN nnet NNET --------------------------------------------------------# Create a formula to train NNETform <- paste(names(fdata.Reg.tr)[2:ncol(fdata.Reg.tr)], collapse =" + ")form <- formula(paste(names(fdata.Reg.tr)[1], form, sep =" ~ "))set.seed(150)nnetmod <- nnet::nnet(form, data = nntrData, linear.output =TRUE, size = hidden_neurons, decay = decay, maxit = iters)# Try SensTimePlotNeuralSens::SensTimePlot(nnetmod, fdata = nntrData, date.var =NULL)
References
Pizarroso J, Portela J, Muñoz A (2022). NeuralSens: Sensitivity Analysis of Neural Networks. Journal of Statistical Software, 102(7), 1-36.