O que é regressão?
A regressão funciona com o estabelecimento de uma relação entre variáveis nos dados que representam características (conhecidas como recursos) do elemento que está sendo observado e a variável que estamos tentando prever (conhecida como rótulo).
Lembre-se de que nossa empresa oferece locação de bicicletas e deseja prever o número esperado de locações em um determinado dia. Nesse caso, os recursos incluem coisas como o dia da semana, o mês e assim por diante, enquanto o rótulo é o número de locações de bicicleta.
Para treinar o modelo, começamos com um exemplo de dados que contêm os recursos, bem como os valores conhecidos para o rótulo; portanto, nesse caso, precisamos de dados históricos que incluam datas, condições climáticas e o número de locações de bicicletas.
Em seguida, dividiremos essa amostra de dados em dois subconjuntos:
- Um conjunto de dados de treinamento ao qual aplicaremos um algoritmo que determina uma função que encapsula a relação entre os valores de recurso e os valores de rótulo conhecidos.
- Um conjunto de dados de validação ou teste que podemos usar para avaliar o modelo usando-o para gerar previsões para o rótulo e compará-las aos valores reais de rótulo conhecidos.
O uso de dados históricos com valores de rótulo conhecidos para treinar um modelo torna a regressão um exemplo de aprendizado de máquina supervisionado.
Um exemplo simples
Vamos analisar um exemplo simples para ver como o processo de treinamento e avaliação funciona em princípio. Suponha que nós simplifiquemos o cenário para podermos usar apenas um recurso, a temperatura diária média, para prever o rótulo de locações de bicicleta.
Começamos com alguns dados que incluem valores conhecidos para o recurso de temperatura diária média e o rótulo de locações de bicicleta.
Temperatura | Aluguel |
---|---|
56 | 115 |
61 | 126 |
67 | 137 |
72 | 140 |
76 | 152 |
82 | 156 |
54 | 114 |
62 | 129 |
Agora, selecionaremos aleatoriamente cinco dessas observações e as utilizaremos para treinar um modelo de regressão. Quando estamos falando sobre 'treinar um modelo', o que queremos dizer é encontrar uma função (uma equação matemática; vamos chamá-la de f) que possa usar o recurso de temperatura (que chamaremos de x) para calcular o número de locações (que chamaremos de y). Em outras palavras, precisamos definir a seguinte função: f (x) = y.
Nosso conjunto de dados de treinamento é semelhante a este:
x | a |
---|---|
56 | 115 |
61 | 126 |
67 | 137 |
72 | 140 |
76 | 152 |
Vamos começar traçando os valores de treinamento para x e y em um gráfico:
Agora, precisamos ajustar esses valores a uma função, permitindo uma variação aleatória. Observe que os pontos traçados formam uma linha diagonal quase reta; em outras palavras, há uma relação linear aparente entre x e y; portanto, precisamos encontrar uma função linear que seja a melhor representação para a amostra de dados. Há vários algoritmos que podemos usar para determinar essa função, que, no fim das contas, encontrará uma linha reta com uma variação geral mínima dos pontos traçados; desta forma:
A linha representa uma função linear que pode ser usada com qualquer valor de x para aplicar a inclinação da linha e sua interceptação (onde a linha cruza o eixo y quando x é 0) para calcular y. Nesse caso, se estendermos a linha para a esquerda, descobriremos que quando x é 0, y é cerca de 20, e a inclinação da linha é tal que para cada unidade de x que você move para a direita, y aumenta cerca de 1,7. Portanto, podemos calcular nossa função f como 20 + 1,7x.
Agora que definimos nossa função preditiva, podemos usá-la para prever rótulos para os dados de validação que repassamos e comparar os valores previstos (que normalmente indicamos com o símbolo ŷ ou "y-hat") pelos valores y conhecidos reais.
x | a | ŷ |
---|---|---|
82 | 156 | 159,4 |
54 | 114 | 111,8 |
62 | 129 | 125,4 |
Vamos ver como os valores y e ŷ se comparam em um gráfico:
Os pontos traçados que estão na linha de função são os valores ŷ previstos calculados pela função, e os outros pontos traçados são os valores y reais.
Há várias maneiras de medir a variação entre os valores previstos e reais, e podemos usar essas métricas para avaliar a eficácia da previsão do modelo.
Observação
O aprendizado de máquina é baseado em estatísticas e matemática, e é importante ter atenção a termos específicos que estatísticos e matemáticos (e, portanto, cientistas de dados) usam. Você pode considerar a diferença entre um valor de rótulo previsto e o valor real do rótulo como uma medida de erro. No entanto, na prática, os valores "reais" são baseados em observações de exemplos (que podem estar sujeitos a uma variação aleatória). Para deixar claro que estamos comparando um valor previsto (ŷ) com um valor observado (y), nós nos referimos à diferença entre eles como os resíduos. Podemos resumir os resíduos de todas as previsões de dados de validação para calcular a perda geral no modelo como uma medida do desempenho de previsão.
Uma das maneiras mais comuns de medir a perda é enquadrar os resíduos individuais, somar os quadrados e calcular a média. Enquadrar os resíduos resulta na fundamentação do cálculo em valores absolutos (ignorando se a diferença é negativa ou positiva) e em dar mais peso a diferenças maiores. Essa métrica é chamada de erro quadrático médio.
Para nossos dados de validação, o cálculo tem esta aparência:
a | ŷ | y - ŷ | (y - ŷ)2 |
---|---|---|---|
156 | 159,4 | -3,4 | 11,56 |
114 | 111,8 | 2.2 | 4,84 |
129 | 125,4 | 3,6 | 12,96 |
Somar | ∑ | 29,36 | |
Média | x̄ | 9,79 |
Portanto, a perda do nosso modelo com base na métrica do MSE é 9,79.
E isso é bom? É difícil dizer, porque o valor de EQM não é expresso em uma unidade de medida significativa. Sabemos que, quanto menor o valor, menos perda há no modelo e, portanto, melhor é a previsão. Isso resulta em uma métrica útil para comparar dois modelos e encontrar o que é mais bem executado.
Às vezes, é mais útil expressar a perda na mesma unidade de medida que o próprio valor de rótulo previsto – neste caso, o número de locações. É possível fazer isso calculando a raiz quadrada do EQM, que produz uma métrica conhecida, sem surpresas, como REQM (raiz do erro quadrático médio).
√9,79 = 3,13
Portanto, o RMSE do nosso modelo indica que a perda é de pouco mais de 3, o que leva a uma interpretação informal de que, em média, as previsões incorretas estão erradas em cerca de três locações.
Há muitas outras métricas que podem ser usadas para medir a perda em uma regressão. Por exemplo, R2 (R ao quadrado) (às vezes conhecido como coeficiente de determinação) é a correlação entre x e y ao quadrado. Isso produz um valor entre 0 e 1 que mede a quantidade de variação que pode ser explicada pelo modelo. Em geral, quanto mais próximo esse valor for de 1, melhor será a previsão do modelo.