REGRESSÃO LINEAR Estudos Maykoll Rocha

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 13

REGRESSÃO LINEAR

1. Introdução
A história da Regressão Linear remonta ao estudo pioneiro conduzido em 1885 pelo
renomado matemático e estatístico Francis Galton. Galton, inicialmente explorando o campo da
antropologia, observou um fenômeno intrigante: países com estaturas acima da média tendiam a
gerar descendentes de estatura inferior, enquanto aqueles com estaturas abaixo da média tendiam a
produzir descendentes de estatura superior. Essa observação levou à conclusão de que a estatura
humana tem uma tendência a se regredir em direção à média ao longo das gerações.
A Regressão Linear, como um algoritmo de aprendizado supervisionado, baseia-se na
utilização de dados rotulados para identificar padrões e realizar previsões. Antes de adentrarmos na
compreensão do funcionamento deste algoritmo, é essencial compreender o conceito subjacente de
aprendizado supervisionado.
A opção pela linguagem de programação Python neste estudo é motivada por sua
versatilidade e pela vasta gama de bibliotecas disponíveis. Python, uma linguagem que recebeu o
nome em homenagem à célebre série de televisão Monty Python, destaca-se pela sua comunidade
ativa e pelas suas bibliotecas robustas. Caracterizada por uma tipagem dinâmica e uma sintaxe
legível próxima ao inglês, Python possui uma baixa quantidade de palavras reservadas,
conferindo-lhe uma natureza acessível e facilmente compreensível.
A escolha desta linguagem decorre da sua simplicidade e da riqueza de bibliotecas voltadas
para análise de dados, permitindo-nos obter resultados precisos e comparáveis. Para facilitar a
visualização e a interatividade, optamos pela utilização do Collaboratory, uma plataforma
direcionada ao público de análise de dados, que oferece integração com bibliotecas para
visualização de dados e implementação de Regressão Linear.
Por meio desta abordagem, buscamos explorar e compreender os conceitos fundamentais da
Regressão Linear de forma rigorosa e científica, visando contribuir para um entendimento mais
aprofundado e aplicável dessa técnica em diferentes contextos de pesquisa e prática.
2. Objetivo
O objetivo primordial deste projeto consiste na elaboração de um algoritmo autônomo capaz
de calcular os parâmetros fundamentais de uma regressão linear, juntamente com o coeficiente de
2
determinação 𝑅 , prescindindo do emprego de bibliotecas externas. Essas funcionalidades serão
implementadas utilizando a linguagem de programação Python, reconhecida por sua flexibilidade e
vasto leque de recursos disponíveis. A escolha do ambiente colaborativo do Google Colab é
motivada pela sua integração com uma biblioteca nativa de plotagem gráfica, proporcionando uma
plataforma ideal para a análise visual dos resultados obtidos.
Por meio dessa abordagem, busca-se desenvolver uma solução que não apenas proporciona
uma compreensão aprofundada da teoria subjacente à regressão linear, mas também demonstra a
aplicação prática dos conceitos estudados. Ao prescindir do uso de bibliotecas externas, almeja-se
promover uma compreensão mais abrangente e independente do processo de cálculo dos parâmetros
da regressão linear e do coeficiente de determinação, fortalecendo assim a capacidade de análise e
interpretação dos resultados por parte do usuário.
3. Fundamento Teórico
A Regressão Linear é uma técnica estatística fundamental para analisar a relação entre
variáveis, comumente representada por meio de um gráfico de dispersão onde podemos visualizar a
tendência dos dados. Esta análise é crucial em diversos contextos, desde estudos científicos até
análises comerciais, onde se busca compreender e prever padrões de comportamento.

Gráfico 1 - Diagrama de Dispersão (dados_1)


