El mercado de valores es un sistema complejo y dinámico que se caracteriza por la no linealidad, la no estacionariedad, la volatilidad y un ruido significativo. Estas características hacen que los datos de series temporales, como los precios de las acciones, sean muy inciertos y susceptibles a influencias multifacéticas. La previsión precisa de los movimientos de los precios de las acciones puede mejorar la confianza de los inversores y generar importantes ganancias financieras, lo que posiciona la predicción de los precios de las acciones como un área clave de la investigación financiera.

2. Métodos de análisis técnico
Los expertos y académicos han explorado varios métodos para pronosticar los precios de las acciones. Estos métodos se clasifican en general en métodos de análisis estadístico, métodos de aprendizaje automático y métodos de aprendizaje profundo.

3. Métodos de Análisis Estadístico
Los métodos estadísticos, como el Promedio Móvil Autorregresivo (ARMA), el Promedio Móvil Autorregresivo Integrado (ARIMA), la Heterocedasticidad Condicional Autorregresiva Generalizada (GARCH) y la Heterocedasticidad Condicional Autorregresiva (ARCH), se han aplicado extensamente:

  • Jarrett et al. aplicaron el modelo ARIMA para predecir el mercado de valores chino.

  • Juan et al. utilizaron el modelo GARCH para examinar el volumen de actividad del Aeropuerto Internacional de Dubái y su impacto en el mercado de valores de los EAU.
    Mientras que estos métodos son efectivos para datos lineales, enfrentan limitaciones al tratar con la no linealidad y el ruido excesivo inherentes a los datos de precios de acciones.

4. Métodos de Aprendizaje Automático
Las técnicas de aprendizaje automático, como Bosque Aleatorio y Máquinas de Soporte Vectorial (SVM), se utilizan ampliamente para la predicción de precios de acciones debido a su capacidad para identificar patrones complejos en datos de series temporales. Los estudios clave incluyen:

  • Lin et al. emplearon el Análisis de Componentes Principales (PCA) para la predicción de acciones.

  • Patel et al. aplicaron el método bayesiano ingenuo para la predicción del índice de acciones.

  • Nti et al. utilizaron el método de Bosque Aleatorio, mejorado con optimización de árboles de decisión, para predecir índices de acciones.

  • Fu et al. y Xu et al. implementaron SVM y clasificadores de aprendizaje integrado para minimizar errores de predicción.
    Mientras que los métodos de aprendizaje automático mejoran la velocidad y precisión de la predicción, sus capacidades de procesamiento de información siguen siendo limitadas.

5. Métodos de Aprendizaje Profundo
El aprendizaje profundo ofrece capacidades superiores para procesar datos no lineales a gran escala con modelos como Retropropagación (BP), Redes Neuronales Recurrentes (RNN), Memoria a Largo Plazo (LSTM) y Unidades Recursivas de Compuerta (GRU). Las contribuciones notables incluyen:

  • Zhang demostró que las redes neuronales de aprendizaje profundo superan a los modelos ARIMA tradicionales para datos no lineales.

  • Yu et al. aplicaron reducción de dimensionalidad con LLE y utilizaron la red neuronal BP para mejorar la precisión de la predicción.
    A pesar de sus ventajas, los métodos de aprendizaje profundo requieren refinamiento, particularmente en la integración de fuentes de datos completas y la optimización de hiperparámetros.

6. Patrones de Velas en la Predicción de Acciones
Los gráficos de velas, derivados de datos de precios de alta frecuencia, expresan efectivamente señales de tendencia y características estructurales. Los inversores analizan estos patrones para anticipar fluctuaciones de precios, ya que las series de velas revelan asociaciones inherentes con los movimientos de acciones. Los patrones de velas, que consisten en una o múltiples velas de diferentes longitudes, sirven como una herramienta crítica para identificar tendencias. Sin embargo, predecir precios de acciones utilizando patrones de velas sigue siendo un desafío complejo.

