miércoles, 19 de marzo de 2008

9: Otras técnicas de modelaje




La técnica de las fajas flexibles

Hay ocasiones en las cuales por más que se intente ajustar un conjunto de datos de manera exacta a una fórmula no hay manera en la cual se puedan ajustar a fórmula alguna, pese al hecho de que al procurar nuevamente más datos "frescos" se encuentre que hay repetibilidad en las mediciones indicando con ello una dependencia debida a la ley de causa-efecto. Este problema se dá especialmente en situaciones como las tablas de datos empíricos usadas por las fuerzas armadas en sus prácticas de artillería, las cuales queremos substituír infructuosamente por alguna fórmula que nos permita prescindir de las tablas que en ocasiones pueden resultar engorrosas. Cualquier estudiante que haya tenido que utilizar tablas estadísticas para la obtención de valores en una distribución normal Gaussiana o en un análisis de varianza ANOVA teniendo que llevar a cabo una interpolación al no aparecer el valor que está buscando en la tabla sabe muy bien de lo que estamos hablando. Por otro lado, si lo que queremos es llevar a cabo un ajuste exacto de los datos a una fórmula utilizando para ello un polinomio, el grado del polinomio va aumentando en razón directa a la cantidad de datos que se tienen a la mano. A manera de ejemplo, si queremos ajustar una fórmula a seis pares de datos diferentes (X,Y), entonces vamos a necesitar un polinomio de quinto grado. Pero como ya se ha señalado con anterioridad, los polinomios de alto grado tienen la desventaja de que pueden oscilar violentamente con varios máximos y mínimos entre los puntos que se están ajustando al polinomio utilizado. Es en este tipo de situaciones en las cuales podemos usar una técnica desarrollada originalmente por I.J. Schoenberg, la cual adquirió amplia popularidad cuando C. de Boor escribió las primeras rutinas para implementarla en el lenguaje de programación científica FORTRAN (FORmula TRANslation). Se trata de la técnica de las fajas flexibles (splines).

La técnica de las fajas flexibles está basada en una idea muy sencilla inspirada por la máxima romana "divide y vencerás". Si no podemos representar un conjunto de datos mediante una fórmula en cierta región de interés, entonces subdividimos la región en varias sub-regiones dentro de las cuales individualemente y por separado podamos llevar a cabo un ajuste usando polinomios tales como polinomios de grado cúbico. Así, una región que vaya desde X=0 hasta X=100 se puede subdividir en cinco sub-regiones, la primera yendo de X=0 hasta X=20, la segunda yendo de X=20 hasta X=40, y así sucesivamente. Si esto no basta, podemos subdividir la región en diez sub-regiones. De este modo, al llevar a cabo el modelaje tendremos cinco o diez polinomios distintos, cada uno de ellos aplicable únicamente a cierta sub-región. Esto nos permite utilizar polinomios de grado bajo para llevar a cabo un ajuste en cada sub-región de interés. En el ejemplo anteriormente mencionado en el cual queremos llevar a cabo un modelaje sobre seis pares de datos diferentes, en lugar de utilizar un solo polinomio de quinto grado utilizaríamos cinco polinomios de tercer grado para cada sub-región de interés. Suponiendo que la región en la cual se sitúan todos los datos va desde X=1 hasta X= 6, entonces tendríamos los siguientes polinomios cúbicos pn(x) para las siguientes subdivisiones:

Para 1 ≤ x ≤ 2:

p1(x) = a0(1) + a1(1)X + a2(1)X² + a3(1)X3

Para 2 ≤ x ≤ 3:

p2(x) = a0(2) + a1(2)X + a2(2)X² + a3(2)X3


Para 3 ≤ x ≤ 4:

p3(x) = a0(3) + a1(3)X + a2(3)X² + a3(3)X3

Para 4 ≤ x ≤ 5:

p4(x) = a0(4) + a1(4)X + a2(4)X² + a3(4)X3

Para 5 ≤ x ≤ 6:

p5(x) = a0(5) + a1(5)X + a2(5)X² + a3(5)X3