A primeira etapa da Regressão Linear geralmente envolve o cálculo da correlação de
Pearson, uma medida estatística que avalia a qualidade da relação entre as variáveis. Esta correlação
varia de -1 a 1, onde valores próximos a 1 indicam uma forte correlação positiva e valores próximos
a -1 indicam uma forte correlação negativa.
figura 1 - Correlação de pearson - Site: Medium
𝑛
∑ (𝑥𝑖 − 𝑥)*(𝑦𝑖 − 𝑦)
A fórmula desta se dá por 𝑝 = 𝑖=1
.
𝑛 2 𝑛 2
∑ (𝑥𝑖 − 𝑥) * ∑ (𝑦𝑖 − 𝑦)
𝑖=1 𝑖=1

A Regressão Linear Simples, um caso especial de Regressão Linear, envolve apenas uma
variável independente e uma variável dependente. A equação fundamental é expressa por
𝑦 = α * 𝑥 + β onde α é o coeficiente angular e β o valor de intercepção no eixo y. Essa
equação representa uma reta que se ajusta aos dados observados..
Para calcular os coeficientes angular e de intercepção, utilizamos as fórmulas:
𝑛 𝑛 𝑛
𝑛 ∑ 𝑥𝑖𝑦𝑖 + ∑ 𝑥𝑖 ∑ 𝑦𝑖
α = 𝑖=1
𝑛
𝑖=1
𝑛
𝑖=1
2 e β = 𝑦 − α𝑥 .
2
𝑛 ∑ 𝑥𝑖 − ( ∑ 𝑥𝑖)
𝑖=1 𝑖=1

O coeficiente de determinação, ou R², é uma métrica que indica o quão bem a linha de
𝑛 2
∑ (𝑦𝑖−𝑦𝑖)
regressão ajustada se ajusta aos dados. É calculado pela fórmula: 𝑅 = 1 − 𝑖=1
𝑛 2
.Essa métrica
∑ (𝑦𝑖−𝑦)
𝑖=1

fornece uma medida da proporção da variabilidade da variável dependente que é explicada pela
variável independente.
Apesar de suas vantagens, a Regressão Linear apresenta limitações, como a suposição de
uma relação linear entre as variáveis e a possibilidade de overfitting, onde o modelo se ajusta muito
bem aos dados de treinamento, mas não generaliza bem para novos dados.
Em resumo, a Regressão Linear é uma ferramenta valiosa para analisar e prever relações
entre variáveis, mas seu uso requer uma compreensão cuidadosa de suas suposições e limitações.
4. Métodos
O método inicia-se com o desenvolvimento de uma função para a leitura de um arquivo .txt,
contendo pares de dados (x,y), que será processado para retornar listas correspondentes a esses
valores. Devido à natureza de nossa análise, que busca apenas validar o comportamento da
Regressão Linear, não é requerida uma análise prévia dos dados, mas sim a extração direta destes do
arquivo .txt para posterior aplicação nas funções pertinentes.
A importância da correlação de Pearson é destacada no estudo, uma vez que essa métrica
permite avaliar a relação entre os dados, sendo crucial para determinar a adequação da análise
realizada. Ressalta-se que a Correlação Linear de Pearson transcende a Regressão Linear, sendo
igualmente relevante em outras análises, como as temporais ou baseadas em algoritmos como
Random Forest. Entretanto, sua aplicação nesta pesquisa é meramente ilustrativa, não influenciando
no resultado final do projeto.
A Regressão Linear é aplicada utilizando-se o método dos mínimos quadrados para obter
uma função lambda que represente o modelo linear. Os coeficientes alfa e beta, correspondentes ao
coeficiente linear e ao intercepto do eixo y, respectivamente, são determinados por este método e
são considerados como a base do escopo principal deste estudo.
A métrica do coeficiente de determinação (R²), fundamentada teoricamente, é utilizada para
avaliar a qualidade do ajuste da Regressão Linear aos dados. Durante a fase de resultados, essa
métrica será analisada para identificar eventuais problemas decorrentes da pesquisa.
Para a representação visual dos dados, é sugerido o uso da biblioteca de plotagem gráfica
Matplotlib, disponível em ambientes Python como o Collaboratory. Esta ferramenta proporcionará
uma representação gráfica não apenas da função de Regressão Linear, mas também da dispersão dos
dados, enriquecendo a análise visualmente.
5. Resultados
Os resultados serão divididos em duas partes: explicação do código fonte e análise de dados.
5.1 Código
A primeira função é a função de abertura de arquivos, nela o nosso retorno é e os valores de
x e y em listas diferentes:
Bloco de Código 1 - Ler Dados Texto
Nessa parte recebemos como parâmetro o caminho do arquivo txt nosso sistema operacional
abre ele com o comando with onde faz com que torne a abertura mais segura, essa abertura é apenas
para leitura pois não iremos alterar nada e após isso usamos o map e um split para separar e
colocando-os dentro de uma lista que será retornada a nosso usuário.
O segundo trecho de função nos traz a função que reproduz a correlação de pearson que
𝑛
∑ (𝑥𝑖 − 𝑥)*(𝑦𝑖 − 𝑦)
reproduz a fórmula 𝑝 = 𝑖=1