7. Modelo Propuesto: SSA-CPBiGRU
Para abordar las limitaciones de los métodos existentes, este documento propone un Modelo de Unidad Recursiva de Compuerta Bidireccional Integrando Patrones de Velas y un Algoritmo de Búsqueda de Gorriones (SSA-CPBiGRU) para la predicción de precios de acciones.
Las principales innovaciones y contribuciones del modelo propuesto incluyen:

  1. Integración de Patrones de Velas: Combinando características estructurales de gráficos de velas con aprendizaje profundo avanzado.

  2. Precisión de Pronóstico Mejorada: Aprovechando el GRU Bidireccional para mejorar el aprendizaje de relaciones temporales.

  3. Optimización con Algoritmo de Búsqueda de Gorriones (SSA): Automatizando la selección de hiperparámetros para mejorar el rendimiento de la predicción.


Actualmente, la información principal utilizada para predecir precios de acciones son los datos básicos del mercado, que carecen de relaciones estructurales y exhiben una capacidad de expresión limitada para el estado general del sistema. Este modelo integra ingeniosamente patrones de velas con datos del mercado de acciones, sirviendo como entrada para el modelo de predicción de precios de acciones, dotando a los datos de entrada de características estructurales y relaciones de series temporales. Además, este documento utiliza una red de Unidades Recursivas de Compuerta Bidireccional (BiGRU) para extraer relaciones de características más profundas, mejorando así la capacidad de aprendizaje de la red;

  • Este documento aplica un algoritmo de búsqueda de gorriones (SSA) [14] para la predicción de precios de acciones, abordando el desafío de alta aleatoriedad y dificultad en la selección de hiperparámetros de la red CPBiGRU. Simultáneamente, mejora la precisión de la predicción de precios de acciones;

  • La investigación actual típicamente utiliza datos de la misma ventana temporal para la predicción. Sin embargo, en decisiones de trading reales, los inversores a menudo se refieren a la información de precios de acciones de múltiples días de trading. Por lo tanto, este documento explora el impacto de extraer datos de acciones de diferentes ventanas temporales en los resultados de predicción.

El resto del documento está organizado de la siguiente manera. El trabajo relacionado se cubre en la Sección 2. La metodología se explica en la Sección 3. La Sección 4 presenta los resultados, mostrando los experimentos realizados, y la Sección 5 proporciona las conclusiones, con direcciones futuras enumeradas en detalle.

2. Trabajo Relacionado

Discutimos la literatura publicada en dos categorías diferentes aquí. Estas categorías están relacionadas con el análisis de patrones de velas y el uso de modelos de aprendizaje profundo en la predicción de acciones, respectivamente. Los modelos relacionados con estos dominios se revisan en detalle y se elaboran.

2.1. Análisis de Patrones de Velas

Los gráficos de velas son una forma de visualización del análisis técnico que se crean trazando los precios de apertura, más altos, más bajos y de cierre de cada período de análisis [15]. La Figura 1 representa un ejemplo de un gráfico de velas. Una caja utilizada para representar la diferencia entre el precio de apertura y el precio de cierre se llama el cuerpo de la vela. Cuando el precio de cierre es más alto que el precio de apertura, el color del cuerpo es rojo, de lo contrario, el cuerpo es verde. El entorno de investigación de los patrones de velas es multifacético. Se puede categorizar en tres casos principales: minería de patrones secuenciales y sus aplicaciones, velas y sus aplicaciones, y predicción de series temporales de acciones.

Electronics 13 00771 g001

Figura 1. Ejemplo de gráfico de velas.

Los algoritmos de minería de patrones secuenciales se han centrado principalmente en descubrir reglas, generar secuencias, combinar recursos [16], y predecir secuencias. Con el objetivo de una predicción precisa de destinos, y dando su primera trayectoria de viaje parcial como entrada, Iqbal et al. [17] consideraron esto como un problema de predicción multicategoría y propusieron un algoritmo de minería de secuencias de contraste eficiente y no redundante para distinguir patrones de minas, que solo se pueden ver en una clase. Li et al. [18] propusieron un algoritmo de un solo paso, con una frecuencia comúnmente utilizada como salida para una secuencia dada, y dos modelos avanzados para mejorar aún más la eficiencia de procesamiento de secuencias voluminosas y datos en streaming. Para abordar las deficiencias de los algoritmos de minería de patrones de secuencia tradicionales, Wang et al. [19] propusieron un umbral variable de puntualidad y un algoritmo Prefixspan incremental, verificando la efectividad del algoritmo. Inversores sofisticados pueden analizar secuencias de velas en datos históricos y especular sobre los patrones que aparecerán en el próximo período, lo que les permite pronosticar tendencias futuras en los mercados de acciones. Las velas y sus aplicaciones se centran principalmente en el procesamiento de imágenes de velas, identificando e interpretando ciertos patrones de velas, mientras que también se esfuerzan por mejorar la precisión de reconocimiento. Birogul et al. [20] y Guo et al. [21] codificaron datos de velas en gráficos de velas 2D y aprendieron las características morfológicas de los datos de velas a través de redes neuronales profundas. Chen et al. [22] propusieron un enfoque de dos pasos para el reconocimiento automático de ocho patrones de velas, con una precisión promedio que supera a la del modelo LSTM. Fengqian et al. [23] utilizaron gráficos de velas como una generalización de datos de precios a lo largo de un período de tiempo, sirviendo como una herramienta de eliminación de ruido. Posteriormente, emplearon análisis de clústeres y métodos de aprendizaje por refuerzo para lograr el control adaptativo en línea de parámetros dentro de entornos desconocidos, permitiendo en última instancia la implementación de estrategias de transacción de alta frecuencia.

La predicción de series temporales de acciones se divide principalmente en dos categorías: predicción de precios de acciones y predicción de tendencias de acciones. Wang et al. [24] evaluaron la efectividad de varios patrones de velas reconocidos, empleando datos recientes de 20 acciones americanas para estimar precios de acciones. Udagawa et al. [13] propusieron un algoritmo híbrido que combina velas que comparten un rango de precios específico en una sola vela, eliminando así velas ruidosas. Madbouly et al. [25] combinaron un modelo de nube, series de tiempo difusas y velas Heikin-Ashi para pronosticar tendencias de acciones, mejorando así la precisión de las predicciones. Wang et al. [26] propusieron un método de cuantificación para gráficos de velas del mercado de acciones basado en la variación de Hough. Utilizaron el método de incrustación de estructuras gráficas y múltiples redes neuronales gráficas de atención para mejorar el rendimiento de la predicción de precios de acciones.

2.2. Enfoques de Aprendizaje Profundo en la Predicción de Acciones

Actualmente, los enfoques de aprendizaje profundo se han convertido en el enfoque predominante de investigación tanto a nivel nacional como internacional. Numerosos expertos y académicos han dedicado sus esfuerzos a explorar este campo de manera extensa. Rather et al. [27] utilizaron RNN con capacidad de memoria para predecir retornos de acciones. Minami [28] empleó un modelo RNN variante llamado LSTM, que alivia efectivamente problemas comunes en redes neuronales como la desaparición y explosión del gradiente, así como la dependencia a largo plazo. Gupta et al. [29] aumentaron la velocidad de predicción al adoptar GRU, una estructura de red con menos mecanismos de compuerta en comparación con LSTM, como la estructura principal de red del modelo de predicción. Chandar et al. [30] utilizaron un modelo de red neuronal de ondas para predecir tendencias de precios de acciones. Los académicos mencionados han utilizado datos históricos de precios de acciones en el nivel de entrada de sus modelos para llevar a cabo su investigación de predicción. Además, las técnicas de aprendizaje profundo para la predicción de acciones pueden incorporar una gama más amplia y variada de fuentes de información, enriqueciendo así los factores que influyen en el modelo de predicción. Cai et al. [31] integraron las características de publicaciones de noticias relacionadas con el mercado financiero y de acciones en un modelo híbrido que consiste en LSTM y Red Neuronal Convolucional (CNN) para la predicción. Construyeron el modelo de predicción utilizando una red neuronal recurrente de múltiples capas. Sin embargo, aunque se aumentó la complejidad del modelo, la precisión de la predicción podría mejorarse aún más. Ho et al. [32] combinaron gráficos de velas con datos de redes sociales, proponiendo una red colaborativa de múltiples canales para predecir tendencias de acciones.