Para poder aplicar el método de las fajas flexibles, es necesario que en los puntos comunes a dos regiones dos polinomios distintos como p1 y p2 tengan el mismo valor, o sea que p1(a)=p2(a). En el ejemplo que hemos estado utilizando, esto sería equivalente a montar las siguientes condiciones:

p1(2)=p2(2)___p2(3)=p3(3)___p3(4)=p4(4)___p4(5)=p5(5)

Pero esto no basta. Para que la curva que se produzca con la unión de los cinco polinomios sea una curva continua se requiere también que en el punto de transición de una sub-región a otra los polinomios tengan la misma pendiente, o sea:

dp1(2)/dx = dp2(2)/dx

dp2(3)/dx = dp3(3)/dx

dp3(4)/dx = dp4(4)/dx

dp4(5)/dx = dp5(5)/dx

Este último requisito nos pueda traer a la mente una regla metálica flexible que utilizaban los dibujantes técnicos para unir los puntos extremos de dos curvas distintas con un segmento de curva continua, doblando la regla para que la curva intermedia a ser dibujada entre estos dos puntos extremos fuese una curva suave dando la apariencia después de su trazado que las tres curvas son una sola. Esta regla metálica (hoy obsoleta en estos tiempos en los que el dibujo técnico y arquitectónico se lleva a cabo con programas de computadora como AutoCAD) era conocida como faja flexible (spline). De aquí deriva el nombre de la técnica matemática que está siendo descrita. Las fajas matemáticas descritas aquí también son conocidas como "fajas-B" (B-splines), lo cual es una abreviatura de "fajas de base" ("basis" splines).

Los requerimientos matemáticos de unión de los puntos de coincidencia, tanto el que dos polinomios distintos pertenecientes a sub-regiones vecinas tengan el mismo valor para su punto de unión X así como la misma pendiente, requieren de la elaboración de un programa computacional con cierto grado de complejidad, razón por la cual cuando la técnica estuvo disponible por vez primera en el lenguaje FORTRAN despertó el interés de muchos investigadores.

Supóngase que tenemos el siguiente conjunto de datos:



y que queremos determinar los valores de Y para X=2 y X=7.7. Entonces, utilizando algún programa computacional (como Mathcad, el cual tiene la función cspline(X,Y) para llevar a cabo el "ajuste" con fajas flexibles cúbicas generando un vector de datos así como la función de interpolación interp(S,X,Y,x) para obtener algún valor estimado del modelo generado con el vector de datos S y el valor desconocido de X que se quiere determinar), encontramos que los valores buscados son, definiendo alguna variable como "ajuste" para obtener la evaluación en el paquete computacional que esté siendo utilizado:

ajuste(2) = 12.77

ajuste(7.7) = 27.298

La gráfica de la curva continua generada mediante la técnica de las fajas flexibles junto con varios datos discretos que la generaron superimpuestos sobre la misma tiene el siguiente aspecto:



La curva nos presenta varios máximos y mínimos, lo cual es típico del modelaje llevado a cabo con varios "pedazos" de polinomios cúbicos que se han hecho coincidir en sus extremos. Si bien la curva pasa exactamente sobre cada uno de los puntos de datos originales usados para llevar a cabo el modelaje, esta oscilación podría resultar indeseable para el investigador que está tratando de obtener alguna interpretación teórica del conjunto de datos experimentales. Por otro lado, esta curva no cumple con el criterio de ser una sola curva continua para una sola fórmula en la cual se esté utilizando el criterio de los mínimos cuadrados, la curva aquí obtenida está siendo forzada a pasar exactamente sobre cada uno de los datos discretos sin tomar en cuenta la variabilidad que puedan tener estos datos debida a la introducción de fuentes de error experimental.

Generalmente hablando, al llevar a cabo el modelaje utilizando la técnica de las fajas flexibles no obtenemos una fórmula de los programas computacionales que lo implementan, porque de hecho tal fórmula no existe, lo que existe son varias fórmulas en varias regiones de interés, y la utilidad de la técnica se limita más bien a obtener un valor estimado a partir de la curva de fajas flexibles. Podemos verlo como un método para obtener valores estimados a partir de un criterio matemático de interpolación, y es con estas precauciones y advertencias con las cuales debemos recurrir a esta técnica.

