Tá acabando!

Compre agora com desconto
Corra enquanto há tempo!

dias

:

horas

:

minutos

:

segundos

Primeiras aulas do curso Regressão Linear Simples em R: Correlação e Previsão

Regressão Linear Simples em R: Correlação e Previsão

Conhecendo os dados - Introdução

Eu sou a Alia e vou mostrar para vocês como ter estimativas e previsões de uma variável ou uma medida que... uma vez que eu tenho informação de uma outra variável, que pode estar ou não relacionada com esta como por exemplo, eu quero ter estimativas do preço de uma casa.

Uma vez que eu conheço o tamanho dela em metros quadrados, vamos dizer, para isso, a gente vai utilizar o software R, que é um software livre, que tem muitas ferramentas implementadas para realizar esse tipo de análises.

No R, você pode obter diferentes gráficos e formas de visualizar os dados, tanto por cada variável, como para as variáveis conjuntamente. A gente vai analisar as correlações que podem existir entre as variáveis, a gente vai visualizar os gráficos.

Vamos ajustar uma equação da reta, que vai permitir que nós obtenhamos previsões da nossa variável (em interesse), como por exemplo, o preço das casas, uma vez que sabemos qual que é a área em metros quadrados. Para esse modelo que a gente ajusta, a gente pode obter formas de validar esse modelo.

A gente vai ver como validar, como avaliar a qualidade dele, já que a gente não vai aplicar um modelo para obter previsões, sendo que o modelo seja ruim. A gente quer um modelo que seja bom, que tenha uma boa qualidade e que se ajuste corretamente aos nossos dados.

A gente vai ver, vai realizar diferentes testes para avaliar cada uma das suposições do modelo e vai obter as diferentes previsões que podem ser obtidas através desse modelo. Espero vocês nos próximos vídeos. Espero que curtam as minhas aulas.

Conhecendo os dados - Apresentando o problema

Hoje vamos ver como analisar a relação que existe entre duas variáveis, como a gente pode previser [prever] uma delas em função da outra e vamos analisar também pode ser o comportamento de cada uma delas por separado. Para isso, a gente vai usar o software do R, que ele tem várias facilidades para a gente realizar esse tipo de análises.

Primeiro passo, vamos supor que a gente tenha um conjunto de... a gente quer comprar uma casa e eu quero que ela tenha um tamanho específico, vamos dizer 70 metros quadrados, eu quero saber qual que é o preço aceitável para uma casa desse tamanho, para... por exemplo, o corretor me faz uma proposta, mas que quero fazer uma contraproposta, mas que seja aceitável.

Então, para isso, eu preciso fazer uma pesquisa, inicialmente, de como é o comportamento do preços das casas, em função do tamanho delas. Então, para isso, eu... ou eu faço uma coleta de dados ou pego um conjunto de dados, que tenha essa informação que eu preciso.

Uma vez que eu já tenho os meus conjuntos de dados salvos num Excel, num documento de texto, eu importo eles no R. Vamos mostrar agora no R, como a gente pode fazer isso. Uma vez que eu já tenho o meu conjunto de dados salvo no meu computador, eu venho aqui, eu abro o R, venho no botão, esse daqui desse painel que é Import Dataset.

Ou seja, eu vou importar os meus dados. Depois, de onde que eu vou importar esses dados? Quero importar de um Excel. Aí, faço um clique no botão, aí vai abrir esse painel, para eu procurar aqui nesse botão o endereço, onde estão os meus dados. Aí, eu procuro no meu computador o documento Excel, que tem os meus dados e abro ele.

Aí, ele vai me gerar uma vista prévia, uma vista preliminar dos dados que estão nesse Excel, mas aí, por exemplo, eu não quero essa terceira variável aqui. Tá bom, eu vou pular ela. Aí, na hora que você faz isso aqui, Skip, você vem aqui nesse botão e bota Skip. Aí, ele vai apagar essa variável, você não vai pegar essa variável do conjunto de dados, você só vai pegar o preço e a área.

Ele está reconhecendo que as duas variáveis são double, são estilo numérico. Aqui você digita o nome que você queira dar ao conjunto de dados, para trabalhar com ele no R e aqui, ele mostra o código que é gerado para carregar esse conjunto de dados. Note aqui, como no final, ele faz um comando que é para mostrar os dados.

Você vai ver como esse comando, na hora que você importa os dados, a gente clica aqui, ele abre diretamente aqui no painel superior esquerdo, ele abre os dados, ele já mostra para vocês esses conjuntos de dados. São 100 casas e temos duas variáveis, o preço e a área delas. Uma outra forma de a gente visualizar os dados, é vir aqui no console e digitar diretamente o nome do conjunto de dados.