Además, los modelos de red existentes todavía tienen ciertas limitaciones. La selección de hiperparámetros en estos modelos a menudo se basa en investigaciones o experiencias existentes, lo que conlleva un cierto grado de subjetividad. Hiperparámetros apropiados pueden mejorar la topología del modelo de red y mejorar sus capacidades de generalización y ajuste. Por lo tanto, la cuestión de eliminar la influencia de factores humanos y encontrar los hiperparámetros óptimos del modelo de red es un tema de preocupación para los académicos. Hu [33] empleó un algoritmo bayesiano para optimizar la tasa de aprendizaje, el número de capas ocultas y el número de neuronas dentro de LSTM, con el objetivo de pronosticar los precios de acciones de acciones prominentes en etapas específicas del mercado de valores chino. Los resultados experimentales demostraron que el modelo optimizado posee alta universalidad y eficacia. La optimización de parámetros importantes en la red propuesta mediante un algoritmo de optimización inteligente de enjambre puede resolver los problemas de selección de hiperparámetros de red con alta aleatoriedad, difícil selección e influencia de factores humanos, mejorando la precisión de la predicción [34,35]. Song et al. [36] utilizaron la Optimización de Enjambre de Partículas (PSO) con estrategia de aprendizaje adaptativa para optimizar el paso de tiempo, el tamaño del lote, el número de iteraciones y el número de neuronas en la capa oculta de la red LSTM. El SSA tiene una capacidad de optimización más fuerte que la Optimización de Lobo Gris (GWO), Optimización de Colonia de Hormigas (ACO) y PSO [14]. Li et al. [37] realizaron una investigación exhaustiva comparando el Algoritmo de Murciélago (BA), GWO, Algoritmo de Libélula (DA), Algoritmo de Optimización de Ballena (WOA), Algoritmo de Optimización de Saltamontes (GOA) y SSA. El rendimiento de estos algoritmos, incluida su velocidad de convergencia, precisión y estabilidad, se comparó utilizando 22 funciones de prueba estándar CEC. Los resultados demostraron claramente que el SSA superó a los otros cinco algoritmos en todos los aspectos. Liao [38] utilizó el SSA para optimizar los pesos, sesgo, el número de neuronas en la capa oculta y el número de iteraciones dentro de la red LSTM. Esta metodología ha aumentado la precisión de la predicción del modelo y se ha implementado eficazmente para abordar problemas de pronóstico de carga con resultados favorables.

3. Metodología

El diagrama del sistema completo se muestra en la Figura 2. Primero, los datos del mercado de acciones y las velas se preprocesan por separado. Posteriormente, se utiliza el CPBiGRU optimizado por SSA para pronosticar el precio de cierre de las acciones. Finalmente, se emplean las métricas de evaluación para evaluar el rendimiento del modelo.

Electronics 13 00771 g002

Figura 2. Diagrama del sistema del método propuesto.

3.1. Red BiGRU

