Documentos de Académico
Documentos de Profesional
Documentos de Cultura
BsquedadePatronesdeComportamientoenCubosdeDatos
M.enC.GilbertoLorenzoMartnezLuna,
CentrodeInvestigacinenComputacin(CIC)
InstitutoPolitcnicoNacional(IPN)
lluna@pollux.cic.ipn.mx
Dr.AdolfoGuzmnArenas
CentrodeInvestigacinenComputacin(CIC)
InstitutoPolitcnicoNacional(IPN)
aguzman@pollux.cic.ipn.mx
Resumen.
EnestetrabajosepresentaunaformaderealizareldescubrimientodeconocimientooMineradeDatosapartirdeuna
base de datos, la tcnica utilizada es la generalizacin y sumarizacin de datos en cubos de datos. Se utiliza una
herramientaconstruidaenelCICquepermitedefiniryutilizarloscubos,elegirlasregionesdeintersdeestudioydefinir
lospatronesdecomportamientoosituaciones anmalas alocalizar en estas regiones. Nuestra herramientaspermite
programar los procesos de extraccin y anlisis de datos en horarios nocturnos para aprovechar los recursos
computacionales.Enlapresentacindelosresultadosdelasbsquedas,sebuscaqueestaseasencilladerevisare
interpretarparadescubrir lastendencias orelacionesentre losdatos,yasgenerar conocimiento validado.Eneste
artculosedescribeestedesarrollocomounaimplantacinalatecnologadeanlisisautomtico.
1.Introduccin
UnadefinicindeMineradeDatoseseldescubrimiento
eficiente de informacin valiosa, noobvia de una gran
coleccin de datos [1], cuyo objetivo es ayudar a
buscar situaciones interesantes con los criterios
correctos,complementarunalaborquehastaahoraseha
consideradointelectualydealtonivel,privativadelos
gerentes, planificadores y administradores. Adems, de
realizarlabsquedafueradehoraspico,usandotiempos
de mquina excedentes [4]. En general, el proceso de
minerasepuedeverenlafigura1.
Figura 1
ANASINse trabajaenelLaboratoriodeSistemasdeInformaciny
BasesdeDatosdelC.I.C.,dondelaactualizacinesapoyadaporelCIC
IPN,SOFTWAREPROINTERNATIONALeI.D.A.S.A.Losmdulosque
componen el proyecto son: Bitcoras, Tabla Maestra, Generador de
Formatos, Instalador Automtico de Sistemas, Recolector de Datos,
Interrogador,Reporteador,Graficador,DespliegueGeogrfico,Minerade
Datos,ClasificadordeEntidadesyArbolSemnticodeConceptos.
______________________________________________________________________________________________________
Laboratorio de Sistemas de Informacin y Bases de Datos-CIC-IPN
1 de 10
Unadescripcindelospasosquedeberealizarunusuario
seampliaacontinuacin.
2.1Definicindecubodedatos.
Unusuarioseleccionalasvariablesdesusbasesdedatos
de sus sistemas operacionales, en las que desea buscar
patronesocomportamientosdeinters.Segnelnmero
de variables seleccionadas es la dimensin del cubo
formado,acadavariableseledenominaunadimensino
unejedelcubo(verfigura2yFigura3).
Elpresentedocumentoestaorganizadocmosigue.Enla
seccin2sedescribeendetalleelprocesodeminerade
datoscomolodesarrollalaherramientaconstruida;enla
seccin 3 se describe algunos problemas por resolver y
hacer ms completa la herramienta; en la seccin 4 se
indican algunas lneas de investigacin que se estan
trabajando; en la seccin 5, algunas conclusiones, al
avance de nuestro trabajo; para terminar con
caractersticasdelsoftware.
2.DescripcindelProcesodeMinera
Laherramientadesarrollada,sellamaMduloMinerade
Datos ANASIN y tiene el modelo de trabajo
Cliente/Servidor, donde, se distinguen 4 actividaes
principales:
Definicindelcuboyconfiguracindelosnivelesde
bsqueda.
Realizar solicitudes de minera, en una estacin de
trabajoocliente
El proceso prncipal de minera; generacin de la
regin y bsqueda de un patrn determinado, en el
Servidor
La visualizacin de resultados de la bsqueda en el
Cliente.
Para realizar la minera con el mdulo, se siguen los
pasos:
Definir el cubo de datos o espacio de bsqueda de
mineros
Generalizacinodefinicindelosnivelesdebsqueda
encadaunadelasdimensionesdelcubo
Generarlosdatosycargarelcubodedatos
Definir los horarios de trabajo de los procesos de
minera
Generar las preguntas (definir regin y patrn a
buscar)
Solicitarejecucindelprocesodeextraccinyanlisis.
Ejecucindelaextraccindelareginsolicitadayla
bsquedadelpatrn
RevisareInterpretarlosresultados
Figura 2
Figura 3
Ejemplo.Generalmentesemanejanunagrancantidadde
variablesenunabasededatos,perosolopuedeninteresar
tres variables cuya interseccin es el valor de inters a
analizar,estodacomoresultadouncubodedatoscontres
dimensiones,msunadimensinquepuedecontenerlos
valoresenlosqueserealizarlabsquedadelpatrn.Un
usuario puede elegir la relacin venta(producto, cliente,
tiempo), definir como primer eje al producto, como
______________________________________________________________________________________________________
Laboratorio de Sistemas de Informacin y Bases de Datos-CIC-IPN
2 de 10
2.2Generalizacinonivelesenlasdimensionesdel
cubo
Elusuariodefinelosnivelesdeanlisisencadaunadesus
dimensiones. Ejemplo. En latabla 1se pueden apreciar
variosnivelesdegeneralizacinonivelesdeanlisis,con
respecto a variables con datos geogrficos, datos de
tiempo,entreotras
Nivel de
Anlisis
Geogrfico
Producto
Servicio a
Autmovil
Tiempo
1
2
Continente
Pas
Clase
Subclase
Tipo
Frecuencia
Ao
Mes
3
4
Estado
Municipio
Identificador
Ciudad.
Quincena
Semana
AO
01
02
Da
1990
890
1991
890
850
1992
900
1993
Tabla 1.
La hacer esta definicin, internamente la herramienta
utilizlafuncindeagregacinsumar,lacualsecombina
conellenguajedeespecificacinderegiones(verpunto
2.5.1),permitiendorealizaranlisisalosdiferentesniveles
deabstraccindefinidosencadaunodelosejes.Ejemplo.
Losanlisispuedenseraniveldeciudad,osumarizarlos
datosdeciudadparahacerelanlisisanivelmunicipio,o
sumarizar losdatos nuevamente para hacer el anlisis a
nivelestado,yasconsecutivamente.
04
05
06
650
540
650
700
660
550
600
850
710
680
570
610
910
850
720
660
580
610
AO
07
08
09
10
11
12
1990
670
789
770
770
800
890
1991
620
690
760
760
820
890
1992
650
690
775
775
810
890
1993
650
690
790
790
850
890
2.3Generarlosdatosycargarelcubodedatos
Lasespecificacionesquesedescribenenlasvariablesde
intersyelniveldeconceptodecadaunadeellasseusan
para construir el cubo de datos. Ests especificaciones
ayudanadefinirlosprocesosdeextraccinapartirdelas
bases originales y contenedoras de los datos de las
variables(basesdeusuario).
Estastareasdeextraccinpuedensersencillasocomplejas
dependiendodelaorganizacindelabasefuentededatos.
Si la esta base puede ser accesada con instrucciones de
manipulacin de datos como SQL o 4GL (sistemas
manejadores de bases de datos como INFORMIX,
ORACLE,entreotros), laextraccin sepodra reducir a
usarestetipodeinstruccionesparaextrerlosdatos,perosi
esta es una base donde no se puede accesar con un
lenguaje de manipulacin, es necesario desarrollar
programasconunlenguajequepermitaaccesaryextraer
losdatos (archivos de RMCOBOL,archivos de BASIC,
entreotros)
03
AO
01
02
1991
880
1992
890
820
1993
880
1994
03
04
05
06
640
510
610
710
620
550
610
810
700
710
540
600
890
820
720
730
560
620
AO
07
08
09
10
11
12
1991
620
790
720
720
780
850
1992
620
640
640
650
770
800
1993
710
660
650
650
780
810
1994
750
660
650
650
800
850
01
02
1992
810
03
04
05
06
610
500
610
______________________________________________________________________________________________________
Laboratorio de Sistemas de Informacin y Bases de Datos-CIC-IPN
3 de 10
1993
810
840
660
610
540
600
...
...
1994
810
840
660
610
540
600
199511
Noviembre de 1995
1995
810
840
660
610
540
600
199512
Diciembre de 1995
AO
07
08
09
10
11
12
1992
670
790
770
770
800
890
1993
620
690
700
700
750
760
1994
620
690
700
700
750
760
1995
620
690
700
700
750
760
Llave1
Descripcin
AC01
Aceite nmero 1
AC01
Aceite nmero 2
GA01
Gasolina nmero 1
GA02
Gaslina nmero 2
Llave2
Llave3
Valor
AC01
MXSO01
199001
810
AC01
MXSO01
199002
AC01
MXSO01
199003
AC01
MXSO01
199004
610
Llave2
Descripcin
MXSO
01
MXSO
02
Descripcin
199001
Enero de 1990
199002
Febrero de 1990
199003
Marzo de 1990
199004
Abril de 1990
199005
Mayo de 1990
...
...
2.4Definirloshorariosdetrabajodelosprocesos
deminera
Dependiendo de la carga de trabajo de los servidores
dondesealmacenalabasededatosdeminera,seprocede
a programar el inicio y fin de las ejecuciones a las
solicitudes de bsqueda de patrones o comportamientos
interesantes.
Esta programacin para aprovechar los recursos de
cmputo se recomienda sea definida en horarios
nocturnos,cuandolosservidoresgeneralmenteestanlibres
deprocesamientosdedatos.Ejemplo.iniciarlosprocesos
alas22:00yterminarlosalas08:00.
______________________________________________________________________________________________________
Laboratorio de Sistemas de Informacin y Bases de Datos-CIC-IPN
4 de 10
Sisedeseaestaprogramacindeinicioofindeminera
msautnoma,sepuedendesarrollaragentesdesoftware
(programas) [1] que detecten la no actividad en la
computadoraysiellosconsideranconvenienteiniciarla
tareadeextraccinyanlisisdedatos.
2.5Generarlaspreguntas(definirreginypatrn
abuscar)
Generalmenteelcubodemineradondeserealizaranlas
bsquedas, almacena una gran cantidad de datos
histricos,peroalusuariosololeinteresaanalizarenuna
regin ms pequea, regin donde buscar su patrn de
comportamientodeinters.Ladefinicindelapreguntase
divideendospartesadescribir:
Lareginquesedeseaaanalizar
Elpatronabuscarenlaregin.
bsqueda de todos
los elementos de un
nivel inferior
Tabla9.OperadoresdelLenguajedeEspecificacin.
Unejemploconlosoperadoresparadefinirunaregines:
producto=AC*
cliente=MXSO01|MXSO02|MXCH03|MXCH06
tiempo=199501.199512
Lareginsontodoslosproductoscuyaclaveiniciecon
AC; los clientes cuya clave es MXSO01, MXSO02,
MXCH03yMXCH06;yenelaode1995,desdeelmes
01almes12.
SielniveldelproductovadeAC01aAC99,Estodefine
uncubodeposiblemente99*4*12<4800registrosa
analizar.
2.5.1ReginaAnalizar
2.5.2Patrondecomportamientoosituacininteresante
ParadefinirunareginenelMineradeDatosANASIN,
laherramientaproporcionaunlenguajedeespecificacin
detramosointervalosdebsquedaencadaunodelos
ejes,losoperadoresusadosenlenguajesepuedenobservar
enlatabla9.
Elusuariodefineunpatrndecomportamiento(verfigura
4)abuscarenlareginqueeldefina(verfigura5)
Sm Significado
bolo
Ejemplo
Buscar dentro de un
intervalo de claves,
donde el smbolo se
coloca en la clave
inicial y final
AC01.AC10; en el eje
de producto buscar en
los que se tienen las
siguientes
claves,
AC01,
AC02,
AC03,...,AC09 y AC10
Buscar en claves
especficas, donde
cada una de las
claves a buscar esta
separada
por
el
smbolo |
AC01|AC02|AC03|
AC06, en el eje de
producto, solo buscar
en los productos AC01,
AC02, AC03 y AC06
Figura 4
______________________________________________________________________________________________________
Laboratorio de Sistemas de Informacin y Bases de Datos-CIC-IPN
5 de 10
c) Decrecimientoen4puntos:
(mesa)>(mesb)y
(mesb)>(mesc)y
(mesc)>(mesd)
d) Crecimientoconcrestaen5puntos:
(mesa)<(mesb)y
(mesb)<(mesc)y
(mesc)<(mesd)y
(mesd)>(mese)y
(mesc)<(mese)
Figura 5
e) Crecimientoescalonadoen4puntos:
(mesa)=(mesb)y
(mesb)<(mesc)y
(mesc)=(mesd)
f) Crecimientoescalonadoen6puntos:
(mesa)=(mesb)y
(mesb)<(mesc)y
(mesc)=(mesd)y
(mesd)<(mese)y
(mese)=(mesf)
Crecimientos
Crecimientosconvalles
Crecimientosconcrestas
Decrecimientos
Decrecimientosconvalles
Decrecimientosconcrestas
Crecimientosescalonados
Decrecimientosescalonados
ZigZag
Constantes
Figura 6.
b) Crecimientoconcrestaen5puntos:
(mesa)<(mesb)y
(mesb)<(mesc)y
(mesc)<(mesd)y
(mesd)>(mese)y
(mesc)<(mese)
______________________________________________________________________________________________________
Laboratorio de Sistemas de Informacin y Bases de Datos-CIC-IPN
6 de 10
ElmdulodeMineradeDatosANASIN,presentatanto
reportescomogrficasdelosresultadosdelaextracciny
bsquedadepatrones.
Los resultados son los
siguientes:
Figura 7.
Con los dos componentes de las preguntas descritos
anteriormente,sepuedenrealizarlassiguientesbsquedas:
Con que clientes la venta de gasolina tiene un
crecimientocontinuoen4meses?
Enqueclientessehamantenidounaventaounconsumo
en3meses?
Culessonlosclientesenlosquesehamantenidoun
porcentaje de variacin mnima de 1 %, sin importar
cuantasunidadesdetiemposehasostenidolavariacin?
Preguntas que se pueden armar con un lenguaje de
consulta (SQL o 4GL), pero su construccin puede
resultardficil,
2.6Solicituddeprocesodeextraccinynalisis
Lasolicituddelaejecucin aresponder lapregunta,se
registra en una base de datos que contiene todos los
procesosdeextraccinyanlisisobsquedadepatrones.
Figura 8
Reporte que muestra el resultado olaindicacin del
tiempoylugardondesecumplielpatrnbuscado
La extraccin que contiene los lugares donde se
cumplioelcriterioquedefinelareginyenloscuales
sebuscoelpatrn(conxitoosinxito)
Grficasparavisualizarloslugaresdondesebuscoel
patrn
Grficasparavisualizardondetuvoxitolabsqueda
del patrn, es decir, donde se encontr el patrn
definidoenlapregunta.
Ejemplodeestosonlasgrficas9,10,11y12.
2.7EjecucindeAnlisis
La ejecucin de los procesos de extraccin de datos y
bsquedadepatrones(anlisis)serealizarandeacuerdoa
loshorariosprogramados,dondeelprogramaextractory
minero utilizaran los recursos del servidor donde se
almacenalabasedeminera.
2.8ResultadosdelAnlisis
ElxitoenlosprocesosdeMineradeDatosodeanlisis
automtico en ungran cmulo de datos, se deber a la
interpretacin correcta de los resultados. Para lo cual
ayudamucholaformaenquesepresentenalusuariolos
resultados. Est debe ser sencilla y entendible para una
fcilinterpretacin(verfigura8).
______________________________________________________________________________________________________
Laboratorio de Sistemas de Informacin y Bases de Datos-CIC-IPN
7 de 10
Campo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Matrcula
separador
clavedeplantel
separador
clavedecarrera
separador
plandeestudios
separador
Ingreso
Separador
causaingreso
Separador
causaegreso
separador
crditosacumulados
separador
porcentajeacrditados
separador
crditosobligatorios
Separador
Porcentaje
obligatorios
Separador
crditosoptativos
24
25
Separador
Porcentajeoptativos
26
27
Separador
Aprobadosen
Tipo
char(8)
char(1)
char(3)
char(1)
char(2)
char(1)
char(2)
char(1)
entero(3)
char(1)
entero(3)
char(1)
entero(3,)
char(1)
entero(4)
char(1)
entero(4)
char(1)
entero(4)
char(1)
entero(4)
char(1)
decimal(3,
0)
char(1)
decimal(4,
0)
char(1)
decimal(2,
______________________________________________________________________________________________________
Laboratorio de Sistemas de Informacin y Bases de Datos-CIC-IPN
Inici
o
0
8
9
12
13
15
16
18
19
21
22
24
25
27
28
31
32
36
37
40
41
Fin
7
8
11
12
14
15
17
18
20
21
23
24
26
27
30
31
35
36
39
40
44
45
46
45
48
49
50
49
53
54
55
54
56
8 de 10
34
35
ordinario
Separador
Reprobadosen
ordinario
Separador
Aprobadosen
extraordinario
Separador
reprobadosen
extraordinario
separador
promedio
36
37
separador
iniciodecarrera
38
39
Separador
Findecarrera
40
41
42
43
44
45
46
47
Separador
Sexo
Separador
Auxiliar
Separador
Fechadenacimiento
Separador
Nacionalidad
28
29
30
31
32
33
0)
char(1)
decimal(2,
0)
char(1)
decimal(2,
0)
char(1)
decimal(2,
0)
char(1)
decimal(4,
0)
char(1)
decimal(3,
0)
char(1)
decimal(3,
0)
char(1)
char(1)
char(1)
char(1)
char(1)
char(6)
char(1)
char(1)
57
58
57
59
60
61
60
62
63
64
63
65
66
67
66
70
71
73
71
74
75
76
75
78
79
80
81
82
83
84
90
91
79
80
81
82
83
89
90
91
Plantel
Carrera
Sexo
Causasdeingreso
Causasdeegreso
Generacin
Ladimensindenuestroscuboshastaaquesde6,pero
como semantiene unhistrico poralumnos,esdecirla
______________________________________________________________________________________________________
Laboratorio de Sistemas de Informacin y Bases de Datos-CIC-IPN
9 de 10
deintersaanalizaryelalgoritmoquedefinieseelreade
almacenamientotemporal.
Estoesunproblemaquesemantienevigenteynecesario
deresolver[5].Aunadoaestedesafioexistenotroscomo
eldegenerarenformaautmaticalosalgoritmosdelos
procesosdeextraccinycargadedatosalabasededatos
queseusaparalaminera(verseccin2.3).
4.TrabajosFuturos.
Esta herramienta se utiliza como apoyo en varios
proyectosqueseestanplaneadoenconjuncinconotros
LaboratoriosdelC.I.C,entreloscualesdestacan:
Uso de Agentes [2] para la Minera de Datos en
SistemasDistribuidosyCooperativos[8]
UsodeAgentesparalaMineraDistribuida
UsodeAgentesparalaMineraenTexto
Generacin de nuevos agentes (mineros que buscan
variables con comportamientos similares, ya sea que
crezcan,decrezcanocomportamientoscontrarios)[4]
5.Conclusiones
Algo que complica el llevar a cabo el desarrollo de
herramientascontecnologanueva,esqueimplicavarios
tiposdeconocimiento,entreloscualestenemos:
Algoritmosmatemticos
Organizacindelasbasesdedatos
Algoritmosderecuperacin
Diseodeinterfacesdeusuario
InteroperabilidadentrediferentesSistemasoperativos
Unadelasprincipalesaportacionesdenuestrodesarrollo,
es el modelo de trabajo que permite aprovechar los
recursos de cmputo y permite an ms buscar este
aprovechamiento, adems como ya se menciono en los
trabajosfuturos,permitebuscaraplicarotrastecnologas
cmosonladeagentesdesoftware.
6.CaractersticasdelSoftware
Modelodetrabajo.Cliente/servidor
SoftwareenServidor
UNIXSCO
INFORMIX(Onliney4GL)
SAMBA
ProgramasenC
ProgramasenShellScriptsdeUNIXSCO
SoftwareenCliente
WindowsNToWindows95
EjecutableenDELPHI
INFORMIX
7.Grupodedesarrollodeversin2.12
IntegrantesdelLaboratoriodeSistemasdeInformacinen
1998:
LiliaGonzlezRodriguez(Analista/Programador,
Documentador)
AlfonsoGarciaGonzlez(Analista/Programador,
Documentador)
AbsalomZamoranoCastellanos(Analista/
Programador)
KarinaOrtizNicolas(Analista/Programador)
RodolfoRodrguezbando(Analista/Programador)
BerthaPatriciaRamrezArzate(BetaTester)
IxcheelMartnezCastillo(BetaTester)
M.enC.GilbertoLorenzoMartnezLuna(Lderde
Proyecto)
Asesores
Dr.AdolfoGuzmnArenas
M.enC.GuillermoRafaelDomnguezdeLen
Referencias
[1] Bigus Josep P. Data Mining With Neural Networks,
McGrawill1996.
[2] Davidsson P., Autonomous Agents and the Concept of
ConceptsDepartamentofComputerScience,LundUniversity,
Sweden1996.
[3] Guzmn Arenas A, Estado del Arte y de la Prctica en
Minera de Datos, Anlisis y Critica, Conferencia Magistral,
Cuba,Marzode1996
[4]GuzmnArenasA,UsoyDiseodeMinerosdeDatos,
SolucionesAvanzadas,Juniode1996
[5]MingSyanChen,JiaweiHan,andPhilipS.Yu,Fellow,
DataMining:aviewfromdatabaseperspective,IEEE,Dic.
1996
[6]http://www.kdnuggets.com/siftware.htm
[7]Harinayanv.,Rajamarana.,Ullmanj,ImplementingData
CubesEfficiently,StanfordUniversity
[8] P. Papazoglou Mike, K. Sellis Timos, International
Journal of Intelligent & Cooperative Information Systems ,
IJICIS, Volume 1, Number 1, Queensland University of
Technology Brisbane, Australia, University of maryland,
CollegePark,USA,March1992.
2
______________________________________________________________________________________________________
Laboratorio de Sistemas de Informacin y Bases de Datos-CIC-IPN
10 de
10
______________________________________________________________________________________________________
Laboratorio de Sistemas de Informacin y Bases de Datos-CIC-IPN
11 de 10