Estoy tratando con un modelo lineal jerárquico bayesiano , aquí la red que lo describe.
representa las ventas diarias de un producto en un supermercado (observado).
es una matriz conocida de regresores, que incluye precios, promociones, día de la semana, clima, días festivos.
es el nivel de inventario latente desconocido de cada producto, que causa la mayoría de los problemas y que considero un vector de variables binarias, uno para cada producto con indica falta de stock y, por lo tanto, la falta de disponibilidad del producto. Incluso si, en teoría, se desconoce, lo estimé a través de un HMM para cada producto, por lo que debe considerarse como conocido como X.Simplemente decidí quitarle el sombreado para obtener el formalismo adecuado.
es un parámetro de efecto mixto para cualquier producto individual donde los efectos mixtos considerados son el precio del producto, las promociones y el desabastecimiento.
es el vector de los coeficientes de regresión fijos, mientras que b 1 y b 2 son los vectores del coeficiente de efectos mixtos. Un grupo indicamarcay el otro indicasabor(este es un ejemplo, en realidad tengo muchos grupos, pero aquí solo informo 2 para mayor claridad).
, Σ b 1 y Σ b 2 son hiperparámetros más de los efectos mixtos.
Como tengo datos de recuento, digamos que trato las ventas de cada producto como Poisson distribuido condicional en los Regresores (incluso si para algunos productos se mantiene la aproximación lineal y para otros un modelo inflado cero es mejor). En tal caso, tendría un producto ( esto es solo para quién está interesado en el modelo bayesiano en sí mismo, salte a la pregunta si lo encuentra poco interesante o no trivial :) ):
, α 0 , γ 0 , α 1 , γ 1 , α 2 , γ 2 conocidos.
, Σ β conocido.
,
, j ∈ 1 , ... , m 1 , k ∈ 1 , ... , m 2
matriz de efectos mixtos para los 2 grupos, X p p s i indicando precio, promoción y desabastecimiento del producto considerado. I W indica distribuciones inversas de Wishart, generalmente utilizadas para matrices de covarianza de previos multivariados normales. Pero no es importante aquí. Un ejemplo de una posible Z i podría ser la matriz de todos los precios, o incluso podríamos decir Z i = X i . Con respecto a los antecedentes de la matriz de varianza y covarianza de efectos mixtos, solo trataría de preservar la correlación entre las entradas, de modo que σ i j sería positivo si y j son productos de la misma marca o del mismo sabor.
La intuición detrás de este modelo sería que las ventas de un producto determinado dependen de su precio, su disponibilidad o no, pero también de los precios de todos los demás productos y del desabastecimiento de todos los demás productos. Como no quiero tener el mismo modelo (léase: la misma curva de regresión) para todos los coeficientes, introduje efectos mixtos que explotan algunos grupos que tengo en mis datos, a través del intercambio de parámetros.
Mis preguntas son:
- ¿Hay alguna manera de transponer este modelo a una arquitectura de red neuronal? Sé que hay muchas preguntas que buscan las relaciones entre la red bayesiana, los campos aleatorios de Markov, los modelos jerárquicos bayesianos y las redes neuronales, pero no encontré nada que vaya desde el modelo jerárquico bayesiano a las redes neuronales. Hago la pregunta sobre las redes neuronales ya que, teniendo una gran dimensionalidad de mi problema (considere que tengo 340 productos), la estimación de parámetros a través de MCMC lleva semanas (probé solo 20 productos que ejecutan cadenas paralelas en runJags y me llevó días) . Pero no quiero ir al azar y simplemente dar datos a una red neuronal como una caja negra. Me gustaría explotar la estructura de dependencia / independencia de mi red.
Aquí acabo de dibujar una red neuronal. Como puede ver, los regresores ( y S i indican respectivamente el precio y el desabastecimiento del producto i ) en la parte superior se asignan a la capa oculta, al igual que los productos específicos (aquí consideré los precios y desabastecimientos). (Los bordes azul y negro no tienen un significado particular, fue solo para aclarar la figura). Además, e Y 2 podrían estar altamente correlacionados mientras que Y 3podría ser un producto totalmente diferente (piense en 2 jugos de naranja y vino tinto), pero no uso esta información en redes neuronales. Me pregunto si la información de agrupación se usa solo en la inicialización de peso o si se puede personalizar la red para el problema.
Editar, mi idea:
Mi idea sería algo como esto: como antes, e Y 2 son productos correlacionados, mientras que Y 3 es totalmente diferente. Sabiendo esto a priori hago 2 cosas:
- Preasigno algunas neuronas en la capa oculta a cualquier grupo que tenga, en este caso tengo 2 grupos {( ), ( Y 3 )}.
- Inicializo pesos altos entre las entradas y los nodos asignados (los bordes en negrita) y, por supuesto, construyo otros nodos ocultos para capturar la "aleatoriedad" restante en los datos.
Gracias de antemano por su ayuda