El modelo GRU propuesto por Cho et al. [39] es una variante de LSTM. GRU simplifica la puerta de entrada y la puerta de olvido en LSTM en una puerta de actualización, que controla la entrada y la salida anterior que se transferirá a la siguiente celda. Además, establece una puerta de reinicio para regular la cantidad de información histórica que se debe olvidar. Puede evitar efectivamente los problemas de dependencia a largo plazo y capacidad de memoria insuficiente de las redes neuronales recurrentes tradicionales. En contraste con LSTM, GRU exhibe una arquitectura más simple, así como velocidades de entrenamiento y ajuste más rápidas [40]. La arquitectura del GRU se muestra en la Figura 3, y la fórmula de operación se define mediante las Ecuaciones (1)–(4).𝑧𝑡=𝜎(𝑊𝑧·[ℎ𝑡−1,𝑥𝑡]+𝑏𝑧)zt=σ(Wz·ht−1,xt+bz)(1)𝑟𝑡=𝜎(𝑊𝑟·[ℎ𝑡−1,𝑥𝑡]+𝑏𝑟)rt=σ(Wr·[ht−1,xt]+br)(2)ℎ𝑡̃=𝑡𝑎𝑛ℎ(𝑊·[𝑟𝑡∗ℎ𝑡−1,𝑥𝑡]+𝑏ℎ̃)ht~=tanh(W·[rt∗ht−1,xt]+bh~)(3)ℎ𝑡=(1−𝑧𝑡)∗ℎ𝑡−1+𝑧𝑡∗ℎ𝑡̃ht=1−zt∗ht−1+zt∗ht~(4)donde 𝑥𝑡xt y ℎ𝑡ht representan el valor de entrada y el valor de salida de la red GRU en el momento 𝑡t, respectivamente. Además, ℎ𝑡−1ht−1 es la salida en el momento anterior, ℎ𝑡̃ht~ es el valor candidato del valor de la celda de memoria en el momento 𝑡t, 𝑟𝑡rt representa la puerta de reinicio, y 𝑧𝑡zt representa la puerta de actualización. 𝑊𝑧Wz, 𝑊𝑟Wr y 𝑊W son las matrices de peso de la puerta de actualización, puerta de reinicio y estado oculto candidato, respectivamente. 𝑏𝑧,𝑏𝑟bz,br, y 𝑏ℎ̃bh~ son los términos de sesgo de la puerta de actualización, puerta de reinicio y estado oculto candidato, respectivamente, mientras que 𝜎σ es la función de activación sigmoide.

Electronics 13 00771 g003

Figura 3. Diagrama de bloque de la arquitectura GRU.

Sin embargo, la red GRU solo considera el flujo de información unidireccional mientras ignora la influencia de otros flujos de información. La falta de factores influyentes y características de información suficientes para los datos en los puntos de predicción impone ciertas limitaciones en el rendimiento predictivo de la red. BiGRU es una arquitectura de red neuronal que considera el flujo de información en ambas direcciones, histórica y futura. Basándose en la fundación de la GRU unidireccional, incorpora una capa adicional de GRU inverso. No solo mejora el problema de las dependencias temporales en los datos, sino que también expande el número de unidades neuronales, lo que permite resultados de predicción más precisos. Por lo tanto, elegimos BiGRU como el modelo fundamental para la metodología de predicción.

El valor de salida de la unidad de red BiGRU se obtiene combinando los valores de salida de las unidades ocultas en ambas direcciones, hacia atrás y hacia adelante. La salida final de BiGRU se calcula como se muestra en la Ecuación (5): donde 𝑤𝑡wt y 𝑣𝑡vt representan los pesos correspondientes al estado de la capa oculta hacia adelante ℎ𝑡→ht→ y al estado de la capa oculta inversa ℎ𝑡←ht← correspondiente al BiGRU en el momento 𝑡t, 𝑏𝑡bt representa el desplazamiento correspondiente al estado de la capa oculta en el momento 𝑡t. El diagrama de estructura de BiGRU se muestra en la Figura 4.ℎ𝑡=𝑤𝑡ℎ𝑡→+𝑣𝑡ℎ𝑡←+𝑏𝑡ht=wtht→+vtht←+bt(5)

Electronics 13 00771 g004

Figura 4. Diagrama de estructura de BiGRU.

3.2. Una Red BiGRU de Doble Puerto Integrando Patrones de Velas