Aí, ele só mostra as primeiras 10 observações, uma vista preliminar, pequena e ele está falando a mesma informação que a gente já viu previamente. Agora, o R, ele salva aqui tudo o que a gente tem como objeto do R. Aqui em particular, a gente tem um conjunto de dados e nessa (pliquinha) daqui, você abre e ele mostra as variáveis que tem dentro do conjunto de dados.

Uma se chama preço, que é o preço das casas e a outra a área, que é a área da casa em metros quadrados, para cada uma das 100 casas que a gente tem. Então, inicialmente, será que, tipo, nessa tabela de dados... Eu tenho todos os meus dados, as minhas 100 casas e os valores delas, mas dá para perceber alguma coisa?

Será que existe alguma ideia de... alguma forma de eu visualizar todos eles juntos, para perceber alguma relação, tipo, a primeira vista? Sim, sim, existe e para isso, a gente vai ver o diagrama de dispersão. O diagrama de dispersão é um gráfico que permite visualizar conjuntamente duas variáveis.

Em particular, a gente pode ver a relação que existe entre elas, como nesse caso, eu quero saber qual que é a relação que existe entre a área das casas e o preço delas, vamos fazer um diagrama de dispersão, para ver o que está acontecendo com esses valores.

Para isso, a gente vai digitar no console do R, o seguinte comando: eu quero um plot, onde... o primeiro objeto que você vai introduzir é a variável que você considera que é a que vai influenciar no preço, nesse caso a área. Primeiro, a primeira variável é aquela que vai influenciar na outra. Então aqui, nesse caso, a gente vai usar a área.

Só que para eu inserir a área da casa, eu preciso primeiro chamar o conjunto de dados, porque ele não sabe. Então, eu tenho que dizer para eles que a área é a primeira variável... a segunda variável do conjunto de dados. Então, para isso, eu vou dizer dados, sinal de dólar, olha como ele auto completa aqui, ele á tem as duas únicas variáveis que tem no conjunto de dados.

Aí, eu posso digitar ou simplesmente selecionar aqui, dados, área e logo a variável que eu tenho interesse é dados, preço. É muito importante que na hora de a gente salvar um conjunto de dados, a gente não coloque caracteres especiais nos nomes das variáveis, não colocar espaço, porque isso pode ser um problema na hora de a gente analisar.

Então aqui, eu já tenho a minha variável que quero que me dê o valor do preço, então eu quero ver a relação entre a área e o preço. Se eu faço esse comando, ele vai me mostrar o gráfico do diagrama de dispersão nesse painel daqui, direita abaixo. Só que, por exemplo, aqui não dá... talvez não dá para perceber muito.

Então, aí eu venho aqui nesse botão Zoom e eu faço um aumento da imagem, eu consigo ver a imagem em toda a tela, mas essa imagem está boa, dá para perceber uma relação meio crescente entre os dados, ou seja, quanto maior a área, maior o preço, essa é a impressão que me dá esse gráfico.

Lembrem que os gráficos são suposições, o gráfico não é uma análise confirmatória, ele é simplesmente uma análise exploratória, ou seja, você está achando que há um comportamento crescente entre a área e o preço.

Mas aí, por exemplo, esse gráfico, a gente sempre quer mostrar um gráfico, porque um gráfico diz mais que mil palavras, mas dá para... será que dá para dar alguma melhoradinha nesse gráfico? Tipo, modificar os rótulos dos eixos, o título do gráfico? Dá, sim.

No R, você consegue fazer isso da seguinte forma: quando você está aqui no console, você usa o botão da flecha para cima, aí você vai receber o último comando que você utilizou. Então, sobre esse mesmo comando, a gente vai fazer o seguinte: main, main é o título do gráfico, você coloca entre aspas o título do gráfico.

Vamos colocar aqui, por exemplo: Diagrama de Dispersão. Aí, ele vai gerar esse título, além disso, vamos colocar um nome na variável da área, vamos colocar a área mesmo. Então, para isso, a gente vai utilizar xlab, que é o label, o título do eixo “X”, que é o eixo inferior.

Então aí, a gente vai colocar de novo entre aspas, área e para o “Y”, a gente vai colocar: Preço das casas. Olha como agora a gente tem um gráfico um pouco mais detalhado, com toda a informação que a gente queria. Dá para mudar por cores, dá para modificar a forma dos pontos.

