top of page

Preço de Casa - Regressão Linear

1. Introdução

2. Objetivo

3. Metodologia

4. Explorando o Dataset

5. Regressão Linear

5.1. Regressão Linear Simples

5.1.2. Valores Obtidos

5.2. Regressão Linear Múltiplo

5.2.1.Resultados do modelo

6. Conclusão

7. Repositório GitHub

8. Algoritmo (Kaggle)

1. Introdução

     O Kaggle é uma plataforma gratuita que tem como objetivo inicial promover desafios entre profissionais da área de análise, porém atualmente se tornou uma grande comunidade de Data Sciente. Nele é possui você executar as scripts em R e Python, através do navegador.

     Para demonstrar o trabalho coletamos um dataset (conjunto de dados) fornecido no campeonato “House Sales in King Country, USA” da plataforma Kaggle, segue o link abaixo:

https://www.kaggle.com/harlfoxem/housesalesprediction

2. Objetivo

     O objetivo desenvolver um modelo de regressão linear que possa prever o valor de um imóvel com base nas variáveis apresentadas no banco de dados.

3. Metodologia

     Primeiramente coletamos o dataset fornecido pelo Kaggles. Ao coletar tais informações percebemos que o conjunto de dados é composto por 19 variáveis (tamanho da casa, quantidade de quartos, entre outros) e o valor vendido da casa entre o período de Maio de 2014 a Maio de 2015, variável dependendo, ou seja, a variável que queremos que o nosso modelo nos apresente.

4. Explorando Dataset

     Ao analisar o conjunto de dados, podemos observar que ele é composto por 21.613 linhas e 21 colunas, sendo cada coluna uma característica da casa vendida. Abaixo podemos observar cada coluna e o seu significado:

Variável Dependente ou variável Target:

Price: Preço da Casa

Variável Independente:

Id: uma identificação individual única para cada casa vendida;

date Data: Data realizada de venda da casa;

Bedrooms: Quantidade de quarta que a casa possui;

Bathrooms: Quantidade de banheiros que a casa possui;

sqft_living: Metragem quadrados da casa;

sqlt_lot: Metragem quadrada do lote;

floors: Quantidade de andares que a casa possui;

Waterfront: Se a casa possui vista para o mar;

View: Visualização da casa;

Condition: Condição geral da casa;

Grade: Classificação geral de atributos de unidade residual;

sqft_above: Metragem quadrada além do porão;

sqft_basement: metragem quadrada do basamento;

yr_built: Ano de construção;

yr renovated: Ano em que a casa foi reformada;

zip code: Cep da casa;

lat: Latitude;

long: Longitude;

sqlt_living15: Área da sala de estar em 2015;

sqlt_lot15: Outra metragem de área;

5. Regressão Linear:

    Regressão Linear é um nome dado pela econometria ou estatística, a uma equação que se estima a condicional (valor esperado) de uma variável Y, recedendo o valor de uma ou várias outras variáveis, valor x. 

 

     Em geral a regressão linear tem como objetivo, traçar uma reta através dos dados em um diagrama de dispersão. Vejamos o gráfico abaixo:

Âncora 1
Âncora 2
Âncora 3
Âncora 4
Âncora 5
300px-LinearRegression.svg.png

Fonte: https://www.google.com/url?sa=i&source=images&cd=&cad=rja&uact=8&ved=2ahUKEwjU4qT_2K7mAhWxILkGHVcGDAYQjRx6BAgBEAQ&url=https%3A%2F%2Fpt.wikipedia.org%2Fwiki%2FRegress%25C3%25A3o_linear&psig=AOvVaw1Hwq_K7apU_bxwDapa_RYL&ust=1576191483698739

 

     A regressão, em geral, tem como objectivo tratar de um valor que não se consegue estimar inicialmente. Para se chegar a reta azul acima no gráfico utilizaremos a abordagem dos mínimos quadrados. 

5.1 Regressão Linear Simples:

     A primeira hipótese que realizaremos em nossa banco de dados é um modelo de regressão linear simples. Iremos testas o quanto o modelo consegue acertar o preço de uma casa utilizando apenas uma única variável, ou seja, o tamanho da casa.

 

     Sege abaixo um gráfico de dispersão que demonstra a relação, com base no banco de dados, entre o valor da casa e a metragem quadrada da casa:

Âncora 6
primeiro_gráfico.png

     Ao realizar um modelo de regressão linear simples, o algoritmo irá estudar todas as correlações entre os valores das casa, com seus respectivos tamanhos e irá tentar representar em uma reta que melhor representa esta correlação:

Y = α + βx

 

Sendo:

“Y” é a variável dependente (Preço da casa)

“X” é a variável independente (Tamanho da casa)

“α” (Alfa) é o termo de intercepção ou coeficiente linear

“β” (Beta) é o coeficiente de cada variável ou coeficiente angular β

     Sege abaixo um gráfico de dispersão que demonstra a relação, com base no banco de dados, entre o valor da casa e a metragem quadrada da casa:

grafico2.jpg
Âncora 7

5.1.1 Valores obtidos:

     Ao realizar um modelo de regressão Linear simples obtemos um score no valor de 0.4946. Um score muito diferente de "1" significa que o modelo não consegue prever muito bem o valor da casa somente observando o tamanho. É preciso desenvolver outras ferramentas, ou outras variáveis para que possamos obter um modelo de melhor precisão.  

     É possível criar uma variável que possamos prever o quando o modelo errou em relação ao verdadeiro valor da casa.

     O erro médio absoluto (Mean Absolute Erros – MAE) do modelo apresentado acima é um valor de 172.604,00, ou seja quando menor for este valor, melhor será o seu modelo.

     O MAE no valor de 172.604,00 demonstra que suponhamos que a casa custe um valor de US$500.00,00 o modelo poderá considerar o valor da casa tanto para baixo US$328.000,00, quando para cima US$672.000,00.

5.2 Regressão Linear Múltipla:

     A segunda hipótese que realizaremos em nossa banco de dados é um modelo de regressão linear múltipla. Iremos testas o quanto o modelo consegue acertar o preço de uma casa utilizando mais do que uma única variável, ou seja, utilizaremos as seguintes variáveis:

Bedrooms, Bathrooms sqft_living, sqlt_lot, floors, Waterfront, View, Condition, Grade, sqft_above, sqft_basement, yr_built, yr renovated, zip code, lat e long. As únicas variáveis que retiramos nessa hipótese foi a data de compra, sqlt_living15 e he_lotsize, pois são específicos somento do momento da compra e não acarretará nenhum possível agragassão no modelo. 

 

     Sege abaixo um gráfico de correção entre as variáveis para conseguir demonstrar melhor a nossa hipótese:

Âncora 8
img.02.png

     Ao realizar um modelo de regressão linear múltipla, o algoritmo irá estudar todas as correlações entre os valores das casa, com sas outras variáveis e irá tentar representar em uma reta que melhor representa esta correlação:

Yc = b0 + b1x1 + b2x2 + ... bnxn + μi

 

Sendo:

“Y” é a variável dependente (Preço da casa)

“X” são as ariáveis independente cada uma com coeficiente angular 

μ” é o termo de intercepção ou coeficiente linear

“β” (Beta) é o coeficiente de cada variável ou coeficiente angular β

.

5.2.1 Valores obtidos:

     Ao realizar um modelo de regressão Linear simples obtemos um score no valor de 0.6970. Um score mais próximo de "1" significa que o modelo que consegue prever muito bem o valor da casa somente com a relação de diversas outras variáveis.  

     É possível criar uma variável que possamos prever o quando o modelo errou em relação ao verdadeiro valor da casa.

     O erro médio absoluto (Mean Absolute Erros – MAE) do modelo apresentado acima é um valor de 126.443,00, ou seja quando menor for este valor, melhor será o seu modelo.

     O MAE no valor de 172.604,00 demonstra que suponhamos que a casa custe um valor de US$500.00,00 o modelo poderá considerar o valor da casa tanto para baixo US$373.557,00, quando para cima US$626.443,00.

6. Conclusão:

     Como podemos observar no primeiro modelo, regressão linear Simples, modelo não apresenta bom resultados, pois no problema em que estamos tentando resolver, apenas o tamanho da casa não é suficiente para que possamos criar um modelo preditivo com bons parâmetros. 

     O modelo de regressão Linear Múltipla, ou seja um modelo que utiliza mais de uma variável para prever o preço de uma casa consegui me dar um índice de de aproveitamento muito maior do que o modelo anterior. 

     Podemos também comprar o Erro médio absoluto entre os modelos, sendo que o modelo de Regressão Linear Simples apresenta um MAE de 0,49, e o de Regressão Linear Múltipla 0.69, ou seja conseguimos um modelo satisfatório. 

 

 

 

 

Âncora 9
Âncora 10
bottom of page