Los patrones de velas reflejan la tendencia del mercado y la información de precios, y se pueden dividir aproximadamente en dos categorías: patrones de reversión y patrones de continuación. Talib es una biblioteca de indicadores cuantitativos de Python, que ofrece funciones para identificar 61 patrones de velas. Estas funciones devuelven tres valores: 0, 100 y −100. Aquí, 100 indica reconocimiento del patrón, mientras que −100 indica reconocimiento de la forma inversa del patrón, 0 indica que el patrón de vela no se reconoce, 100 indica el reconocimiento del patrón, y −100 indica el reconocimiento de la forma inversa del patrón. Dado que los valores de retorno de diferentes patrones indican diferentes tendencias de mercado, no se pueden incorporar directamente en los modelos de predicción de precios de acciones. El experimento define tres tipos de valores de predicción de tendencias de acciones: −1, 0 y 1. Aquí, −1 indica una tendencia a la baja en la acción, 1 indica una tendencia al alza en la acción, y 0 indica que el patrón de vela no se detectó. En este documento, los valores de retorno de 61 patrones de velas se transforman en los correspondientes valores de predicción de tendencias de acciones basados en la definición del patrón. La tabla de correlación generada de los valores de predicción de tendencias de acciones se presenta en la Tabla 1. Por ejemplo, el patrón de vela de dos cuervos predice un precio de acción en caída. Cuando se identifica este patrón, la función en Talib que reconoce este patrón devolverá un valor de 100. Cuando se identifica el patrón inverso, la función devolverá un valor de −100. Por lo tanto, en la tabla de correlación de predicciones de tendencias de acciones, los valores de retorno de 100 y −100 para el patrón de dos cuervos corresponden a predicciones de tendencias de acciones de −1 y 1, respectivamente.

Tabla 1. La tabla de correlación de los valores de predicción de tendencias de acciones.

Si se reconocen múltiples patrones de velas en un cierto día, la predicción de tendencia de acciones para ese día es la suma de las predicciones de tendencia de acciones correspondientes para todos los patrones identificados, por ejemplo, si se detectan el patrón envolvente y el patrón de retención de cinturón en un cierto día, y los valores de retorno para ambos patrones son 100. Primero, nos referimos a la tabla de correlación para encontrar el valor de predicción de tendencia de acciones correspondiente de 1 para estos dos patrones. Luego, sumamos los valores de predicción de tendencia para estos dos patrones, resultando en un valor de predicción de tendencia de acciones de 2 para este día. El valor de predicción de tendencia de acciones y los datos del mercado de acciones se normalizan individualmente y se emplean como entradas para la red CPBiGRU. El diagrama de flujo del modelo CPBiGRU se muestra en la Figura 5.

Electronics 13 00771 g005

Figura 5. Diagrama de flujo para CPBiGRU.

3.3. Principio del Algoritmo de Búsqueda de Gorriones

El SSA es una técnica de optimización de inteligencia de enjambre novedosa. El algoritmo simula el comportamiento de forrajeo de poblaciones de gorriones, dividiendo la población de gorriones en descubridores y quienes se unen. El SSA calcula el valor de aptitud de los gorriones a través de la función de aptitud construida, logrando así la transformación de rol y posición entre gorriones individuales, evitando efectivamente el problema de que los algoritmos de optimización tradicionales se queden atrapados fácilmente en óptimos locales.

La población compuesta por n gorriones se puede expresar como sigue: donde 𝑋X es una población de gorriones inicializada aleatoriamente, 𝑥x es un gorrión individual, 𝑑d representa la dimensionalidad de la población, y 𝑛n es el número de gorriones.𝑋=⎡⎣⎢⎢⎢⎢⎢𝑥1,1𝑥2,1𝑥1,2𝑥2,2⋮𝑥𝑛,1⋮𝑥𝑛,2……𝑥1,𝑑𝑥2,𝑑⋮…⋮𝑥𝑛,𝑑⎤⎦⎥⎥⎥⎥⎥X=x1,1x1,2x2,1x2,2…x1,d…x2,d⋮⋮xn,1xn,2⋮⋮…xn,d(6)

