Teoría y = f(x,θ) + ε WSSQ = Σ (yi − f(xi, θ))2

Anuncio
Regresión no lineal sin pesos estadísticos: Ajuste de curvas
Problema Propuesto:
Se observó experimentalmente en una balsa de fangos activos que la variación de la constante
de velocidad (k) de los compuestos orgánicos con la temperatura en un rango de temperaturas
comprendido entre 20º C y 80º C es:
103 k/dm3mol-1 s-1
0,1
0,33
1,41
3,06
8,13
21,1
50,1
Temperatura/ºC
20
30
40
50
60
70
80
El objetivo de este ejercicio será ajustar a un modelo (ecuación matemática) los datos
experimentales y determinar el valor de los parámetros del modelo. En este caso los datos se
ajustan a un modelo monoexponencial del tipo:
y = A e−B/x
siendo "x" e "y" las variables y "A" y "B" los parámetros, se trata por tanto de una función "no
lineal en los parámetros", por lo que habrá que proceder a un ajuste por "regresión no
lineal". Este tipo de modelos se conocen como ecuación de Arrhenius.
Teoría
En general, la regresión de una variable dependiente “y” frente a una variable independiente
“x” es de la forma:
y = f(x, θ) + ε
donde θ es un vector de parámetros desconocidos e independientes (θ1 ,
el error experimental.
θ2 , θ3 , .... θP ) y ε es
Como es sabido, dados “n” pares de observaciones (x1,y1), (x2,y2), (x3,y3),...... (xn,yn), el
método general de los mínimos cuadrados para estimar
θ , consiste en calcular el valor θ que
minimice la suma de cuadrados de los residuales:
WSSQ = Σ (yi − f(xi, θ))2
donde WSSQ es la llamada “suma de residuales al cuadrado” (weighted sum of squares).
Para que el ajuste por mínimos cuadrados tenga las propiedades estadísticas adecuadas, es
ε
necesario que los errores “ ι” sigan una distribución normal de media cero (medidas no
sesgadas) y varianza constante (medidas con misma precisión). Si la varianza de los errores no
es constante hay que utilizar la estrategia de los mínimos cuadrados ponderados (regresión
lineal con pesos estadísticos),
Los métodos numéricos para calcular el valor de
θ que
minimiza WSSQ dependen
principalmente de la forma de la función f respecto a los parámetros θ :
a) Si “ f ” es lineal en los parámetros , es decir cuando considerada la “x” como
constante la dependencia de “y” con los parámetros es combinación de sumas y
restas, como ocurre en la ecuación de una recta o de un polinomio, entonces la
solución es única, exacta y sus propiedades estadísticas están bien establecidas. En
este caso la técnica se denomina “Regresión lineal”.
b) Si “ f ” es no lineal en los parámetros, es decir, considerada la “x” como constante
la dependencia de “y” con los parámetros es mas compleja que combinación de sumas
y restas, como ocurre en las ecuaciones con exponenciales o con potencias, entonces
la solución es aproximada, se obtiene por métodos iterativos y sus propiedades
estadísticas son también aproximadas. En este caso la técnica se denomina
“Regresión no lineal”
Cuando la ecuación es “no lineal” en los parámetros, hay que utilizar métodos numéricos
iterativos para encontrar el valor de los parámetros (θ) que minimiza WSSQ. Estos métodos
son básicamente de dos tipos: Métodos de búsqueda directa y métodos de gradiente.
Entre los métodos de búsqueda directa destaca el “método de
búsqueda aleatoria” (random search), que consiste en realizar una
búsqueda al azar entre los límites posibles entre los que se puede
encontrar el parámetro, hasta encontrar aquellos valores de los
parámetros que dan un menor valor de WSSQ, por ejemplo, para el
caso de 2 parámetros, este método se podría esquematizar según el
diagrama de la figura 1.
En la figura se aprecia bien la importancia que tiene establecer correctamente los límites para
los parámetros, así como el disponer de una estima inicial de los mismos para iniciar la
búsqueda.
Los métodos de gradiente se basan en las derivadas de la función
WSSQ respecto a los parámetros y los más utilizados son: Máximo
descenso (steepest descent), Gauss Newton, Leverberg-Marquard y
Quasi-Newton. La diferencia entre un método y otro se basa en la
forma de calcular la dirección de búsqueda “u” y la longitud del paso
“λ”, como se esquematiza en la figura 2 para el caso particular de 2
parámetros.
Otra diferencia importante entre estos métodos de gradiente es el hecho de si se calculan
analíticamente o no las derivadas primeras y segundas de la función WSSQ respecto a los
parámetros.
Procedimiento paso a paso
1.- Crear un archivo con los datos x,y
Simfit esta constituido por una biblioteca de programas independientes que interactúan entre si
en este caso ejecutamos el programa MAKFIL
Seleccionar en el menú principal la opción “Archivo” > “Nuevo archivo tipo ajuste de
curvas”, para acceder al siguiente cuadro de opciones que nos ofrece varias posibilidades
para introducir los datos:
En este caso nos interesa seleccionar el “introducir las “x” en orden creciente” y que “las
“s” no se teclean son consideradas igual a 1”. Como no conocemos los valores de la
desviación estándar, elegimos la opción de valor constante pero desconocido.
A continuación aparece un cuadro de dialogo donde se escribirá el nombre del directorio y del
archivo donde se desean guardar los datos (por eje.: c:\curso\ajuste.dat). Después de pulsar
“OK” deberá ir contestando a preguntas sencillas que va haciendo el programa, incluida la del
número de pares de datos que se desean introducir, finalmente se desplegará una pantalla
donde se teclean los datos x,y solamente:
Después de pulsar “OK” deberá ir contestando una serie de preguntas sencillas que va
haciendo el programa, incluida el número de pares de datos que se desean introducir,
finalmente aparecerá la pantalla donde se teclean los datos (las temperaturas las introducimos
en grados Kelvin, ya que el modelo que vamos a utilizar a continuación define de esta manera
a la temperatura:
Al finalizar se pulsa en el botón “Aceptar”.
Posteriormente aparecerá un menú de opciones por si desea representar los datos, editar
algún valor, etc.
Por último se guarda el archivo seleccionado “Guardar”. Para finalizar el programa MAKFIL le
indicará que a terminado su ejecución y le preguntará si desea volver a ejecutarlo, responda
“No”
2.-
Ajuste de los datos a una curva
Seleccionar en el menú principal la opción “Ajustes” y en el submenú que se despliega a
continuación picar en la opción “Avanzado: Modelos de colección o usuario”, en la pantalla
siguiente pulsar en “Ejecutar”.
A continuación, después de contestar a una serie de pantallas la opción que viene por defecto
(botón recuadrado en línea discontinua) se despliega un submenú con todas las opciones
disponibles:
Elegimos la opción 1 ya que en nuestro caso el modelo descrito en el enunciado del problema
es función de una sola variable.
El programa nos pregunta para empezar el nombre del archivo donde con los datos a ajustar,
contestaremos: C:\curso\ajuste.dat (en realidad no hace falta teclearlo, basta con pulsar el
botón “Cambiar” y aparecerá el archivo, alternativamente se puede buscar siempre cualquier
archivo con los botones “Buscar”, “Creados” o “Usados”).
Una vez seleccionado un archivo pulsamos en “Ok” y en la pantalla posterior en “Abrir”
Elija la opción “No” en el “Modo Experto” (definir errores, etc.)
La siguiente pantalla desplegada elegimos la opción “Ajustar datos actuales”
A continuación se nos replegará una pantalla en la que nos ofrece una librería de modelos para
funciones de una variable, picamos en la opción “Modelos Químicos”
Dentro de los modelos químicos nos aparecerá el modelo de Arrhenius que es el que nosotros
queremos:
Las pantallas que siguen nos indican como se define el modelo teórico, así como las unidades
en las que se expresa la variable (x) que en este caso es la temperatura en grados Kelvin.
Así como las distintas opciones para proceder al ajuste. Una de las opciones más
recomendada es fijar los límites individuales entre los que se puede encontrar los parámetros
ya que estos modelos se resuelven por iteración y pueden tener más de una solución.
Fijamos para cada uno de los parámetros los límites entre los que nos encontramos:
Fíjense que el parámetro “A” conocido como Factor de Frecuencia representa el número de
choques o colisiones entre las moléculas de los reactivos, este factor es muy grande y positivo
generalmente esta entre valores de 1.0E10 y 1.0E20.
Si ustedes desconocen el fundamento del modelo teórico, tampoco tendrían problemas porque
el programa nos indicaría, una vez realizadas las iteraciones, que el límite inferior o superior de
un parámetro esta por encima o por debajo de dicho límite con lo cual nosotros debemos
aumentar o disminuir ese límite.
Tampoco y sin querer abrumarles demasiado, indicarles que en el presente caso en el cual
tenemos un modelo con una sola variable dependiente, sólo tendríamos una solución con lo
que si no conociéramos los límites podríamos jugar con ellos hasta encontrarlos, pero en el
caso de modelos con varias variables dependientes podemos tener más de una solución
(denominados mínimos locales), es por ello que el investigador tiene que tener una estima
previa de los parámetros y la gran importancia de los límites entre los que se encuentran los
parámetros. Una mal definición de las estimas puede dar lugar a un valor erróneo de los
parámetros.
Establecemos los valores de las estimas:
De igual manera procedemos con el segundo parámetro Ea/R, fíjense que el valor de este
parámetro será positivo ya que las energías de activación, energía adicional requerida para que
por el choque de las moléculas de lugar a la reacción química, es un valor positivo. Vamos a
introducir unas estimas entre 0 y 100000 para asegurarnos que esta dentro de los límites.
Una vez introducidas las estimas volvemos a la pantalla de opciones y seleccionamos la
primera opción: “Proceder al Ajuste” que ya estará activa
En la siguiente pantalla ofrece diferentes métodos para elegir las iteraciones que nos sirven
para buscar las estimas iniciales, seleccionaremos una opción intermedia ( “Búsqueda al azar
medio” ):
Realizada la iteración esta se nos muestra en una pantalla:
La pantalla siguiente es una pantalla informativa donde nos indica el archivo de datos, el título
puesto, el modelo utilizado, el valor de la suma de residuales al cuadrado, etc.
A continuación aparece un submenú para seleccionar los resultados del análisis que uno
desea, dejaremos seleccionados los que vienen por defecto: “Análisis Completo”
Realizado el ajuste, el programa presenta en pantalla la tabla con los parámetros:
En esta tabla aparece, junto con el valor de cada parámetro, el error estándar (desviación
estándar) asociado a ese parámetro, así como los límites de confianza al 50, 90, 95 y 99 %
para dicho parámetro (horquilla de confianza).
La tabla muestra también, en la última columna de la derecha, la probabilidad p de que el
parámetro sea redundante, es decir que sea tan próximo a cero que no esté justificada su
inclusión en la ecuación, cuando p< 0.05 se considera que el parámetro es significativamente
distinto de cero (esta prueba se realiza con el test “t” de Student). En este caso ninguno de los
2 parámetros es redundante.
En conclusión, para el factor de frecuencia con un límite de confianza del 95% será:
Valor parámetro: 4,754E14
Error estándar:1,07E14
Valor t de student para el 95%: 2,571
Valor de la orquilla de confianza al 95 %: 2,571 * 1,07E14 = 2,75E14
El cálculo de la Energía de Activación con un límite de confianza del 95% será:
Valor parámetro: 1,0548E04
Error estándar: 7,91E01
Valor t de student para el 95%: 2,571
Valor con orquilla de confianza al 95 %: 2,571 * 7,91E01 = 20,34E01
Ea/R = 10548 ± 203
R = constante = 8.314
Ea = (10548 *8.314)/1000 = 87,69 ± 1,69
Correctamente expresado Ea= 87 ± 2 kJ/mol
Seguidamente el programa muestra diferentes opciones para representar los datos, elegiremos
“Gráfica de ejes originales”:
A continuación el programa nos da la opción de mostrar distintas matrices de correlación de los
parámetros
Por último, nos permite hacer un estudio de los residuales:
Se da el valor de WSSQ, si el ajuste es bueno debiera seguir una distribución Ji-cuadrado con
n-par grados de libertad, extremo que se encarga de analizar la “p” correspondiente, que en
este caso vale 1.000 (p > 0.05).
Luego sigue el valor de R2 (igual a 1), la media de los errores relativos de los residuales, el nº
de residuales positivos y negativos, el nº de rachas, la “p” del test de las rachas, que en este
caso vale 0.891 (p > 0.05) y distintos test estadísticos (Durban-Watson y Shapiro wilks) que
hacen que en este caso al no rechazar ninguno el ajuste, el veredicto del ajuste sea muy bueno
(excelente).
Existen otras opciones como guardar los datos de los residuales, presentarnos tablas y gráficas
de residuales, test de las rachas, etc. Que ustedes pueden ver ampliando el conocimiento de
esta técnica de regresión.
Para terminar la sesión, pulsar “Cancelar” > “Cancelar” > “Salir” y se devolverá el control al
menú principal.
No olviden que el programa permite en muchas pantallas acceder a la opción de ayuda que les
facilitará el aprendizaje.
Un buen ejercicio sería volver a realizar el ajuste del modelo linealizado por
regresión lineal sin pesos estadisticos.
Para representar la ecuación linealizada:
Ln Kv = Ln A – Ea/RT
Los pasos serían los siguientes:
1º Volver a crear un archivo de datos x,y donde la variable (x) será el inverso de la
Temperatura en grados kelvin y la variable (y) el Logaritmo neperiano de la constante de
velocidad (kv).
2º Seleccionar en el menú principal la opción “Ajustes” y en el submenú que se despliega a
continuación picar en la opción “Ajuste lineal; multiple lineal; modelos GLM”
3º Seleccionamos introducir nuevos datos dentro del menú opciones, en donde cargaremos el
archivo que hemos creado en el punto 1
4º Elegimos la opción “ajuste a una recta y calibrado” y obtendremos los valores de los
parámetros con sus estimas correspondientes
5º Los comparamos con los obtenidos por el ajuste del modelo no linealizado
Esta práctica aunque se ha utilizado tradicionalmente y es muy didáctica, ya que las
representaciones en el espacio clásicas como el doble inverso o el logaritmo, se han utilizado
para demostrar la validez de estos modelos, como se indica en la teoría de la unidad, no
estamos considerando la propagación del error en el modelo linealizado, por lo que el valor de
los parámetros y sus límites de confianza son erróneos (aproximados) por ello que para la
obtención de los parámetros correctamente se deba realizar a partir del modelo directo sin
transformada alguna.
Esto sucede si ustedes utilizan hojas de cálculo clásicas como Excel para el ajuste de curvas.
Descargar