algoritmos de extracción de reglas para verificar la red neuronal artificial (RNA)Hola,
Recientemente comencé a usar JMP Pro también para la red neuronal artificial.
Me gustaría saber ¿cómo puedo verificar las arquitecturas de redes neuronales con JMP?
Por ejemplo, utilizando las expresiones matemáticas, la lógica simbólica, la lógica difusa o los árboles de decisión...
Leí que este sistema podría resolver la "caja negra".
Muchas gracias,
ángel
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)Hola dan,
Probé tu solución de 200 columnas y creo que estoy haciendo algo mal, te adjunto la tabla con la fórmula para saber qué estoy haciendo mal, ¡gracias!
Salud,
marco
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)Hola dan,
Excelente explicación!!! gracias, voy a probar tu solución, en relación al precio de las acciones (adjunto tabla 1 base y tabla 2 objetivo), tengo 4 columnas de 74,547 filas con precios de apertura, máximo, mínimo y cierre.... ¿Cómo puedo convertir con una fórmula en JMP... 400 o más columnas nuevas que tengan el máximo número posible de filas con etiquetas y datos creados por la fórmula... por ejemplo:
open100, high100, low100, close100, open99, high99, low99, close99, open98, high98, low98, close98 ....
Saludos,
marco
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)No puedo hablar de Python. Sin embargo, puede ejecutar un script de Python desde JMP y recuperar los resultados. Sin embargo, debido a que la fórmula de predicción se creó en Python, no creo que JMP la convierta a código C. JMP solo puede convertir sus propias fórmulas nativas a varios formatos.
En cuanto a las 200 columnas de precios de acciones, la forma más sencilla de hacerlo sería con un script. Sin embargo, un enfoque de interacción consiste en hacer lo siguiente:
1) Haga que sus 200 columnas se conviertan una al lado de la otra.
2) Cree 200 columnas nuevas usando Cols > Nuevas columnas.
3) Seleccione las 200 columnas nuevas, que están todas vacías.
4) Elija Cols > Estandarizar atributos.
5) En la sección Propiedades estandarizadas, haga clic en Propiedades de columna > Fórmula.
6) Marque la casilla para Sustituir referencia de columna y haga clic en Editar fórmula.
7) Construya la fórmula para la primera de sus 200 columnas de precios de acciones. La fórmula (según lo que especificaste) se vería así:

8) Haga clic en Aceptar para cerrar el editor de fórmulas.
9) Haga clic en Aceptar nuevamente para cerrar el cuadro de diálogo Estandarizar atributos de columnas.
Esa fórmula debe aplicarse a las 200 columnas con las referencias de columna apropiadas.
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)Hola Dan,
¡Excelente respuesta!, algunas preguntas:
1. Me parece que Python tiene redes neuronales recurrentes, ¿se podrían entrenar en la plataforma JMP y generar código C?
2. Tengo una tabla con 200 columnas de precios de acciones,
¿Cómo podría JMP indicar en 200 nuevas columnas con el número 1 los precios bajos, con el número -1 los precios más altos (picos) y con 0 el resto de precios?
Saludos,
marco
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)El problema con el punto 1 es que el algoritmo para una red neuronal no tiene el concepto de eje de tiempo. Es por eso que a menudo se usa una red neuronal recurrente para datos de series temporales, ya que una red neuronal recurrente incluye un componente de secuenciación. Dado que JMP no ofrece eso, deberá crear un elemento de tiempo o secuencia en los datos. No podré dar una orientación completa en este foro porque es un tema extenso. Una de las cosas que deberá comprender es su horizonte de previsión. Eso significa, ¿cuáles son las unidades de tiempo que utilizará y hasta qué punto en el futuro está tratando de predecir? Mi primera sugerencia fue un enfoque muy simple, una predicción con un día de anticipación. Ese enfoque no utilizará ningún valor objetivo anterior, solo valores de las entradas. Pero también puedes utilizar el objetivo del día anterior como entrada. Luego, podría probar diferentes intervalos de tiempo, dependiendo de la cantidad de datos pasados que desee utilizar y de la duración de su horizonte de pronóstico. Es probable que existan otras técnicas más creativas para agregar un elemento de tiempo a una red neuronal. Es probable que algunas investigaciones le muestren otras opciones. Tenga en cuenta que se necesitan varios enfoques dependiendo de la frecuencia con la que planea actualizar los pronósticos, la frecuencia con la que necesita un pronóstico, etc.
En cuanto al punto 2, no sé a qué te refieres con "el impulso encuentra la cantidad óptima". La idea de encontrar las tasas de aprendizaje óptimas, la cantidad de capas ocultas, la cantidad de nodos ocultos, etc. se llama autoajuste. JMP no ofrece ajuste automático. Si busca en la comunidad JMP, debería poder encontrar un script JMP que pueda ayudar en el autoajuste (me parece recordar que alguien escribió uno). El script realmente es un método de fuerza bruta, lo que significa que probará todas las configuraciones que usted especifique. Por tanto, puede llevar bastante tiempo. Luego, según los resultados, eliges la mejor combinación.
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)Hola dan,
Me alegra saludarlos, JMP me parece un excelente software y cada día me sorprende descubrir las opciones de solución que ofrece..... algunas preguntas:
1. La respuesta del punto 1 es interesante (retrazar la variable objetivo... hay varias formas de hacerlo), podrías detallarla con ejemplos.
2. He notado que el impulso encuentra la cantidad óptima, ¿habrá una opción en la plataforma de red neuronal que optimice los parámetros o hiperparámetros de 1 modelo? ... es decir, tasa de aprendizaje, número óptimo de neuronas, número óptimo de capas... etc
Saludos,
marco
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)Gracias, @Dan_Obermiller , por responder las preguntas de Marco. También me gustaría agregar el Libro blanco de Chris Gotwalt. , que gestiona el grupo de desarrolladores estadísticos de JMP.
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)Probablemente este debería ser un hilo nuevo, ya que no se relaciona directamente con las preguntas originales. Tampoco soy Mark, pero creo que puedo responder a tus preguntas.
1. Para predecir un evento futuro, necesitaría introducir un elemento de tiempo en su red neuronal. Hay varias formas de hacer esto. Una forma es retrasar la variable objetivo en un período de tiempo. Entonces, si su intervalo de tiempo es de días, podría usar las entradas de ayer para predecir el objetivo de hoy. Tiene razón en que JMP no ofrece redes neuronales recurrentes.
2. JMP no utiliza algoritmos genéticos ni programación genética en la optimización de los pesos.
3. No, JMP no utiliza algoritmos genéticos ni programación genética para optimizar la cantidad de neuronas o la cantidad de capas ocultas. De hecho, JMP no optimiza el número de neuronas ni la elección de una o dos capas ocultas. JMP ofrece una búsqueda exhaustiva de todas las configuraciones que desea probar. Luego podrás elegir al ganador.
Para estas funciones de redes neuronales más avanzadas, es posible que desee considerar SAS, ya que estas técnicas están disponibles tanto en SAS como en Viya.
Por último, tenga en cuenta que se han realizado muchos estudios sobre cómo intentar predecir los precios de las acciones. Los estudios han demostrado que los precios de las acciones a corto plazo se modelan mejor como un "camino aleatorio", lo que significa que no existe un patrón discernible. En otras palabras, no culpe a la técnica de modelado por no funcionar con un conjunto de datos que no se pueden modelar bien. ¡Buena suerte!
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)Hola Mark,
Es un placer saludarlos, soy nuevo en JMP, tengo algunas preguntas:
1. ¿Cómo se pueden hacer predicciones de los precios futuros de las acciones con las redes neuronales JMP?
Aparentemente JMP no tiene redes neuronales recurrentes con memoria RNN.
2. ¿JMP en el entrenamiento del modelo optimiza los pesos de las redes con algoritmos genéticos o programación genética?
3. ¿JMP optimiza el número de neuronas y el número de capas ocultas con algoritmos genéticos o programación genética?
Probé JMP ARIMA para predecir el precio futuro de las acciones con malos resultados.
Saludos,
marco
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)Esta cita es de la parte de ayuda sobre el comando del generador de perfiles de predicción para generar una tabla aleatoria:
" Solicita una cantidad de ejecuciones y crea una tabla de salida con esa cantidad de filas, con configuraciones de factores aleatorios y valores pronosticados sobre esas configuraciones. Esto es equivalente a (pero mucho más simple que) abriendo el simulador, restableciendo todos los factores a una distribución uniforme aleatoria y luego simulando la salida. Este comando es similar a Tabla de cuadrícula de salida, excepto que genera una tabla aleatoria en lugar de una secuenciada.
La razón principal para crear tablas de factores aleatorios uniformes es explorar el espacio de factores de forma multivariada mediante consultas gráficas. Esta técnica se llama Montecarlo filtrado .
Supongamos que quieres para ver el lugar geométrico de todas las configuraciones de factores que producen un rango dado de configuraciones de respuesta deseables . Al seleccionar y ocultar los puntos que no califican (usando el cepillado gráfico o el filtro de datos), verá las posibilidades de lo que queda: el espacio de oportunidad que produce el resultado que desea.
Es posible que algunas filas aparezcan seleccionadas y marcadas con un punto rojo. Estos representan los puntos de la frontera de Pareto de deseabilidad multivariada: los puntos que no están dominados por otros puntos con respecto a la deseabilidad de todos los factores. "
Por lo que es una forma sencilla de obtener un uniforme simulación aleatoria de los predictores y predicción del modelo de la respuesta. Tiene el mismo propósito que el comando Tabla de cuadrícula de salida.
La función Simulador le brinda mucho más control sobre la naturaleza de la variación de los predictores y la variación aleatoria adicional de la respuesta. Sirve principalmente para evaluar la capacidad del proceso, pero obviamente tiene otras aplicaciones.
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)Hola,
¡Muchas gracias por responderme!
Leí la documentación de JMP, sección Opciones del generador de perfiles de predicción. Y descubrí que la "Tabla aleatoria de salida" es la técnica de Montecarlo filtrada, mientras que la "Simulación" es solo una simulación de Montecarlo que utiliza el ruido aleatorio.
No sé la diferencia entre las dos técnicas y qué método es mejor, tengo que estudiar mejor estas dos diferencias. Si tienes algún consejo, será muy apreciado. Sin embargo, he comprobado que la simulación de Montecarlo lleva más tiempo que la técnica de Montecarlo filtrada.
Tengo que hacer esto en el perfil de la red neuronal. Por eso pensé que podría ser una simulación híbrida ANN-Montecarlo.
Para ayudar a entender:
Para tabla aleatoria,
1. Seleccioné la opción neuronal.
2. Hice clic en el triángulo rojo en el modelo.
3. Hice clic en la opción Perfil de predicción.
4. Hice clic en el triángulo rojo en el perfil de predicción.
5. Seleccioné tablas aleatorias de salida.
Para la simulación, realicé el mismo procedimiento, pero en lugar de hacer clic en "Salir tablas aleatorias", seleccioné la opción "simulador". Hice clic en el triángulo rojo y seleccioné "Experimento de simulación".
Ajusté el ruido en las celdas interactivas y seleccioné la variable aleatoria.
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)
@AngeloF88 escribió:
Es muy fácil hacer esta simulación en JMP. Si sabe, ¿cuál es la diferencia en JMP entre tablas aleatorias y simulación del perfil? ¿Son dos tipos de simulación de Montecarlo?
Aclare las tablas ("tablas aleatorias" y "simulación de perfil") a las que se refiere antes de que pueda responder su pregunta.
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)¡Muchas gracias! Leí el periódico y es interesante. También leí alguna publicación (también en la revista con alto factor de impacto) sobre el uso de ANN en el campo fisiológico de las plantas. Creo que son un fuerte instrumento predictivo, pero el problema de la caja negra es difícil de explicar a los investigadores que no trabajan todo el día con matemáticas. Sin embargo, JMP ayuda a utilizar la red neuronal artificial y a comprender el resultado. Después de su sugerencia sobre el perfil y la estimación, tengo una visión más clara de la Red Neural Artificial. Leí los excelentes libros disponibles directamente en JMP. También encontré en ANN y otros análisis estadísticos la simulación de Montecarlo a partir del perfil. ¡¡Bingo!! En ocasiones, esta es una simulación importante para la paleoclimatología y en general para las personas que trabajan con predicción en ecología. Es muy fácil hacer esta simulación en JMP. Si sabe, ¿cuál es la diferencia en JMP entre tablas aleatorias y simulación del perfil? ¿Son dos tipos de simulación de Montecarlo?
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)Tengo más información de JMP Development sobre su consulta. Dicen que es difícil verificar redes neuronales (NN) desde cualquier producto de software. Los NN no son como la regresión lineal donde los coeficientes y las predicciones serán los mismos sin importar el producto que utilice.Cada producto será muy diferente. Lo mejor que puede hacer es utilizar la validación cruzada para evaluar el rendimiento predictivo de los modelos de minería de datos. Si existe una gran necesidad de verificar los modelos que se utilizan, entonces quédese con mínimos cuadrados y regresión logística.
Incluí un documento técnico de JMP que aborda todo lo que podemos decir sobre NN en JMP.
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)Puede buscar dichas referencias. No tengo ninguno a mano.
Los proveedores de software comercial generalmente no publican sus métodos numéricos o códigos porque son propiedad intelectual patentada. JMP ofrece esta página como un recurso a los usuarios para ayudarles a establecer la calidad de JMP .
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)Muchas gracias Markbailey,
Demasiado fácil para encontrarlo rápidamente... 
Satisfecho con el software JMP y su soporte.
¿Sabe si existe alguna publicación o artículo de conferencia que describa las estimaciones de ANN en JMP? Porque para publicar los datos, tengo que respaldar mi análisis y mi publicación con la/s referencia/s correcta/s basada en JMP.
Saludos,
ángel
Re: algoritmos de extracción de reglas para verificar la Red Neuronal Artificial (ANN)Después de ejecutar un modelo, puede hacer clic en el triángulo rojo en la parte superior del esquema de ese modelo. Tienes opciones para ver la red. diagrama y también puedes mostrar el estimados . La estructura de cada nodo depende de su elección de la función de activación.
Que más necesitas?