𝑛 2 𝑛 2
∑ (𝑥𝑖 − 𝑥) * ∑ (𝑦𝑖 − 𝑦)
𝑖=1 𝑖=1

Bloco de Dados 2 - Correlação de Pearson


A Correlação de Pearson nos trará o valor que demonstra se nossos pontos produziram uma
boa correlação, como dito no nosso fundamento teórico.
A função regressão_linear é a principal função do nosso código ele faz o motivo final do
nosso código que reproduzindo a seguinte funções: função do coeficiente angular
𝑛 𝑛 𝑛
𝑛 ∑ 𝑥𝑖𝑦𝑖 + ∑ 𝑥𝑖 ∑ 𝑦𝑖
α = 𝑖=1
𝑛
𝑖=1
𝑛
𝑖=1
2 e a função do interceptor de y β = 𝑦 − α𝑥 e seu retorno é a função da
2
𝑛 ∑ 𝑥𝑖 − ( ∑ 𝑥𝑖)
𝑖=1 𝑖=1

regressão linear ℎ(𝑥) = α𝑥 + β , e os coeficientes angular e interceptor de y.

Bloco de Dados 3 - Regressão Linear


Função de plotagem gráfica, que seria o extra já que o python oferece esta:

Bloco de Dados 4 - Plotagem gráfica


E por fim temos nossa main a estrutura que gere nossa função e que executa os passos da

entrada de dados que seria o caminho do arquivo, além de fazer o tratamento de exceção para caso

entre com algo que gere algum erro e dá umas dicas para correção.
Bloco de Dados 5 - main
Todo nosso código fonte e funções necessárias foram apresentados, lembrando que a ideia é
usar só no colaboratório neles você abre uma nova célula e coloca a main( string de caminho do
arquivo). Exemplo:

Bloco de Dados 6 - Exemplo de célula de execução


5.2. Teste
1. Dados 1
Os dados do arquivo:

x 1 2 3 4 5 6 7 8 9 10 11 12 13

y 4 6 8 9 10 9 13 12 13 13 13 17 17
tabela 1 - Referente aos dados do arquivo dados_1.txt
Através do coeficiente de pearson tivemos o valor 0.9589 que é quase um valor perfeito
o'que já nos pode concluir que ao aplicarmos uma regressão linear teremos um valor muito bom.
Os valores do coeficiente angular foi de 0.9560 e o intercepto de y de 4.3846 construindo a
função ℎ(𝑥) = 0. 9560𝑥 + 4. 3846 .
2
Nosso 𝑅 foi de 0.9195 o que nos traz a informação que tivemos um bom aproveitamento
dessa análise.
Gráfico 2 - Dados disperso e função da regressão dados_1
E como esperado é mostrado graficamente nossa dispersão se apresentou excelente, pois os
dados têm uma tendência visualmente latente sem precisar da dispersão, a dispersão só conclui
o'que já havíamos interpretado.
2. Dados_2
Os dados do arquivo:

x 12 16 20 52 60 67 30 42 42

y 105 106 107 122 124 125 112 117 116