Veamos ahora otro ejemplo en el cual tenemos seis pares de datos de acuerdo a la siguiente tabla:



Si llevamos a cabo un ajuste de mínimos cuadrados sobre estos datos utilizando un polinomio de quinto grado, la fórmula obtenida será la siguiente:

p(X) = 17.5 - 38.625X + 32.22917X² - 12X3 +2.02083X4 - .125X5

Si hacemos una gráfica de la curva obtenida usando un polinomio de quinto grado:



y usando "splines" cúbicos:



podemos ver que la curva obtenida obtenida por los datos interpolados mediante los splines cúbicos es más suave y menos oscilante que la curva obtenida directamente con un solo polinomio de quinto grado. Como era de esperarse, la curva obtenida por splines cúbicos al igual que la curva obtenida utilizando un polinomio de quinto grado ambas pasan exactamente a través de las coordanadas (pares de datos experimentales) estipuladas originalmente.


Los polinomios ortogonales

La técnica de los polinomios ortogonales se remonta a los tiempos en los que el acceso a equipos de cómputo electrónico no era posible porque aún no existían y no quedaba más alternativa que hacer los cálculos a mano, lo cual si no se hacía con sumo cuidado quedaba sujeto a equivocaciones aritméticas que sólo podían agravar aún más el factor de error aleatorio propio de los datos sobre los cuales se quería llevar a cabo un ajuste a alguna fórmula. En esa época, cualquier truco matemático que pudiese simplificar los cálculos era bienvenida por los científicos investigadores llevando a cabo algún modelaje, y uno de tales trucos consistió en el uso de polinomios ortogonales.

La técnica del uso de los polinomios ortogonales llega con dos restricciones. La primera es que se tiene que tomar el mismo número de observaciones en cada nivel de la variable independiente (X), de modo que si se toman tres observaciones para X=5, se tienen que tomar tres observaciones para todos los demás valores de X, lo cual no representa problema alguno cuando se usa el método general de los mínimos cuadrados. La segunda restricción es que los niveles tienen que estar igualmente espaciados. Esto quiere decir que un conjunto de datos como el siguiente:



no podría ser candidato a un ajuste mediante polinomios ortogonales, porque los niveles no están igualmente espaciados. Obsérvese en esta tabla que no hay valor alguno para X=2 como tampoco hay valor alguno para X=8. La ausencia de este dato no sería problema alguno usando el método general de los mínimos cuadrados, pero esto no es así cuando se utilizan los polinomios ortogonales.

El empleo de los polinomios ortogonales para modelar datos discretos tiene su origen en otro tipo de polinomios ortogonales capaces de representar curvas de datos continuos, tales como los polinomios de Hermite y los polinomios de Laguerre utilizados en el manejo de problemas relacionados con la física cuántica. Tales polinomios, cuando han sido sometidos a un proceso matemático que llamamos "normalización", tienen la caracterítica de que para polinomios definidos dentro de la misma clase la integral de un polinomio consigo mismo evaluada entre los límites de alcance del polinomio (por ejemplo, de x=-1 a x=1) produce como resultado la unidad, mientras que la integral de dos polinomios distintos dá como resultado cero. Este comportamiento es análogo al que se obtiene cuando llevamos a cabo el producto escalar o producto punto de un vector normalizado V= (a1,a2,a3,...,an) consigo mismo produciendo como resultado la unidad:

V ∙ V = a1² + a2² + a3² + ... an² = 1

entanto que si llevamos a cabo el producto escalar del vector V con otro vector W(b1,b2,b3,...,bn) el resultado es cero:

V ∙ W = a1b1 + a2b2 + a3b3 + ... anbn = 0

en cuyo caso decimos que los vectores V y W son ortogonales.

Se ha anexado a este trabajo un Apéndice que proporciona los coeficientes de polinomios ortogonales para una muestra de tamaño n=2 hasta una muestra de tamaño n=10. Todos los grupos de valores dados en el apéndice son ortogonales. Para n=3, por ejemplo, tenemos que:

ΣZ1Z11 = (-1)(1) + (0)(-2) + (1)(1) = 0

Y para n= 4, vemos que:

