AirBnB em duas cidades: Seattle vs Boston

Uma análise de preços, disponibilidade e revisões de listagens da AirBnB

Deniz Doruk Nuhoglu Blocked Unblock Seguir Seguindo 29 de dezembro

O AirBnB tornou-se uma alternativa cada vez mais popular aos sites de reservas regulares de hotéis para viajantes. Ele ajuda a vincular diretamente aqueles que têm um quarto extra ou apartamento com os viajantes que precisam de uma acomodação de curto prazo.

No post de hoje, nos aprofundaremos nos conjuntos de dados AirBnB fornecidos pela Kaggle para as duas cidades, que incluem três arquivos csv cada: calendário, listagens e resenhas.

Estaremos investigando a mecânica de preços e disponibilidade dos dados de habitação da AirBnB a partir de conjuntos de dados e responderemos a duas perguntas que capturam informações valiosas do conjunto de dados. Finalmente, terminaremos com uma terceira pergunta que mostra uma regressão que converte comentários fornecidos para uma listagem em sua previsão de pontuação. O código e os dados podem ser acessados através do link suplementar do github .

Pergunta 1: Como estão os preços das propriedades em Boston e Seattle? Eles têm sazonalidade? Há algum evento que cause saltos no preço?

O preço médio de reserva para Boston é de US $ 150 por noite; enquanto para Seattle é de US $ 109 por noite. Ao longo do ano, uma noite em Boston custa significativamente mais que a de Seattle.

Em geral, durante o verão, os preços de reserva nas duas cidades tendem a subir.

Embora não haja picos significativos nos dados de Seattle, um pico especificamente interessante ocorre no conjunto de dados de Boston. Durante a Maratona de Boston, que mais de trinta mil corredores participam e foram realizados em 17 de abril, os preços da AirBnB parecem ter subido cerca de US $ 34 por noite na área.

Gráfico 1: Comparação do Preço Médio da Casa sobre Datas

Questão 2: Como está a disponibilidade das propriedades nas duas cidades ao longo do ano?

Em Boston, a qualquer momento, há uma chance de 49% de que qualquer lista esteja disponível, enquanto em Seattle esse número é muito maior em 67%. Isso pode ser interpretado como a relação demanda / oferta sendo maior em Boston do que em Seattle. Isso provavelmente significa que Boston é um destino mais popular para os visitantes e, portanto, considera mais difícil conseguir uma casa relativamente a Seattle.

Tanto Seattle quanto Boston têm uma distribuição relativamente igual quando se trata da disponibilidade das casas, além de um pico para as casas que estão disponíveis mais de 95% do tempo. Estas poderiam ser casas como aquelas que têm um preço excessivamente alto e nenhum aspecto atraente para suportar esse preço.

Em Boston, existem 891 casas que são muito populares e estão disponíveis a menos de 5% do tempo. Essas casas seriam as mais preferidas devido a vários fatores, como localização, valor e limpeza.

Gráfico 2: Disponibilidade de Boston vs Seattle

O número de listagens registradas no conjunto de dados é fixo durante todo o ano para Boston e Seattle, respectivamente em 3586 e 3818, enquanto a disponibilidade é fornecida como um booleano que muda diariamente.

Provavelmente, a parte mais direta do gráfico de Proporção de Listagens disponível abaixo é que nos primeiros três meses de dados há uma constante tendência ascendente. A razão para isso é que os dados fornecidos são um instantâneo que foi tirado e que as datas mais próximas da data do instantâneo tendem a ter uma taxa de reserva mais alta.

Gráfico 3: Proporção de Listagens Disponíveis

Pergunta 3: Podemos prever a pontuação da revisão nos comentários usando a regressão? Os comentários dos visitantes de uma listagem nos fornecem informações suficientes para adivinhar a pontuação da análise dessa listagem?

O Reviews.csv contém comentários de usuários para reservas e o arquivo Listing.csv contém pontuações médias de resenhas para cada listagem. Eu queria olhar para o potencial de prever pontuações de revisão dos comentários que foram fornecidos como um exercício.

Para isso, concatenarei todos os comentários fornecidos para uma listagem em uma única sequência, aplicando a limpeza de texto, as metodologias de extração de recursos e a regressão ML para prever minha variável de resposta, que é a classificação de pontuação de revisão .

O método que usaremos para extrair recursos, o TFIDF, é semelhante à abordagem do Bag of Words, mas leva em consideração e reduz o impacto das palavras mais comuns no corpus – todo o universo das palavras.

Após a extração de recurso usando validação cruzada, usaremos a validação cruzada para testar três algoritmos diferentes de aprendizado de máquina: Regressor Estocástico de Descida de Gradiente , XGBoostRegressor e CatBoostRegressor com diferentes taxas de aprendizado. Observando o menor Erro de Validação do MSE, devemos ser capazes de escolher o regressor e os parâmetros a serem usados em nosso pipeline de PNL.

Tabela 1: Resultados de regressão para XGBoost, CatBoost e SGDR

Como você pode ver acima, os algoritmos XGBoost e CatBoost eram muito próximos em termos de taxa de erro de validação nos resultados de validação cruzada, o XGBoost executou apenas um pouco melhor no learning_rate de 0.1 e se tornou o vencedor. Nesta fase, não olhamos realmente para os erros de trem, simplesmente porque gostaríamos de comparar o desempenho de nossos modelos com dados que não vimos.

Nota: As taxas de aprendizado mais baixas do XGB e do Catboost, como 0,0001, parecem não convergir e produziram taxas de erro muito altas devido a isso.

Por fim, adaptei meu pipeline de TFIDF Vectorizer aos dados X_intermediate, transformando-o e alimentando-o para um XGB Regressor com taxa de aprendizado de 0,1. Em seguida, fazemos previsões no X_test e as comparamos com as ocorrências do y_test, usando a pontuação de erro médio quadrático.

Para comparação, podemos ver o gráfico das pontuações previstas do XGB e as pontuações reais da revisão. Como você pode ver, nosso modelo está se saindo muito bem na previsão das pontuações dos comentários fornecidos.

Gráfico 4: Previsões XGB versus Média Real da Pontuação de Revisão