tabela 2 - Referente aos dados do arquivo dados_2.txt


Com o coeficiente de Pearson tivemos o valor 0.9940 que é quase um valor perfeito o'que já
vai nos apresentar muitos pontos próximo da nossa reta.
Os valores do coeficiente angular foi de 0.3947 e o intercepto de y de 99.93 construindo a
função ℎ(𝑥) = 0. 3947𝑥 + 99. 99345 .
2
Nosso 𝑅 Foi de 0.9881 o que nos traz a informação que tivemos um bom aproveitamento
dessa análise.
Gráfico 3 - Dados disperso e função da regressão dados_2.txt
E como esperado é mostrado graficamente nossa dispersão se apresentou excelente, pois os
dados têm uma tendência visualmente latente sem precisar da dispersão, a dispersão só conclui
o'que já havíamos interpretado.
3. Dados_3
Os dados do arquivo:

x 1 1 1 1

y 1 1 1 1

tabela 3 - Referente aos dados do arquivo dados_3.txt


Nesse arquivo já nos traz o impossível de correlacionar pois teremos uma divisão zero.
Então a única coisa que posso trazer é a saída do nosso código demonstrando o tratamento

figura 2 - Saída em casos do arquivo dados_3.txt


4. Dados_4
Os dados do arquivo:
x 14.74 19.21 5.57 3.36 8.06 13.45 6.37 2.72 7.79

y 150.30 193.90 57.80 37.20 84.40 137.10 67.90 29.10 80.90


tabela 4 - Referente aos dados do arquivo dados_4.txt
Com o coeficiente de Pearson tivemos o valor 0.9999 foi perfeito, a tendência a partir dessa
análise é que ele tenha quase todos os pontos dentro da Regressão Linear.
Os valores do coeficiente angular foi de 9.9523 e o intercepto de y de 3.3078 construindo a
função ℎ(𝑥) = 9. 9523𝑥 + 3. 3078 .
2
Nosso 𝑅 Foi de 0.9998 que nos traz que a reta terá uma apresentação perfeita.

Gráfico 4 - Dados disperso e função da regressão dados_4.txt


E como esperado é mostrado graficamente nossa dispersão se apresentou excelente, pois os
dados têm uma tendência visualmente latente sem precisar da dispersão, a dispersão só conclui
o'que já havíamos interpretado.
5. Dados_5
Os dados do arquivo:

x 8.65 1.82 14.43 16.43 8.06 9.08 17.25 17.86 7.21

y -12.30 -1.50 -25.70 -32 -13.50 -14.10 -33 -31 -10

tabela 5 - Referente aos dados do arquivo dados_5.txt


Com o coeficiente de Pearson tivemos o valor -0.9923 foi perfeito, a tendência a partir dessa
análise é que ele tenha quase todos os bem próximo da função da regressão e o seu negativo é o
decrescimento da reta que dependendo que está sendo avaliado é muito bom.
Os valores do coeficiente angular foi de-2.0364 e o intercepto de y de 3.4828 construindo a
função ℎ(𝑥) =− 2. 0364𝑥 + 3. 4828 .
2
Nosso 𝑅 Foi de 0.9846 que nos traz que a reta terá uma apresentação perfeita.

Gráfico 5 - Dados disperso e função da regressão dados_5.txt


Como dito na correlação de Pearson, a tendência se deu pelo que este nos mostrou dendo
pontos bem próximos da reta e apresentando uma relação muito forte pelo R quadrado.
6. Dados_6
Os dados do arquivo:

x 14.53 1.14 11.23 19.88 15.91 19.96 16.6 1.24 2.92 5.78 5.4 13.28 8.03 4.13 17.85

y 9 7 6 10 2 3 2 9 2 5 1 4 8 5 1

tabela 6 - Referente aos dados do arquivo dados_6.txt


