Regressão linear ou regressão logística ordinal para prever a classificação do vinho (de 0 e 10)

18

Eu tenho os dados do vinho daqui, que consistem em 11 variáveis ​​numéricas independentes com uma classificação dependente associada a cada entrada com valores entre 0 e 10. Isso torna um ótimo conjunto de dados para usar um modelo de regressão para investigar a relação entre as variáveis ​​e os associados Avaliação. No entanto, a regressão linear seria apropriada ou é melhor usar a regressão logística multinomial / ordenada?

A regressão logística parece melhor, dadas categorias específicas, ou seja, não é uma variável dependente contínua, mas (1) existem 11 categorias (um pouco demais?) E (2) após a inspeção, existem apenas dados para 6-7 dessas categorias, ou seja, o restante 5-4 categorias não têm exemplo no conjunto de dados.

Por outro lado, a regressão linear deve estimar linearmente uma classificação entre 0 e 10, que parece mais próxima do que estou tentando descobrir; no entanto, a variável dependente não é contínua no conjunto de dados.

Qual é a melhor abordagem? Nota: estou usando R para a análise

Edite, abordando alguns dos pontos mencionados nas respostas:

  • Não há objetivo comercial, pois isso é realmente para um curso universitário. A tarefa é analisar um conjunto de dados de escolha da maneira que achar melhor.
  • A distribuição das classificações parece normal (histograma / qq-plot). Os valores reais no conjunto de dados estão entre 3-8 (mesmo que tecnicamente 0-10).
Bag Dime
fonte

Respostas:

9

Um modelo de logit ordenado é mais apropriado, pois você tem uma variável dependente que é uma classificação; 7 é melhor que 4, por exemplo. Portanto, há uma ordem clara.

Isso permite que você obtenha uma probabilidade para cada compartimento. Existem algumas suposições que você precisa levar em consideração. Você pode dar uma olhada aqui .

Uma das suposições subjacentes à regressão logística ordinal (e probinal ordinal) é que a relação entre cada par de grupos de resultados é a mesma. Em outras palavras, a regressão logística ordinal assume que os coeficientes que descrevem a relação entre, digamos, as categorias mais baixa versus todas as categorias mais altas da variável resposta são os mesmos que descrevem a relação entre a próxima categoria mais baixa e todas as categorias mais altas, etc. Isso é chamado de premissa de chances proporcionais ou de regressão paralela.

Algum código:

library("MASS")
## fit ordered logit model and store results 'm'
m <- polr(Y ~ X1 + X2 + X3, data = dat, Hess=TRUE)

## view a summary of the model
summary(m)

Você pode ter mais explicações aqui , aqui , aqui ou aqui .

Lembre-se de que você precisará transformar seus coeficientes em odds ratio e, em seguida, em probabilidades, para ter uma interpretação clara em termos de probabilidades.

De uma maneira direta (e simplista), você pode calculá-los da seguinte maneira:

exp(βEu)=OddsRumatEuo

exp(β1)exp(βEu)=ProbumabEueuEuty

(Não quer ser muito técnico)

adrian1121
fonte
4

Eu gostaria de fornecer outra visão do problema: no mundo real, é menos provável que essa pergunta seja encontrada, porque o que fazer depende das necessidades dos negócios .

A questão essencial no mundo real é o que fazer depois de obter a previsão?

  • Suponha que as empresas desejem jogar fora o vinho de "baixa qualidade". Então, precisamos de uma definição de "quão ruim é ruim" (por exemplo, qualidade abaixo de ). Com a definição, a regressão logística binária deve ser usada, porque a decisão é binária. (lixo ou guardar, não há nada no meio).2

  • Suponha que as empresas desejem selecionar um bom vinho para enviar a três tipos de restaurantes. Então, será necessária uma classificação multi-classe.

Em suma, quero argumentar que o que fazer depende realmente das necessidades após obter a previsão, em vez de apenas olhar para o atributo da variável de resposta.

Haitao Du
fonte
1

