REGRESSÃO LINEAR Estudos Maykoll Rocha
REGRESSÃO LINEAR Estudos Maykoll Rocha
REGRESSÃO LINEAR Estudos Maykoll Rocha
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.
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
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:
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
x 1 1 1 1
y 1 1 1 1
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