INTERPOLACION Y AJUSTE DE CURVAS

-Regresión polinomial

. Algunos datos, aunque exhiben un patrón marcado son pobremente
representados por una línea recta. Para estos casos, una curva se podría ajustar mejor a los datos. Un
método para hacerlo es a través del uso de las transformaciones discutido anteriormente, mientras que
otro método sería ajustar los datos con regresión polinomial.

Figura 1. Comparación con ajuste de recta y parábola.

El procedimiento de mínimos cuadrados pude ser extendido para el ajuste de datos con un polinomio de
alto orden. Por ejemplo, supongamos que se quiere hacer un ajuste polinomial de segundo orden o
cuadrático:

y = a
0
+ a
1
x + a
2
x
2
+ e


Para este caso la suma de los cuadrados residuales es:

∑ ∑
= =
− − − = =
n
i
n
i
i i i i r
x a x a a y e S
1 1
2
2
2 1 0
2
) (

Para generar el ajuste por mínimos cuadrados, se toma la derivada con respecto a cada uno de los
coeficientes del polinomio, así:



− − − − =


) ( 2
2
2 1 0
0
i i i
r
x a x a a y
a
S

| |

− − − − =


i i i i
r
x x a x a a y
a
S
) ( 2
2
2 1 0
1

| |

− − − − =


2
2
2 1 0
2
) ( 2
i i i i
r
x x a x a a y
a
S


Haciendo estas derivadas igual a cero resultará en un mínimo S
r
. Si esto es hecho, las ecuaciones pueden
ser expresadas como:

( ) ( )
∑ ∑ ∑
= + +
i i i
y a x a x a n
2
2
1 0
*

( ) ( ) ( )
∑ ∑ ∑ ∑
= + +
i i i i i
y x a x a x a x
2
3
1
2
0


( ) ( ) ( )
∑ ∑ ∑ ∑
= + +
i i i i i
y x a x a x a x
2
2
4
1
3
0
2


donde todas las sumatorias van desde i = 1 hasta n. Note que las anteriores tres ecuaciones son lineales
y tienen las incógnitas como: a
0
, a
1
, y a
2
. Los coeficientes de las incógnitas pueden ser calculados
directamente de los datos observados.

Para este caso, el problema de determinar un polinomio de segundo orden con mínimos cuadrados es
equivalente a resolver un sistema de tres ecuaciones lineales simultáneas. El caso de dos dimensiones
puede ser fácilmente extendido a un polinomio de orden m:

y = a
0
+ a
1
x + a
2
x
2
+...+a
m
x
m
+ e

Así, se puede pensar que para la determinación de los coeficientes de un polinomio de orden m es
equivalente a resolver un sistema de m + 1 ecuaciones lineales simultáneas. Para este caso, el error
estándar es:

) 1 ( + −
=
m n
S
r
σ

Esta cantidad es dividida por n − (m + 1) debido a que (m + 1) coeficientes derivados de los datos: a
0
, a
1
, .
. . , a
m
fueron usados para calcular Sr; así, se han perdido m + 1 grados de libertad. Adicionalmente al
error estándar, un coeficiente de determinación también puede ser calculado para regresión polinomial.

- Ejemplo. Ajuste un polínomio de segundo orden para los datos de la siguiente tabla:

x
i
y
i

0 2.1
1 7.7
2 13.6
3 27.2
4 40.9
5 61.1

Solución. Los siguientes datos pueden ser calculados a partir de la tabla:

Σx
i
=15, Σy
i
=152.6, Σx
i
2
=55, Σx
i
3
=225, Σx
i
4
=979, Σx
i
*y
i
=586.6, Σx
i
2
*y
i
=2488.8, x
=2.5,
y
=25.433, m=2,
n=6,
Σ(y
i
- y
)
2
=2513.393

Las ecuaciones simultáneas son:

¦
)
¦
`
¹
¦
¹
¦
´
¦
=
¦
)
¦
`
¹
¦
¹
¦
´
¦
(
(
(
¸
(

¸

8 . 2488
6 . 585
6 . 152
979 225 55
225 55 15
55 15 6
2
1
0
a
a
a


Estas ecuaciones pueden ser resueltas para evaluar los coeficientes. Por ejemplo usando MATLAB:

>> N = [6 15 55;15 55 225;55 225 979];
>> r = [152.6 585.6 2488.8];
>> a = N\r
a =
2.4786
2.3593
1.8607

Por eso, la ecuación cuadrática de mínimos cuadrados es:

2
* 86607 . 1 * 3593 . 2 4786 . 2 x x y + + =


74657 . 3 ) (
1
2
2
2 1 0
= − − − =

=
n
i
i i i r
x a x a a y S


El error estándar basado en la regresión polinomial es:

1175 . 1
) 1 (
74657 . 3
=
+ −
=
m n
σ


El coeficiente de determinación es:

99851 . 0
39 . 2513
74657 . 3 39 . 2513
2
=

=

=
t
r t
S
S S
r


Y el coeficiente de correlación es: r= 0.999254



- Ejemplo.

Repita el ejemplo anterior usando operaciones matriciales en Matlab:
>> x = [0 1 2 3 4 5]';
>> y = [2.1 7.7 13.6 27.2 40.9 61.1]';

Ahora, se crea una matriz [Z]:

>> Z = [ones(size(x)) x x.^2]
Z =
1 0 0
1 1 1
1 2 4
1 3 9
1 4 16
1 5 25

Se puede verificar que [Z]T [Z] resulta en los coeficientes de la matriz para las ecuaciones normales:

>> Z'*Z
ans =
6 15 55
15 55 225
55 225 979

Este es el mismo resultado obtenido mediante las sumatorias. Se pueden encontrar los coeficientes
mediante:

>> a = (Z'*Z)\(Z'*y)
ans =
2.4786
2.3593
1.8607

Para calcular r
2
y σ, primero se calcula la suma de los cuadrados residuales:

>> Sr = sum((y-Z*a).^2)
Sr =
3.7466

Luego r
2
puede ser calculado como:

>> r2 = 1-Sr/sum((y-mean(y)).^2)
r2 =
0.9985

y σ puede ser calculada como:

>> s = sqrt(Sr/(length(x)-length(a)))
s =
1.1175





Problema.

Ajuste un polinomio cúbico a los siguientes datos:
X 3 4 5 7 8 9 11 12
y 1.6 3.6 4.4 3.4 2.2 2.8 3.8 4.6

Junto con los coeficientes, determine r
2
y la desviación estándar.

Referencias:
- J. Kiusalaas, Numerical methods in engineering with Matlab, Cambridge University Press (2005).
- S.C. Chapra, Applied numerical methods with Matlab, Mc Graw Hill (2008).
- C. Woodford y C. Phillips, Numerical methods with worked examples, Springer (1997).