Artigos de Tecnologia e Negócios > Data Science

Aplicando a regressão linear com R

Yuri Matheus
Yuri Matheus

Estou fazendo um projeto que calcula o preço de um imóvel dado o valor de seu IPTU. Para isso, juntei informações sobre vários imóveis:

-----------------------------------------
| Valor do IPTU (R$) | Preço do Imóvel (R$)
-----------------------------------------
1.000,00             | 500.000,00          
-----------------------------------------
250,00               | 125.000,00
-----------------------------------------
30,00                | 80.000,00
-----------------------------------------
2.596,00             |1.236.598,00
-----------------------------------------

A ideia é conseguir saber o preço do imóvel a partir de seu valor de IPTU. Mas como podemos fazer isso?

Visualizando os dados

Já temos os dados dos IPTUs e o valor dos imóveis. E se utilizarmos esses dados para descobrirmos os valores dos imóveis no futuro? Isto é, com um valor de IPTU, descobrirmos o valor do imóvel.

Estou utilizando a linguagem R para fazer a análise dos dados. Para facilitar o trabalho, podemos criar um gráfico para ver como os dados estão dispostos.

Para isso, vamos criar duas variáveis, uma com os valores dos IPTUs e outra com os valores dos imóveis.

valores_iptu <- c(1000, 250, 30, 2596, 2000, 1500, 1796, 450, 45, 100, 125, 264, 239, 493, 989, 1589, 1746, 3058, 176, 200)

valores_imoveis <- c(500000, 125000, 80000, 1236598, 1025976, 612000, 769320, 225369, 90569,123056, 121349, 159397, 169863, 326986, 758965, 1120369, 1236025, 2369158, 120000, 150326)

E pedir para o R plotar (plot) o gráfico:


plot(valores_iptu, valores_imoveis)

[]

Bacana! Conseguimos ver nossos dados. Pelo gráfico, conseguimos ver que eles tendem a um padrão, que é, quanto maior o valor do IPTU, mais caro é o imóvel.

Agora que já vemos os dados e já sabemos como eles estão dispostos, como podemos predizer o valor de um imóvel pelo seu IPTU?

Conhecendo a regressão linear

Podemos ver pelo gráfico que nossos dados tem uma progressão. Isto é, seguem uma certa linearidade. Podemos achar uma função que melhor "se encaixa" na nossa amostra.

Como estamos utilizando o R para fazer a análise, podemos utilizar sua função lm() para descobrir nossa função. Para isso, basta passar a variável valores_imoveis pelos (~) valores_iptu:


> lm(valores_imoveis ~ valores_iptu)
Call:

lm(formula = valores_imoveis ~ valores_iptu)

Coefficients:
 (Intercept)  valores_iptu  

    5369.2      601.4

Esse comando nos retornou algumas informações. Uma delas é a fórmula que passamos para o comando.

Outras duas informações são: o valor Intercept, que é 5369.2, e o valores_iptu,que vale 601.4. Mas o que eles significam?

O comando lm() retorna para a gente uma função afim, ou uma função do primeiro grau,isto é, uma função que tem a forma: f(x) = ax + b. Os valores que o comando lm retorna são justamente os valores de a e b. No caso, nossa função ficaria:

`valor_imóvel = 601.4x + 5369.2`

Esse procedimento que utilizamos para descobrir a função é chamada de regressão linear. A regressão linear é muito utilizado em estatística, análise de dados e machine learning.

Podemos ver a reta da equação atribuindo o valor do retorno da função lm() a uma variável e passá-la na função abline():


regressao_linear <- lm(valores_imoveis ~ valores_iptu)

abline(regressao_linear)

[]

Vemos a linha no gráfico gerada pela nossa função. Apesar de não passar por todos os valores, ela tem uma boa aproximação com os valores da amostra.

Para saber mais

A regressão linear é muito utilizada na estatística, análise de dados e em machine learning. Existem várias aplicações que podemos utilizá-la. Neste caso, utilizamos a regressão com apenas uma variável, o IPTU, mas podemos ter outras variáveis. Em casos assim, falamos que temos uma regressão linear múltipla.

Aqui na Alura, temos vários cursos que mostram casos de uso com a regressão linear. Um deles, é o curso de estatística com R, nele você verá os conceitos estatísticos e como aplicá-los com o R.

Também temos o curso de aprendizado supervisionado de máquinas. Nele mostramos os conceitos e algoritmos sobre aprendizado supervisionado, tudo isso utilizando Python.

Além desses, temos o curso de análise de dados com R. Aqui, vemos como utilizar o R para analisar os dados da nossa empresa, criando gráficos e modelos para isso.

Leia também:

Artigos de Tecnologia e Negócios > Data Science

Cursos profissionais de Data Science é na Alura, comece agora!

  • 1155 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1155 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1155 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1155 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana