Post on 26-Jul-2015
description
FUNDACIÓN UNIVERSITARIA KONRAD LORENZFACULTAD DE INGENIERÍA
ESPECIALIZACIÓN EN INFORMÁTICA Y CIENCIAS DE LA COMPUTACIÓNSISTEMAS INTELIGENTES
Septiembre de 2005Prof. Nelson Obregón Neira
ENTRENAMIENTO DE UN MODELO DIFUSO TIPO MAMDANI MEDIANTE EL MÉTODO DE FUERZA BRUTA DETERMINÍSTICA
Pervys Rengifo Rengifo1, Leonardo Jiménez2 y Sara Serrato3
El presente trabajo tiene como propósito la aplicación de un sistema de inferencia difusa (FIS) para hallar la relación de dependencia entre el porcentaje de crecimiento del PIB, la Tasa Cambiaria, y el Gasto Público Nacional, a partir de la información de estas variables en el periodo comprendido entre 1952 y 2003 inclusive.
La información seleccionada para resolver este problema, consistió en las series cronológicas: Porcentaje del crecimiento del PIB (como variable dependiente), el gasto público Nacional, y la tasa real cambiaria (como variables independientes), información tomada desde 1952 hasta el año 2003, todas ellas deflactadas a precios de 1975, como se observa en las siguientes páginas
Datos Originales Datos transformados
Utilizados como patrones deentrenamiento
Año % PIB Gastos totalesTasa de
cambio realLog GT Log TC
%PIB
1952 0.063 457 44,96 2.66 1.65 0.0631953 0.061 666 42 2.82 1.62 0.0611954 0.069 713 38,73 2.85 1.59 0.0691955 0.039 903 40,56 2.96 1.61 0.0391956 0.041 1,055 46,13 3.02 1.66 0.0411957 0.022 1,186 59,67 3.07 1.78 0.0221958 0.025 1,289 76,33 3.11 1.88 0.0251959 0.072 1,264 71,75 3.10 1.86 0.0721960 0.043 1,582 72,54 3.20 1.86 0.0431961 0.051 1,783 69,09 3.25 1.84 0.0511962 0.054 2,160 70,12 3.33 1.85 0.0541963 0.033 3,284 71,78 3.52 1.86 0.0331964 0.062 3,232 62,36 3.51 1.79 0.0621965 0.036 4,084 67,67 3.61 1.83 0.0361966 0.052 4,362 77,36 3.64 1.89 0.0521967 0.041 4,726 79,24 3.67 1.90 0.041
1 Ingeniero, estudiante del Programa de Especialización en Informática y Ciencias de la Computación de la Fundación Universitaria Konrad Lorenz( FUKL)2 Matemático, estudiante del Programa de Especialización en Informática y Ciencias de la Computación de la Fundación Universitaria Konrad Lorenz (FUKL).3 Psicóloga, estudiante del Programa de Especialización en Informática y Ciencias de la Computación de la Fundación Universitaria Konrad Lorenz (FUKL).
1968 0.059 6,100 87,85 3.79 1.94 0.0591969 0.061 7,069 89,08 3.85 1.95 0.0611970 0.062 9,924 93,98 4.00 1.97 0.0621971 0.060 13,473 97,60 4.13 1.99 0.0601972 0.077 16,905 101,21 4.23 2.01 0.0771973 0.067 20,808 99,72 4.32 2.00 0.0671974 0.057 21,994 99,79 4.34 2.00 0.0571975 0.023 27,183 100,00 4.43 2.00 0.0231976 0.047 33,139 98,74 4.52 1.99 0.0471977 0.042 46,863 85,34 4.67 1.93 0.0421978 0.085 48,325 85,47 4.68 1.93 0.0851979 0.054 67,773 84,62 4.83 1.93 0.0541980 0.041 93,784 82,23 4.97 1.92 0.0411981 0.023 141,022 76,00 5.15 1.88 0.0231982 0.009 181,198 71,32 5.26 1.85 0.0091983 0.016 247,977 72,95 5.39 1.86 0.0161984 0.034 312,725 77,41 5.50 1.89 0.0341985 0.031 374,394 102,41 5.57 2.01 0.0311986 0.058 501,676 115,10 5.70 2.06 0.0581987 0.054 627,133 115,92 5.80 2.06 0.0541988 0.041 798,172 114,92 5.90 2.06 0.0411989 0.034 1,038,570 121,80 6.02 2.09 0.0341990 0.043 1,418,503 132,30 6.15 2.12 0.0431991 0.020 1,938,646 115,90 6.29 2.06 0.0201992 0.040 2,719,305 109,80 6.43 2.04 0.0401993 0.054 3,835,823 111,40 6.58 2.05 0.0541994 0.058 6,230,343 103,90 6.79 2.02 0.0581995 0.057 6,690,176 105,50 6.83 2.02 0.0571996 0.022 9,571,244 101,00 6.98 2.00 0.0221997 0.031 11,917,001 93,70 7.08 1.97 0.0311998 0.006 15,487,900 104,30 7.19 2.02 0.0061999 -0.042 21,280,000 109,20 7.33 2.04 -0.0422000 0.029 23,492,007 122,20 7.37 2.09 0.0292001 0.014 28,537,000 115,50 7.46 2.06 0.0142002 0.016 32,111,000 134,10 7.51 2.13 0.016
2003 (pr) 0.037 37,573,000 138,80 7.57 2.14 0.037
Tabla No. 1 PORCENTAJE DE CRECIMIENTO DEL PIB, GASTOS DEL GOBIERNO NACIONAL Y TASA REAL DE CAMBIO, ORIGINALES Y COMPACTADAS, DEDE 1952 A 2003 (BASE 1975)
MODELO CONCEPTUALCon base en la información anterior y haciendo sentido de estas variables, se propone construir un modelo para hallar la relación ( que sospechamos que existe, esta nuestra hipótesis de trabajo), entre la el porcentaje de crecimiento del PIB( variable dependiente), a la que se referirá como PIB, y las variables Tasa cambiaria(TC) y Gasto Público(GP)( variables predictoras).El modelo se puede ilustrar mediante el siguiente esquema:
Gráfica No. 1 Modelo Conceptual
Con el fin de tener una estructura inicial del sistema de inferencia difusa se establecieron las reglas con base en el criterio no experto del Profesor Benigno Lozano, quien ofició de experto para esta tarea. Con el editor del Toolbox de Lógica Difusa se eligió un sistema tipo Mamdani y se procedió a fijar los parámetros básicos para cada variable de entrada y la variable de salida, al igual que las reglas difusas, que como se mencionó antes, se establecieron de acuerdo con el buen criterio del experto.
DISCRETIZACIÓN DIFUSA DE LAS VARIABLESA partir del rango de variación de las variables se establecen subintervalos que corresponderán a las categorías correspondientes. A continuación se muestran las etiquetas y los subintervalos correspondientes a cada variable.
VARIABLE INTERVALOS ETIQUETAGASTO PÚBLICO (Independiente) [0.0, 3,25] BAJO
[2.94,5.2] MEDIO[4.0,6.5] ALTO[5.5,8.0] MUY ALTO
TASA DE CAMBIO(Independiente) [0.0, 1.92] BAJA[1.72, 2.13] MEDIA[1.92, 3.0] ALTA
PORCENTAJE DE CRECIMIENTO DEL PIB [-0.0579, 0.015] CRITICO(Dependiente de la serie original) [-0,05 , 0.053] MODERADO
[0.0359, 0.071] BUENO [0.056,0.1] MUY BUENO
Tabla No. 2 Discretización difusa de de las variables para el sistema de inferencia difusa
Las siguientes son las funciones de membresía definidas para cada variables
Gráfica No.2 Funciones de membresía establecidas inicialmente para el sistema de inferencia difusa
Las siguientes fueron las reglas de inferencia difusa establecidas por el expertos
Gráfica No. 3 Reglas para el sistema de inferencia difusa, establecidas por el experto
El sistema se ingresa al Toolbox, utilizando el Editor correspondiente, la estructura del sistema de inferencia difusa de ilustra en la gráfica No. 4.
Gráfica No. 4 Estructura general del sistema de inferencia difusa tipo Mamdani.
En la gráfica No. 5 se muestra un ejemplo de la operación del sistema de inferencia difusa tipo Mamdani para el problema del PIB
Gráfica No. 5 Ejemplo de operación del sistema de inferencia difusa inicial
La superficie de interpolación del sistema de inferencia difusa inicial, junto con los datos obervados( se muestra como punto azules), se muestra a continuación
Gráfica No. 6 Superficie de interpolación del modelo de inferencia difusa inicial. Como estrellas azules se muestran los puntos observados.
En la gráfica No. 6 se aprecia que el modelo inicial presenta un desempeño pobre
SALIDA OBSERVADA Y SIMULADA. SISTEMA DE INFERENCIA DIFUSA INICIAL
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51
AÑO
PIB
PIB SIMULADO
PIB OBSERVADO
PIB OBSERVADO VS. PIB SIMULADO
y = 0.5909x + 0.028R2 = 0.2207
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
-0.02 0 0.02 0.04 0.06
PIB SIMULADOP
IB O
BS
ER
VA
DO
Gráfica No. 7 Comportamiento del modelo de inferencia difusa inicial
En la gráfica No. 7 se confirma lo que se observa en la figura No. 6, es decir el modelo inicial tiene un desempeño muy deficiente. A continuación se incluye un resumen del sistema difuso inicial para el PIB[System]Name='Modelo PIB'Type='mamdani'Version=2.0NumInputs=2NumOutputs=1NumRules=12AndMethod='min'OrMethod='max'ImpMethod='min'AggMethod='max'DefuzzMethod='centroid'
[Input1]Name='Gasto_Publico'Range=[0 8]NumMFs=4MF1='Bajo':'trapmf',[0 0 2.66 3.25]MF2='Medio':'trimf',[2.94 4.07 5.2]MF3='Alto':'trimf',[4 5.25 6.5]MF4='Muy_Alto':'trapmf',[5.55555555555556 7.67 8 8]
[Input2]Name='Tasa_cambiaria'Range=[0 3]NumMFs=3MF1='Baja':'trapmf',[0 0 1.59 1.92]MF2='Media':'trimf',[1.72 1.91 2.13]MF3='Akta':'trapmf',[1.92 2.14 3 3]
[Output1]Name='PIB'Range=[-0.05 0.1]NumMFs=4MF1='Crìtico':'trapmf',[-0.0579 -0.0579 -0.0499 0.0156746031746032]MF2='Moderado':'trimf',[-0.005 0.024 0.053]MF3='Bueno':'trimf',[0.0359 0.0545634920634921 0.071]
MF4='Muy_Bueno':'trapmf',[0.0565476190476191 0.085 0.1 0.1]
[Rules]1 1, 2 (1) : 11 2, 2 (1) : 11 3, 4 (1) : 12 1, 2 (1) : 12 2, 3 (1) : 12 3, 3 (1) : 13 2, 2 (1) : 13 3, 2 (1) : 14 1, 1 (1) : 14 2, 1 (1) : 14 3, 2 (1) : 13 1, 1 (1) : 1
ESTRATEGIA DE ENTRENAMIENTO: METODO DE FUERZA BRUTA DETERMINÍSTICA
El método de fuerza bruta determinística consiste en dividir al intervalo de variación de cada parámetro a calibrar y luego mediante un ciclo anidado explorar exhaustivamente todas las combinaciones posibles de los valores discretos adoptados por los parámetros.
ESTABLECIMIENTO DE LOS INTERVALOS DE VARIACIÓN DE CADA PARÁMETROS
A partir del modelo *.fis exportado en el editor del Toolbox, se creo desde la línea de comando el modelo para poder manipularlo mejor.En el modelo anterior se definieron 22 parámetros que podían variar durante el proceso de entrenamiento.Esto de puede ilustrar en el siguiente código de matlaba=newfis('pib');
a=addvar(a,'input','GastoPublico',[0 8]);a=addmf(a,'input',1,'Bajo','trapmf',[0 0 par(1) par(2)]);a=addmf(a,'input',1,'Medio','trimf',[par(3) 4 par(4)]);a=addmf(a,'input',1,'Alto','trimf',[par(5) 5.25 par(6)]);a=addmf(a,'input',1,'Muy_Alto','trapmf',[par(7) par(8) 8 8]);a=addvar(a,'input','TasaCambiaria',[0 3]);a=addmf(a,'input',2,'Baja','trapmf',[0 0 par(9) par(10)]);a=addmf(a,'input',2,'Media','trimf',[par(11) 1.8 par(12)]);a=addmf(a,'input',2,'Alta','trapmf',[par(13) par(14) 3 3]);a=addvar(a,'output','PIB',[-0.05 0.1]);a=addmf(a,'output',1,'Critico','trapmf',[-.0579 -.0579 par(15) par(16)]);a=addmf(a,'output',1,'Moderado','trimf',[par(17) 0.025 par(18)]);a=addmf(a,'output',1,'Bueno','trimf',[par(19) 0.06 par(20)]);a=addmf(a,'output',1,'Muy_Bueno','trapmf',[par(21) par(22) 0.1 0.1]);
Lo que aparece con el nombre par(i), corresponde al parámetro i, a optimizar durante el proceso de entrenamiento.
A continuación se determina el intervalo de variación de cada parámetro, que asegure problemas de inconsistencia al interior de las funciones de membresía(los parámetros deben tener un orden, con respecto a su magnitud). En la siguiente tabla se muestran los intervalos elegidos
parámetro Valor mínimo Valor máximo1 0.01 2.652 2.66 4.0;3 1 34 4.1 5.55 4 5.246 5.26 7.97 5 6.98 7 89 0 1.4910 1.5 1.7911 1 1.7912 1.81 313 1.82 2.314 2.4 2.915 -0.049 -0.02916 -0.024 0.02517 -0.04 0.02418 0.026 0.0619 0.026 0.05920 0.061 0.121 0.061 0.07922 0.08 0.1
Tabla No. 3 Intervalos de variación de los parámetros del modelo de inferencia difusa
Luego se construye una función que reciba como argumento el conjunto de parámetros y los datos, y retorne alguna medida de error, que para este caso, se escogió, la suma de la diferencia absoluta entre las salidas retornadas por el sistema de inferencia y la salida deseada.
Después de esto, se hace el ciclo básico de iteración:incremento=0% para ajustar diferente conjunto de parámetrosdivisiones=20% numero de divisiones en que se divide el intervalo de variación de cada parámetrocont=zeros(22,1)% contador definido por facilidad de programación%CICLO PRINCIPALfor i1=1:divisiones, cont(1)=i1; for i2=1:divisiones, cont(2+incremento)=i2;% for i3=1:divisiones,% cont(3+incremento)=i3;
% for i4=1:divisiones,% cont(4+incremento)=i4;% for i5=1:divisiones,% cont(5+incremento)=i5;% for i6=1:divisiones,% cont(6+incremento)=i6;% for i7=1:divisiones,% cont(7+incremento)=i7;% for i8=1:divisiones,% cont(8+incremento)=i8;% for i9=1:divisiones,% cont(9+incremento)=i9;% for i10=1:divisiones,% cont(10)=i10;% for i11=1:divisiones,% cont(11)=i11;% for i12=1:divisiones,% cont(12)=i12;% for i13=1:divisiones,% cont(13)=i13;% for i14=1:divisiones,% cont(14)=i14; for k=1+incremento:22+incremento, par(k)=pmin(k)+(pmax(k)-pmin(k))/divisiones*cont(1); [error y]=economia(par', datos); if(error<errormax) errormax=error pmax1=par(); error end end end end % end% end% end% end% end% end% end% end% end% end% end% end
En este script se hace para 22 contadores (hasta i22), con el fin de poner a variar todos los parámetros. La variable divisiones controla el número de divisiones a considerar en el intervalo de variación de cada parámetro.Tal y como está expresado aquí esto requeriría algo así como 22*divisiones^22, que resulta en un tiempo intolerable, para las condiciones actuales de cómputo, y el tiempo que tenemos disponible para concluir esta tarea, por lo tanto se variaron sólo algunos parámetros, con el fin de poder hacer este ejercicio y mostrar resultados. En el futuro se espera dejar corriendo este script en algún computador, con el fin de hacer una exploración mucho más exhaustiva del espacio de parámetros.La gráfica de los errores durante el entrenamiento se presenta a continuación:
Gráfica No. 8 Variación del error absoluto sobre todos los patrones, durante en entrenamiento
A continuación se incluye los resultados obtenidos en la mejor corrida
Gráfica No. 9 Funciones de membresía del modelo de inferencia entrenado
Gráfica No.10 Superficie de interpolación del sistema de inferencia difusa entrenado( Como puntos azules aparecen los datos observados)
En la gráfica No. 10 Se puede observar una leve mejoría en el desempeño de este modelo en relación con el inicial
ENTRENAMIENTO: SALIDA SIMULADA VS. SALIDA OBSERVADA
y = 0.4415x + 0.0224R2 = 0.2644
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
-0.02 0 0.02 0.04 0.06 0.08 0.1
SALIDA SIMULADA
SA
LID
A O
BS
ER
VA
DA
ENTRENAMIENTO MODELO PIB: SALIDA SIMULADA Y SALIDA OBSERVADA
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
AÑO
PIB
SALIDA SIMULADA
SALIDA OBSERVADA
Gráfica No. 11 Desempeño del modelo de inferencia obtenido al final del proceso de entrenamiento.
Lo que se aprecia es que el comportamiento del modelo no mejoró mucho con respecto al anterior, y también presenta un desempeño muy pobre. Esto indicaría que es necesario aplicar un entrenamiento más intenso, luego del cual se podría tomar la decisión de replantear las reglas
establecidas, dado que se establecieron con base en el sentido común del experto( que en este caso no es un experto en economía). También podrían cambiarse los tipos de las funciones de membresía, y en últimas el modelo conceptual, lo cual implicará una profunda investigación de las variables económica y su relación con el PIB.
CONCLUSIONES
Al igual que en otros procesos de modelación, la definición de un modelo conceptual adecuado, con base en el conocimiento del dominio, es fundamental para obtener un modelo difuso que describa adecuadamente un conjunto de observaciones de un sistema. Es decir que a pesar de que un modelo sea conducido por datos, o sea un modelo de caja negra, la concepción de las relaciones de dependencia deben proceder de un análisis cuidadoso que asegure capturar la información relevante y suficiente de la variabilidad del sistema. Es decir, que en estos casos, resulta conveniente combinar la aproximación basada en datos, con una concepción basada en el conocimiento.