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
la source
Réponses:
Pour mémoire, je ne vois pas cela comme une réponse, mais juste un long commentaire! La PDE (équation de chaleur) utilisée pour modéliser le flux de chaleur à travers une tige métallique peut également être utilisée pour modéliser la tarification des options. Personne à ma connaissance n'a jamais essayé de suggérer un lien entre le prix des options et le flux de chaleur en soi. Je pense que la citation du lien de Danilov dit la même chose. Les graphes bayésiens et les réseaux neuronaux utilisent le langage des graphes pour exprimer les relations entre leurs différentes pièces internes. Cependant, les graphiques bayésiens nous renseignent sur la structure de corrélation des variables d'entrée et le graphique d'un réseau neuronal indique comment construire la fonction de prédiction à partir des variables d'entrée. Ce sont des choses très différentes.
Diverses méthodes utilisées dans DL tentent de «choisir» les variables les plus importantes, mais c'est un problème empirique. Il ne nous renseigne pas non plus sur la structure de corrélation de l'ensemble des variables ou des variables restantes. Cela suggère simplement que les variables survivantes seront les meilleures pour la prédiciton. Par exemple, si l'on regarde les réseaux neuronaux, on sera conduit à l'ensemble de données de crédit allemand, qui a, si je me souviens bien, 2000 points de données et 5 variables dépendantes. Par essais et erreurs, je pense que vous constaterez qu'un filet avec seulement 1 couche cachée et utilisant seulement 2 des variables donne les meilleurs résultats pour la prédiction. Cependant, cela ne peut être découvert qu'en construisant tous les modèles et en les testant sur l'ensemble de test indépendant.
la source