Curso de Inteligência Artificial

O que é Regressão Linear Múltipla e como usar

Nessa aula iremos continuar modelando nosso conhecimento a cerca da regressão linear, porém, nesse momento, exploraremos uma outra possibilidade que é a regressão linear múltipla. Essa técnica se assemelha muito à regressão linear simples, mas nesse método utilizamos mais de uma variável para predizer o valor resultado.

Relembrando: o que é regressão linear?

A regressão linear é uma abordagem linear para modelar a relação entre uma resposta escalar e uma ou mais variáveis ​​explicativas (também conhecidas como variáveis ​​dependentes e independentes).

Meu deus, já ficou complicado… mas calma, não é.

Vamos para um exemplo bem simples, imagine o seguinte gráfico:

Você consegue perceber que existe uma tendência de crescimento linear entre os pontos que estão em vermelho. Quando o eixo X se desloca positivamente o eixo Y também possui uma resposta similar. Assim nós podemos traçar uma reta que descreve esse movimento e “prever” onde os próximos pontos estarão.

Essa reta obedece as regras que você ja deve ter visto na matemática de funções do primeiro grau (Ax + B).

O que é regressão linear múltipla

Até agora falamos de regressão linear, porém ela pode assumir dois tipos: simples e múltipla. Quando uma variável apenas é gerada (apenas um ponto) chamamos de regressão linear simples, porém quando temos para mais de um, o processo é chamado de regressão linear múltipla .

Esse texto foi adaptado daqui

Muitas vezes uma única variável preditora não será capaz de explicar tudo a respeito da variável resposta. Por exemplo, a renda de uma determinada pessoa (variável resposta) é influenciada por diversas variáveis, tais como sexo, idade, escolaridade entre outras. Assim, precisamos realizar uma regressão linear múltipla.  

Quando o número de preditores (variáveis independentes) é grande, é necessário utilizar técnicas para remover preditores que não estejam associados às respostas, ajustando o modelo de regressão. Ou seja, se temos um modelo descrito por duas variáveis e uma delas não “ajuda” muito na predição, é melhor removê-lo.

Como aplicar a regressão linear múltipla

Vamos tentar criar um cenário mais real para conseguirmos compreender essa tal regressão linear múltipla. Imagine que você tem um dataset com informações sobre carros:

CarModelVolumeWeightCO2
0ToyotaAygo100079099
1MitsubishiSpace Star1200116095
2SkodaCitigo100092995
3Fiat50090086590
4MiniCooper15001140105
5VWUp!1000929105
6SkodaFabia1400110990
7MercedesA-Class1500136592
8FordFiesta1500111298
9AudiA11600115099
10HyundaiI20110098099
11SuzukiSwift1300990101
12FordFiesta1000111299
13HondaCivic1600125294
14HundaiI301600132697
15OpelAstra1600133097
16BMW11600136599
17Mazda322001280104
18SkodaRapid16001119104
19FordFocus20001328105
20FordMondeo1600158494
21OpelInsignia2000142899
22MercedesC-Class2100136599
23SkodaOctavia1600141599
24VolvoS602000141599
25MercedesCLA15001465102
26AudiA420001490104
27AudiA620001725114
28VolvoV7016001523109
29BMW520001705114
30MercedesE-Class21001605115
31VolvoXC7020001746117
32FordB-Max16001235104
33BMW216001390108
34OpelZafira16001405109
35MercedesSLK25001395120

 Podemos importar esse dataset usando um arquivo CSV usando o pandas:

import pandas
from sklearn import linear_model

df = pandas.read_csv("carros.csv")

Depois você pode simplesmente “pegar” colunas de um dataset para usá-las como fonte de informação para treinar um regressor:

X = df[['Weight', 'Volume']]
y = df['CO2']
regr = linear_model.LinearRegression()
regr.fit(X, y)

# testando o regressor
predictedCO2 = regr.predict([[2300, 1300]])
print(predictedCO2)

Mas antes de mais nada, vamos fazer algumas análises… Quando criamos um scatter plot usando volume e peso, temos o seguinte resultado:

Weight x Volume
import matplotlib.pyplot as plt
import numpy as np
a = df['Weight']
b = df['Volume']
plt.scatter(a,b)

Mas, ao criar esse mesmo gráfico usando outras dimensões como o CO2 o gráfico se torna um pouco menos “linear”:

É impossível representar um scatter plot com 3 dimensões (2 no eixo X e 1 no Y), porém, observe que no código que treinamos nosso regressor nós fizemos exatamente isso:

# observe aqui o eixo X com 2 dimensões
X = df[['Weight', 'Volume']] 
y = df['CO2']
regr = linear_model.LinearRegression()
regr.fit(X, y)

Portanto, ao criar uma regressão linear com 2 conjuntos de valores para apenas 1 eixo estamos criando uma regressão linear múltipla. Esse regressor obedece uma função do primeiro grau que é representada pela reta abaixo:

Reta que representa a regressão criada

Esse post foi modificado em 29 de dezembro de 2021 13:25

This website uses cookies.