Embora um modelo de logit ordenado (conforme detalhado por @ adrian1121) seja o mais apropriado em termos de suposições de modelo, acho que a regressão linear múltipla também tem algumas vantagens.

  1. Facilidade de interpretação . Os modelos lineares são mais fáceis de interpretar do que os modelos de logit ordenados.
  2. Conforto das partes interessadas . Os usuários do modelo podem se sentir mais à vontade com a regressão linear, porque são mais propensos a saber o que é.
  3. Mais parcimonioso (mais simples). O modelo mais simples pode ter o mesmo desempenho, consulte o tópico relacionado .

O fato de a maioria das respostas estar entre 3-8 e sugere que um modelo linear pode ter um desempenho adequado às suas necessidades. Não estou dizendo que é "melhor", mas pode ser uma abordagem mais prática.

Minador
fonte
0

Em princípio, o modelo de logit ordenado parece apropriado, mas 10 (ou até 7) categorias são bastante.

1 / Eventualmente, faria sentido fazer uma recodificação (por exemplo, as classificações 1 a 4 seriam mescladas em uma única modalidade, digamos "classificação baixa")?

2 / Qual é a distribuição das classificações? Se bem distribuído normalmente, uma regressão linear faria um bom trabalho (consulte o modelo de probabilidade linear ).

3 / Caso contrário, eu escolheria algo completamente diferente chamado " regressão beta " - uma escala de classificação de 11 pontos é algo bem detalhado em comparação à escala clássica de 5 pontos - acho que seria aceitável considerar a escala de classificação como uma "intensidade" scale em que 0 = Nulo e 1 = Completo / Perfeito - Ao fazer isso, você suporia basicamente que sua escala é do tipo intervalo (em vez de ordinal), mas para mim parece aceitável.

Umka
fonte
3
Por que 10 (ou 7) categorias são muito? Existe alguma razão técnica fundamental para que 10 categorias não se comportem adequadamente em um modelo de logit ordenado ou você esteja falando de uma perspectiva puramente prática? (por exemplo, considerações semelhantes à resposta que hxd1011 deu.)
RM
Não, não há razão técnica, desde que os dados permitam estimar um logit ordenado (OL) com "tantas" categorias. No entanto, especificar um modelo OL com 11 categorias implica estimar 10 termos "constantes" (isto é, parâmetros de limite) - Parece muito para mim, especialmente se algumas categorias não estiverem bem representadas no banco de dados - Meu pressentimento é que um modelo OL para 11 categorias é um pouco exagerada, eu trataria as classificações como variáveis ​​contínuas ou reduziria algumas modalidades para especificar um modelo OL mais parcimonioso (e talvez mais significativo).
Umka
-1

Não sou especialista em regressão logística, mas diria que você deseja usar multinomial por causa de sua variável dependente discreta.

Uma regressão linear pode gerar coeficientes que podem ser extrapolados para fora dos limites possíveis da sua variável dependente (ou seja, um aumento da variável independente levaria a uma variável dependente fora do seu limite para o dado coeficiente de regressão).

A regressão multinomial fornecerá as diferentes probabilidades para os diferentes resultados da sua variável dependente (ou seja, o coeficiente da sua regressão fornecerá a você como eles aumentam a probabilidade de obter uma pontuação melhor, sem que a pontuação esteja fora dos limites).

denis
fonte
3
Multinomial é bom para várias categorias não ordenadas. A logística ordinal (o que o OP propõe na pergunta) é boa para várias categorias ordenadas.
Gregor
-1

Outra possibilidade é usar uma floresta aleatória. Há duas maneiras de medir a "importância" de uma variável em uma floresta aleatória:

  1. XjXjXjYX
  2. XjXj

As florestas aleatórias também são passíveis de um tipo de visualização de dados chamado "gráfico de dependência parcial". Veja este tutorial detalhado para obter mais detalhes.

A dependência parcial e a importância da permutação não são específicas para os modelos de Floresta Aleatória, mas sua popularidade cresceu junto com a popularidade das Florestas Aleatórias, devido à eficiência em computá-las para os modelos de Floresta Aleatória.

shadowtalker
fonte
1
Sei que é uma resposta um tanto tangencial, mas gostaria de saber por que isso foi prejudicado. Está incorreto?
Shadowtalker