Qual a reta que mais se aproxima dos pontos
,
, pelo critério dos mínimos quadrados? Você seria capaz de propor um outro critério? Explique sua resposta. E implemente seu método em uma linguagem de programação.
Passo 1
Beleza, vamos lá. A questão diz: “Qual é a reta que mais se aproxima dos pontos
pelo critério dos mínimos quadrados?”
Isso é parte de regressão linear simples. Vamos precisar:
Isso é parte de regressão linear simples. Vamos precisar:
- Calcular as somas
. - Usar as fórmulas
Beleza, isso é tudo que precisamos pra encontrar
.
Passo 2
Primeiro, vamos computar as somas (tem
pontos):
Agora, aplica a fórmula do coeficiente angular
:
E o coeficiente linear
:
Então a reta de mínimos quadrados é
Passo 3
Outra ideia de critério: em vez de minimizar soma de quadrados de erros (L2), dá pra minimizar soma de valores absolutos dos erros (L1). Isso é chamado de regressão por mínimos valores absolutos. Ela é mais resistente a outliers.
Implementação em Python (usando
numpy
e otimização simples):import numpy as np
from scipy.optimize import minimize
# Dados
x = np.array([-4, -1, 0, 2, 3], dtype=float)
y = np.array([ 3, -1, 0, 1, 2], dtype=float)
# Função que retorna a soma dos erros absolutos
def soma_abs(params):
m, b = params
y_pred = m*x + b
return np.sum(np.abs(y - y_pred))
# Chute inicial para [m, b]
chute = [0.0, 0.0]
# Minimiza soma de absolutos
res = minimize(soma_abs, chute, method='Nelder-Mead')
m_l1, b_l1 = res.x
print(f"Regressão L1: y = {m_l1:.3f} x + {b_l1:.3f}")
Isso vai te dar os parâmetros
e
que minimizam
.
Resposta
A reta pelo critério dos mínimos quadrados é
Como outro critério, sugeri a regressão L1 (minimizar
), cuja implementação em Python foi mostrada acima.