Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre interpretação de variáveis e R²

Estou trabalhando na atividade de precificação de hotéis e construí 3 modelos diferentes. Tenho uma dúvida sobre a interpretação dos resultados:

Meus modelos:

Modelo 1 (Estrelas + Capacidade): R² = 48%
Modelo 2 (Estrelas + Capacidade + ProximidadeTurismo): R² = 92%
Modelo 3 (ProximidadeTurismo): R² = 48%
Minha dúvida:
Quando testo ProximidadeTurismo isolada, o R² é 48%, mas quando a coloco junto com as outras variáveis, o R² sobe para 92%. Além disso, o coeficiente de ProximidadeTurismo é negativo (-20,36), o que significa que quanto mais perto de turismo, menor o preço. Isso não faz sentido logicamente. Há algo errado na minha análise ou nos dados? Na minha lógica humana seria quanto mais perto do turismo mais caro ficaria, mas a variável está dizendo o oposto quando puxei o summary. Me ajuda?

2 respostas
solução!

Olá, Bruno! Tudo bem?

Sua dúvida é muito comum e toca em um dos pontos mais fascinantes (e às vezes confusos) da estatística: a diferença entre a correlação simples e o comportamento de uma variável dentro de um modelo múltiplo.

Não necessariamente há algo errado com seus dados; o que você está observando pode ser um fenômeno estatístico. Vamos analisar os pontos principais:

1. O salto no $R^2$ (Sinergia de Variáveis)

O fato de o Modelo 2 atingir 92% de $R^2$ indica que a combinação das variáveis explica muito melhor a variação dos preços do que elas isoladas.

  • No Modelo 3 (isolado), a "ProximidadeTurismo" explica 48% da variação.
  • Ao juntar com "Estrelas" e "Capacidade", o modelo consegue isolar o efeito de cada uma. Isso sugere que essas variáveis são complementares. O modelo agora entende que o preço não depende apenas de onde o hotel está, mas da categoria dele naquela localização específica.

2. O Coeficiente Negativo e a "Lógica Humana"

O coeficiente de -20,36 indica que, para cada unidade que a "ProximidadeTurismo" aumenta, o preço cai 20,36 unidades, mantendo as outras variáveis constantes.

Aqui pode estar o segredo da sua dúvida: como a variável "ProximidadeTurismo" foi medida?

  • Se for Distância (em km ou metros): Se o número aumentar (ex: de 1km para 10km), o hotel está ficando mais longe do turismo. Nesse caso, um coeficiente negativo faz todo o sentido: quanto maior a distância (mais longe), menor o preço.
  • Se for uma Nota de Proximidade (0 a 10): Se quanto maior a nota, mais perto ele está, e o coeficiente deu negativo, aí temos algo chamado Sinal Invertido.

3. Por que o sinal inverte? (Multicolinearidade)

Se a lógica do dado diz que ele deveria ser positivo, mas o summary diz que é negativo, você pode estar enfrentando a Multicolinearidade.

  • Isso acontece quando duas variáveis explicativas são muito parecidas (ex: hotéis com mais estrelas costumam ficar sempre mais perto do turismo).
  • O modelo "se confunde" ao tentar atribuir o crédito do preço alto a uma ou outra, e acaba distorcendo os coeficientes para compensar o erro.

O que você pode fazer para validar?

  1. Verifique a correlação: Rode uma matriz de correlação (df.corr()) entre as variáveis independentes. Se a correlação entre "Estrelas" e "Proximidade" for muito alta (ex: > 0.8), o sinal do coeficiente pode ficar instável.
  2. Verifique a unidade de medida: Confirme se a variável não é "Distância". Se for distância, o sinal negativo é exatamente o que se espera: o preço cai conforme a distância aumenta.
  3. Analise os Resíduos: Use os gráficos de resíduos para ver se o Modelo 2 (92%) não está sofrendo de overfitting (decorando os dados em vez de aprender).

O salto de 48% para 92% é muito expressivo e mostra que seu Modelo 2 é muito poderoso, mas vale essa conferida na "natureza" da variável para garantir que a interpretação no relatório esteja correta!

O que você descobriu ao olhar a definição dessa variável de proximidade? Ela é uma nota ou uma distância?

Oi, Evandro.
Obrigado pelo retorno, mas vamos direto ao ponto pragmático da coisa, que é a forma como eu opero na resolução de problemas de negócio.
Respondendo à sua pergunta final: a variável está medida em distância (quilômetros/metros). Ao cruzar essa informação, fica claro que a minha "lógica humana" nunca esteve errada. Se o número aumenta (mais quilômetros), o hotel fica mais longe, logo, o preço cai. O coeficiente de -20,36 reflete a realidade perfeitamente. O verdadeiro vilão aqui não foi a estatística, mas sim a péssima semântica do banco de dados: a coluna deveria se chamar DistanciaTurismo e não ProximidadeTurismo. É exatamente esse tipo de falha de governança de dados que gera confusão na análise se o analista apenas rodar o código sem entender a regra de negócio por trás.
Sobre o seu ponto 3: eu tenho total clareza sobre o que é multicolinearidade, sei como extrair a matriz de correlação e analisar a estabilidade do modelo. No entanto, trazer esse conceito para cá só serviu para complicar uma resposta que era de natureza puramente lógica.
O modelo não estava "se confundindo" ou sofrendo de instabilidade por variáveis correlacionadas; ele estava apenas lendo uma distância.
O salto de 48% para 92% no R2 do Modelo 2 acontece de forma cristalina porque a localização destrava o "preço base" ditado pelas estrelas e pela capacidade.
Obrigado por levantar a questão da unidade de medida no ponto 2, foi exatamente olhar para a raiz do negócio que resolveu a charada sem precisar recorrer a teorias estatísticas complexas.
Até mais!