Ho a che fare con un modello lineare gerarchico bayesiano , qui la rete lo descrive.
rappresenta le vendite giornaliere di un prodotto in un supermercato (osservato).
è una matrice nota di regressori, inclusi prezzi, promozioni, giorno della settimana, tempo, festività.
è il livello di inventario latente sconosciuto di ciascun prodotto, che causa la maggior parte dei problemi e che considero un vettore di variabili binarie, uno per ogni prodotto con indica lo stock e quindi l'indisponibilità del prodotto. Anche se in teoria sconosciuto l'ho stimato tramite un HMM per ogni prodotto, quindi deve essere considerato noto come X.Ho appena deciso di non oscurarlo per un corretto formalismo.
è un parametro di effetto misto per ogni singolo prodotto in cui gli effetti misti considerati sono il prezzo del prodotto, le promozioni e lo stock.
è il vettore dei coefficienti di regressione fissi, mentre b 1 e b 2 sono i vettori del coefficiente di effetti misti. Un gruppo indica ilmarchioe l'altro indica ilsapore(questo è un esempio, in realtà ho molti gruppi, ma qui ne riporto solo 2 per chiarezza).
, Σ b 1 e Σ b 2 sono iperparametri sugli effetti misti.
Dal momento che ho i dati di conteggio diciamo che considero ogni vendita di prodotti come Poisson distribuito in base ai Regressori (anche se per alcuni prodotti vale l'approssimazione lineare e per altri un modello a zero inflazione è migliore). In tal caso avrei per un prodotto ( questo è solo per chi è interessato al modello bayesiano stesso, saltare alla domanda se lo trovi interessante o non banale :) ):
, α 0 , γ 0 , α 1 , γ 1 , α 2 , γ 2 noto.
, Σ β noto.
,
, j ∈ 1 , … , m 1 , k ∈ 1 , … , m 2
matrice di effetti misti per i 2 gruppi, X p p s i indicando prezzo, promozione e stockout del prodotto considerato. I W indica distribuzioni inverse di Wishart, generalmente utilizzate per matrici di covarianza di normali priori multivariati. Ma non è importante qui. Un esempio di una possibile Z i potrebbe essere la matrice di tutti i prezzi, o potremmo anche dire Z i = X i . Per quanto riguarda i priori per la matrice varianza-covarianza ad effetti misti, proverei semplicemente a preservare la correlazione tra le voci, in modo che σ i j sia positivo se e j sono prodotti della stessa marca o di uno stesso sapore.
L'intuizione alla base di questo modello sarebbe che le vendite di un determinato prodotto dipendono dal suo prezzo, dalla sua disponibilità o meno, ma anche dai prezzi di tutti gli altri prodotti e dalle scorte di tutti gli altri prodotti. Dato che non voglio avere lo stesso modello (leggi: stessa curva di regressione) per tutti i coefficienti, ho introdotto effetti misti che sfruttano alcuni gruppi che ho nei miei dati, attraverso la condivisione dei parametri.
Le mie domande sono:
- C'è un modo per trasporre questo modello in un'architettura di rete neurale? So che ci sono molte domande che cercano le relazioni tra la rete bayesiana, i campi markov casuali, i modelli gerarchici bayesiani e le reti neurali, ma non ho trovato nulla che vada dal modello gerarchico bayesiano alle reti neurali. Faccio la domanda sulle reti neurali poiché, avendo un'elevata dimensionalità del mio problema (considera che ho 340 prodotti), la stima dei parametri tramite MCMC richiede settimane (ho provato solo per 20 prodotti che eseguono catene parallele in runJags e ci sono voluti giorni di tempo) . Ma non voglio andare a caso e dare dati a una rete neurale come una scatola nera. Vorrei sfruttare la struttura di dipendenza / indipendenza della mia rete.
Qui ho appena disegnato una rete neurale. Come si vede, regressori ( e s io indico rispettivamente prezzo e stockout del prodotto i ) nella parte superiore sono inputed allo strato nascosto come lo sono quelli prodotti specifici (prezzi Qui ho considerato e rotture di stock). (I bordi blu e nero non hanno un significato particolare, era solo per rendere la figura più chiara). Inoltre e Y 2 potrebbero essere altamente correlati mentre Y 3potrebbe essere un prodotto totalmente diverso (pensate a 2 succhi d'arancia e vino rosso), ma non utilizzo queste informazioni nelle reti neurali. Mi chiedo se le informazioni di raggruppamento vengano utilizzate solo nell'inizializzazione del peso o se si possa personalizzare la rete in base al problema.
Modifica, la mia idea:
La mia idea sarebbe qualcosa del genere: come prima, e Y 2 sono prodotti correlati, mentre Y 3 è totalmente diverso. Sapendo questo a priori faccio 2 cose:
- Preallocato alcuni neuroni nello strato nascosto a qualsiasi gruppo che ho, in questo caso ho 2 gruppi {( ), ( Y 3 )}.
- Inizializzo pesi elevati tra gli input e i nodi allocati (gli spigoli vivi) e ovviamente costruisco altri nodi nascosti per catturare la "casualità" residua nei dati.
Grazie in anticipo per il vostro aiuto