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.