Você pode por, por exemplo, aqui... Aí, você modifica. Não tem como, na hora que eu tentei usar esse código, ele deu um erro, por quê? Porque ele não recebeu esse último parâmetro que eu entrei [coloquei], porque quando você vai separar os parâmetros na função no R, você tem que colocar uma vírgula, não um ponto.

Então o correto era colocar aqui, invés de um ponto, uma vírgula. Então, olha como os pontinhos viraram todos uma bolinha preta. Tem vários parâmetros para você brincar com a função dos gráficos. Basta só você colocar um helt da função e aí, ela vai mostrar como você pode brincar totalmente com ela.

Aí, na hora que faz o help da função, ajuda, ela vai abrir aqui no painel da direita toda a informação referente à função que eu pedi ajuda. Mas agora, nós temos um gráfico, que ele me mostra uma primeira ideia da relação entre a área das casas e o preço delas, mas será que, tipo... como vou quantificar de forma resumida essa relação que existe?

Eu já sei que ela é... parece crescente, mas será que eu tenho como quantificar essa relação? Sim, para isso existe o coeficiente de correlação de preço. Ela é um coeficiente que me dá, que me fala o quão linear é a relação que existe entre a área e o preço das casas.

No R, a gente tem uma função, que ela já faz esses cálculos todos direitinhos para nós e só mostra o valor dessa quantidade. Em particular, a correlação, ela é uma função, que ela me devolve um valor, que ele vai estar entre -1 e 1.

Vamos ver aqui o que que acontece na hora que a gente calcula a correlação entre o preço das casas e a área. Lembrando sempre que a gente tem que primeiro botar o nome do conjunto de dados e depois o nome da variável, área e dados, dólar, para que se [XXIninteligívelXX] ao preço.

Olha aí, ele me devolve o valor de coeficiente de correlação linear entre a área e o preço das casas. Segundo uma escala que a gente tem, a gente vê que esse é um valor bem alto, coisa que dava já para perceber segundo o gráfico, porque ele é bem-comportado aqui.

Então agora, esses números que a gente tem da correlação, eles pode tomar valores entre -1 e 1. E a função de uma escala, por exemplo, superior a 9, a gente já diz que é uma correlação linear forte, ser sempre entre... modularmente, ente 0,7 e 0,9, é uma correlação forte.

E assim tem uma escala dos valores das correlações. Então, eu já tenho uma forma de visualizar os meus dados para ter uma primeira ideia da relação entre eles, eu tenho um valor, que ele me da uma informação, uma medida dessa correlação, mas, tipo, quanto realmente?

Porque uma escala, uma escala é variável, depende dos dados, será que eu tenho alguma forma de comprovar que essa correlação linear, ela é forte mesmo? Além de uma escala já pré-estabelecida? Vamos fazer um teste, fazer um teste para a correlação, para ver se ela é significativamente diferente de zero.

Ou seja, porque zero é quando há ausência de correlação linear, isso não significa que não tenha correlação, é só que não tem correlação linear. Então, se eu faço o meu teste, eu vou testar que a correlação é diferente de zero. Na hora que eu faço um teste, eu vou determinar se ela é zero, se ela é linear ou ela é não linear.

Então para isso, a gente faz um teste, que no R, ele faz por nós também. Então aí, a gente bota a função cor.test, aí entramos [colocamos] de novos os nossos dados e ele me devolve os resultados dos testes, lembrem que a gente tem que utilizar uma vírgula entre os parâmetros de uma função.

Dados, dólar, preço. E ali, ele vai me devolver toda essa informação aqui, ele está me dizendo que eu estou fazendo o teste de correlação de pearson, onde eu tenho... eu não vou testar, se a correlação é diferente de zero, além disso, ele me dá um intervalo de confiança, 95% para a minha correlação e o valor mesmo da correlação.

Agora, onde que eu... por que que eu estou usando esse teste? É por esse valor daqui, esse valor daqui, ele está me dizendo que eu posso rejeitar hipóteses de que a correlação é zero, porque esse p-valor, ele foi bem pequenininho. Olha, 2,2, dez elevado a menos 16 [2,2x10-16].

Eu posso rejeitar a hipótese de que a correlação é zero, nesse caso, confiro que essa correlação, ela é significativamente diferente de zero, ela te um valor alto, que significa que a relação que existe entre a área e o preço das casas, ela é positiva e estatisticamente significativa, forte.

