Está en la página 1de 21

INTRODUCCIN

El presente trabajo tiene como finalidad describir a travs de un ejemplo prctico el


funcionamiento de una red neuronal de elaborada con la aplicacin Clustering del
software MATLAB R2015a no sin antes definir la utilidad de la tcnica multivariante de
anlisis cluster, as mismo es de inters acadmico contrastar los resultados del
entrenamiento con los que ofrece el software IBM SPSS v23.

CLASIFICACIN Y SEGMENTACIN MEDIANTE ANLISIS CLUSTER EN


MATLAB

El anlisis cluster, cuyo esquema se muestra en la Figura 1, es una tcnica exploratoria


de anlisis estadstico de datos diseada para revelar concentraciones en los datos o en
las variables y que sugiere modos potencialmente tiles de agrupar las observaciones.
Es muy importante tener presente que pueden agruparse tanto casos como variables. El
anlisis cluster o de conglomerados divide las observaciones en grupos basndose en la
proximidad o lejana de unas con otras, por lo tanto es esencial el uso adecuado del
concepto de distancia. Las observaciones muy cercanas deben de caer dentro del mismo
cluster y las muy lejanas deben de caer en clusters diferentes, de modo que las
observaciones dentro de un cluster sean homogneas y lo ms diferentes posibles de las
contenidas en otros clusters.
Tambin hay que tener muy presente el tipo de datos que se maneja. Si las variables de
aglomeracin estn en escalas completamente diferentes ser necesario estandarizar
previamente las variables, o por lo menos trabajar con desviaciones respecto de la
media. Es necesario observar tambin los valores atpicos y desaparecidos porque los
mtodos jerrquicos no tienen solucin con valores perdidos y los valores atpicos
deforman las distancias y producen clusters unitarios.
Tambin es nocivo para el anlisis cluster la presencia de variables correlacionadas, de
ah la importancia del anlisis previo de multicolinealidad. Si es necesario se realiza
un anlisis factorial previo y posteriormente se aglomeran las puntuaciones.
La solucin del anlisis cluster no tiene porqu ser nica, pero no deben encontrase
soluciones contradictorias por distintos mtodos. El nmero de observaciones en cada
cluster debe ser relevante, ya que en caso contrario puede haber valores atpicos.
Adems, los conglomerados deben de tener sentido conceptual y no variar mucho al
variar la muestra o el mtodo de aglomeracin.

PROBLEMAS QUE ABORDA EL ANLISIS CLUSTER

El anlisis de conglomerados estudia tres tipos de problemas:


1. Particin de los datos.- Disponemos de datos que sospechamos son heterogneos y
se desea dividirlos en un nmero de grupos prefijado, de manera que:
1.1.
Cada elemento pertenezca a uno y solo uno de los grupos
1.2.
Todo elemento quede clasificado
1.3.
Cada grupo sea internamente homogneo
Por ejemplo, se dispone de una base de datos de compras de clientes y se desea hacer
una tipologa de estos clientes en funcin de sus pautas de consumo.
2. Construccin de jerarquas.- Deseamos estructurar los elementos de un conjunto de
forma jerrquica por su similitud. Por ejemplo, tenemos una encuesta de atributos de
distintas profesiones y queremos ordenarlas por similitud. Una clasificacin
jerrquica implica que los datos se ordenan en niveles, de manera que los niveles
superiores contienen a los inferiores.
Este tipo de clasificacin es muy frecuentes en biologa, al clasificar animales, plantas
etc.
Estrictamente, estos mtodos no definen grupos, sino la estructura de asociacin en
cadena que pueda existir entre los elementos. Sin embargo, como veremos, la jerarqua
construida permite obtener tambin una particin de los datos en grupos.
3. Clasificacin de variables.- En problemas con muchas variables es interesante hacer
un estudio exploratorio inicial para dividir las variables en grupos. Este estudio
puede orientarnos para plantear los modelos formales para reducir la dimensin. Las
variables pueden clasificarse en grupos o estructurarse en una jerarqua.

Los mtodos de particin utilizan la matriz de datos, pero los algoritmos jerrquicos
utilizan la matriz de distancias o similitudes entre elementos. Para agrupar variables se
parte de la matriz de relacin entre variables: para variables continuas suele ser la matriz
de correlacin, y para variables discretas, se construye, a partir de la distancia jicuadrado.

Figura 1.

PLANTEAMIENTO DEL PROBLEMA

El ndice

de

Competitividad

