为了将数据拟合到 R 中的神经网络,有几个专门的包可供选择:nnet、neuralnet、deepnet(专门研究 DNN)、h2o、mxnet。如果您愿意,您也可以随时在 R 中使用 TensorFlow 或 Keras 来开发非常特定类型的神经网络。
过去我使用过 nnet、neuralnet 和 Keras。对于快速项目和快速原型library(neuralnet)
制作,非常适合初学者。您可以非常快速地生成、训练和利用您设计的神经网络(在某些约束内)。举个例子:
nn_model <- neuralnet(formula = my_form, data = training_data, hidden = c(2, 3))
my_form
可能是这样的,training_data 是你formula("currency ~ indVar1 + indVar2 +...)
训练 GARCH 模型的相同数据,hidden 是一个向量,代表你的神经网络中每个隐藏层的大小(取决于你想要什么结构,问题的性质, ETC。)
然后你应该做的是在相同的测试/验证数据(与你的训练数据分开和不同)上运行你的 GARCH 模型和神经网络,并通过准确度、精确度和召回率等指标评估它们的性能。
您可以使用以下方法在测试数据上运行生成的模型:
garch_out <- ugarchforecast(garch_fit, data = test_data[, -1], n.ahead = 10)
nn_out <- compute(x = nn_model, covariate = test_data[, -1])
test_data[,1]
并在离散或连续的基础上评估它们,尽管通过回归,您可能希望通过残差分析等正常时间序列分析工具的镜头观察每个模型的输出与预期值之间的相似性,R^ 2、调整R^2等拟合优度特征。