| Type: | Package | 
| Title: | Longitudinal Data Neural Network | 
| Version: | 1.10 | 
| Date: | 2020-11-25 | 
| Author: | Vasileios Karapoulios | 
| Maintainer: | Vasileios Karapoulios <billkarap123@gmail.com> | 
| Description: | This is a Neural Network regression model implementation using 'Keras', consisting of 10 Long Short-Term Memory layers that are fully connected along with the rest of the inputs. | 
| License: | GPL-2 | GPL-3 [expanded from: GNU General Public License] | 
| RoxygenNote: | 7.1.1 | 
| LazyData: | true | 
| Encoding: | UTF-8 | 
| Imports: | devtools, reticulate, tensorflow | 
| Depends: | keras | 
| Suggests: | testthat,knitr,rmarkdown | 
| VignetteBuilder: | knitr | 
| NeedsCompilation: | no | 
| Packaged: | 2020-11-30 11:10:50 UTC; Waler | 
| Repository: | CRAN | 
| Date/Publication: | 2020-12-02 10:30:10 UTC | 
Pre-defined Neural Network for Longitudinal Data
Description
Create the Neural Network model (Keras).
Usage
create_model(
  rnn_inputs,
  recurrent_droppout,
  inputs,
  layer_dropout,
  n_nodes_hidden_layers,
  loss_function,
  opt,
  metric
)
Arguments
rnn_inputs | 
 The number of inputs (integers) per each LSTM (vector of length 10).  | 
recurrent_droppout | 
 The dropout to be applied in the LSTMs (between 0 and 1).  | 
inputs | 
 The number of inputs (integer) to be concatenated with the output of the LSTMs.  | 
layer_dropout | 
 The dropout to be applied between the hidden layers (between 0 and 1).  | 
| 
 The number of nodes in the hidden layers (2 in total).  | |
loss_function | 
 The loss function to be used.  | 
opt | 
 The optimizer to be used.  | 
metric | 
 The metric to be used.  | 
Value
The model object built in Keras.
Examples
inp = c(20,24,24,24,16,16,16,16,16,15)
rec_drop = rep(0.1,10)
l_drop = c(0.1,0.1)
## Not run: 
create_model(inp,rec_drop,232,c(0.1,0.1),l_drop,'mean_squared_error','adam','mean_absolute_error')
## End(Not run)
# The functions require to have python installed
# As well as tensorflow, keras and reticulate package.
Evaluate the pre-defined Neural Network for Longitudinal Data
Description
Evaluate the fitted Neural Network model (Keras).
Usage
evaluate_model(
  model,
  X1_test,
  X2_test,
  X3_test,
  X4_test,
  X5_test,
  X6_test,
  X7_test,
  X8_test,
  X9_test,
  X10_test,
  Xif_test,
  y_test,
  bsize
)
Arguments
model | 
 The fitted model object produced by create_model().  | 
X1_test | 
 Features as inputs of 1st LSTM.  | 
X2_test | 
 Features as inputs of 2nd LSTM.  | 
X3_test | 
 Features as inputs of 3rd LSTM.  | 
X4_test | 
 Features as inputs of 4th LSTM.  | 
X5_test | 
 Features as inputs of 5th LSTM.  | 
X6_test | 
 Features as inputs of 6th LSTM.  | 
X7_test | 
 Features as inputs of 7th LSTM.  | 
X8_test | 
 Features as inputs of 8th LSTM.  | 
X9_test | 
 Features as inputs of 9th LSTM.  | 
X10_test | 
 Features as inputs of 10th LSTM.  | 
Xif_test | 
 The features to be concatenated with the outputs of the LSTMs.  | 
y_test | 
 The target variable.  | 
bsize | 
 The batch size.  | 
Value
The evaluation results.
Examples
X1_test <- matrix(runif(500*20), nrow=500, ncol=20)
X2_test <- matrix(runif(500*24), nrow=500, ncol=24)
X3_test <- matrix(runif(500*24), nrow=500, ncol=24)
X4_test <- matrix(runif(500*24), nrow=500, ncol=24)
X5_test <- matrix(runif(500*16), nrow=500, ncol=16)
X6_test <- matrix(runif(500*16), nrow=500, ncol=16)
X7_test <- matrix(runif(500*16), nrow=500, ncol=16)
X8_test <- matrix(runif(500*16), nrow=500, ncol=16)
X9_test <- matrix(runif(500*16), nrow=500, ncol=16)
X10_test <- matrix(runif(500*15), nrow=500, ncol=15)
Xif_test <- matrix(runif(500*232), nrow=500, ncol=232)
y_test <- matrix(runif(500), nrow=500, ncol=1)
## Not run: 
evaluate_model(fitted_model,X1_test,X2_test,X3_test,X4_test,X5_test,X6_test,
X7_test,X8_test,X9_test,X10_test,Xif_test,y_test,32)
## End(Not run)
# The functions require to have python installed
# As well as tensorflow, keras and reticulate package.
Fit the pre-defined Neural Network for Longitudinal Data
Description
Fit the created Neural Network model (Keras).
Usage
fit_model(
  model,
  ver,
  n_epoch,
  bsize,
  X1,
  X2,
  X3,
  X4,
  X5,
  X6,
  X7,
  X8,
  X9,
  X10,
  Xif,
  y
)
Arguments
model | 
 The model object produced by create_model().  | 
ver | 
 ver=0 to show nothing, ver=1 to show animated progress bar, ver=2 to just mention the number of epoch during training.  | 
n_epoch | 
 The number of epochs to train the model.  | 
bsize | 
 The batch size.  | 
X1 | 
 Features as inputs of 1st LSTM.  | 
X2 | 
 Features as inputs of 2nd LSTM.  | 
X3 | 
 Features as inputs of 3rd LSTM.  | 
X4 | 
 Features as inputs of 4th LSTM.  | 
X5 | 
 Features as inputs of 5th LSTM.  | 
X6 | 
 Features as inputs of 6th LSTM.  | 
X7 | 
 Features as inputs of 7th LSTM.  | 
X8 | 
 Features as inputs of 8th LSTM.  | 
X9 | 
 Features as inputs of 9th LSTM.  | 
X10 | 
 Features as inputs of 10th LSTM.  | 
Xif | 
 The features to be concatenated with the outputs of the LSTMs.  | 
y | 
 The target variable.  | 
Value
The fitted model.
Examples
X1 <- matrix(runif(500*20), nrow=500, ncol=20)
X2 <- matrix(runif(500*24), nrow=500, ncol=24)
X3 <- matrix(runif(500*24), nrow=500, ncol=24)
X4 <- matrix(runif(500*24), nrow=500, ncol=24)
X5 <- matrix(runif(500*16), nrow=500, ncol=16)
X6 <- matrix(runif(500*16), nrow=500, ncol=16)
X7 <- matrix(runif(500*16), nrow=500, ncol=16)
X8 <- matrix(runif(500*16), nrow=500, ncol=16)
X9 <- matrix(runif(500*16), nrow=500, ncol=16)
X10 <- matrix(runif(500*15), nrow=500, ncol=15)
Xif <- matrix(runif(500*232), nrow=500, ncol=232)
y <- matrix(runif(500), nrow=500, ncol=1)
## Not run: 
fitted_model = fit_model(model,0,1,32,X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,Xif,y)
## End(Not run)
# The functions require to have python installed
# As well as tensorflow, keras and reticulate package.