Los valores de aptitud de todos los gorriones se pueden expresar como sigue: donde 𝐹𝑥Fx es la matriz de aptitud, 𝑓f es el valor de aptitud, expresado como el Error Cuadrático Medio (RMSE) entre los datos de predicción de precios de acciones y los datos de precios reales.𝐹𝑥=⎡⎣⎢⎢⎢⎢⎢⎢⎢𝑓([𝑥1,1 𝑥1,2… 𝑥1,𝑑])𝑓([𝑥2,1 𝑥2,2… 𝑥2,𝑑])⋮⋮𝑓([𝑥𝑛,1 𝑥𝑛,2… 𝑥𝑛,𝑑])⎤⎦⎥⎥⎥⎥⎥⎥⎥Fx=fx1,1 x1,2… x1,dfx2,1 x2,2… x2,d⋮⋮fxn,1 xn,2… xn,d(7)

Los descubridores buscan alimento y proporcionan dirección de forrajeo a todos los que se unen. Durante cada iteración, la fórmula para actualizar la ubicación del descubridor se puede describir utilizando la siguiente ecuación: donde 𝑡t es el número de iteración actual, 𝑗=1, 2, 3,…,𝑑j=1, 2, 3,…,d, 𝑖𝑡𝑒𝑟𝑚𝑎𝑥itermax es el número máximo de iteraciones y es una constante, 𝑋𝑖,𝑗Xi,j representa la información de posición del 𝑖i-ésimo gorrión en la 𝑗j-ésima dimensión, 𝛼α es un número aleatorio en [0, 1]. 𝑄Q es un número aleatorio que sigue una distribución normal, y 𝐿L es una matriz de 1×𝑑1×d en la que cada elemento es 1. 𝑅2(𝑅2∈[0, 1])R2(R2∈[0, 1]) y 𝑆𝑇(𝑆𝑇∈[0.5, 1.0])ST(ST∈[0.5, 1.0]) son el valor de alarma y el valor seguro, respectivamente. Cuando 𝑅2<𝑆𝑇R2<ST, indica la ausencia de depredadores en el entorno, permitiendo a los descubridores realizar búsquedas extensas. Cuando 𝑅2≥𝑆𝑇R2≥ST, indica que ciertos individuos dentro de la población han detectado depredadores y emitirán inmediatamente una señal de alarma. Tras la recepción de estas señales de alarma, se requiere que la población se mueva a una ubicación segura.𝑋𝑡+1𝑖,𝑗=⎧⎩⎨𝑋𝑡𝑖,𝑗·exp(−𝑖𝛼·𝑖𝑡𝑒𝑟𝑚𝑎𝑥)𝑋𝑡𝑖,𝑗+𝑄·𝐿𝑅2<𝑆𝑇𝑅2≥𝑆𝑇Xi,jt+1=Xi,jt·exp⁡−iα·itermaxR2<STXi,jt+Q·LR2≥ST(8)

Durante el proceso de forrajeo, los que se unen revisan continuamente sus posiciones para adquirir alimento mientras mantienen un ojo en los descubridores y compiten con ellos por alimento. La Ecuación (9) describe el enfoque utilizado por los que se unen para actualizar sus posiciones. Cuando 𝑖>𝑛/2i>n/2, indica que el 𝑖i-ésimo miembro que se une con un valor de aptitud más bajo no ha obtenido alimento y necesita volar a otros lugares para buscar más. Donde 𝑋𝑃XP representa la ubicación del descubridor óptimo, 𝑋𝑤𝑜𝑟𝑠𝑡Xworst representa la posición global actual peor, 𝑛n es el tamaño de la población, mientras que A es una matriz de 1×𝑑1×𝑑 donde cada elemento se asigna aleatoriamente como 1 o −1, y 𝐴+=𝐴𝑇(𝐴𝐴𝑇)−1A+=ATAAT−1.𝑋𝑡+1𝑖,𝑗=⎧⎩⎨𝑄·exp(𝑋𝑡𝑤𝑜𝑟𝑠𝑡−𝑋𝑡𝑖,𝑗𝑖2)𝑋𝑡+1𝑃+|𝑋𝑡𝑖,𝑗−𝑋𝑡+1𝑃|·𝐴+·𝐿𝑖>𝑛2𝑖≤𝑛2Xi,jt+1=Q·exp⁡Xworstt−Xi,jti2i>n2XPt+1+Xi,jt−XPt+1·A+·Li≤n2(9)