Global (Ingls: Global

Competitiveness

Index,

siglas GCI), es desarrollado y publicado anualmente desde 1979 por el Foro Econmico
Mundial. El informe de 2009-2010 evalu 133 economas de pases desarrollados y en
desarrollo, un pas menos que el informe 2008-2009 debido a que Moldavia fue
excluida por falta de informacin. En la clasificacin 2010-2011 Suiza lidera la
clasificacin como la economa ms competitiva del mundo, Estados Unidos que por
varios aos ocup el primer lugar ahora ocupa el cuarto debido a la debilidad de sus
instituciones financieras y su inestabilidad macroeconmica.
El ndice de competitividad mide la habilidad de los pases de proveer altos niveles de
prosperidad a sus ciudadanos. A su vez, esta habilidad depende de cun
productivamente un pas utiliza sus recursos disponibles. En consecuencia, el ndice
mide un conjunto de instituciones, polticas y factores que definen los niveles de
prosperidad econmica sostenible hoy y a medio plazo. Este ndice es ampliamente
utilizado y citado en artculos acadmicos.
A travs de los siguientes subndices de competitividad publicado por el Foro
Econmico Mundial se pretende jerarquizar y agrupar segn la similitud de capacidad
competitiva de estos pases latinoamericanos.

Subndices
ndice de estabilidad
macroeconmica
ndice de gasto del
gobierno
ndice de calificacin
de riesgo crediticio
ndice de propiedad y
ley
ndice de corrupcin
ndice de innovacin
ndice de TCI
ndice de
transferencia
tecnolgica

Paragua Ecuado Venezuel Argentin Colombi


Bolivi Brasi
y
r
a
a
a
Per
a
l
3.31
3.49
3.21
3.58
3.94
4.52 3.66 3.38
1.71

2.02

1.63

2.03

2.54

2.60

1.89

3.07

2.26

1.88

2.33

1.26

2.90

2.81

2.41

2.80

2.29

2.77

2.27

2.28

3.16

3.19

2.93

3.92

3.73
1.65
2.87
3.52

4.18
1.94
2.97
4.11

4.15
2.34
3.51
4.78

4.15
2.94
3.96
5.00

5.10
2.28
3.63
4.42

5.34
2.30
3.36
4.75

4.10
2.31
2.82
3.63

4.62
2.25
4.23
5.44

Foro Econmico Mundial

ANLISIS
CLUSTER

Por defecto en el anlisis cluster de MATLAB se crea y traza un conjunto de 10 por 10


de las neuronas con ayuda de la funcin hextop topologa, entonces se encuentra
disponible un panel de 100 neuronas organizadas en diez por diez rejillas hexagonales
consecutivas en un plano bidimensional.

El grfico muestra cmo algunos de los pases tomados aleatoriamente en el


entrenamiento caen en determinados hexgonos, el nmero expresa la cantidad de
entidades (en este caso pases) que caen en la regin, los hits (golpes o accesos)
determinan la separacin de los grupos, si bien se encuentran concentrados los grupos
en un rea inferior (el entrenamiento reconoce similitud global) los hits del
entrenamiento separan en 7 grupos, uno conteniendo 2 paises el resto uno por grupo,
pero existe la posibilidad de formar con los ms cercanos otro cluster, es decir cabe la
posibilidad que sean 4 los cluster.

En el grfico, los 100 hexgonos azules ms pequeos estn entrelazados por una lnea
de par en par, estos representan las distancias entre las neuronas vecinas. Los colores
ms brillantes determinan que los grupos son ms homogneos y en este sentido, los
ms oscuros mayor diferencia. En este caso se pueden distinguir 3 fronteras con
tonalidades oscuras en las que ningn pas cay, en trminos absolutos 7 cluster estn
separados pero se podra sospechar que se pueden reclasificar a 4 grupos pues existen
fronteras con tonalidades bajas que separan los hexgonos grandes.

El grfico muestra los grupos de pesos de cada ndice para las 100 neuronas, mediante
ste grfico a travs de la posicin de los pesos, se sospecha la dependencia que podra
haber en la relacin inter-caractersticas intra-unidades, as el ndice 1 y 2 y 7 y 8 son
parecidos, y hacen referencia al ndice de estabilidad macroeconmica e ndice de gasto
del gobierno y al ndice TCI e ndice de transferencia tecnolgica.

El grfico de dispersin muestra los pases como puntos verdes en sus dos primeras
caractersticas o pesos, estos ltimos son representados por los puntos de color azul
oscuro, son conectados a travs de lneas rojas con las neuronas futuras, en este
entrenamiento con la entrada neta ms positiva dar salida a un 1, es decir existe
seleccin continua de los pesos a travs de su competencia en distancias eucldea y de
Manhattan, el peso ganador se desplaza al centro de los pesos con que compiti
anteriormente y nuevamente se produce la verificacin.

SCRIPT

SIMPLE SCRIPT
%
%
%
%
%
%
%

Solve a Clustering Problem with a Self-Organizing Map


