Actualmente estoy trabajando en una investigación y estamos intentando hacer una predicción de series temporales utilizando redes neuronales. Para empezar, he utilizado el artículo publicado por G. Peter Zhang ( Previsión de series temporales mediante un modelo híbrido ARIMA y NN ) ya que no soy experto ni en R ni en estadística, me vendría muy bien algo de ayuda.
Tengo R y la configuración neuralnet lib y luego tomó el conjunto de datos de Lynx, a continuación, crear un marco de datos con los datos de largo con los lags para establecer como entrada. Mis datos ahora se ven algo así (esto es sólo para t, t-1, y t-2 lags)
x x1 x2
1 269 NA NA
2 321 269 NA
3 585 321 269
Ahora quiero entrenar una NN con la entrada x1 y x2 y obtener la salida en x.
Hago el entrenamiento con el siguiente código
nn <- neuralnet(x~x1+x2, data=dat, hidden = 2, linear.output = T) # I am using t-1 ... t-4 so using hidden layer of 2
Esto sí entrena el modelo, pero el error es realmente alto, y cuando lo uso para hacer cualquier cálculo el resultado de la neurona de la segunda capa es siempre 1. Estuve discutiendo con algunos amigos y me dijeron que es porque tal vez estoy usando la función de activación equivocada. Busqué en la ayuda del act.fct y probé con ambos logistic
y tanh
pero los resultados siguen siendo los mismos.
Llevo unos días atascado en esto, así que me vendría muy bien algo de ayuda. ¿Es posible que esté haciendo algo mal? ¿O me falta algo?
Gracias