J'ai affaire à un modèle linéaire hiérarchique bayésien , ici le réseau qui le décrit.
représente les ventes quotidiennes d'un produit dans un supermarché (observé).
est une matrice connue de régresseurs, y compris les prix, les promotions, le jour de la semaine, la météo, les vacances.
1 est le niveau d'inventaire latent inconnu de chaque produit, ce qui pose le plus de problèmes et que je considère comme un vecteur de variables binaires, une pour chaque produit avec indiquant rupture de stock et donc l'indisponibilité du produit. Même si en théorie inconnu, je l'ai estimé par un HMM pour chaque produit, il doit donc être considéré comme connu sous le nom de X. Je viens de décider de ne pas le masquer pour un formalisme approprié.
est un paramètre d'effet mixte pour tout produit unique où les effets mixtes considérés sont le prix du produit, les promotions et les ruptures de stock.
b 1 b 2 est le vecteur des coefficients de régression fixes, tandis que et sont les vecteurs du coefficient d'effets mixtes. Un groupe indique la marque et l'autre indique la saveur (c'est un exemple, en réalité j'ai de nombreux groupes, mais je n'en rapporte ici que 2 pour plus de clarté).
Σ b 1 Σ b 2 , et sont des hyperparamètres sur les effets mixtes.
Puisque j'ai des données de comptage, disons que je traite chaque vente de produit comme une distribution de Poisson conditionnelle aux régresseurs (même si pour certains produits l'approximation linéaire tient et pour d'autres un modèle gonflé à zéro est meilleur). Dans un tel cas, j'aurais un produit ( c'est juste pour ceux qui s'intéressent au modèle bayésien lui-même, passez à la question si vous le trouvez sans intérêt ou non trivial :) ):
, connus.
, connu.
,
, ,
Matrice des effets mixtes pour les 2 groupes, indiquant le prix, la promotion et la rupture de stock du produit considéré. indique des distributions de Wishart inverses, généralement utilisées pour les matrices de covariance des a priori multivariés normaux. Mais ce n'est pas important ici. Un exemple d'un possible pourrait être la matrice de tous les prix, ou on pourrait même dire . En ce qui concerne les a priori de la matrice variance-covariance à effets mixtes, je voudrais juste essayer de conserver la corrélation entre les entrées, de sorte que soit positif si et sont des produits de la même marque ou de l'un des même saveur.
L'intuition derrière ce modèle serait que les ventes d'un produit donné dépendent de son prix, de sa disponibilité ou non, mais aussi des prix de tous les autres produits et des ruptures de stock de tous les autres produits. Comme je ne veux pas avoir le même modèle (lire: même courbe de régression) pour tous les coefficients, j'ai introduit des effets mixtes qui exploitent certains groupes que j'ai dans mes données, via le partage de paramètres.
Mes questions sont:
- Existe-t-il un moyen de transposer ce modèle dans une architecture de réseau neuronal? Je sais qu'il y a beaucoup de questions à la recherche des relations entre le réseau bayésien, les champs aléatoires markoviens, les modèles hiérarchiques bayésiens et les réseaux de neurones, mais je n'ai rien trouvé allant du modèle hiérarchique bayésien aux réseaux neuronaux. Je pose la question sur les réseaux de neurones car, ayant une dimensionnalité élevée de mon problème (considérons que j'ai 340 produits), l'estimation des paramètres via MCMC prend des semaines (j'ai essayé juste pour 20 produits exécutant des chaînes parallèles dans runJags et cela a pris des jours) . Mais je ne veux pas aller au hasard et donner simplement des données à un réseau de neurones sous forme de boîte noire. Je souhaite exploiter la structure de dépendance / indépendance de mon réseau.
Ici, je viens d'esquisser un réseau de neurones. Comme vous le voyez, les régresseurs ( et indiquent respectivement le prix et la rupture de stock du produit ) en haut sont entrés dans la couche cachée, tout comme les produits spécifiques (ici, j'ai considéré les prix et les ruptures de stock). (Les bords bleus et noirs n'ont pas de signification particulière, c'était juste pour rendre la figure plus claire). De plus, et pourraient être fortement corrélés tandis quepourrait être un produit totalement différent (pensez à 2 jus d'orange et du vin rouge), mais je n'utilise pas ces informations dans les réseaux de neurones. Je me demande si les informations de regroupement sont utilisées uniquement dans l'initialisation du poids ou si l'on peut personnaliser le réseau en fonction du problème.
Edit, mon idée:
Mon idée serait quelque chose comme ceci: comme auparavant, et sont des produits corrélés, tandis que est totalement différent. Sachant cela a priori je fais 2 choses:
- Je préalloue certains neurones de la couche cachée à n'importe quel groupe que j'ai, dans ce cas j'ai 2 groupes {( ), ( )}.Y 3
- J'initialise des poids élevés entre les entrées et les nœuds alloués (les bords en gras) et bien sûr je construis d'autres nœuds cachés pour capturer le «caractère aléatoire» restant dans les données.
Merci d'avance pour votre aide