Regresión lineal
Cuadrados mínimos
http://unsammn.blogspot.com
Idea
• Con la interpolación polinomial
buscábamos un polinomio que pase
exactamente por varios puntos dados.
• Ahora haremos regresión. Se trata de
buscar una recta (polinomio de grado ≤ 1)
que pase… “cerca” de varios puntos
dados.
• Que tenga el menor “error” posible con
respecto a esos puntos.
Recordar
• Minimizar una función real de una variable.
Ej: g(t) = t2 – t + 1
Para hallar un mínimo local (o máximo local o punto de
inflexión) de g, se deriva esta función (con respecto a
t) y se iguala a 0:
g’(t) = 0 ⇒ 2t – 1 = 0 ⇒ t=½
• Para hallar extremos locales (etc.) de una
función de varias variables, basta con derivarla
con respecto a cada variable, e igualar todas a
0.
Motivación
Rectas
f(x) = ax + b
y
(a,b)
Cada recta queda identificada por su par x
(a,b), salvo las verticales, que excluimos.
Error
• Error de una recta con respecto a un
punto dado
Ei(a,b) = | axi + b – yi |
yi
Ei(a,b)2 = (axi + b – yi)2
xi
Error
• Error de una recta con respecto a un
conjunto dado de puntos
E(a,b) = Σ E (a,b)
i
2
= Σ (ax + b – y )
i i
2
error cuadrático
Todas estas sumatorias son desde 1 hasta n.
La mejor recta
Una recta está determinada
por (a,b).
La mejor será… la de
menor E(a,b).
Cuadrados mínimos
Se dan n puntos, (x1,y1), (x2,y2), …, (xn,yn) ∈ |R2.
El objetivo es hallar el mejor a y el mejor b de modo que esta expresión
(el error cuadrático) sea lo menor posible:
E(a, b) = Σ(axi + b – yi)2
Buscamos una recta entre todas las que existen, con lo cual las
variables (incógnitas) son a y b.
Hay que minimizar esta función de 2 variables E(a, b) para hallar el
mejor par (a, b).
Se resuelve derivando con respecto a a y con respecto a b, e igualando
ambas expresiones a 0:
E’a(a, b) = 0
E’b(a, b) = 0
Cálculo
E(a, b) = Σ(axi + b – yi)2
E’a(a, b) = Σ 2(axi + b – yi) . xi
= 2 Σ(axi + b – yi) . xi
= 2 Σ (axi2 + bxi – yixi)
= 2 (Σ axi2 + Σ bxi – Σ yixi) = 0
Σ axi2 + Σ bxi – Σ yixi = 0
a Σ xi2 + b Σ xi – Σ yixi = 0
a Σ xi2 + b Σ xi = Σ xiyi [1]
Cálculo
E(a, b) = Σ(axi + b – yi)2
E’b(a, b) = Σ 2(axi + b – yi) . 1
= 2 Σ(axi + b – yi)
= 2 Σ (axi + b – yi)
= 2 (Σ axi + Σ b – Σ yi) = 0
Σ axi + Σ b – Σ yi = 0
a Σ xi + b Σ 1 – Σ yi = 0
a Σ xi + b n = Σ yi [2]
Ecuaciones obtenidas
a Σ xi2 + b Σ xi = Σ xiyi [1]
a Σ xi + b n = Σ yi [2]
El objetivo era hallar a y b.
Este es un sistema lineal de 2×2.
Forma matricial
Σ xi2 Σ xi a Σ xiyi
Σ xi n b Σ yi
=
n Σ xiyi – Σ xi Σ yi
a =
n Σ xi2 – (Σ xi)2
Σ xi2Σ yi – Σ xi Σ xiyi
b =
n Σ xi2 – (Σ xi)2
Otra forma
n Σ xiyi – Σ xi Σ yi
a =
n Σ xi2 – (Σ xi)2
Σ yi – a Σ xi
b =
n
Ejercicios
• Hallar la mejor recta para el ejemplo del
costo del seguro en función del salario.
• Contar el número de operaciones (+,-,*,/)
en el cálculo de a y en el cálculo de b, en
función de n.
Criterio
• ¿Por qué cuadrados?
– Simples de derivar.
– Distancia euclidiana.
• ¿Por qué es el (a,b) hallado es un mínimo
local y no otra cosa?
– Argumento intuitivo.
Regresión con otras curvas
• Hallar la mejor curva de la forma
y = ax2 + b
(parábola sin el término lineal)
que aproxime a n puntos dados
(x1,y1), (x2,y2), …, (xn,yn) ∈ |R2
Cálculo
E(a, b) = Σ(axi2 + b – yi)2
E’a(a, b) = Σ 2(axi2 + b – yi) . xi2
= 2 Σ(axi2 + b – yi) . xi2
= 2 Σ (axi4 + bxi2 – yixi2)
= 2 (Σ axi4 + Σ bxi2 – Σ yixi2) = 0
Σ axi4 + Σ bxi2 – Σ yixi2 = 0
a Σ xi4 + b Σ xi2 – Σ yixi2 = 0
a Σ xi4 + b Σ xi2 = Σ xi2yi [1]
Cálculo
E(a, b) = Σ(axi2 + b – yi)2
E’b(a, b) = Σ 2(axi2 + b – yi)
= 2 Σ(axi2 + b – yi)
= 2 Σ (axi2 + b – yi)
= 2 (Σ axi2 + Σ b – Σ yi) = 0
Σ axi2 + Σ b – Σ yi = 0
a Σ xi2 + b Σ 1 – Σ yi = 0
a Σ xi2 + b n = Σ yi [2]
Sistema resultante
a Σ xi4 + b Σ xi2 = Σ xi2yi [1]
a Σ x i2 + b n = Σ yi [2]
El objetivo era hallar a y b.
Este es un sistema lineal de 2×2.
Forma matricial
Σ xi4 Σ xi2 a Σ xi2yi
=
Σ xi2 n b Σ yi
n Σ xi2yi – Σ xi2 Σ yi
a =
n Σ xi4 – (Σ xi2)2
Σ xi4 Σ yi – Σ xi2 Σ xi2yi
b =
n Σ xi4 – (Σ xi2)2
Conclusión
• Aplicar regresión lineal tiene sentido cuando se
pueda asumir que los datos medidos siguen un
comportamiento aproximadamente lineal.
• En cambio, la interpolación polinomial sirve para
hallar un polinomio que pase exactamente por
varios puntos dados, permitiendo que tenga un
grado variable (aunque acotado).
• La regresión lineal sirve para hallar una recta,
es decir polinomio de grado ≤ 1, pero entonces
este pasará cerca de los puntos dados, en el
sentido de cuadrados mínimos.
Aplicaciones
• Estadística en general
• Transporte
• Procesamiento de imágenes
• Machine learning
Ejercicios
- Hallar la mejor curva de la forma y = a (x – 2) + b
que aproxime a n puntos dados.
- Hallar la mejor curva de la forma y = a x2 + b x + c
que aproxime a n puntos dados.
- Hallar la mejor curva de la forma y = a x + 1
que aproxime a n puntos dados.
- Hallar la mejor curva de la forma y = a x + b sen x
que aproxime a n puntos dados.
Diferenciación aproximada
http://unsammn.blogspot.com
Diferenciación aproximada
• Sea f : |R → |R derivable en x0.
f ’(x0) = limh→0 (f(x0+h) – f(x0)) / h
si h<<, entonces
f ’(x0) ≈ f(x0+h) – f(x0)) / h
A esta aproximación llamaremos D+h f (x0).
Motivaciones
• Podríamos necesitar la derivada de f en un valor
solo, no la función derivada de f.
• Aplicar la tabla puede ser costoso.
• La f puede ser complicada de derivar.
• En especial si implementamos un sistema que
derive funciones en general.
• La tabla de derivadas podría no ser suficiente
cuando se trata de una f extraña o compleja.
• Por ejemplo, si f está dada por un algoritmo o se
considera una caja negra.
Derivada aproximada
Si h<<, entonces
D+h f (x0) = (f(x0+h) – f(x0)) / h ≈ f’(x0)
aproximación por derecha
D-h f (x0) = (f(x0) – f(x0-h)) / h ≈ f’(x0)
aproximación por izquierda
Ejemplos.
Observación:
D+h f (x0) = D-h f (x0+h)
D-h f (x0) = D+h f (x0-h)
Aproximación central
Si h<<, entonces
D+h f (x0) = (f(x0+h) – f(x0)) / h ≈ f ’(x0)
D-h f (x0) = (f(x0) – f(x0-h)) / h ≈ f ’(x0)
Tomar el promedio:
Dch f (x0) = ½ (D+h f (x0) + D-h f (x0))
= (f(x0+h) – f(x0-h)) / (2h)
aproximación central
Aproximación central
Dch f (x0) = (f(x0+h) – f(x0-h)) / (2h)
Observación:
Dch f (x0) = D+2h f (x0-h)
= D-2h f (x0+h)
Derivada segunda
Objetivo: aproximar f ’’(x0).
Recordar que es la derivada de la derivada.
Usemos la aproximación derecha de f ’(x0):
D+h f ’ (x0) = (f ’(x0+h) – f ’(x0)) / h
≈ (D+h f (x0+h) – D+h f (x0)) / h
= ( (f(x0+2h) –f(x0)) / h – (f(x0+h)-f(x0)) / h) / h
= (f(x0+2h) –2 f(x0+h) + f(x0)) / h2
≈ f ’’(x0)
Ejemplo
f(t) = grado de avance de un proyecto en el día t:
Día 1 2 3 4 5 6 7
Avance 5 6 6 4 7 20 25
¿Se puede estimar f ’ en cualquiera de los puntos?
¿Se puede estimar f ’’ en cualquiera de los puntos?
Ejercicios
1. Aproximar f ’’(x0) usando D-.
2. Aproximar f ’’(x0) usando Dc.
3. Aproximar f ’’’(x0) usando D+.