Ou seja, toda essa informação, eu já tirei, só de fazer esse teste, confirmado toda a parte exploratória que a gente fez até agora. Essa é uma forma de visualizar e a gente já viu, por exemplo, que isso é uma correlação positiva, mas essa é a única que existe?

Não, tem outras, tem correlações negativas e no caso das correlações com zero, só que, seja zero, eu já falei que não significa que não tenha correlação nenhuma, significa que não é linear. Vamos ver, por exemplo... lembram daquela variável do tempo de uso das casas que a gente tinha no início?

Vamos ver qual que é a relação delas com o preço das casas. Vamos voltar no início e vamos importar agora o conjunto de dados completo. Vamos no Import Dataset, ali a gente vai de novo para... de um Excel, procuramos de novo o conjunto de dados.

Só que agora, a gente não vai pular essa última variável, a gente vai pular da área, porque agora eu quero só o tempo. Então, agora eu vou importar o meu conjunto de dados, aqui eu tenho tempo. Olha aqui, agora, como agora mudou, agora é preço e o tempo.

Então vamos fazer as mesmas coisas que já fizemos anteriormente. Primeiro vamos visualizar os meus dados. Então, para isso, eu vou fazer um plot dos meus dados, lembrar, agora é tempo e o preço. Lembra o que eu falei? Agente não pode utilizar caracteres especiais, porque ele tem problema na hora que você utiliza um caractere especial.

Então aí, agora já saiu certinho. Vamos aumentar o tamanho, para conseguir visualizar. As vezes, ele fica minimizado o gráfico aqui em baixo, a gente tem que lembrar disso. Então aqui, a gene tem a relação entre o preço, entre o tempo das casas e o preço.

Notem como aqui, a relação agora parece que é inversa do que o que acontecia com a área das casas. Com a área das casas, parecia que na medida que aumentava o tamanho das casas, o preço aumentava. Agora, com o tempo de uso das casas em meses, parece que acontece o contrário.

Parece que quanto maior o tempo, quanto mais antiga a casa, menor o preço dela. Então, vamos ver qual que é o coeficiente de correlação dela e vamos realizar um teste, para ver se realmente é significativo ou não. Eu posso já fazer diretamente o teste, porque ele já devolve o coeficiente de correlação.

Então aqui, dados, tempo, em função e o preço. Aí, agora, eu vou ter o teste, o coeficiente de correlação é negativo, -0,88, aproximadamente e olha o p-valor, ou seja, eu posso rejeitar hipóteses de que há correlação entre o tempo de uso das casas em meses e o preço delas não é zero, eu posso rejeitar essa hipótese de que é zero.

Então, qual que é a minha conclusão aqui? Eu concluo que a relação que existe entre o tempo das casas em mês o preço delas, é uma correlação que é negativa, que é negativa e é forte e ela é estatisticamente significativa.

Então, até aqui, a gente já viu como fazer uma análise exploratória das duas variáveis que a gente quer relacionar, mas será que tem uma forma de eu confirmar que as minhas variáveis foram coletada corretamente?

Que não tenha algum valor muito estranho, muito grande, muito pequeno, que pode estar afetando toda essa análise que eu já fiz?

Conhecendo os dados - Boxplot

Para toda a análise que você quiser realizar, você precisa analisar primeiramente todas... como são distribuídos os dados, se eles tem algum erro de digitação, se eles têm algum ponto aberrante e existe um gráfico que ajuda muito para a gente obter essa informação dos meus dados, é o boxplot.

O boxplot tem uma função no R, que [XXIninteligívelXX], construir o boxplot diretamente, então a ideia é a seguinte, é boxplot do preço e agora, ele vai me devolver o gráfico. E aqui, a gente tem o gráfico simples, como todo o gráfico no R, você modificar os eixos, os títulos, tudo, você pode botar o nome que você quiser.

Então aqui, ele está mostrando o quê? Como estão distribuídos os meus dados, por exemplo, na caixinha, eu tenho 50% dos meus dados, encontram-se nessa caixinha. Aqui, por conta da escala, não dá para perceber muito bem quais são esses valores, mas eu posso obter os valores que determinam esse gráfico, do resumo da variável do preço.

Por exemplo, é o último valor aqui abaixo é o mínimo, o último aqui acima é o máximo. Então, os limites da caixinha, o limite inferior é o primeiro quartil aqui, esse valor aqui. O daqui acima é o terceiro quartil e a mediana é o valor que está aqui no meio, a reta pretinha.