ΣZ1Z11 = (-3)(1) + (-1)(-1) + (1)(-1) + (3)(1) = 0

ΣZ1Z111 = (-3)(-1) + (-1)(-3) + (1)(-3) + (3)(1) = 0

ΣZ11Z111 = (1)(-1) + (-1)(3) + (1)(-3) + (3)(1) = 0

Obsérvese también en los coeficientes proporcionados que si sumamos los coeficientes para cierto Zi, la suma será cero, lo cual es de esperarse al usar polinomios ortogonales. A manera de ejemplo, para n=5 cuando se está modelando un polinomio cuártico, tenemos:

ΣZ1111 = 1 + (-4) + 6 + (-4) + 1 = 0

Y para n=8, cuando se está modelando un polinomio cuadrático:

ΣZ11 = 7 + 1 + (-3) + (-5) +(-5) + (-3) + 1 + 7 = 0

El uso de los polinomios ortogonales especificados por estos coeficientes requiere no sólo que los niveles de la variable independiente estén igualmente espaciados, sino inclusive requiere que tome los valores de X=1,2,3,..., aumentando de uno en uno. Si esto no es así, entonces será necesario "recalibrar" la variable independiente designando a sus valores como X' y transformando cada uno de dichos valores hacia una variable X de modo tal que X tome los valores X=1,2,3,... requeridos por los coeficientes dados. El procedimiento para hacer tal cosa es simplemente:

X = [X' + (el espaciamiento) - (menor valor de X')]/espaciamiento

Este paso es requerido para poder crear la fórmula en términos de la variable X' y no en términos de una variable intermedia X en la cual X=1,2,3,...

La fórmula general para un ajuste llevado a cabo con la ayuda de los polinomios ortogonales es la siguiente cuando se trata de un ajuste linear:

Y = α0 + α1ZI

mientras que para un polinomio cuadrático es:

Y = α0 + α1ZI + α11ZII

y para un polinomio cúbico la fórmula será:

Y = α0 + α1ZI + α11ZII + α111ZIII

Y así sucesivamente.

Compárense las expresiones anteriores para el ajuste linear, el ajuste con un polinomio cuadrático, y el ajuste con un polinomio cúbico. Es importante resaltar que el término α1ZI en la ecuación linear y en la ecuación cuadrática no es diferente en ambas expresiones al momento de efectuar los cálculos numéricos, es el mismo. Y el término α11ZII permanece igual al ir de un polinomio cuadrático a un polinomio cúbico. Aquí puede verse una de las ventajas del uso de los polinomios ortogonales. Una vez que hemos calculado la fórmula correspondiente al caso linear, si queremos ampliar el modelaje extendiéndolo hacia un polinomio cuadrático no es necesario empezar de cero volviendo a efectuar todos los cálculos de nuevo. Basta con efectuar el cálculo para el término cuadrático, y una vez que lo tenemos simplemente lo sumamos a lo que ya habíamos calculado para el caso linear. Y tras esto, si queremos ampliar el modelaje extendiéndolo hacia un polinomio cúbico, tampoco es necesario empezar de cero efectuando todos los cálculos de nuevo; simplemente efectuamos el cálculo para el término cúbico, y una vez que lo tenemos simpemente lo sumamos a lo que ya habíamos calculado para los casos linear y cuadrático.

Los coeficientes α de los polinomios que estamos construyendo se determinan mediante las siguientes fórmulas en las cuales recurrimos a los coeficientes Zi de los polinomios ortogonales (proporcionados en el Apéndice de esta obra) de acuerdo con el exponente del término que queramos modelar (hay referencias sobre esto en el libro Response Surface Methodology de R. H. Myers, y el libro Statistics in Research de B. Ostle):



(Obsérvese que esta fórmula es simplemente la media aritmética de los valores experimentales de Y.)



Todas las demás fórmulas sucesivas para α3, α4, etc. guardan el mismo patrón: la suma de los pares respectivos de los datos por los coeficientes Z correspondientes, divida entre la suma de los cuadrados de los coeficientes Z que aparece en el denominador de las fórmulas; esta es la razón por la cual en el Apéndice se ha incluído ΣZ² para cada caso.

