Como fazer aprendizado de máquina multivariado? (prevendo várias variáveis ​​dependentes)

9

Estou procurando prever grupos de itens que alguém comprará ... ou seja, tenho várias variáveis ​​dependentes colineares.

Em vez de criar 7 ou mais modelos independentes para prever a probabilidade de alguém comprar cada um dos 7 itens e depois combinar os resultados, em quais métodos devo procurar um modelo que explique os relacionamentos entre as 7 variáveis ​​dependentes relacionadas ( coisas que eles podem comprar).

Eu estou usando R como uma linguagem de programação, então qualquer conselho específico sobre R é apreciado.

blast00
fonte

Respostas:

7

Com base na sua descrição, parece que uma regressão logística multinomial é apropriada. Supondo que seu resultado seja um fator com 7 níveis (uma das 7 opções de compra), você poderá prever rapidamente a associação usando um modelo de regressão logística multinomial (veja ?multinomno nnetpacote em R). Se seu resultado não puder ser combinado em um fator com 7 níveis, será necessária uma análise de cluster para agrupar os itens antes de ajustar a regressão logística multinomial.

statsRus
fonte
Não é regressão multinomial. Eu tenho 7 produtos diferentes, cada produto tem até 4 fatores ... existem morangos e tipos de morangos, e depois leite e diferentes tipos de leite, e maçãs e diferentes tipos de maçãs, e preciso prever o correto carrinho de compras ... maçãs tão verde com morangos criação, com 2% de leite etc.,
blast00
11
Eu tenho sua solução! Eu recomendaria a análise de classe latente politômica, na qual o resultado é um conjunto de fatores que se supõe agrupar em uma ou mais classes latentes. A participação nessas classes é prevista com base em uma regressão logística multinomial. Veja ?poLCAem R para obter mais informações sobre como ajustar este modelo.
statsRus
Estou lendo isso - obrigado statsRus. Porém, deve haver outras maneiras.
blast00
Especificamente, máquina de métodos de aprendizagem, uma vez que não precisam se encaixar uma distribuição de probabilidade / am OK com um modelo caixa preta
blast00
Lembre-se de que muitos modelos estatísticos são, na verdade, modelos de aprendizado de máquina não supervisionados - mas você está certo de que geralmente nos preocupamos com as entradas desses modelos. Para aprendizado de máquina supervisionado com muitas entradas e resultados (e uma qualidade de caixa preta), sugiro redes neurais ( ?nnetem R).
statsRus
5

Você pode construir uma floresta aleatória em que cada uma de suas aulas seja um grupo de itens (por exemplo, "maçãs verdes com morangos de criação, com 2% de leite"). Em seguida, com base nas características do comprador ou quaisquer que sejam seus preditores, você pode fornecer uma probabilidade prevista de compra para cada grupo de itens. Eu usaria o pacote randomForest do R ( https://cran.r-project.org/web/packages/randomForest/index.html ) para fazer isso.

LindsayL
fonte
3

Uma opção é obter frequências de todas as combinações de compra de produtos; selecione as poucas combinações mais comuns; depois, construa um modelo de regressão para prever a combinação escolhida de cada indivíduo. Por exemplo, com uma regressão logística binária, é possível prever a compra de a) Vinho Branco, Brie, Morangos e Uvas vs. b) Vinho Tinto, Cheddar e Gouda. Com mais de duas dessas combinações, ou se você deseja incluir a categoria "nenhuma das opções acima", a regressão logística multinomial provavelmente seria o método de escolha.

Observe que incluir apenas os combos comuns significa que você terá números mais viáveis ​​de cada um, mas excluirá os outros, pelo menos deste procedimento. Eu poderia imaginar 7 itens criando dezenas de combos, cada um escolhido por pelo menos algumas pessoas. É possível que haja muitas categorias para o tamanho da amostra. Além disso, se uma combinação fosse escolhida por apenas algumas pessoas, seu modelo teria muito pouca informação para trabalhar.

Outra opção é usar a análise de cluster para chegar a alguns conjuntos de itens que tendem a ser comprados juntos. Com 7 itens, você provavelmente terminará com menos de 4 clusters, o que pode facilitar sua tarefa. Se você tentar a análise de cluster e achar os resultados impraticáveis, não há razão para usá-los: basta voltar à abordagem baseada em frequência descrita acima. Nesse caso, se eu entendi direito, você está procurando o conjunto de categorias mais descritivo e interessante e, ao estabelecer isso, não precisa se preocupar com graus de liberdade ou com múltiplas comparações ou com quaisquer preocupações que possam se aplicar. se você estava tentando vários métodos na execução de algum teste inferencial.

rolando2
fonte
Obrigado por esta sugestão. Porém, deve haver métodos de aprendizado de máquina multivariados. Simliar a forma como você pode ter 2 variáveis dependentes em um modelo de regressão "mais fácil" .. e você acabou de fazer lm (y + z ~ ...) .. Eu acho que ..
blast00
0

Estou assumindo que você deseja analisar uma situação semelhante à seguinte;

Yi = f (X), onde f () é um link não linear e X é um vetor de covariáveis ​​e Yi é a i-ésima variável dependente, de natureza ordinal (se for categórica, Yi não pode ter mais de dois) categorias) e diga no seu modelo i = 1, 2, ... 5 e cada um dos Yi s está correlacionado ... Nesse caso, você certamente pode empregar Probit multivariado. R, Mplus e SAS podem estimar MVP

Por outro lado, você tem Y = f (X) e Y (observe que há apenas um Y) é categórico e, por exemplo, tem N categorias para que as escolhas feitas sobre as N categorias sejam exclusivas e exaustivas; você precisa ajustar o modelo Multinomial Logit. Também existe algo chamado probit multinomial, semelhante ao logit multinomial.

Espero que isto ajude. Graças Sanjoy

Sanjoy Bhattacharjee
fonte