En el algoritmo, se asume que entre el 10% y el 20% de los gorriones en la población se darán cuenta del peligro y emitirán señales de alarma cuando ocurra el peligro. Las posiciones iniciales de estos gorriones se generan aleatoriamente en la población, y sus posiciones se actualizan basándose en la Ecuación (10). Donde 𝑋𝑏𝑒𝑠𝑡Xbest representa la posición óptima global actual, 𝛽β es un parámetro de control del tamaño del paso que sigue una distribución normal con una media de 0 y una varianza de 1. 𝐾K es un número aleatorio en [−1, 1] que indica la dirección del movimiento del gorrión y también sirve como un parámetro de control del tamaño del paso. Además, 𝑓𝑖fi representa el valor de aptitud del 𝑖i-ésimo individuo gorrión, mientras que 𝑓𝑔fg, 𝑓𝑤fw representan los valores de aptitud óptimos global y peor actuales, respectivamente, y 𝜀ε es una constante extremadamente pequeña para evitar el error de división por cero.𝑋𝑡+1𝑖,𝑗=⎧⎩⎨𝑋𝑡𝑏𝑒𝑠𝑡+𝛽·|𝑋𝑡𝑖,𝑗−𝑋𝑡𝑏𝑒𝑠𝑡|𝑋𝑡𝑖,𝑗+𝐾·(|𝑋𝑡𝑖,𝑗−𝑋𝑡𝑤𝑜𝑟𝑠𝑡|(𝑓𝑖−𝑓𝑤)+𝜀)𝑓𝑖>𝑓𝑔𝑓𝑖=𝑓𝑔Xi,jt+1=Xbestt+β·Xi,jt−Xbesttfi>fgXi,jt+K·Xi,jt−Xworsttfi−fw+εfi=fg(10)Cuando 𝑓𝑖>𝑓𝑔fi>fg, significa que este gorrión está en el borde de la población y es extremadamente vulnerable a los depredadores. Cuando 𝑓𝑖=𝑓𝑔fi=fg, indica que el gorrión en el medio de la población percibe el peligro y necesita acercarse a los otros gorriones a tiempo para reducir el riesgo de depredación.

El diagrama de flujo del modelo SSA-CPBiGRU se muestra en la Figura 6. Se puede dividir en los siguientes cinco pasos:

Electronics 13 00771 g006

Figura 6. Diagrama de flujo para SSA-CPBiGRU.

  • Inicialización: Tomamos la tasa de aprendizaje, el número de iteraciones y el número de unidades en dos capas ocultas de la red CPBiGRU como los objetivos de hiperparámetros que deben ser optimizados por el SSA. La información de la posición de la población y los parámetros relacionados se inicializan aleatoriamente después de establecer el rango de valores del hiperparámetro optimizado, el tamaño de la población de gorriones, el número de iteraciones de optimización y el valor umbral de seguridad inicial;

  • Valor de aptitud: Usamos el RMSE entre el valor predicho del modelo de red y el valor real como la función de aptitud para el SSA y la función de pérdida para el CPBiGRU, para determinar los valores de aptitud de cada gorrión;

  • Actualización: Actualizamos la posición del gorrión mediante las Ecuaciones (8)–(10) y obtenemos el valor de aptitud de la población de gorriones. Simultáneamente, registramos la posición del individuo óptimo y el valor de la posición óptima global en la población;

  • Iteración: Determinamos si se ha alcanzado el valor máximo del número de iteraciones de actualización. En tal caso, concluimos el bucle y producimos la solución individual óptima, lo que significa la determinación de los parámetros óptimos para la estructura de la red. De lo contrario, regresamos al paso (3);

  • Salida de resultados de optimización: Los valores óptimos de hiperparámetros producidos por el algoritmo SSA se emplean como la tasa de aprendizaje, el número de iteraciones y el número de unidades en dos capas ocultas de la red CPBiGRU. Después, la red se reconstruye y procedemos con procedimientos posteriores como la normalización inversa y el análisis de evaluación.