Segmentación mediante redes neuronales - Segmentación de Mercados - Libros y Revistas - VLEX 862817516

Segmentación mediante redes neuronales

AutorPablo Valderrey Sanz
Páginas169-196
ĂƉşƚƵůŽϲ
SEGMENTACIÓN MEDIANTE REDES NEURONALES
Las redes neuronales mejoran los métodos de segmentación vistos hasta ahora.
Habitualmente un modelo de segmentación ajustado mediante redes neuronales perfecciona los
resultados, ya que si la red está bien entrenada, el ajuste del modelo puede incorporar no
linealidades adicionales a los modelos sin redes. Lo mismo ocurre con los métodos de
clasificación mediante análisis cluster.
6.1 SEGMENTACIÓN CLUSTER MEDIANTE REDES
NEURONALES
El análisis cluster (o análisis de conglomerados) se ocupa de realizar una partición de un
conjunto dado de datos en varios grupos, categorías o segmentos. Tienen aplicaciones en muchos
campos como la medicina, la biología, la zoología y, sobre todo, en las tecnologías de la información
y en el análisis de mercados. La mayoría de las técnicas que se han desarrollado se puede dividir en
tres grandes grupos: jerárquicas, de minimización de costes o distorsiones y de teoría de grafos. Sin
embargo, cuando se trata de grandes conjuntos de datos, solamente las técnicas de minimización
de costes son las adecuadas, por razones de complejidad computacional.
Dado un conjunto de datos
{}
piRx n
i,....,2,1, = que corresponden a n valores
de un vector aleatorio X cuya función de distribución Fx se desconoce, pero se sabe que es
una mixtura de m funciones de distribución, el problema consiste en formar m grupos o
categorías con los datos según una cierta función de distancia o medida de distorsión, que
en nuestro caso va a ser el error cuadrático (la distancia euclídea al cuadrado). Cada grupo
va a venir representado por su centroide, es decir, su vector media. Por tanto, se trata de
determinar m centroides, miR ,....,2,1, =
ω
, de manera que la distorsión entre cada dato y
su centroide sea mínima, es decir, minimizar:
ϭϳϬdE/^^'DEd/MEDZK^ Ξ^dZKK
()
2
1
21 ,,, ∑∑
=∈
=
n
iCx
ijm xJ
ωωωω
K
La solución de este problema conduce a una partición del conjunto de datos en m
clases, categorías o regiones, Ci, i = 1,2,….,m, definidas de la siguiente forma:
ikxxCx kjijij <,
ωω
Obsérvese que, para una partición dada, los vectores de representación ωi, i =
1,2,…,m, también llamados prototipos o vectores de referencia, que hacen mínima la
distorsión son los centroides del grupo, es decir:
i
Cj
j
in
x
=
ω
donde ni es el número de elementos del grupo Ci.
El número de particiones diferentes de un conjunto de N elementos en K grupos
es:
() ()
=
=
k
i
N
ki
i
k
K
KNS
1
1
1
!
1
,
Para resolver este problema se han propuesto muchos algoritmos, como, por
ejemplo, el algoritmo de las K-Medias de Moqueen. Sin embargo, estos algoritmos nos
conducen a soluciones parciales, es decir, a mínimos locales, que no tienen por qué ser
mínimos globales (solución óptima). Así, la dificultad de este problema radica en que la
función objetivo tiene muchos mínimos locales, que no son necesariamente globales
(solución óptima).
Para llevar a cabo este tipo de agrupaciones vamos a utilizar las redes neuronales
competitivas con aprendizaje no supervisado, que permiten formar grupos o categorías con
los datos de entrada. Cada entrada se asignará a la clase que le especifica la unidad de
salida activada. En este tipo de aprendizaje, las neuronas compiten entre ellas para ver cuál
es la que se activa; sólo una de ellas se activa, por ello, se le suele llamar el aprendizaje
donde la ganadora se lleva todo. Aquí la red, por sí sola (sin supervisión), realiza la
agrupación de los datos en categorías y nos da los prototipos de cada categoría.
Este nuevo paradigma de aprendizaje fue introducido por Rumelhart y Zipser, bajo
el nombre de aprendizaje competitivo. La red consta de una capa de m neuronas o
unidades de proceso que están conectadas con las señales o patrones de entrada y dichas
conexiones tienen asociados unos pesos sinápticos que van a representar a los patrones
prototipo. Cada neurona sólo tiene dos posibles valores de salida: 0 (no activada) o 1
(activada) y sólo se activa una neurona para cada patrón de entrada, aquélla que recibe un
mayor potencial sináptico (neurona ganadora).
Ξ^dZKKKϲ͘^'DEd/MED/EdZ^EhZKE>^ ϭϳϭ
Si la neurona i recibe la señal de entrada x =(x1,x2,…,xn)’ y tiene los pesos
sinápticos ωi = (ωi1, ωi2,…, ωin)’, su potencial sináptico viene dado por la expresión:
==
=
n
j
ij
n
j
jiji xh
1
2
12
1
ωω
Cuando hr = máx {h1, h2,….,hm} la salida de la red es:
(y1, y2,…,yr-1, yr+1,….,ym) = (0,0,….,0,1,0,….,0)
Obsérvese que tal y como hemos definido el potencial sináptico se tiene que:
()
(
)
xdxdhh jiji ,,
ω
ω
>
<
siendo d la distancia Euclídea. Por tanto, la neurona que se activa es aquélla cuyo vector de
pesos sinápticos está más próximo al patrón de entrada x, es decir, es el más parecido o
similar.
Se trata de conseguir que el vector de pesos sinápticos de cada neurona llegue a
ser el centroide (prototipo) del conjunto de datos que representa, es decir, para los cuales
dicha neurona resulta ganadora. Ello se consigue con la regla de aprendizaje competitivo.
Para deducir la regla de aprendizaje competitivo vamos a considerar un conjunto
de p patrones de entrada, que representaremos por xi = (xi1, xi2,…,xin), i = 1,2,…,p, y al que
llamaremos conjunto de entrenamiento de la red, pues a partir de él vamos a obtener el
valor de los pesos sinápticos de cada neurona de la red. Si para la entrada x resulta
ganadora la neurona es porque su vector de pesos es el más parecido y así esta entrada se
asigna a la clase r.
Esto quiere decir que el vector de pesos sinápticos ωr es el que representa al
patrón de entrada x, y como deseamos que esta representación sea lo mejor posible, ωr
debe estar lo más próximo posible a todos los patrones del grupo que representa. Para ello
debemos actualizar (modificar) el vector de pesos sinápticos ωr de la neurona ganadora r
acercándolo al patrón de entrada s. Es decir, si en la etapa k+1 hemos introducido el patrón
de entrada x y ha resultado ganadora la neurona r entonces modificamos sus pesos
sinápticos según la expresión:
() ()( ) () ()() () () ()
(
)
[]
kkxkkkxkkkk rrrrrrr
ω
η
ω
η
ω
η
ω
+=+=+ 11
siendo ηr la tasa de aprendizaje de la neurona r.
Las demás neuronas no modifican sus pesos sinápticos. Esta es la regla estándar
del aprendizaje competitivo. Obsérvese que es una combinación lineal entre el vector de
entrada y el vector de pesos sinápticos, y conforme menor sea el valor de la tasa de
aprendizaje, menor será la modificación de los pesos sinápticos. La tasa de aprendizaje de
cada neurona debe de ser una función decreciente con respecto al número de la etapa, de
forma que después de un número adecuado de etapas, la red se estabiliza y deja de
aprender. Durante el proceso de aprendizaje se introduce en cada iterac ión un patrón de
ϭϳϮdE/^^'DEd/MEDZK^ Ξ^dZKK
entrada y se actualizan los pesos sinápticos, de manera qu e el proceso de aprendizaje finaliza
después de introducir el conjunto de datos varias veces.
Con esta red, las neuronas aprenden individualmente a especializarse sobre
conjuntos de patrones y son así detectoras de características. Cada vector de pesos
sinápticos representa el prototipo de la clase o grupo que define la neurona
correspondiente. Este algoritmo es similar al algoritmo de las K-Medias de MacQueen, que
consiste en ir asignando cada patrón al centroide más cercano y volver a determinar los
centroides de los nuevos grupos formados. Ahalt y otros (1990) han puesto de manifiesto la
conveniencia de utilizar el aprendizaje competitivo para resolver nuestro problema, pues
conduce a soluciones óptimas o cercanas a la óptima
Ueda y Nakano han propuesto un nuevo aprendizaje competitivo con un mecanismo
de selección basado en el principio de equidistorsión que permite a la red escapar de los
mínimos locales; y Uchiyama y Arbib (1994) han mostrado la relación existente entre nuestro
problema de agrupación y la cuantificación vectorial, y presentan un algoritmo de aprendizaje
competitivo que genera unidades donde la densidad de datos de entrada es alta, aplicándolo a
la segmentación de imágenes en color.
El análisis de la varianza simple es una técnica estadística utilizada para analizar la
relación entre una variable dependiente (o endógena) métrica (cuantitativa) y varias
variables independientes (o exógenas) no métricas (cualitativas). Los valores no métricos
(categorías) de las variables independientes determinarán una serie de grupos en la
variable dependiente. El modelo ANOVA mide la significación estadística de las diferencias
entre las medias de los grupos determinados en la variable dependiente por los valores
(categorías) de las variables independientes no métricas (cualitativas). La expresión
funcional del modelo del análisis de la varianza simple ANOVA con variable dependiente
métrica (y) y variables independientes no métricas ( n
xxx ,,, 21
L) es:
),,,( 21 n
xxxFy L=
6.2 SEGMENTACIÓN DISCRIMINANTE MEDIANTE
LA RED NEURONAL PERCEPTRÓN
La finalidad de la red neronal PERCEPTRÓN es clasificar un conjunto de señales
de entrada (estímulos o patrones de entrada), en una de dos clases o segmentos, C1 o C2.
La regla de decisión para la clasificación consiste en asignar las entradas x1, x2,…xn,
correspondientes a un patrón dado, a la clase C1 si la salida del perceptrón es +1, y a la
clase C2 si la salida del perceptrón es -1.
La función que expresa la salida, y, del perceptrón como una función de las
entradas, x1, x2,…,xn, es
()
ϕ
= uy 2, donde
=
=
n
j
jj xwu
1
es el potencial sináptico, y
R
es el umbral. Es decir,
<
=
θ
θ
usi
usi
y1
1
Ξ^dZKKKϲ͘^'DEd/MED/EdZ^EhZKE>^ ϭϳϯ
La primera cuestión que surge es cómo determinar los pesos sinápticos de manera
que el perceptrón consiga una clasificación correcta de cada uno de los patrones de entrada.
Supongamos que tenemos p de patrones de entrada, representados por
()
r
n
rr
xxx ,,, 21 K, r = 1, 2, …,p, de manera que conocemos la clase a la que pertenece cada
uno de ellos (los llamaremos vectores o patrones de entrenamiento). Por ejemplo,
()
r
n
rr
xxx ,,, 21 K puede representar un conjunto de n síntomas del paciente r que puede
(y = 1), o no (y = -1), presentar una cierta enfermedad.
Es posible modificar los pesos sinápticos a través de un procedimiento iterativo,
que llamaremos proceso de aprendizaje de la red, de forma que después de un número
finito de iteraciones se consiga clasificar correctamente los p patrones de entrada, siempre
que sea posible, es decir, que las clases C1 y C2 sean separables linealmente. Dos clases
se dice que son linealmente separables si existe un conjunto de pesos, w1, w2,…,wn, tal que:
()
1
1
21 ,,,, Cxxxxw
n
j
njj >
=
K
θ
()
2
1
21 ,,,, Cxxxxw
n
j
njj <
=
K
θ
Este proceso de aprendizaje consiste en observar los valores de salida para cada
uno de los patrones de entrenamiento y comprobar si es correcta la clasificación realizada
por el perceptrón. En caso de clasificación incorrecta se modifican los pesos. Se repite el
proceso, patrón a patrón, hasta conseguir clasificar correctamente a todos los patrones de
entrenamiento, o que el número de clasificaciones incorrectas se considere adecuado.
Concretamente:
Si en la iteración k hemos introducido el patrón
()
r
n
rr
xxx ,,, 21 K que pertenece,
por ejemplo, a la clase C1, y que ahora representaremos por
() () ()()
kxkxkx n
,...,, 21 , entonces:
a) Si y = +1 la clasificación es correcta y no modificamos los pesos, es decir,
() ()
njkwkw jj ,,2,1,1 L==+
b) Si y = -1 la clasificación es incorrecta y entonces ponemos:
( ) () () ()
njkxkkwkw jjj ,,2,1,1 L=+=+
η
donde el parámetro
()
k
η
es
la tasa de aprendizaje que controla el ajuste aplicado a los pesos sinápticos
en la iteración k y
()
[]
1,0k
η
. Si
()
η
η
=k, donde η es una constante,
independiente del número de la iteración, se tiene la regla de adaptación de
incremento fijo para el perceptrón.
Si en la iteración k hemos introducido el patrón
()
xxx ,,, K que pertenece, por
ejemplo, a la clase C2, y que ahora representaremos por
() () ()()
kxkxkx n
,...,, 21 ,
entonces:
ϭϳϰdE/^^'DEd/MEDZK^ Ξ^dZKK
a) Si y = -1 la clasificación es correcta y no modificamos los pesos, es decir,
() ()
njkwkw jj ,,2,1,1 L==+
b) Si y = +1 la clasificación es incorrecta y entonces ponemos:
( ) () () ()
njkxkkwkw ,,2,1,1 L==+
η
.
Por tanto, en la salida de la red hay un controlador o profesor que compara la
salida de la red con el valor deseado, y en caso de que coincidan (salida incorrecta)
modifica los pesos de la red, como hemos indicado anteriormente. Por tanto, es un
procedimiento de aprendizaje supervisado con corrección de error. Obsérvese que la regla
de aprendizaje anterior también se puede expresar de la siguiente forma:
( ) () () ()
[]
()
njkxkykdkwkw jjj ,,2,1,1 L=+=+
η
.
donde d(k) es la salida deseada en la etapa k.
La tasa de aprendizaje habrá que elegirla de forma que se acelere la convergencia
del procedimiento. Una elección adecuada de la tasa de aprendizaje es la siguiente:
() ()
()
2
'2
kx
kxkw
=
η
donde
() ( )
',,, 21 n
xxxkx L= y
() ( )
',,, 21 n
wwwkw L=. Se obtienen así la regla de
aprendizaje normalizada del perceptrón, pues asegura en cada iteración que los vectores
de pesos sinápticos estén normalizados.
El teorema de convergencia del perceptrón asegura que después de un número
finito de iteraciones, el perceptrón clasifica correctamente a todos los patrones de
entrenamiento, siempre que estos sean linealmente separables (ver Haykin 1994). Si
consideramos ahora m neuronas que reciben las mismas señales de entrada, tendremos m
salidas y podemos aplicar el mismo proceso de aprendizaje a cada neurona, pero ahora
disponemos de 2m salidas posibles para cada entrada.
Por otra parte, una regla discriminante d es una aplicación que corresponde a una
partición del espacio Rn en L regiones disjuntas R1,R2,…,RL, y vienen definida como:
Asigna x a la población Ci si xєRi
El clasificador Gaussiano de máxima verosimilitud corresponde a un procedimiento
de estimación paramétrico donde las muestras (conjunto de señales de entrada) de la clase
Ci, i =1, 2, siguen una distribución normal multivariante de media
()
',,, 21 iniii
µ
µ
µ
µ
L= y
matriz de covarianza Σ, y las clases C1 y C2 son equiprobables. Viene definido de la
siguiente forma:
Si
xw' asigna x a la clase C1
Si
θ
<xw' asigna x a la clase C2
Ξ^dZKKKϲ͘^'DEd/MED/EdZ^EhZKE>^ ϭϳϱ
donde
()
21
1
µµ
=
w y
()
2/'' 2
1
1
1
1
µµµµθ
=.
()
= xwxD ' es la función discriminante lineal de Fisher.
El perceptrón y el clasificador Gaussiano de máxima verosimilitud son
clasificadores lineales. El perceptrón opera sobre la premisa de que las dos clases son
linealmente separables, mientras que el clasificador Gaussiano no. El perceptrón es un
procedimiento no paramétrico, en el sentido de que no hace hipótesis sobre la forma de las
distribuciones de cada clase. En este sentido, es un procedimiento más robusto. La
hipótesis de normalidad del clasificador Gaussiano limita su área de aplicación. El algoritmo
del perceptrón es adaptativo y sencillo de implementar; las necesidades de almacenamiento
se reducen a los pesos sinápticos y al umbral. Por otro lado, el diseño del clasificador
Gaussiano es fijo, aunque se puede hacer adaptativo, pero precisa de un notable
incremento en el almacenamiento y las computaciones son más complejas. El clasificador
Gaussiano minimiza la probabilidad media de clasificación incorrecta. ¿Con respecto a qué
criterio o medida conveniente es óptimo el perceptrón? Shynk (1990) ha deducido el
algoritmo del perceptrón a partir del siguiente criterio: minimizar el valor esperado del error
ponderado por la diferencia entre el potencial sináptico y el umbral, es decir,
() ()()()()
[]
= kukdkyEJ siendo d(k) es la salida deseada en la iteración k.
El estimador instantáneo de la función objetivo anterior es:
() () (
)
[]
()()
θ
= kukdkykJ
ˆ
y su vector gradiente:
() () ()
[]
()
() () ()
[]
()
kxkdky
kw
u
kdkykJ
w=
=
ˆ.
Si modificamos los pesos en la dirección opuesta al gradiente, obtenemos:
() () () ()
[]
()
kxkykdkJkw w==
ηη
ˆ,
que es la regla del perceptrón.
En un problema de clasificación en el que intervienen m clases, C1, C2, ..., Cm, utilizaremos
una capa de m neuronas conectadas todas ellas a las mismas señales de entrada y que nos darán
m señales de salida (perceptrón multicapa). Si la entrada x = (x1,x2,...,xn) es de la clase C1 entonces la
salida deseada es: d1 = 0, d2 = 0,......,di = 1,....,dm = 0.
Si introducimos una capa oculta de neuronas, es decir, una capa de neuronas
entre la entrada y las neuronas de salida, que utilizan la función de activación lineal o la
logística, y las neuronas de salida utilizan la función de activación lineal o la logística,
podemos clasificar correctamente conjuntos de patrones no separables linealmente
utilizando la regla de aprendizaje de retropropagación del error. Es más, se puede
demostrar que estas redes neuronales con una capa oculta son clasificadores universales.
ϭϳϲdE/^^'DEd/MEDZK^ Ξ^dZKK
6.3 ANÁLISIS CLUSTER CON REDES NEURONALES
A TRAVÉS DE SAS ENTERPRISE MINER
Para llevar a cabo análisis cluster con redes neuronales artificiales y aprendizaje no
supervisado se utiliza el nodo SOM/Kohonen, situado en el grupo Modify del menú de Miner. Este
método permite también realizar Kohonen Vector Quantization (VQ). El término SOM procede del
término inglés Self-Organizing Map mientras que Kohonen es el apellido de Teuvo Kohonen,
analista que propuso este tipo de redes neuronales autoorganizadas. En esta ocasión, se
suministran los inputs de entrada, que pueden ser de tipo binario, nominal, ordinal o continuo, pero la
red no recibe ninguna información que le indique cuál es la salida. La red, que sólo consta de dos
capas y modifica los pesos para poder asociar a la misma unidad de salida los vectores de entrada
más similares. Suele decirse, así, que estas redes son capaces de autoorganizarse. El método
Kohonen VQ está orientado a la clusterización, mientras que el método SOM puede ser utilizado
como método de reducción de la dimensión.
Como ejemplo, vamos a utilizar los datos del archivo MUNDO para agrupar, a
partir de información de tipo social y económico, a distintos países del mundo en grupos
homogéneos. El objetivo es conocer qué países son más o menos parecidos (pertenecen al
mismo segmento) según las variables siguientes: densidad, urbana, espvidaf, espvidam,
alfabet, inc_pob, mortinf, tasa_nat, tasa_mort, tasasida y log_pib. El resto de variables,
salvo PA_S, que tiene un papel de etiqueta, serán excluidas del análisis. Una vez que
disponemos ya de nuestros datos de trabajo en formato SAS (archivo mundo.sas7bdat) en
una determinada librería (librería Trabajo que representa el subdirectorio c:\libros\miningt),
abrimos el proyecto P1 (File
Open) y mediante File
New
Diagram creamos el
diagrama D17. A continuación, el nodo SOM/Kohonen se obtiene mediante el botón Tools
del navegador de proyecto de Enterprise Miner como subopción de la categoría Modify o
arrastrando el propio nodo sobre la zona de trabajo al lado del nodo Input Data Source, al
que se le ha asignado previamente el conjunto de datos mundo.sas7bdat de la librería
TRABAJO. A continuación se realizará la unión de ambos (Figura 6-1).
Figura 6-1
Será necesario declarar las variables densidad, urbana, espvidaf, espvidam, alfabet,
inc_pob, mortinf, tasa_nat, tasa_mort, tasasida y log_pib de tipo input y la variable PA_S de
tipo id, ya que se usará como etiqueta. Esta tarea se realiza haciendo doble clic sobre el nodo
Input Data Source etiquetado como TRABAJO.MUNDO y eligiendo la pestaña Variables. A
continuación se hace clic con el botón derecho del ratón sobre cada variable a situar de tipo input,
se elige Set Model Role y a continuación Input. Se repite el proceso con la variables a excluir, a las
que se les asignará tipo rejected y con la variable PA_S, que se le asignará tipo id (Figura 6-2).
Ξ^dZKKKϲ͘^'DEd/MED/EdZ^EhZKE>^ ϭϳϳ
Una vez conectados los nodos Input Data Source y SOM/Kohonen y definido el papel
de cada variable, guardaremos la información del nodo de datos y abriremos el nodo
SOM/Kohonen haciendo doble clic sobre él en el diagrama. Se obtiene la pantalla de entrada del
nodo, en cuya pestaña Variables elegiremos las variables que serán usadas y si éstas serán o
no estandarizadas por rango o desviación típica (Figura 6-3).
Figura 6-2
Figura 6-3
La ventana Cluster (Figura 6-4) contiene los campos Variable name (nombre para
el identificador del cluster), Variable label (etiqueta del cluster) y Role (papel que se asigna
a la variable que está siendo usada para formar los clusters que por defecto es de grupo o
group). En la ventana General se pueden seleccionar el método, el tamaño del mapa y el
número de clusters (Figura 6-5).
Figura 6-4 Figura 6-5
ϭϳϴdE/^^'DEd/MEDZK^ Ξ^dZKK
A continuación se explican los campos de la ventana General (Figura 6-5).
Método: seleccione una de las siguientes opciones:
Batch Self-Organizing Map: las opciones más importantes son la forma del
mapa y el tamaño del vecino final. Normalmente son preferibles mapas
grandes, si bien ello aumenta el tiempo de entrenamiento.
Kohonen Self-Organizing Map: las opciones más importantes son la forma
del mapa y el coeficiente de aprendizaje. Es importante empezar con un
coeficiente de aprendizaje alto como 0,9.
Kohonen Vector Quantization: las opciones más importantes son el número
de clusters y el coeficiente de aprendizaje. La elección del número de clusters
óptimo se obtiene por ensayo-error.
Mapa: selecciona el número de filas y columnas que por defecto es de 4 y 6, respectivamente. El
número óptimo se encuentra mediante un proceso ensayo-error. Si el mapa es muy pequeño,
seguramente los grupos no reflejarán las no linealidades que contengan los datos. Si el mapa es
muy grande, el tiempo de análisis será elevado y la formación de clusters vacíos tenderá a dificultar
la interpretación de los resultados. Al cambiar este tamaño también cambiaremos
proporcionalmente el tamaño del vecino (Neighborhood Options en la pestaña Advanced).
Podemos también renombrar las variables de fila y columna del mapa en la opción Variable labels.
Número de Clusters: se activa al seleccionar el método de entrenamiento Kohonen VQ. Por
defecto se determina de forma automática, si bien puede ser especificado por el usuario.
Podemos también, como en el nodo Clustering, variar el método de clustering; el clustering
cubic criterion cutoff, y el número mínimo y máximo de clusters en la opción Selection
Criterion.
En la ventana Advanced se pueden seleccionar las opciones avanzadas en las
subventanas: Batch SOM Training, Neighborhood Options y Koh onen Training (Figura 6-6).
Figura 6-6 Figura 6-7
A continuación se explican las subventanas de la ventana Advanced (Figura 6-6).
Batch SOM Training: por defecto las opciones se determinan en función del tipo de red
elegida en la pestaña General. Para batch SOM: se activa SOM Training, Local-linear y
Nadaraya-Watson. Para Kohonen SOM se desactivan las opciones anteriores. Si Local-
linear y Nadaraya-Watson están activadas al mismo tiempo, primero se realiza el
entrenamiento Nadaraya-Watson y después Local-linear. Los criterios de convergencia en
Ξ^dZKKKϲ͘^'DEd/MED/EdZ^EhZKE>^ ϭϳϵ
ambos, bien número de iteraciones bien un criterio establecido, se definen en la opción
Optitons (Figura 6-7).
Neighborhood Options: Al seleccionar uno de los métodos SOM en la ventana General
podremos establecer distintas opciones de vecindad deseleccionando Defaults (Figura 6-8).
Kernel shape: por defecto es Epanechnikov (1). Otras formas son uniforme
(0), biweight (2), triweight (3) y otras (valor k positivo definido por el analista).
Kernel metric: por defecto es Max (0). Otras son Manhattan o cityblock (1),
euclídea (2) y otros valores positivos especificados por el analista.
Size: el valor de vecindad debe ser mayor que o igual a cero. Seleccionando
Options podemos establecer el tamaño inicial, final, número de pasos hasta
alcanzar el tamaño final y el número de iteraciones hasta alcanzar el tamaño
final (Figura 6-9).
Number of steps before reset: número de pasos antes de terminar.
Sea Row(j) el número de fila del cluster j-ésimo, Col(j) el número de columna del
cluster j-ésimo, size el tamaño de vecindad, k la forma kernel y p la métrica kernel. Entonces
la función kernel se define como:
[]
size
nColjColnRowjRow
njK )()()()(
1),(
+
=
Figura 6-8 Figura 6-9
Así para un kernel uniforme 1),( =njK cuando la distancia entre dos semillas
iguala el tamaño de vecindad (size), mientras que para otros kernels 0),( =njK se cumple
de nuevo que la distancia entre dos semillas iguala el tamaño de vecindad (size).
Kohonen Training: al seleccionar Kohonen SOM o Kohonen VQ en la ventana General
podremos establecer distintas opciones avanzadas para el entrenamiento de Kohonen en la
subventana Kohonen Training de la ventana Advanced (Figura 6-10).
Learning rate: se utiliza el entrenamiento que varía el coeficiente de
aprendizaje. Éste se inicializa en 0,9 para Kohonen SOM y 0.5 para VQ. Se
reduce linealmente en 0,02 durante los primeros 1.000 pasos del
ϭϴϬdE/^^'DEd/MEDZK^ Ξ^dZKK
entrenamiento. El coeficiente de aprendizaje, que debe variar entre 0 y 1,
puede ser redefinido seleccionando Options…
Maximum number of steps: por defecto es de 500 veces el número de
clusters. Un paso es el proceso llevado a cabo en cada elemento.
Maximum number of iterations: por defecto es 100. Una iteración es el
proceso llevado a cabo sobre todos los datos de entrenamiento.
Convergence Criterion: por defecto es 0,000.
El entrenamiento finaliza cuando se satisface alguno de los criterios de
convergencia (Figura 6-11).
Figura 6-10 Figura 6-11
La ventana Seeds en el nodo SOM/Kohonen permite especificar la forma de inicializar
las semillas de los clusters (Figura 6-12). Por defec to dep enderá n del tipo de red . A Ba tch SO M
le corresponde Principal Component. A Kohonen SOM y a Kohonen VQ le corresponde
random. Para otros métodos, las semillas iniciales son casos de entrenamiento sin datos
perdidos, separados por una distancia mínima especificada en la opción Minimum distance
between cluster seeds (radius). La ventana Missing Values en el nodo SOM/Kohonen
permite establecer cómo tratar los casos con datos perdidos (Figura 6-13). Las
observaciones que presentan datos perdidos en todas las variables son excluidas del
análisis. Los campos de esta ventana se explican a continuación:
Imputation method: podemos elegir entre los siguientes métodos de imputación.
Seed of Nearest Cluster: semilla del cluster más cercano.
Ignore: Ignorar.
Processing of Missing Values during Training: existen siete métodos dependiendo
alguno de ellos del tipo de variable.
Ignore: ignorar el procesado.
Category: asignar a una categoría.
Mean: asignar la media.
Median: asignar la mediana.
Midrange: asignar el valor promedio del rango.
Ξ^dZKKKϲ͘^'DEd/MED/EdZ^EhZKE>^ ϭϴϭ
Mode: asignar la moda.
Omit: omitir el elemento.
Figura 6-12 Figura 6-13
La ventana de Output en el nodo SOM/Kohonen consta de dos subventanas:
Clustered Data: muestra las librerías y los ficheros de resultados para los datos de
entrenamiento, validación y test (Figuras 9-14 y 9-15). Es importante destacar que estos
resultados se guardan en la misma librería que el proyecto en el que está contenido el
diagrama. Los datos de resultados del cluster contienen los datos originales, una variable
de segmentación y una variable de la distancia a la que se asigna el papel rejected. Filas
(Row), Columnas (Column) y variables Filas: Columnas (coordenadas del mapa) son
guardadas en el fichero output cuando un método SOM es usado en el entrenamiento. Si
los datos perdidos han sido imputados, entonces se añadirá una variable denominada
_IMPUTE_ al fichero de resultados.
Statistics Data Sets: en esta ventana se muestran las bases de datos que contienen las
estadísticas del análisis cluster y de las semillas (Figur a 6-17). Esta última es especialmente
útil para clasificar otros datos usando el comando de S AS FASTCLUS.
Figura 6-14 Figura 6-15
Una vez seleccionadas todas las opciones, estaremos en disposición de ejecutar
el nodo. Para nuestro ejemplo hemos ido tomando las opciones por defecto, salvo en la
pestaña Cluster en la que hemos elegido el método Kohonen Vector Quantization y hemos
fijado 6 clusters (Figura 6-16). Tras ejecutar el análisis se abre el Visor de resultados.
ϭϴϮdE/^^'DEd/MEDZK^ Ξ^dZKK
Figura 6-16
Ejecutado el nodo, vemos que los resultados del visor de resultados son
equivalentes a los del nodo de clustering ya visto en el capítulo de análisis cluster. Por
ejemplo, la pestaña Map (Figura 6-17) presenta la misma salida.
Si hacemos clic con el botón secundario del ratón sobre cualquier punto del gráfico de
sectores de la ventana Map se obtiene el menú emergente de la Figura 6-18, cuya opción View
Data nos lleva al cuadro de datos de la Figura 6-19 que presenta todas las variables del archivo
de datos y el cluster al que pertenecen (columna CLUSTER_ID).
La opción Cluster Profile del menú emergente anterior, nos lleva a un gráfico que
presenta el perfil de formación de los clusters de un modo arborescente (Figura 6-20).
Figura 6-17
Figura 6-18 Figura 6-19
Ξ^dZKKKϲ͘^'DEd/MED/EdZ^EhZKE>^ ϭϴϯ
Figura 6-20
6.4 ANÁLISIS DISCRIMINANTE CON REDES
NEURONALES EN SAS ENTERPRISE MINER
El nodo Two Stage Model, situado en el grupo Model del menú de Miner, permite generar
un modelo en dos etapas para predecir una variable de clase y una variable contínua. La variable
continua está normalmente asociada con el nivel del objetivo de clase. Por ejemplo, en el fichero
BELGICA podemos predecir si por sus características un niño acude a la escuela pública o privada
mediante la variable TITULARIDAD que tiene dos niveles: Pública = 1; Privada = 0, tendiendo
presente que la variable continua sería el resultado en matemáticas de los niños en escuelas
públicas MATH. Las dos variables citadas serían de tipo tarjet y el resto de tipo input. Este modelo
permite así resumir en un solo nodo las tareas que normalmente implementaríamos en varios. El
nodo automáticamente reconoce el objetivo de clase y el continuo, estimando un valor para ambos
objetivos en cada fase respectivamente. Definiendo una función de transferencia y un filtro
podremos especificar cómo aplicar la predicción para la clase, definiendo así si queremos usar
todos los casos para la predicción de la segunda etapa.
Una vez que disponemos ya de nuestros datos de trabajo en formato SAS (archivo
belgica.sas7bdat) en una determinada librería (librería Trabajo que representa el subdirectorio
c:\libros\miningt), abrimos el proyecto P1 (File
Open) y mediante File
New
Diagram
creamos el diagrama D16. A continuación, situamos en el diagrama el nodo Inpu t Data Source
al que se le asigna el conjunto de datos belgica.sas7bdat de la librería TRABAJO. A
continuación, uniremos el nodo Two Stage Model según se indica en la Figura 6-21. Una vez
importado el fichero, hacemos doble clic sobre el nodo Input Data Source y elegimos la
pestaña Variables. A continuación, tomaremos las variables TITULARIDAD y MATH como
variables de tipo target. El resto de las variables son de tipo input (Figura 6-22).
ϭϴϰdE/^^'DEd/MEDZK^ Ξ^dZKK
Figura 6-21 Figura 6-22
Ahora ejecutamos el nodo Two Stage Model haciendo doble clic sobre él. En la
pestaña Data se muestran activos, por defecto, los datos de entrenamiento. En la pestaña
Variables se pueden especificar las variables que usaremos y no usaremos en el análisis,
además de poder visualizar las opciones habituales definidas en el nodo Input Data Source
o Data Set Attributes. En la pestaña Otput se pueden seleccionar los datos cuya respuesta
queremos predecir. Podemos además predecir nuevas bases de datos si a continuación
introducimos en el diagrama de flujo el nodo Score. Para realizar las predicciones sobre los
datos de entrenamiento, validación, test y score simplemente activaremos el cuadro de
diálogo correspondiente (Figura 6-23).
Figura 6-23 Figura 6-24
Para acceder a las opciones del análisis (Figura 6-24) debemos pulsar en el menú
de herramientas el icono o bien seleccionar en el menú principal Tools
Settings…Esta ventana permite elegir entre las siguientes opciones:
Class model: especifica el modelo que usaremos en la primera etapa para
ajustar el modelo con la variable objetivo categórica:
Tree: árbol de decisión. Es la opción por defecto.
Regression: regresión lineal.
Mlp: perceptrón multicapa con una o varias capas ocultas. El número de
unidades en la capa oculta es función del número de grados de libertad. La
Ξ^dZKKKϲ͘^'DEd/MED/EdZ^EhZKE>^ ϭϴϱ
combinación de las entradas en las capas oculta y de salida es lineal, y la
función de activación en la capa oculta es la tangente hiperbólica.
Rbf: red neuronal con función de base radial con una capa oculta. El número
de unidades en la capa oculta es función del número de grados de libertad.
Usa la función de combinación radial-eq width and heights en la capa oculta, y
de output y la función de activación en la capa oculta es de tipo softmax.
Además no estandariza la variable objetivo.
Glim: modelo de red neuronal generalizado lineal e interactivo. Se caracteriza
porque no tiene capa oculta, no estandariza ni los inputs ni los outputs.
Transfer function: determina cómo se va a incorporar la variable objetivo
categórica en la segunda etapa. Por defecto, la selección es que la probabilidad
de pertenencia estimada en el primer modelo se incorpore como input para el
segundo modelo. También se puede cambiar esta opción y elegir classification
que introduce la clasificación final del caso.
Filter: especifica la forma en la cual las observaciones en los datos de
entrenamiento son introducidas para entrenar el modelo.
None: ninguna observación es excluida y todas las observaciones utilizadas en la
primera etapa se utilizan en la segunda.
Nonevent: aquellas observaciones que no tienen el valor de clase requerido, que
es el especificado en el orden de las clases de la variable categórica, para la
variable objetivo de clase son excluidas del entrenamiento en la segunda etapa.
Misclassified: las observaciones mal clasificadas en la primera etapa se excluyen
en la segunda.
Missing: las observaciones con valores perdidos en la variable objetivo continua
se excluirán en la segunda etapa.
Value model: permite elegir el modelo que utilizaremos para ajustar la variable
continua en la segunda etapa.
Tree: árbol de decisión.
Regression: regresión lineal. Es la opción por defecto.
Mlp: perceptrón multicapa con una o varias capas ocultas. El número de
unidades en la capa oculta es función del número de grados de libertad. La
combinación de las entradas en las capas oculta y de salida es lineal, y la
función de activación en la capa oculta es la tangente hiperbólica.
Rbf: red neuronal con función de base radial con una capa oculta. El número
de unidades en la capa oculta es función del número de grados de libertad.
Usa la función de combinación radial-eq width and heights en la capa oculta y
de output, y la función de activación en la capa oculta es de tipo softmax.
Además no estandariza la variable objetivo.
ϭϴϲdE/^^'DEd/MEDZK^ Ξ^dZKK
Glim: modelo de red neuronal generalizado lineal e interactivo. Se caracteriza
porque no tiene capa oculta, no estandariza ni los inputs ni los outputs.
Bias adjustment: determina la forma en la cual la probabilidad a posteriori de
la predicción de la variable de clase y la predicción de la variable continua se
combinan para calcular las predicciones finales.
None: ninguna. Opción por defecto.
Multiple: utiliza la probabilidad a posteriori para ajustar el valor de la variable
continua utilizando la siguiente ecuación
()
ZPYY *
~
ˆ= donde Y
ˆ es la
predicción final de la variable continua que depende de Y
~, que es la
predicción del modelo de la segunda etapa multiplicado por
()
ZP , que es la
probabilidad a posteriori del modelo estimado en la primera etapa.
Filter: a los valores predichos de las observaciones con la categoría no
analizada se les asigna el valor cero.
Es importante señalar que cualquiera de estas combinaciones reducirá el factor de
elevación o lift si comparamos los resultados con el modelo sin combinar las respuestas.
Una vez seleccionadas todas opciones, estaremos en disposición de ejecutar el
nodo. Tras nombrar y terminar el análisis abriremos la ventana de resultados. En la pestaña
Output del visor de resultados se muestra la salida siguiente:
______________________________________________________________________________
Target= TITULARIDAD : Tree Variable Importance (max=20)
NUMBER OF
RULES IN RELATIVE
Obs NAME LABEL TREE IMPORTANCE
1 prof prof 3 1.00000
2 school school 8 0.89524
3 aggrmad aggrmad 3 0.87070
4 ordenad ordenad 6 0.77962
5 math math 0 0.66211
6 frenchc frenchc 1 0.37681
7 noveno noveno 0 0.28790
8 repite repite 0 0.00000
9 edpad edpad 0 0.00000
10 padjob padjob 0 0.00000
11 edmad edmad 0 0.00000
12 familia familia 0 0.00000
13 programa programa 0 0.00000
14 madjob madjob 0 0.00000
15 stud stud 0 0.00000
16 decimo decimo 0 0.00000
17 nacemadre nacemadre 0 0.00000
18 poscult poscult 0 0.00000
19 actcult actcult 0 0.00000
20 deberes deberes 0 0.00000
Classification Table
TRAIN TRAIN
From Into Count Percent
0 0 2373 68.0138
0 1 196 5.6177
. .
1 0 148 4.2419
1 1 772 22.1267
Fit Statistics
Statistic Training
Average Squared Error 0.07
Total Degrees of Freedom 3489.00
Divisor for ASE 6978.00
Maximum Absolute Error 0.99
Misclassification Rate 0.10
Sum of Frequencies 3489.00
Root Average Squared Error 0.26
Sum of Squared Errors 486.05
Sum of Case Weights Times Freq 6978.00
Ξ^dZKKKϲ͘^'DEd/MED/EdZ^EhZKE>^ ϭϴϳ
______________________________________________________________________________
Target= READ : Regression Effects (max=40)
Obs Effect Sign T-Score
1 math + 27.4951
2 decimo 0 - 11.5330
3 programa 0 - 11.0717
4 Intercept + 6.7322
5 prof - 6.5095
6 aggrmad + 5.8653
7 noveno 0 - 5.3034
8 school - 4.5903
9 poscult + 4.4367
10 actcult + 4.3660
11 nacemadre 0 - 3.4430
12 frenchc 0 - 3.0567
13 Predicted: Titularidad=1 - 2.6825
14 edmad 4 + 2.2597
15 edmad 2 - 1.9516
16 familia 0 + 1.8205
17 edmad 3 + 1.7396
18 repite 0 - 1.5484
19 madjob 0 - 1.5205
20 deberes + 1.4003
21 edpad 3 + 1.3749
22 edmad 1 - 0.9746
23 padjob 0 - 0.7504
24 edpad 4 + 0.7435
25 edpad 2 + 0.5431
26 edpad 5 - 0.4678
27 edmad 5 + 0.4575
28 edpad 1 - 0.4545
29 stud - 0.2457
30 ordenad - 0.0224
Fit Statistics
Statistic Training
Average Squared Error 0.07
Total Degrees of Freedom 3489.00
Divisor for ASE 6978.00
Maximum Absolute Error 0.99
Misclassification Rate 0.10
Sum of Frequencies 3489.00
Root Average Squared Error 0.26
Sum of Squared Errors 486.05
Sum of Case Weights Times Freq 6978.00
______________________________________________________________________________
Final Prediction Analysis: Training data
Predicted event: 1
Bias adjustment: None
------------------------------------------ _from=0 _into=0 ------------------------------------------
Procedimiento MEANS
Número de Desviación
Variable observaciones Media estándar Mínimo Máximo
ŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲ
read 2373 541.776 93.517 89.270 887.310
P_read 2373 541.285 74.619 259.145 703.689
EV_READ 2373 541.285 74.619 259.145 703.689
ŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲ
------------------------------------------ _from=0 _into=1 ------------------------------------------
Número de Desviación
Variable observaciones Media estándar Mínimo Máximo
ŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲ
read 196 505.862 98.890 107.390 781.880
P_read 196 496.250 74.302 255.044 627.364
EV_READ 196 496.250 74.302 255.044 627.364
ŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲ
------------------------------------------ _from=1 _into=0 ------------------------------------------
Número de Desviación
Variable observaciones Media estándar Mínimo Máximo
ŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲ
read 148 457.948 114.707 187.420 708.490
P_read 148 471.073 77.947 311.934 655.013
EV_READ 148 471.073 77.947 311.934 655.013
ŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲ
------------------------------------------ _from=1 _into=1 ------------------------------------------
Número de Desviación
Variable observaciones Media estándar Mínimo Máximo
ŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲ
read 772 470.848 118.319 30.190 787.180
P_read 772 472.280 94.874 213.132 648.067
EV_READ 772 472.280 94.874 213.132 648.067
ŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲŲ
ϭϴϴdE/^^'DEd/MEDZK^ Ξ^dZKK
6.5 ANÁLISIS CLUSTER CON REDES NEURONALES
A TRAVÉS DE SPSS CLEMENTINE
Dentro de la paleta Modelado, Clementine dispone de los nodos Entrenar red,
Entrenar Kohonen y Entrenar K-medias (Figuras 6-25 y 6-26) que permiten trabajar con
redes neuronales para realizar segmentación mediante análisis cluster.
Figura 6-25 Figura 6-26
El nodo Entrenar Kohonen permite crear y entrenar redes neuronales de Kohonen, que
suelen usarse para crear clusters cuando no se conoce el número inicial de grupos. Como
ejemplo, vamos a utilizar los datos del archivo MUNDO para agrupar, a partir de información de
tipo social y económico, a distintos países del mundo en grupos homogéneos. El objetivo es
conocer qué países son más o menos parecidos según las variables siguientes: densidad,
urbana, espvidaf, espvidam, alfabet, inc_pob, mortinf, tasa_nat, tasa_mort, tasasida y log_pib. El
resto de variables, salvo PA_S, que tiene un papel de etiqueta y serán excluidas del análisis.
Comenzamos, utilizando como origen de datos, el conjunto de datos SAS de nombre
mundo.sas7bdat y lo unimos con un nodo Tipo para situar como variables de entrada las
involucradas en el análisis y como no utilizables el resto de las variables del archivo (Figura 6-27). A
continuación añadimos el nodo Entrenar Kohonen, hacemos doble clic sobre él y rellenamos su
pantalla de entrada como se indica en el Figura 6-28. Al pulsar en Ejecutar se ejecuta el nodo y
aparece un icono etiquetado con la letra K, que al ser examinado ofrece información sobre la
arquitectura de la red de Kohonen (Figura 6-29). Ahora podemos añadir al diagrama un nodo Tabla
(Figura 6-30), que al ser ejecutado nos permite ver las coordenadas de los puntos que situarán a los
individuos en los clusters $KX-Kohonen y $KX-Kohonen (Figura 6-31). Podemos añadir al diagrama
un nodo Gráfico para representar la coordenada de abscisas $KX-Kohonen contra la coordenada de
ordenadas $KY-Kohonen (Figura 6-32) cuyas opciones se fijan en la Figura 6-33 y que muestra un
conjunto de puntos cuya situación define los conglomerdos (Figura 6-34). Puntos más cercanos
pertenecerán al mismo conglomerado.
Figura 6-27
Ξ^dZKKKϲ͘^'DEd/MED/EdZ^EhZKE>^ ϭϴϵ
Figura 6-28 Figura 6-29
Figura 6-30
Figura 6-31
ϭϵϬdE/^^'DEd/MEDZK^ Ξ^dZKK
Figura 6-32
. .
Figura 6-33 Figura 6-34
El nodo Entrenar K-Medias de la paleta Modelado (Figura 6-26) permite realizar el
método K-Medias de análisis cluster. Como ejemplo utilizaremos el mismo del apartado anterior.
El diagrama completo, una vez ejecutado el nodo, se presenta en la Figura 6-35 (el símbolo de
este nodo, una vez ejecutado, se etiqueta con Km). La pantalla de entrada del nodo se rellena
según se indica en la Figura 6-36. Una vez examinado el nodo ejecutado, se obtienen los
clusters de la Figura 6-37. Si añadimos al icono Kmeans un nodo Tabla (Figura 6-38) podemos
ver los individuos y el cluster al que pertenecen en la columna $KM-Kmeans (Figura 6-39).
Figura 6-35 Figura 6-36
Ξ^dZKKKϲ͘^'DEd/MED/EdZ^EhZKE>^ ϭϵϭ
Figura 6-37
Figura 6-38
Figura 6-39
ϭϵϮdE/^^'DEd/MEDZK^ Ξ^dZKK
Si ahora añadimos al icono Kmeans un nodo Distribución (Figura 6-40) con las
especificaciones de la Figura 6-41 y lo ejecutamos, obtenemos la distribución de individuos
por clusters (Figura 6-42).
Figura 6-40
.
Figura 6-41
Figura 6-42
Ξ^dZKKKϲ͘^'DEd/MED/EdZ^EhZKE>^ ϭϵϯ
6.6 ANÁLISIS DISCRIMINANTE CON REDES
NEURONALES EN SPSS CLEMENTINE
El nodo Entrenar red de la paleta Modelado de SPSS Clementine (Figura 6-25)
permite crear y entrenar una red neuronal (perceptrón multicapa) con vistas a la optimización,
modelado y predicción. Como ejemplo, vamos a utilizar los datos del archivo CREDITOS para
establecer un modelo que permita ayudar (discriminar) a tomar la decisión sobre asignar o no
un crédito (variable CREDIT_V) en función del resto de las variables del archivo. Una vez
importado el fichero como un origen de datos SAS, podemos ver su información con un nodo
Tabla y utilizar el nodo Tipo para asignar a la variable CREDIT_V el papel de variable objetivo
(Target) y al resto de las variables el papel de inputs (Figura 6-43). A continuación se une al
diagrama el nodo Entrenar red, se hace doble clic sobre él con el botón secundario del ratón y
se elige Modificar en el menú emergente resultante (Figura 6-44) para definir los parámetros
de la red neuronal en la Figura 6-45.
Figura 6-43
Figura 6-44 Figura 6-45
ϭϵϰdE/^^'DEd/MEDZK^ Ξ^dZKK
Al hacer clic en Ejecutar en la Figura 6-45, se ejecuta el nodo y después del gráfico
temporal de la Figura 6-48 se obtiene en el diagrama su símbolo etiquetado con la letra N
(Figura 6-46). Haciendo clic con el botón derecho del ratón sobre este símbolo y eligiendo
Examinar en el menú emergente resultante, se obtienen los resultados de ajuste de la red
(Figura 6-47).
Figura 6-46 Figura 6-47
Figura 6-48
Si queremos ajustar un modelo lineal explícito que explique la decisión de adjudicar o
no un crédito en unción del resto de las variables, uniremos el nodo Entrenar red con el nodo
Regresión lineal (Figura 6-49). Hacemos clic con el botón secundario del ratón sobre este nodo,
elegimos Modificar en el menú emergente resultante y rellenamos la pantalla de entrada de la
regresión lineal como se indica en la Figura 6-50. Al pulsar Ejecutar en la Figura 6-50, se ejecuta
el ajuste y aparece el símbolo del nodo con la letra E. Haciendo clic con el botón secundario del
ratón sobre este símbolo y elegiendo Examinar, se ven los resultados del ajuste de los
parámetros del modelo (Figura 6-51). Si en esta última figura extendemos el menú Ver y
elegimos la opción resultados de experto, obtenemos un ajuste completo (Figuras 6-52 a 6-55).
Figura 6-49 Figura 6-50
Ξ^dZKKKϲ͘^'DEd/MED/EdZ^EhZKE>^ ϭϵϱ
Figura 6-51
Figura 6-52 Figura 6- 53
Figura 6-54
Figura 6-55
ϭϵϲdE/^^'DEd/MEDZK^ Ξ^dZKK
Figura 6-56
En la Figura 6-54 se observa un buen R-cuadrado y un p-valor (Sig.) muy bajo para
la F de Fisher, lo que indica una buena significatividad conjunta del modelo. El estadístico de
Durban Watson es cercano a 2, luego no habrá autocorrelación. En la Figura 6-55 se
observan las estimaciones de los parámetros (B) y su buena significativitad derivada de los
bajos p-valores (Sig.) salvo la variable AMEX cuya significatividad no llega al 50%. La Figura
6-56 presenta índices de condición bajos, lo que indica que no hay problemas de
multicolinealidad. El modelo ajustado puede discrimi nar muy bien a los clientes para predecir
que devolverán o no el crédito.

Para continuar leyendo

Solicita tu prueba

VLEX utiliza cookies de inicio de sesión para aportarte una mejor experiencia de navegación. Si haces click en 'Aceptar' o continúas navegando por esta web consideramos que aceptas nuestra política de cookies. ACEPTAR