Una vez que se han determinado los factores α, los factores Zi que aparecen en el modelo final y que están mostrados con un color azul arriba en el modelo general se substituyen de acuerdo con el grado del polinomio deseado según ciertas fórmulas como las que se mostrarán a continuación. Estos Zi están asociados a los Zi que son usados en la evaluación de los factores α, pero no son lo mismo, y es por esto que se ha empleado un color diferente para distinguirlos. Las fórmulas que se dan son para el caso linear y el caso cuadrático, los λs (proporcionados también en el Apéndice de esta obra junto con los coeficientes de los ortogonales) son simplemente factores de escala cuyo propósito es convertir a los valores de Z en enteros para simplificar la aritmética:



Los polinomios ortogonales son altamente efectivos porque se puede demostrar que los coeficientes de los mismos son tales que su uso simplifica las ecuaciones normales obtenidas mediante el método de los mínimos cuadrados. Se les puede ver como un truco matemático efectivo para la simplificación de los cálculos aritméticos.


PROBLEMA: Dados los siguientes datos recabados de un experimento, en los cuales X' es la variable dependiente y Y la variable independiente:



codificar la variable dependiente X' transformándola hacia una variable X de modo tal que X esté igualmente especiada avanzando de uno en uno a partir de la unidad.

En esta tabla de datos, X' va avanzando de cinco en cinco, de modo tal que el intervalo entre cada medición es de cinco unidades; y el valor más pequeño de X' es 10. Entonces, aplicando la fórmula, la variable codificada será:

X = [X' + (intervalo) - (valor más pequeño de X')]/intervalo

X = [X' + 5 -10]/5

X = (X' - 5)/5

Esta fórmula nos dá la conversión requerida, y con ella tenemos la siguiente tabla:




PROBLEMA: Obtener la línea de regresión para los datos del problema anterior utilizando polinomios ortogonales.

Puesto que el conjunto de datos contiene n=6 datos en total, tenemos que recurrir a la entrada correspondiente a los polinomios ortogonales para n=6 que podemos encontrar en el Apéndice a esta obra.

Si lo que vamos a obtener es simplemente una línea de regresión, entonces sólo necesitamos los valores de Z correspondientes a cada uno de los valores de X que van desde 1 hasta 6, los cuales son:
ZI = -5 para X=1

ZI = -3 para X=2

ZI = -1 para X=3

ZI = 1 para X=4

ZI = 3 para X=5

ZI = 5 para X=5
Obsérvese que ΣZI=0.

A continuación, formamos los productos respectivos de cada uno de los pares YZI:



Puesto que estamos trabajando sobre el modelo linear, únicamente tenemos que llevar a cabo los cálculos de α0 y α1 que resultan ser:

α0 = ΣY/n = 81.2/6 = 13.53

α1 = ΣYZI / Σ[ZI

α1 = (-31 - 26.4 - 12.4 + 15.1 + 52.5 + 106) /Σ[ZI

α1 = (103.8) /Σ[ZI

α1 = (103.8) /(25 + 9 + 1 + 1 + 9 + 25) = 103.8 /70 = 1.483

Del Apéndice vemos también que para n=6 y una fórmula linear, λ=2. Entonces la ecuación linear resultante es:

Y = α0 + α1ZI

Y = 13.53 + (1.483)[λ(X - X)]

Y = 13.53 + (1.483)[2(X - 3.5)]

Y = 13.53 + (1.483)[2X -7]

Y = 3.149 + 2.966X

A continuación tenemos la gráfica de esta línea de regresión superimpuesta sobre los datos discretos a partir de los cuales fue generada con la ayuda de los polinomios ortogonales.



Obsérvese la facilidad con la cual fue obtenida esta línea de regresión, en contraste con los cálculos aritméticos intensivos requeridos mediante el método de los mínimos cuadrados. Antes del advenimiento de las computadoras personales de escritorio, este método era una herramienta potente para economizar tiempo y esfuerzo; y lo sigue siendo para cálculos rápidos y poco penosos en los cuales se está llevando a cabo una primera aproximación con el fin de refinar el modelo posteriormente, aunque como puede verse en este problema, el resultado obtenido es bastante aceptable.