Nion M. Dransfeld | www.nionmaron.com
O presente estudo tem como objetivo determinar o valor de imóveis por metro quadrado na cidade de Sindian, Nova Taipei, Taiwan, com base em variáveis que influenciam o preço de mercado dos imóveis. Utilizei o conjunto de dados de avaliação imobiliária, disponível no repositório UCI, para realizar uma análise de regressão linear múltipla.
As variáveis analisadas para prever o preço por unidade de área são: - Idade do imóvel (anos) - Distância até a estação de MRT mais próxima (metros) - Número de lojas de conveniência na região
Para este estudo, utilizamos o conjunto de dados disponível no
seguinte link: Real
estate valuation data set. O arquivo está salvo como
Real estate valuation data set.csv.
# Carregar as bibliotecas necessárias
library(ggplot2)
library(dplyr)
library(openxlsx)
library(DT)
library(kableExtra)
# Leitura do arquivo Excel
dados <- read.xlsx("dados/Real estate valuation data set.xlsx")
# Renomear colunas para facilitar a análise
colnames(dados) <- c("ID", "Data_Transacao", "Idade_Imovel",
"Distancia_MRT", "Lojas_Conveniencia",
"Latitude", "Longitude", "Preco_M2")
# Criar a tabela interativa com DT
datatable(
dados,
extensions = 'Buttons', # Extensões para adicionar funcionalidades extras
options = list(
dom = 'Bfrtip', # Layout com botões
buttons = c('copy', 'csv', 'excel', 'pdf', 'print'), # Botões disponíveis
pageLength = 10, # Número de linhas por página
lengthMenu = c(5, 10, 15, 20), # Menu de seleção de tamanho da página
autoWidth = TRUE # Ajustar a largura automaticamente
),
class = 'cell-border stripe hover', # Estilo moderno da tabela
rownames = FALSE # Não mostrar nomes das linhas
)Primeiramente, vamos visualizar as distribuições das variáveis preditoras e a variável alvo (preço por metro quadrado).
# Plotar a distribuição das variáveis
ggplot(dados, aes(x = Idade_Imovel)) +
geom_histogram(binwidth = 2, fill = "skyblue", color = "black") +
labs(title = "Distribuição da Idade dos Imóveis", x = "Idade (anos)", y = "Frequência") +
theme_minimal()
ggplot(dados, aes(x = Distancia_MRT)) +
geom_histogram(binwidth = 500, fill = "lightgreen", color = "black") +
labs(title = "Distribuição da Distância ao MRT", x = "Distância (metros)", y = "Frequência") +
theme_minimal()
ggplot(dados, aes(x = Lojas_Conveniencia)) +
geom_bar(fill = "lightcoral", color = "black") +
labs(title = "Número de Lojas de Conveniência", x = "Número de Lojas", y = "Frequência") +
theme_minimal()
ggplot(dados, aes(x = Preco_M2)) +
geom_histogram(binwidth = 5, fill = "lightblue", color = "black") +
labs(title = "Distribuição do Preço por M²", x = "Preço (NTD por M²)", y = "Frequência") +
theme_minimal()Agora, vamos construir o modelo de regressão linear múltipla para
prever o preço por metro quadrado (Y) com base nas variáveis
Idade_Imovel, Distancia_MRT e
Lojas_Conveniencia.
# Construir o modelo de regressão linear
# Construir o modelo de regressão linear
modelo <- lm(Preco_M2 ~ Idade_Imovel + Distancia_MRT + Lojas_Conveniencia, data = dados)
# Resumo do modelo formatado
resumo <- summary(modelo)
# Criar uma tabela com os coeficientes
coeficientes <- as.data.frame(resumo$coefficients)
colnames(coeficientes) <- c("Estimativa", "Erro Padrão", "Valor t", "Valor P")
coeficientes %>%
kable(caption = "Coeficientes do Modelo de Regressão Linear Múltipla") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = F)| Estimativa | Erro Padrão | Valor t | Valor P | |
|---|---|---|---|---|
| (Intercept) | 42.9772862 | 1.3845424 | 31.040788 | 0 |
| Idade_Imovel | -0.2528558 | 0.0401053 | -6.304794 | 0 |
| Distancia_MRT | -0.0053791 | 0.0004530 | -11.873615 | 0 |
| Lojas_Conveniencia | 1.2974425 | 0.1942898 | 6.677871 | 0 |
A equação da regressão linear múltipla pode ser expressa da seguinte forma:
\[ Preço\_M2 = \beta_0 + \beta_1 \times Idade\_Imovel + \beta_2 \times Distancia\_MRT + \beta_3 \times Lojas\_Conveniencia \]
Substituindo os valores dos coeficientes estimados:
\[ Preço\_M2 = 42.98 + -0.25 \times Idade\_Imovel + -0.01 \times Distancia\_MRT + 1.3 \times Lojas\_Conveniencia \]
A partir do resumo acima, podemos avaliar os coeficientes estimados e a significância estatística de cada variável no modelo.
Vamos analisar os resíduos do modelo para verificar se as suposições de regressão linear são atendidas.
A partir dos gráficos de diagnóstico fornecidos para o modelo de regressão linear múltipla, podemos avaliar o desempenho e a adequação do modelo em relação às suposições básicas de regressão linear. Vamos examinar cada gráfico separadamente:
Para entender melhor a relação entre as variáveis preditoras e o preço por metro quadrado, plotamos as relações lineares entre cada variável e o preço.
# Relação entre Idade do Imóvel e Preço por M²
ggplot(dados, aes(x = Idade_Imovel, y = Preco_M2)) +
geom_point(color = "blue") +
geom_smooth(method = "lm", col = "red") +
labs(title = "Relação entre Idade do Imóvel e Preço por M²",
x = "Idade do Imóvel (anos)", y = "Preço (NTD por M²)") +
theme_minimal()
#> `geom_smooth()` using formula = 'y ~ x'
# Relação entre Distância ao MRT e Preço por M²
ggplot(dados, aes(x = Distancia_MRT, y = Preco_M2)) +
geom_point(color = "green") +
geom_smooth(method = "lm", col = "red") +
labs(title = "Relação entre Distância ao MRT e Preço por M²",
x = "Distância ao MRT (metros)", y = "Preço (NTD por M²)") +
theme_minimal()
#> `geom_smooth()` using formula = 'y ~ x'
# Relação entre Lojas de Conveniência e Preço por M²
ggplot(dados, aes(x = Lojas_Conveniencia, y = Preco_M2)) +
geom_point(color = "purple") +
geom_smooth(method = "lm", col = "red") +
labs(title = "Relação entre Lojas de Conveniência e Preço por M²",
x = "Número de Lojas de Conveniência", y = "Preço (NTD por M²)") +
theme_minimal()
#> `geom_smooth()` using formula = 'y ~ x'Vamos agora criar um gráfico tridimensional para melhor visualizar a relação entre as variáveis preditoras e o preço por metro quadrado.
A partir dos resultados do modelo de regressão linear múltipla, podemos discutir o impacto de cada uma das variáveis preditoras sobre o preço por metro quadrado (Preço_M2) dos imóveis na região estudada. A equação final do modelo, que descreve o preço do imóvel por metro quadrado, é dada por:
\[ Preço\_M2 = 42.98 - 0.25 \times Idade\_Imovel - 0.01 \times Distancia\_MRT + 1.3 \times Lojas\_Conveniencia \]
Intercepto (42.98): O intercepto indica o valor esperado do preço por metro quadrado quando todas as variáveis explicativas (idade do imóvel, distância ao MRT e número de lojas de conveniência) são iguais a zero. Nesse caso, o preço de referência inicial é de 42.98 mil novos dólares taiwaneses por ping (1 ping = 3,3 m²). Esse valor é o ponto de partida do modelo e pode ser interpretado como o preço base de um imóvel novo, próximo ao MRT e sem lojas de conveniência nas redondezas.
Idade do Imóvel (-0.25): O coeficiente para a idade do imóvel é negativo, indicando que, para cada ano adicional na idade do imóvel, o preço por metro quadrado diminui em aproximadamente 0.25 mil novos dólares taiwaneses por ping. Esse resultado faz sentido, pois imóveis mais antigos tendem a se desvalorizar ao longo do tempo, sendo que os compradores geralmente estão dispostos a pagar menos por imóveis mais velhos.
Distância até a estação de MRT (-0.005): O coeficiente para a distância até a estação de MRT também é negativo, sugerindo que, quanto mais longe o imóvel está de uma estação de MRT, menor é o preço por metro quadrado. Especificamente, para cada metro adicional de distância, o preço por metro quadrado cai em aproximadamente 0.005 mil novos dólares taiwaneses por ping.
Número de Lojas de Conveniência (1.3): O coeficiente para o número de lojas de conveniência na vizinhança é positivo, o que significa que, à medida que o número de lojas de conveniência aumenta, o preço por metro quadrado também aumenta. Mais especificamente, para cada loja adicional de conveniência, o preço por metro quadrado sobe em 1.3 mil novos dólares taiwaneses por ping. Esse resultado reflete a importância da infraestrutura local e da conveniência para os compradores de imóveis.
Os coeficientes obtidos neste modelo refletem a lógica de valorização imobiliária urbana: imóveis mais novos, mais próximos a estações de transporte público e em áreas com mais infraestrutura comercial (lojas de conveniência) tendem a ser mais valorizados.
Impacto da proximidade ao MRT: A variável com maior impacto negativo no preço foi a distância até o MRT. Isso reflete a alta dependência da população urbana em transporte público, valorizando significativamente imóveis que estão mais próximos das estações.
Idade do Imóvel: Como esperado, imóveis mais antigos se desvalorizam com o tempo, sugerindo que o mercado valoriza propriedades mais recentes, possivelmente associadas a melhores condições de conservação e modernidade.
Lojas de Conveniência: A presença de lojas de conveniência tem um impacto positivo no valor do imóvel, possivelmente indicando que áreas mais densamente povoadas ou melhor servidas por infraestrutura comercial são vistas como mais atraentes pelos compradores.
O modelo ajustado parece atender de maneira satisfatória às suposições da regressão linear, embora haja alguns pontos fora do padrão que podem ser investigados mais a fundo. - A suposição de homocedasticidade é amplamente respeitada, mas há sinais de leve heterocedasticidade em alguns pontos. - A suposição de normalidade dos resíduos não é completamente atendida, especialmente para valores extremos, sugerindo a possibilidade de transformação das variáveis para melhorar o ajuste. - Existem alguns outliers e pontos influentes (como o ponto 271), que podem ter um impacto significativo no modelo e devem ser revisados.
Recomenda-se investigar os outliers e pontos influentes mais de perto, além de considerar possíveis transformações das variáveis para melhorar a normalidade dos resíduos.
O modelo ajustado é estatisticamente significativo, com todas as variáveis preditoras apresentando valores p menores que 0.05, o que significa que são relevantes para a previsão do preço por metro quadrado dos imóveis. No entanto, outros fatores, como características internas do imóvel ou outros tipos de infraestrutura, podem também desempenhar um papel importante e podem ser considerados em análises futuras.
Nion M Dransfeld (2024). Estimativa de Valores de Mercado para Imóveis: Uma Abordagem de Regressão Linear Múltipla. Disponível em: . Acessado em .