Come si fa l'apprendimento automatico multivariato? (prevedere più variabili dipendenti)


9

Sto cercando di prevedere gruppi di articoli che qualcuno acquisterà ... cioè, ho più variabili dipendenti dal colore.

Anziché creare 7 modelli indipendenti per prevedere la probabilità che qualcuno acquisti ciascuno dei 7 articoli e quindi combinare i risultati, quali metodi devo esaminare per avere un modello che tenga conto delle relazioni tra le 7 variabili correlate correlate ( cose che possono acquistare).

Sto usando R come linguaggio di programmazione, quindi ogni consiglio specifico R è apprezzato.

Risposte:


7

Sulla base della tua descrizione, sembra appropriata una regressione logistica multinomiale. Supponendo che il tuo risultato sia un fattore con 7 livelli (una delle 7 opzioni di acquisto), puoi quindi prevedere rapidamente l'appartenenza utilizzando un modello di regressione logistica multinomiale (vedi ?multinomnel nnetpacchetto in R). Se il risultato non può essere combinato in un fattore con 7 livelli, sarebbe necessaria un'analisi cluster per raggruppare gli elementi prima di adattare la regressione logistica multinomiale.


Non è una regressione multinomiale. Ho 7 prodotti diversi, ogni prodotto ha fino a 4 fattori .... ci sono fragole e tipi di fragole, quindi latte e diversi tipi di latte e mele e diversi tipi di mele, e devo prevedere il corretto carrello della spesa ... mele così verdi con fragole coltivate, con il 2% di latte ecc.,
esplosione

1
Ho la tua soluzione! Consiglierei l'analisi delle classi latenti politomiche, in cui il risultato è un insieme di fattori che si presume raggruppino in una o più classi latenti. L'appartenenza a queste classi è prevista sulla base di una regressione logistica multinomiale. Vedere ?poLCAin R per ulteriori informazioni sul montaggio di questo modello.
statsRus

Sto leggendo questo - grazie statsRus. Ci devono essere altri modi però.
blast00

In particolare, i metodi di apprendimento automatico, dal momento che non ho bisogno di adattarmi a una distribuzione di probabilità / sono OK con un modello di scatola nera
blast00

Tieni presente che molti modelli statistici sono in realtà modelli di apprendimento automatico senza supervisione - ma hai ragione, di solito ci preoccupiamo degli input con questi modelli. Per l'apprendimento automatico supervisionato con molti input e risultati (e una qualità black box), suggerirei reti neurali ( ?nnetin R).
statsRus

5

Potresti costruire una foresta casuale in cui ciascuna delle tue classi è un gruppo di oggetti (ad esempio "mele verdi con fragole coltivate, con il 2% di latte"). Quindi, in base alle caratteristiche dell'acquirente o qualunque sia il tuo predittore, puoi fornire una probabilità di acquisto prevista per ciascun gruppo di articoli. Vorrei usare il pacchetto randomForest di R ( https://cran.r-project.org/web/packages/randomForest/index.html ) per fare questo.


3

Un'opzione è quella di ottenere le frequenze di tutte le combinazioni di acquisti di prodotti; seleziona le poche combinazioni più comuni; quindi costruire un modello di regressione per prevedere la combinazione scelta da ciascun individuo. Ad esempio, con una regressione logistica binaria è possibile prevedere l'acquisto di a) vino bianco, brie, fragole e uva contro b) vino rosso, formaggio cheddar e gouda. Con più di 2 combinazioni di questo tipo, o se si desidera includere la categoria di "nessuna delle precedenti", la regressione logistica multinomiale sarebbe probabilmente il metodo di scelta.

Nota che includere solo le combo comuni significa che avrai più numeri praticabili di ciascuno ma che escluderai gli altri, almeno da questa procedura. Potrei immaginare 7 elementi che creano dozzine di combo ciascuna scelta da almeno alcune persone. Questo è forse troppe categorie per la dimensione del campione. Inoltre, se una combo fosse scelta da poche persone, il tuo modello avrebbe pochissime informazioni con cui lavorare.

Un'altra opzione è quella di utilizzare l'analisi dei cluster per arrivare ad alcune serie di articoli che tendono ad essere acquistati insieme. Con 7 elementi, probabilmente finirai con meno di 4 cluster, il che potrebbe semplificare il tuo compito. Se provi l'analisi del cluster e ritieni che i risultati non siano realizzabili, non c'è motivo per cui devi usarli: basta tornare all'approccio basato sulla frequenza sopra descritto. In questo caso, se ti leggo bene, stai cercando la gamma di categorie più descrittiva e interessante e, nel stabilirlo, non devi preoccuparti di gradi di libertà o confronti multipli o di eventuali preoccupazioni che potrebbero applicarsi se stavi provando più metodi nell'eseguire un test inferenziale.


Grazie per questo suggerimento Tuttavia, devono esistere metodi di apprendimento automatico multivariato. Simliar a come potresti avere 2 variabili dipendenti in un modello di regressione "più semplice" .. e fai semplicemente lm (y + z ~ ...) .. Penso ..
blast00

0

Presumo che tu voglia analizzare una situazione simile alla seguente;

Yi = f (X), dove f () è un collegamento non lineare e X è un vettore di covariate e Yi è la i-esima variabile dipendente, che è di natura ordinaria (se è categorica, Yi non può avere più di due categorie), e dì nel tuo modello i = 1, 2, ... 5 e ciascuno degli Yi è correlato ... In tal caso, puoi sicuramente utilizzare Multivariate Probit. R, Mplus e SAS possono stimare MVP

Al contrario, hai Y = f (X) e Y (nota che c'è solo una Y) è categorico e, ad esempio, ha N categorie in modo che le scelte fatte sulle N categorie siano esclusive ed esaustive; devi adattare il modello Multinomial Logit. Esiste anche qualcosa chiamato probit multinomiale, simile a Logit multinomiale.

Spero che sia di aiuto. Grazie Sanjoy

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.