Script generated by Neural Clustering app
Created 03-Nov-2015 21:47:23
This script assumes these variables are defined:
sub_indc - input data.

x = sub_indc;
% Create a Self-Organizing Map
dimension1 = 10;
dimension2 = 10;
net = selforgmap([dimension1 dimension2]);
% Train the Network
[net,tr] = train(net,x);
% Test the Network
y = net(x);
% View the Network
view(net)
% Plots
% Uncomment these lines to enable various plots.
%figure, plotsomtop(net)
%figure, plotsomnc(net)
%figure, plotsomnd(net)
%figure, plotsomplanes(net)
%figure, plotsomhits(net,x)
%figure, plotsompos(net,x)

ADVANCED SCRIPT

%
%
%
%
%

Solve a Clustering Problem with a Self-Organizing Map


Script generated by Neural Clustering app
Created 03-Nov-2015 21:49:29
This script assumes these variables are defined:
sub_indc - input data.
x = sub_indc;
% Create a Self-Organizing Map
dimension1 = 10;
dimension2 = 10;
net = selforgmap([dimension1 dimension2]);
% Choose Plot Functions
% For a list of all plot functions type: help nnplot
net.plotFcns = {'plotsomtop','plotsomnc','plotsomnd', ...
'plotsomplanes', 'plotsomhits', 'plotsompos'};
% Train the Network
[net,tr] = train(net,x);
% Test the Network
y = net(x);
% View the Network
view(net)
% Plots
% Uncomment these lines to enable various plots.
%figure, plotsomtop(net)
%figure, plotsomnc(net)
%figure, plotsomnd(net)
%figure, plotsomplanes(net)
%figure, plotsomhits(net,x)
%figure, plotsompos(net,x)
% Deployment
% Change the (false) values to (true) to enable the following code
blocks.
% See the help for each generation function for more information.
if (false)
% Generate MATLAB function for neural network for application
% deployment in MATLAB scripts or with MATLAB Compiler and Builder
% tools, or simply to examine the calculations your trained neural
% network performs.
genFunction(net,'myNeuralNetworkFunction');
y = myNeuralNetworkFunction(x);
end
if (false)
% Generate a matrix-only MATLAB function for neural network code
% generation with MATLAB Coder tools.
genFunction(net,'myNeuralNetworkFunction','MatrixOnly','yes');
y = myNeuralNetworkFunction(x);
end
if (false)
% Generate a Simulink diagram for simulation or deployment with.
% Simulink Coder tools.
gensim(net);
end

BIBLIOGRAFA Y LINKOGRAFA

1. MathWorks Cluster with Self-Organizing Map Neural Network


http://www.mathworks.com/help/nnet/ug/cluster-with-self-organizingmap-neural-network.html
2. Daniel Pea (2002) Anlisis de Datos Multivariantes.
3. Csar Perez (2004) Tcnicas de Anlisis Multivariante de Datos
Aplicaciones con SPSS
4. http://www.weforum.org/
5. https://es.wikipedia.org/wiki/%C3%8Dndice_de_Competitividad_Global

ANEXOS

ANLISIS CLUSTER EN IBM SPSS


Matriz de proximidades
Distancia eucldea al cuadrado
Caso

1:Paraguay 2:Ecuador 3:Venezuel 4:Argentin 5:Colombia

6:Per

7:Bolivia

8:Brasil

1:Paraguay

,000

1,148

2,671

6,394

5,914

8,136

1,174

11,491

2:Ecuador

1,148

,000

1,584

3,406

3,159

4,475

,749

6,930

3:Venezuel

2,671

1,584

,000

2,053

3,528

5,175

2,514

6,229

4:Argentin

6,394

3,406

2,053

,000

5,637

6,687

5,347

7,146

5:Colombia

5,914

3,159

3,528

5,637

,000

,589

3,075

2,814

6:Per

8,136

4,475

5,175

6,687

,589

,000

4,555

3,807

7:Bolivia

1,174

,749

2,514

5,347

3,075

4,555

,000

8,141

8:Brasil

11,491

6,930

6,229

7,146

2,814

3,807

8,141

,000

Esto es una matriz de disimilaridad.

Historial de conglomeracin
Primera aparicin del clster de
Clster combinado
Etapa

Clster 1

etapa

Clster 2

Coeficientes

Clster 1

Clster 2

Etapa siguiente

,589

,749

1,161

2,053

3,311

3,653

6,019

Si trazamos una lnea que divida de lado a lado el dendrograma en la distancia 10,
podremos reconocer la existencia de 4 cluster, conformados por Per y Colombia, otro
por Brasil, otro por Ecuador, Bolivia y Paraguay, y otro por Venezuela y Argentina.