Com o coeficiente de Pearson tivemos o valor -0.1416 que como analisado no embasamento
teórico ele nos trará uma reta muito ruim e provavelmente a regressão será inútil.
Os valores do coeficiente angular foi de -0.0646 e o intercepto de y de 5.6134 construindo a
função ℎ(𝑥) =− 0. 0646𝑥 + 5. 6134 .
2
Nosso 𝑅 Foi de 0.0201 que demonstra toda a conclusão que será uma Regressão
inutilizável.
Gráfico 6 - Dados disperso e função da regressão dados_6.txt
Com a visualização dos dados conseguimos perceber que os dados estão muito separados
entre si, por conta disso temos esse resultado muito ruim, não temos uma tendência ou um padrão
para conseguir fazer uma boa Regressão Linear.
6. Conclusão
Em suma, a presente análise destaca a importância da compreensão do comportamento das
variáveis ao empregar a técnica de Regressão Linear. A prévia avaliação da correlação de Pearson
emerge como um passo crucial no embasamento teórico, fornecendo uma visão prévia do potencial
da Regressão Linear. Os resultados obtidos reforçam a significância dessas análises preliminares,
revelando uma relação substancial entre as variáveis e destacando a capacidade da Regressão Linear
em modelar eficazmente esses dados dispersos em um plano cartesiano.
Observa-se que, em casos de dispersão de pontos onde a correlação é incerta, a utilidade dos
resultados da Regressão Linear é comprometida. Isso reitera a importância da análise de correlação
como uma ferramenta eficiente para a seleção e interpretação de dados.
Além disso, a métrica do coeficiente de determinação (R²) oferece uma avaliação
quantitativa da precisão do ajuste da regressão, fornecendo insights sobre a qualidade da projeção
da tendência dos dados. Portanto, conclui-se que uma alta precisão do R² sugere uma adequada
representação da tendência dos pontos e, consequentemente, uma projeção confiável.
Em síntese, esta análise reforça a importância de uma abordagem metódica e analítica ao
utilizar a Regressão Linear, ressaltando a necessidade de considerar cuidadosamente as etapas
preliminares de avaliação e seleção de variáveis para garantir resultados robustos e interpretações
confiáveis.
Referências
[1] KLOSTERMAN, Stephen. Projeto de Ciência de Dados com Python. Novatec, 2019.
[2] Modelo de regressão linear e suas aplicações, Rodrigues, Sandra Cristina Antunes.
Universidade da Beira Interior (Portugal) ProQuest Dissertations Publishing, 2012. 28974349.
[3] COEFICIENTES DE CORRELAÇÃO PARA VARIÁVEIS ORDINAIS E DICOTÔMICAS
DERIVADOS DO COEFICIENTE LINEAR DE PEARSON, Sachiko Araki Lira & Anselmo
Chaves Neto, Uberlândia, v. 15, n. 1/2, p. 45-53, jan.-dez. 2006
[4]Regressão Linear?,
https://medium.com/@lauradamaceno/regressão-linear-6a7f247c3e29
[5]Coeficiente de correlação de Pearson
https://pt.wikipedia.org/wiki/Coeficiente_de_correlação_de_Pearson
[6]Como avaliar seu modelo de regressão,
https://medium.com/turing-talks/como-avaliar-seu-modelo-de-regressão-c2c8d73dab96
[7]Tutorial: Understanding Regression Error Metrics in Python,
https://www.dataquest.io/blog/understanding-regression-error-metrics/?source=post_page-----6a7f2
47c3e29--------------------------------
[8]ML101: Linear Regression Tutorial,
link: https://medium.com/@amarbudhiraja/ml-101-linear-regression-tutorial-1e40e29f1934
[9] Modelo de Regressão Linear aplicado à previsão de desempenho de estudantes em ambiente de
aprendizagem, Rodrigo Lins Rodrigues , Francisco P. A. de Medeiros, Alex Sandro Gomes,DOI:
10.5753/CBIE.SBIE.2013.607
[10] Análise de Regressão Linear Simples e Múltipla e Carla Henriques Departamento de
Matemática Escola Superior de Tecnologia de Viseu Carla Henriques (DepMAT ESTV) 2010/2011

Você também pode gostar