Então, o que significa esse gráfico? Ele está me dizendo que 50%, aproximadamente, dos meus dados entram-se entre... dos preços das casas, eles estão entre... 900, aproximadamente, entre R$ 980.000,00 reais e R$ 1.226.00,00 reais, é o que está me dizendo isso aí.

O que mais está me dizendo? Ele está me dizendo também que tem, por exemplo, aqui, um ponto, uma casa que tem um valor muito absurdo, muito grande, mas qual que é essa casa? Eu quero saber qual que é essa casa.

Tem uma outra função do boxplot, que ela me mostra qual que é o índice das observações que saem como possíveis pontos aberrantes. É a mesma função do boxplot, só que ela foi implementada para identificar exatamente esses pontos aberrantes.

Para isso, você precisa primeiro instalar um pacote do R e para isso, você tem que vi aqui no botão das ferramentas, aí você vem depois em instalar pacotes. Aqui, você vai escolher o pacote car, ali onde está a função que a gente vai utilizar agora e você instala.

Geralmente, quando você vai instalar algum pacote, ele pode pedir para reinstalar a (secção) do R e as vezes até pode demorar um pouquinho, mas isso não vai alterar nada o que você já fez, não vai deletar nada, então você pode proceder sem problema nenhum.

Uma vez que você instala o pacote, algumas vezes demora, outras vezes não demora tanto. Você tem que carregar ele, library, é como a gente carrega o pacote e você bota o nome dele. Então, uma vez carregado o pacote, vamos usar uma outra função do boxplot, para identificar qual que é esse ponto que está saindo aqui.

Então, eu recomendo usar essa função, porque ela já diretamente a identificação. Ela... a única coisa que ela foi, foi acrescentar aqui, qual que é o número dessa casa, que tem esse valor tão alto. Nesse caso, ela coincidia com o valor, com a casa que tinha o preço máximo, mas e se eu tiver três, quatro pontos aqui, eu quero saber quais são.

Então, aí é casa 79. Então, eu posso procurar aqui nos meus dados a casa 79 e ver qual que é o preço dela, para avaliar se realmente é um ponto atípico, um ponto aberrante ou eu posso vir aqui no R, no caso de serem muitas e dizer: eu quero, da variável preço, eu quero saber qual o valor da observação 79.

Quando você saber um elemento específico de uma variável, você tem que (acelerar) ela com colchetes. Então, aí, ele vai me devolver esse valor que está aqui, que é o valor do preço da casa número 79. Agora, eu já tenho isso, por exemplo, vamos dizer agora, eu quero saber quais são as casas com maiores preços.

Então, eu posso perguntar isso para o R da seguinte forma: which, eu estou perguntando quais são as casas que tem um preço superior ao quantile, quantile é a função que faz o mesmo que faz o summary anteriormente, só que agora, eu estou dizendo qual quartil eu quero, se é o primeiro, terceiro.

Então, aqui, agora, eu tenho o quantile dos dados e eu quero o quantile 0.75, que é o terceiro quantile. Esse quantile 0.75, ele me devolve o valor que está aqui. Então aí, o que eu estou querendo é quais são as casas que estão aqui, ou seja, que está acima da caixa.

Então aí, a gente sempre tem que ter cuidado na hora de digitar, porque se ele não reconhece alguma função, se você tem algum erro, ele vai disparar uma mensagem, falando: “Eu não conheço essa função”. Então, aí, você tem que corrigir e verificar aqui o que está certo ou está errado.

Então, na verdade aqui, fui uma troca de variáveis, então aí, eu já estou vendo quais são as sínteses das casas que tem os maiores preços. Então, dessa forma, você pode averiguar, você pode saber quais são as casas mais caras, as casas mais baratas, informação que a gente pode precisar por alguma outra questão.

Então, em particular, a gente pode fazer já uma análise inicial, para todos os nossos dados, mas e agora? Eu quero voltar para o meu problema inicial, como que eu vou relacionar a área com o preço das casas, uma vez que a área está pronta e a variável preço, também está pronta.

Então, com que eu vou analisar isso agora?

Sobre o curso Regressão Linear Simples em R: Correlação e Previsão

O curso Regressão Linear Simples em R: Correlação e Previsão possui 70 minutos de vídeos, em um total de 28 atividades. Gostou? Conheça nossos outros cursos de Data Science em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Data Science acessando integralmente esse e outros cursos, comece hoje!

Plus

Desconto 25%
  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$85 R$63,75
à vista R$1.020 R$765
Matricule-se

Pro

Desconto 25%
  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$120 R$90
à vista R$1.440 R$1.080
Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas