Documentos de Académico
Documentos de Profesional
Documentos de Cultura
REGRESIÓN LINEAL
Introducción
Al motivar la resolución de sistemas de ecuaciones algebraicas lineales habíamos
planteado el problema de ajustar los coeficientes de una parábola que pasa por tres puntos
especificados del plano. En este caso, el problema se reducía a resolver un SEAL de 3
ecuaciones con 3 incógnitas, obteniéndose una única solución.
En general, en análisis de datos, lo que se pretende es ajustar una curva a una serie de
datos experimentales. Una forma de realizar el ajuste es mediante una regresión lineal. Esto
no significa que debemos ajustar los datos a una recta, sino que desarrollamos un algoritmo
que reduce el problema a tratar de resolver un SEAL.
Veamos un ejemplo de aplicación: Determinación del coeficiente de transferencia de
materia. Supongamos que hemos diseñado un experimento de transferencia de materia que
consiste de dos reservorios que contienen soluciones diluidas y que están separados por un
tabique divisorio que impide el intercambio de materia:
Tabique separador
C0 Ceq.
Membrana permeable de
área = A
C0 Ceq.
1
dC
V Ah C Ceq (1)
dt
sujeta a la condición inicial: C t 0 C 0
C Ceq C0 Ceq e
t
V
(2)
Deseamos determinar h midiendo C como función del tiempo. Para que podamos utilizar
regresión lineal el modelo debe ser lineal en los parámetros de modelización. En este caso, el
parámetro h aparece en el exponente. Podemos reescribir la Ecuación (2):
hA
C Ceq C0 Ceq e
t
V
(3)
ln C Ceq ln C0 Ceq
hA
t (4)
V
, b ln C0 Ceq
Ah
a
V
Queremos ajustar los parámetros del modelo y at b a N datos experimentales:
t i , yi con i = 1, 2, …, N.
Se plantean distintas alternativas para resolver el problema.
N
yi ati b
2
Suma (5)
i 1
que representa la suma de los cuadrados de las distancias en ordenada entre los valores
medidos de concentración y los que suministra el modelo.
2
Debemos elegir a y b tal que esa función sea mínima; por consiguiente, planteamos las
condiciones necesarias de existencia de extremo (mínimo) para una función de dos variables,
esto es:
Suma
0
a
Suma
0
b
que representa a un sistema de dos ecuaciones lineales con dos incógnitas (a y b).
Podemos explicitar las derivadas, así:
N N N N
Suma
2 yi ati b ti 2 yi ti 2a t 2b
2
ti 0 (6)
a
i
i 1 i 1 i 1 i 1
N N N
Suma
2 yi ati b 2 yi 2a ti 2Nb 0 (7)
b
i 1 i 1 i 1
Si a partir de un conjunto de N datos experimentales (ti, yi) definimos los siguientes valores
medios:
N N N N
1 1 1 1
t ti ; y yi ; ty ti yi ; t
2
ti2
N N N N
i 1 i 1 i 1 i 1
at 2 bt yt
(8)
at b y
De aquí podemos despejar a y b, y a partir de ellos los parámetros originales del modelo, así:
yt yt Ah Va
a 2
h (9)
t2 t V A
3
y1 at1 b
y2 at2 b
(11)
yN at N b
y A.x y
T
r 2 r .r y A.x . y y . A . x x . A . y x . A . A . x (14)
2 T T T T T T T
r 2
sea mínima.
Esto es equivalente a lo que hicimos anteriormente con mínimos cuadrados. En efecto,
planteamos la condición necesaria de existencia de extremo, pero ahora sobre la norma 2 al
cuadrado del vector residuo r, así:
x r 0 donde x
2
, ,..., (15)
x1 x2 xn
2
A . A x A
T T
y (16)
que representa a un sistema de n ecuaciones lineales con n variables (las componentes del
vector x o vector de parámetros de modelización). Estas ecuaciones se conocen con el
nombre de Ecuaciones Normales.
4
Las ecuaciones normales son apropiadas, pero no son un buen camino para resolver el
problema de regresión lineal para un número grande de parámetros a ajustar, ya que, en
general, conducirá a elevados errores de redondeo.
Con respecto al número de condición del sistema, se puede demostrar que
K A . A ,2 K A,2 , igualdad que vale sólo en norma 2, dado que, en general, A es
T 2
una matriz rectangular. Por lo tanto, el problema conducirá a un problema mal condicionado.
Podemos mejorarlo cambiando de metodología.
III) Factorización QR
Resolvemos el problema de regresión utilizando la factorización QR de la matriz A.
Para ello debemos introducir algunos conceptos previos.
Transformación ortogonal: Una matriz Q se dice ortogonal si Q Q I . Dado que
T
1
esto nos dice que Q Q se deduce que Q .Q Q .Q I .
T T T
Demostración:
. Q x x
2 T
Qx Qx .Q Q x x T . Q Q x x T .I .x x T .x x
T T T 2
2
2
Qx x 2
2
0 0 1 0 0 1 1 0 0
P 0 1 0 ; P 0 1 0 P .P P. P 0 1 0
T T T
1 0 0 1 0 0 0 0 1
Otros ejemplos de matrices ortogonales:
1
1 0 1 1 3 / 5 4 / 5
; ;
0 1 2 1 4 5 3 5
1
5
Todas satisfacen la condición Q Q Q Q I (probarlo).
T T
La pregunta que nos formulamos ahora es: ¿Para qué necesitamos esta propiedad en el
problema de regresión lineal? Dado que las matrices ortogonales preservan la norma vectorial
2, entonces, el problema de resolver m í n A.x b 2 es equivalente a:
x
donde P es una matriz ortogonal, pero no cualquier matriz ortogonal. En efecto, queremos
3 4 1 14
0 2 2 10
R
P . A 0 0 7 y P .b c 21
0 0 0 0
6
0 0 2
0
Entonces el problema de regresión se reduciría a encontrar el vector x que
R
minimiza .x c donde x es un vector de 3 componentes (igual al número de columnas
0 2
2
R R
de R). Por otra parte, resolver mín .x c sería equivalente a resolver mín .x c .
x 0
0 2
x 0
0 2
Observemos que las tres primeras ecuaciones se pueden resolver exactamente y que las dos
últimas filas no tienen efecto sobre x, así:
2
2 3 4 1 x1 14
R
2
6
.x c 0 2 2 x2 10
0 0 0 7 x 21 2 2
2
3 2
En efecto, la norma al cuadrado es la suma de dos términos no negativos. Para que esta
expresión sea mínima el primer término debería ser nulo; esta condición se cumple si x
satisface el SEAL. Podemos resolver por sustitución hacia atrás:
21 10 6 14 3 8
x3 3 ; x2 2 ; x1 1
7 2 3
6
El residuo es: 40
2 2
6
Entonces, esta clase de problema es fácil de resolver si podemos encontrar una matriz
P tal que reduzca a la matriz A de las funciones de modelización a una forma triangular
superior.
Veamos como podemos construir esa matriz ortogonal. Para ello debemos presentar
algunos conceptos previos.
v1
donde representa el producto tensorial o exterior de dos vectores, esto es, si v v2 ,
v
3
de dos vectores nos suministra un elemento de otro espacio vectorial, en este caso un
elemento perteneciente al espacio vectorial de las matrices de dimensión (3x3).
Estas matrices también se conocen con el nombre de matrices hermíticas elementales
o Transformaciones de Householder. Reflejan el espacio vectorial en el hiperplano ortogonal
o perpendicular a v . Las matrices P son simétricas y ortogonales y tienen la siguiente
propiedad:
Propiedad de los reflectores elementales: Dados dos vectores x e y de igual longitud
se puede encontrar una matriz P tal que P .x y .
v x y
x y
2
2 x y x y
T
2 x y x y
T
2 x . x y . x
T T
I .x x x y
x y
T
2 x y x y
2 x . x y . x
T T
x x y
x . x y
T T
. x x .y y . y
T T
7
Dado que:
1. x . x y . y por hipótesis.
T T
2 x y x y
T
2 x . x y . x
T T
x y x x y y
I .x x
x y
2
2 x . x y . x
T T
Con ayuda de este resultado podemos construir una secuencia de transformaciones de
Householder P1 , P2 , P3 Pn tal que al ser aplicadas a la matriz A, una columna a la vez, la
. R0 P
T
.P2 Pn .Pn P2 .P1 . A A
T T T
Pn P3 .P2 .P1 1 (18)
I
Supongamos por el momento que hemos encontrado una matriz Q tal que
R
Q . A
T
(19)
0
c
Q .b
T
(20)
d
Esto es, separamos al vector QT.b en un vector c cuyo número de componentes es igual al
número de filas de R y un vector d cuyo número de componentes es igual al número de filas
nulas. Planteamos el vector residuo: r A x b , de donde obtenemos:
A x b Q R c R x c
Q .r Q . A x Q .b x
T T T T
(21)
0 d d
T
Dado que Q es ortogonal,
8
R x c
R x c
2
d .
T 2
Q .r Rx c 2 d
2 T T 2
r 2
2 d 2
(22)
O bien,
1
x R c (25)
normales A A .x A . y . En efecto, podemos escribir:
T T
T
A . A A .Q . Q . A Q . A . Q . A R . R
T T T T T T
(27)
T
K A . A K R . R K 2 R
T
(28)
De aquí que el método se recomienda para resolver problemas de regresión lineal dado que:
K R K A . A T
(30)
con i =1,2, …,n que reducen la matriz A a la forma triangular superior. Esto es, resta mostrar
como generamos los Pi .
9
y a1 2 ,0,0, ,0
T
(31)
De manera que x 2 a1 2
y . Entonces, si definimos:
2
v a1 y (32)
a1 y
1
2
P1 I 2v1 v1
T
(33)
P1 .x P1 .a1 y (34)
Por motivos computacionales elegimos que el signo de la componente no nula de y sea igual a
–signo (a11) (de A1 ).
1 0 0 0
0 x x x
P2
0 x x x
y P2 . A2 tendrá las mismas 1era. fila y primera columna de A2 . De aquí que para obtener
T
y a12 , a ,0,0, ,0
2 2
a2 2 12 (36)
De manera que:
v a 2 y (37)
a2 y
2
2
con
10
P2 I 2v 2 v 2
T
(38)
Por motivos computacionales elegimos que el signo de la 2da. componente no nula de y sea
igual a –signo (a22) (de A2 ).
T
k 1
y a1k ,a2k ,...,ak 1,k ,
ak
2
2
i 1
aik ,0,0, ,0
2
(39)
De modo que:
v a k y (40)
k
ak y
2
con
Pk I 2v k v k
T
(41)
R
An 1 Pn P2 .P1 . A1 (42)
0
Problemas Degenerados
¿Qué sucede si el problema está subdeterminado? En este caso, la matriz R no es de
rango completo.
Algunas definiciones
1. Rango de una matriz: Dada una matriz cualquiera A de orden (mxn), se denomina
rango de la matriz A y se denota rg(A) al máximo número de vectores columna (fila)
linealmente independientes. Además, rgf(A)= rgc(A).
2. Definición alternativa de rango de una matriz: Orden del determinante no nulo de
máximo orden que se puede construir con las filas y las columnas de A.
Clasificación de las matrices en función del rango
Sea A M(mxn) entonces,
a) Si m n y rg(A) = mín(m.n) diremos que la matriz es de rango completo; en caso
contrario diremos que A no es de rango completo.
b) Si m = n entonces:
11
b.1) Si rg(A) = n diremos que A es una matriz no singular o regular.
b.2) Si rg(A) < n diremos que A es una matriz singular.
Los problemas degenerados en regresión lineal surgen si las columnas de la matriz de
las funciones de modelización son linealmente dependientes. Para estos problemas habrá un
infinito número de modos de aproximar los datos con el mismo residuo (mínimo).
Ejemplo: Sea el modelo b(t ) x1 (1) x 2 (t ) x 3 (2t 1) . Supongamos que se dispone de N
datos experimentales (N > 3 = nro. de parámetros), por consiguiente éstos deberán satisfacer
al modelo propuesto, esto es:
b t1 x1 1 x2 t1 x 3 2t1 1
b t2 x1 1 x2 t2 x 3 2t2 1
(43)
..........................................................
b t N x1 1 x2 t N x 3 2t N 1
En forma matricial,
b t1 1 t1 2t1 1
x1
b t2 1 t2 2t2 1 . x (44)
2
x3
b t N 1 t N 2t N 1
x
b A
Entonces, si x* x1* ,x*2 ,x*3 es solución del problema de regresión, también lo es:
1
x x* 2 R (45)
1
En efecto,
1
b A. x* 2 b = A.x* A. 2 b A.x* b
A.x (46)
1
0
12
1 10 k
x2 10 k ; x1 10 k
1
Ahora supongamos que k 1 , siendo a22 distinto de cero debido a errores de
redondeo (en realidad debería considerarse 0). En esta situación preferimos ajustar los datos
con x2 0 y x1 1 , puesto que en este caso x 2
1 en lugar de 210 k
Concluimos que en estos casos lo que se estila es adoptar para el modelo parámetros
pequeños, esto es, para problemas degenerados deseamos que el vector de parámetros de
modelización tenga la longitud más corta.
Algunas veces resulta difícil determinar por simple observación cuán cercana se halla
una matriz de la degeneración. Consideremos la matriz:
1 1 1 1 1
0 1 1 1 1
0 0 1 1 1
A
0 0 0 1 1
0 0 0 0
0 0 0 0 0 1
A es de forma triangular superior, aún podemos efectuarle una factorización QR, pero en este
13
x x x x x x
0 x x x x x
0 0 x x x x
0 0 0 x x x
0 0 0 0 0 0
0 0 0 0 0 0
2 x 0
T
T
.x Q .b
T
2
mín R .P .x Q .b
x 0
T T
(48)
Definimos un nuevo vector de parámetros:
y P .x
T
(49)
o
2
min A.x b
x 0 2
14
es equivalente a resolver,
2
R1 R2 y c 2
2
min . 1 1 min R1 . y 1 R2 . y 2 c1 c 2 2 (51)
y 0
0 y2 c2 y 0
0
2
2
El segundo término no puede ser afectado por los parámetros y. Sin embargo el primer
término puede hacerse cero de infinitas maneras. En efecto, si fijamos y 2 en forma arbitraria,
R1 . y 1 c1 R2 . y 2 (52)
R1 . y 1 c1 (53)
ya que la inversa de PT es P por ser matrices de permutación (en este caso de columnas). Esto
es, reordenamos variables para obtener finalmente los parámetros del modelo siendo c 2 el
residuo.
Una forma alternativa de resolver problemas de regresión lineal degenerados es
plantear la descomposición en valores singulares de la matriz A M(mxn) con m>n. Operamos
sobre A de manera que:
diagonal
m n
A U . . V
T
(55)
mn ortogonal ortogonal
mm n n
donde U y V representan matrices ortogonales, mientras que es una matriz diagonal cuyos
elementos diagonales representan a los valores singulares de la descomposición. Mediante la
utilización de pivoteo de columna, los elementos de se pueden ordenar de manera
decreciente, así, 1 2 3 n . Si n 0 luego A no es de rango total m n .
15
min A.x b 2 min U . .V .x b min .V .x U .b
T T T
(56)
x 0 x 0 2 x 0 2
En forma equivalente,
2 2
min A.x b 2 min .z d (58)
x 0 z 0 2
Si separamos al vector d en dos partes, d1 y d2, de manera que el número de componentes del
primero sea igual al número de filas no nulas de y el número de componentes de d2 igual al
número de filas nulas, luego resulta:
1 0 0
2
0 0
2
1
0 2 0 0 d
0 2 0 0
2
(59)
min 0 0 . z 1 min 0 0 . z d1 d2 2
z 0 0 0
z 0
d2
0 0 0
0
0 0 0 n 0 0 0 n
2 2
1 0 0
0 2 0 0
0 0 . z d1 (60)
0 0 0
0 0 0 n
di
de donde obtenemos: zi con i=1,2,…n y finalmente el vector de parámetros x haciendo:
i
V .V .x x V .z
T
(61)
di
si i
zi i (63)
0 si i
16
Esta forma de determinar los parámetros tiene la propiedad que entre el conjunto de vectores
x* que minimizan el residuo A.x b , éste tendrá la mínima norma, esto es:
2
x SVD 2
x 2
(64)
17