Mostrando entradas con la etiqueta R. Mostrar todas las entradas
Mostrando entradas con la etiqueta R. Mostrar todas las entradas

lunes, 17 de marzo de 2014

Análisis de Datos Funcionales



Se presenta un método que últimamente conoce gran interés en el área de la investigación estadística. Se trata del Análisis de Datos Funcionales, método que pretendemos aplicar a un conjunto de datos reales, datos que corresponden al número medio lunar de fallecimientos, por culpa de una enfermedad pulmonar, en UK, durante 1974-1979. Vamos a aplicar las técnicas de dicho método con la ayuda del software estadístico de licencia gratuita R, utilizando el paquete fda. El análisis de datos funcionales dispone de varias técnicas para su desarrollo, en función de las necesidades de cada caso en parte. Para nuestro conjunto de datos nos ha parecido adecuado utilizar el análisis de datos exploratorio funcional, descriptivo funcional y el análisis de componentes principales funcionales. El fallecimiento, por cualquier razón, es motivo suficiente como para intentar analizar, entender y explicar todo lo que sea posible sobre el tema. Nuestro objetivo es presentar los datos, calcular las medias funcionales, las desviaciones de la media y con la ayuda de los   componentes principales funcionales, intentar explicar la variabilidad que pueda existir en los datos. 


Palabras clave: Análisis de datos funcionales; Análisis de componentes principales funcionales; Enfermedades pulmonares; R y fda.

Introducción


Los datos que vamos a utilizar para nuestro análisis están representados en la Figura 1. Se trata del número medio lunar de fallecidos, por culpa de alguna enfermedad pulmonar,  registrados durante 1974-1979 en UK. De esta forma tenemos seis variables (N=6) representadas sobre el intervalo (T=1:12), intervalo que corresponde a los doce meses del año. Analizando el primer gráfico se observa que para los seis años, el mayor número de fallecidos se registra durante los meses del invierno y el menor número se      registra durante los meses de verano.

Figura 1. Fallecidos por enfermedades pulmonares en UK
El análisis de datos funcionales transforma los datos discretos en funciones, y a estas funciones se les aplica varias técnicas con el objetivo de descubrir estructuras intrínsecas que con una simple representación no sería posible evidenciar. Para la transformación de los datos vamos a utilizar el suavizado y para la representación de las funciones utilizaremos las  funciones bases B-spline. El sistema de funciones bases tiene ϕ_k (ϕ_1,…,ϕ_k) funciones independientes unas a otras y tienen la propiedad de que podemos aproximar bastante bien cualquiera función, tomando la suma de los coeficientes, o una combinación lineal de un número bastante grande de K de estas funciones. Una función spline está definida como:

S(t)=∑_(k=1→m+L-1)[c_k B_k (t,τ) ]


El segundo objetivo será el cálculo de las medias funcionales y la  representación de las varianzas funcionales que nos informará acerca de la distribución de variabilidad.
Nuestros primeros objetivos  van a ser: suavizar las funciones, analizar el ajuste, los coeficientes y los errores. El suavizado se realizará mediante  la reducción de rugosidad siguiendo el siguiente modelo:

 F(c)=∑_j[(y_j-x(t_j ))^2+λ∫(D^2 x(t))^2 dt


En esta ecuación el parámetro de suavizado es  lambda, más grande el valor de lambda más suave será la función, pero hay que tener cuidado porque si seleccionamos un valor demasiado grande entonces se llegaría a una línea recta, que no será muy descriptiva (para una información más detallada el lector debe consultar Ramsay (2005)) Los coeficientes de las funciones nos permiten buscar más  información acerca de la distribución de los datos, de igual modo que los errores resultantes tras realizar dicho ajuste.

El segundo objetivo será el cálculo de las medias funcionales y la  representación de las varianzas funcionales que nos informará acerca de la distribución de variabilidad.

-x(t)=N^(-1) ∑_(i=1→N) [x_i (t)]


var_X (t)=(N-1)^(-1) ∑_(i=1→N)[x_i (t)-x(t) ]^2 


Nuestro tercer objetivo será la exploración de la variabilidad mediante el análisis de componentes principales funcionales. Dado que las variaciones entra-funciones se analizan con el suavizado, en esta ocasión analizaremos las variaciones inter-funcionales. Queremos ver qué tipo de variaciones existen en los datos y cuantas de estas variaciones son substanciales. Como es el caso del análisis multivariante, los eigenvalues de la función de varianza-covarianza  bivariante ν(s,t) son indicadores de la importancia de estos componentes principales y la gráfica de los eigenvalues es un método para determinar cuantas componentes principales son necesarias para explicar los datos ( Peña, 2002). En el análisis de componentes principales funcionales es preferible una eigenfunction asociada a cada eigenvalue y no a cada eigenvector. Estos eigenfunctions describen la mayor variabilidad. Muchas veces, aplicando una rotación a los componentes, podemos obtener una representación más descriptiva (para mayor información se recomienda al lector el libro de M.J. Valderrama, A.M. Aguilera y F.A Ocaña, 2000). 

Notamos que en el análisis la variación se puede calcular con la ayuda de la matriz de covarianzas o con la matriz de correlaciones. En el análisis multivariante, normalmente se utiliza la matriz de correlación, porque la escala y la locación influyen de manera desinteresada. En cambio, en el caso funcional los valores x_j (t),x_s (t)  tienen las mismas escalas y orígenes. Entonces la función de covarianza estimada


ν(s,t)=(N-1)^(-1) ∑_(i=1→N) [x_i (s)-x(s)][x_j (s)-x(t)]

, o el producto cruzado funcional


ν(s,t)=N^(-1) ∑_(i=1→N) x_i (s) x_i (t)

tienden a ser más útiles que la correlación funcional. Más información sobre análisis de componentes principales funcionales también en  Ramsay (2005) y Horvath (2012).


Para el análisis de los datos se ha utilizado el software de licencia gratuita R, que es un lenguaje de alto nivel y un entorno para el análisis de datos y gráficos. Puede descargarse libremente del sitio llamado CRAN (Comprehensive R Archive Network) en la siguiente dirección: http://cran.r-project.org/

Entre otras características dispone de:
-          almacenamiento y manipulación efectiva de datos;
-          operadores para cálculo sobre variables indexadas (Arrays), en particular matrices;
-          una amplia, coherente e integrada colección de herramientas para análisis de datos;
-          posibilidades gráficas para análisis de datos, que funcionan directamente sobre pantalla o impresora;
-          un lenguaje de programación bien desarrollado, simple y efectivo, que incluye: condicionales, ciclos, funciones recursivas y posibilidad de entradas y salidas.

El término “entorno" lo caracteriza como un sistema completamente diseñado y coherente, antes que como una agregación incremental de herramientas muy específicas e inflexibles. R es en gran parte un vehículo para el desarrollo de nuevos métodos de análisis interactivo de datos.


 Aunque R puede entenderse como un lenguaje de programación, los programas escritos en R deben considerarse esencialmente efímeros. Para su uso se pone a la disposición del usuario un número bastante grande de librerías (paquetes), cada una diseñada para algún tipo de análisis especifico. Nosotros, para el análisis de datos funcionales, vamos a utilizar el paquete estadístico fda, paquete diseñado por  J.O. Ramsay, Hadley Wickham y Giles Hooker en 2012.

Metodología


Primero se definen las funciones bases ϕ_k, que en este caso van a ser 7 funciones B-spline elegidas en un intervalo T=1…12 . Se utilizarán splines de orden cuatro, consistiendo en polinomios cúbicos de grado tres y un solo nudo para cada punto de corte. Para ello hemos dividido nuestro intervalo T en sub-intervalos (1-4, 4-8 y 8-12). En cada sub-intervalo suponemos un  solo nudo interno, en total tres. Para el cálculo del K se utilizó la fórmula K=O+N, donde O(4) es el orden y N(3)) es el número de nudos internos, por lo cual K=4+3=7.
Figura 2. Siete funciones bases B-splines

 Basis object:
Type:   bspline
Range:  1  to  12
Number of basis functions:  7
Order of spline:  4
[1] "  Interior knots"
[1] 3.75 6.50 9.25                                                       

Observamos que los nudos internos están calculados automáticamente en los puntos 3,75; 6,50 y 9,25.Tenidas ya las funciones bases ϕ_k podemos ocuparnos del cálculo de los coeficientes c_k ,y después podemos construir el objeto funcional y representarlo mediante una gráfica. Los coeficientes se pueden calcular mediante la ecuación que se utiliza para el cálculo de los coeficientes en regresión: b=(X’X)^(-1) X'y.

La posibilidad de utilizar derivadas  de una función es quizá la tarea más distintiva de los datos funcionales. Proponiendo una combinación lineal de derivadas llegaremos a operadores lineales diferenciales. Nosotros utilizaremos para el suavizado la segunda derivada y un valor mínimo para el lambda 0,01.
Figura 3. Reducción de rugosidad utilizando la segunda derivada y el lambda de 0.01

Podemos dibujar las segundas derivadas en busca de puntos de inflexión. En la Figura 4 se observa que para 1979 e incluso para el 1975  no hay puntos de inflexión  (la segunda derivada se mantiene a cero por todo el recorrido), pero no es el caso de los otros años donde se observa un punto de inflexión importante en el cuarto mes (Abril). Remarcamos también que el cambio de las funciones no es para los cuatro años en el mismo sentido, dos cambia a concavidad y dos a convexidad.
Figura 4. Las segundas derivadas de las funciones

Antes de pasar al análisis descriptivo funcional podemos analizar la calidad del ajuste mediante las 7 funciones bases B-splines. Para ello se compara cada curva con los datos de donde provienen. En R se puede hacer con la ayuda de la función plotfit. fd(), que nos devuelve también la varianza de dicho ajuste.


Figura 5. El ajuste de las curvas y la deviación estándar de sus variaciones

En la Figura 5 se observa que el ajuste de los datos mediante las funciones bases utilizadas es bastante bueno, con una varianza residual baja, la más grande 102, 08 para el año 1977.


A continuación realizaremos el análisis descriptivo funcional, donde calcularemos la media funcional y la matriz de varianza-covarianza funcional, y para entender mejor la variabilidad funcional, lo que podemos hacer es dibujar las varianzas mediante un gráfico de superficie.


Observamos que la mayor variabilidad esta en los primeros meses del año y en los últimos, es decir en los meses de invierno. Entendemos que el número de fallecimientos sea mayor en los meses de invierno, pero la variabilidad es un dato bastante interesante dado que tenemos que entender porque en un año la tasa de fallecimiento por culpa de una enfermedad pulmonar es mayor que en otro, en las mismas fechas. Quizá sería interesante analizar las variaciones climáticas en esas fechas.     
Figura 6. Covarianza funcional

Más información acerca de la variabilidad podemos encontrar analizando los componentes principales funcionales (ACPF). Los componentes principales representan variaciones alrededor de la media. Los más y menos indican las consecuencias de añadir o sustraer una pequeña parte de cada componente principal. Es usual que las CPF no rotados  representen la misma secuencia de variación, indiferente de lo que se analiza. La primera componente será un movimiento constante, la segunda tendrá un contraste  entre la primera y la segunda mitad cruzando cero sólo una vez, la tercera tendrá un patrón cuadrático, etc. Se vendrán las secuencias de un polinomio ortogonal. Por lo cual surge la necesidad de rotar los componentes principales, descubriéndose de esta forma más variaciones. Para este objetivo el algoritmo Varimax es bastante utilizado.  


Figura 7.  La varianza explicada con los CPF rotados con Varimax 


Como en el caso del análisis multivariante estudiar los residuos nos puede ayudar a descubrir nuevas informaciones. En este caso vamos a calcular  los residuos funcionales como  diferencia entre los valores funciones ajustadas  y los valores funcionales sin error (para poder obtener las funciones sin error hemos considerado unas funciones bases Bspline con K=n) y vamos a dibujar dichos residuos tras aplicarles un suavizado lineal. El resultado se puede ver en la figura 8, donde remarcamos que lo que más influye en la variabilidad de los primeros 6 meses es el año 1976 y lo que más influye en la variabilidad de los últimos 6 meses es el año 1977.
Figura 8. Residuos suavizados

Conclusiones


Recordamos que en este trabajo nuestro objetivo ha sido la presentación de algunas de las técnicas del ADF con la ayuda de unos datos reales. Nuestros datos corresponden a los fallecimientos medios lunares, registrados durante seis años, por culpa de alguna enfermedad pulmonar, en UK.

Se ha empezado con la presentación gráfica de los datos (véase la Figura 1) donde se observa, en general, que los datos siguen una distribución descendente empezando con  Enero hasta  Agosto-Septiembre y luego otra vez empiezan a ascender de nuevo, con una mayor variabilidad inter-funcional en los primeros tres meses.

Se ha procedido a la transformación de datos discretos en funciones, mediante siete funciones bases Bspline, utilizándose también la reducción de rugosidad. Esta reducción se realiza con la ayuda del cuadrado de la segunda derivada, nivel de suavizado controlado con el parámetro de   suavizado lambda.

Una vez obtenidas las funciones y calculados los coeficientes de ajuste se ha podido calcular y representar la segunda derivada de las funciones (véase Figura 4), descubriéndose un importante punto de inflexión existente en el mes de abril, donde los años 1976 y 1978 cambian de la concavidad la convexidad y los años 1977 y 1974 cambian de convexidad a concavidad. También se ha podido comprobar (Figura 5) que los ajustes mediante las siete funciones bases Bspline han sido bastante buenos, con valores de las desviaciones menores de 100,03.

Representando la gráfica de las varianzas-covarianzas funcionales (Figura 5) se ha podido demonstrar que la variabilidad existe no solamente en los primeros cuatro meses sino también en los últimos dos. Algo de variabilidad existe también en el mes de Agosto, aunque pequeña.

Gracias al análisis de componentes principales funcionales se ha podido ver  que más de 64 % de la variabilidad total está en los primeros tres meses, y 32 % de la variabilidad está en los últimos 4 meses y en primavera.

Después de observar las fechas con mayor variabilidad, nos interesa saber cual son los años, las funciones, las variables que más influyen en la variabilidad. Para ello hemos calculado y representado los residuos funcionales suavizados (Figura 8), donde remarcamos que la variabilidad de los primeros meses está en principal explicada por la función que representa el año 1976 y la variabilidad de los últimos meses está explicada, en su mayor parte, por el año 1977.


Bibliografía

1.       Daniel Peña; Análisis de Datos Multivariantes, 2002.
2.       J.O. Ramsay, B.W. Silverman;  Functional Data Analysis, Editorial Springer, 2005.
3.   J.O. Ramsay, Giles Hooker, Spencer Graver; Functional Data Analysis with R and Matlab, Editorial Springer, 2009.
4.   Lajos Horvath, Piotr Kokoszka; Inference for Functional Data with Applications, Editorial Springer, 2012.


5.     M.J. Valderrama, A.M. Aguilera y F.A Ocaña, Predicción Dinámica mediante Análisis de Datos  Funcionales, Editorial La Muralla, Madrid, 2000.

jueves, 16 de enero de 2014

Sierra Nevada/Medios Sociales/Twitter/Minería de Textos/Análisis de Sentimientos

Los medios de comunicación sociales o simplemente medios sociales (social media en inglés), son plataformas de comunicación en línea donde el contenido es creado por los propios usuarios mediante el uso de las tecnologías de la Web 2.0, que facilitan la edición, la publicación y el intercambio de información [1].

Figura 1. Términos frecuentes


En esta ocasión vamos a analizar los tweets publicados durante el mes de diciembre en la red social Twitter, tweets que contenían las palabras sierra nevada. Se han recuperado un total de 162 tweets, de lo cual 122 en castellano y 40 en inglés. Se han analizado por separado utilizándose las técnicas de Minería de Textos (Text Mining) disponibles hasta la fecha con el software de licencia gratuita R, versión 3.0.2.

Minería de Textos (Text Mining) es una de las ramas de la lingüística computacional que trata de obtener información y conocimiento a partir de conjuntos de datos que en principio no tienen un orden o no están dispuestos en origen para transmitir esa información.

Es una técnica clave en un mundo como el actual en el que continuamente se recogen datos desde distintas perspectivas y de muchos aspectos diferentes de todas las actividades propias de los seres humanos [2].

Dentro de los tweets en castellano, las palabras más utilizadas han sido: sierra y nevada (como éstas son las palabras utilizadas como filtro era lógico que sean las más frecuentes), granada (el lugar donde está situada la estación turística), nieve (principalmente lo que se busca en Sierra Nevada), precios@ (un atributo positivo), bonita(s) (también un atributo positivo), amig@ (por supuesto que no se puede disfrutar en sierra nevada (granada) de la nieve, de cosas preciosas y bonitas sin amig@s). La lista continúa, como bien se puede ver en la Figura 1  con: amo, lado, disco, etc.(el tamaño del término está directamente relacionado con la frecuencia que tiene en los tweets, más frecuencia más grande el tamaño).



Término
Frecuencia
Absoluta
sierra
144
nevada
128
granada
20
nieve
18
precios@
18
bonita(s)
17
amig@
16
amo
15
lado
15
disco
7
vista
7
noche(s)
6
partimos
5
ski
5
hoy
4
rio
4
turismo
4
vamos
4
……………
…………………

Tabla 1. Términos y frecuencias

A continuación podemos realizar un análisis de conglomerados (cluster analysis)  y/o un análisis de correspondencia, y para ello nos quedamos con las primeras 18 palabras más utilizadas, palabras expuestas en la Tabla 1.

El análisis de conglomerados es la denominación de un grupo de técnicas multivariantes cuyo principal propósito es agrupar objetos basándose en las características que poseen. El análisis de conglomerados clasifica objetos (es decir, sujetos, productos,  u otras entidades) de tal forma que cada objeto es muy parecido a los que hay en el conglomerado con respecto a algún criterio de selección predeterminado. Los conglomerados de objetos resultados deberían mostrar un alto grado de homogeneidad interna (dentro del conglomerado) y un alto grado de heterogeneidad externa (entre conglomerados). Por tanto, si la clasificación es acertada, los objetos dentro de los conglomerados estarán muy próximos cuando se represente gráficamente, y los diferentes grupos estarán muy alejados [3].

Per category total:              
Cluster 1
Cluster 2
Cluster 3
Corpus total
Number of terms             
94.0
105.0
231.0
430.0
Number of unique terms       
5.0
7.0
14.0
18.0
Percent of unique terms      
5.3
6.7
6.1
4.2
Number of hapax legomena     
2.0
0.0
0.0
0.0
Percent of hapax legomena    
2.1

0.0
0.0
0.0
Number of words            
360.0
210.0
570.0
1140.0
Number of long words        
85.0
30.0
124.0
239.0
Percent of long words       
23.6
14.3
21.8
21.0
Number of very long words   
30.0
0.0
26.0
56.0
Percent of very long words   
8.3
0.0
4.6
4.9
Average word length          
5.7
4.4
5.5
5.3

Tabla 2. Frecuencias  por cada conglomerado y en el Corpus

Antes de comprobar si en nuestro caso la clasificación ha sido o no acertada, observamos en la Figura 2, la distribución de los tweets por cada conglomerado. En la Tabla 2 tenemos expuesto algún otro dato descriptivo. Como bien se puede ver nos hemos quedado con tres conglomerados, en el primer conglomerado han entrado aproximadamente 35% de los tweets, en el segundo conglomerado poco más de 10% y en el tercer conglomerado poco más de la mitad de los tweets.

Figura 2. Distribución de los tweets por conglomerados

Una vez visto esto, queremos ver la frecuencia de cada palabra en cada conglomerado. Para ello, podemos construir un diagrama de barras, como en la Figura 3, donde vemos que el primer conglomerado está compuesto por las palabras sierra (poco más de la mitad  de las palabras), nevada (aproximadamente 45%), y precios@, bonit@, amig@ (completa el conglomerado). El segundo conglomerado contiene las palabras: sierra, nevada, precios@, binit@, amig@, amo, lado (con más o menos la misma frecuencia)  y el tercer conglomerados constituido por: sierra y nevada (con mayor frecuencia), granada y nieve (poco menos del 10 %), disco, vista, noche, partimos, hoy, rio, turismo, vamos completa el conglomerado (con menos de 5% de frecuencia). Lo que está claro es que las palabras sierra y nevada están presentes con bastante frecuencia en cada uno de los conglomerados, con mayor frecuencia en el primer conglomerado que está formado casi en totalidad por estos dos términos. Entonces, podemos deducir que el segundo conglomerado reúne los siguientes atributos utilizados, en la misma frase, junto con sierra y nevada: precios@, bonita(s), amig@, amo y lado, más bien aspectos sentimentales (en este caso positivos). El tercer conglomerado reúne en la misma frase, junto con sierra y nevada: granada, nieve, disco, vista, noche, partimos, hoy, rio, turismo y vamos, más bien aspectos físicos y naturalesPara ver el gráfico correspondiente a la Figura 3 en una ventana emergente pulse aquí: Figura 3. La distribución de los términos por conglomerados

Figura 3. Distribución de los términos por conglomerados

Hasta ahora, a partir de los 122 tweets escritos en castellano, nos hemos quedado con 18 palabras (las que más veces han sido utilizadas en los tweets) y las hemos agrupado en tres conglomerados,  según la frecuencia de los mismos y según los sujetos que han escrito los tweets. Hemos visto cuál han sido las palabras que han formado los tres conglomerados y la frecuencia (absoluta y relativa) en cada uno de ellos. A continuación nos toca analizar el modelo.

Hierarchical clustering of 122 documents using 18 terms (Ward's method with Chi-squared distance).
Clusters summary:
                                                  C1    C2      C3
Number of documents          43.0   15.0   64.0
% of documents                    35.2   12.3   52.5
Within-cluster variance          7.1    2.4    23.5

Tabla 3. Modelo del análisis de conglomerados

Vemos que para realizar el análisis de conglomerados se ha utilizado el algoritmo del método jerárquico Ward y la distancia Chi-cuadrada. La varianza entra-conglomerado es 0 para el segundo conglomerado, 7.1 en el primer conglomerado y un poco grande en el tercer conglomerado, 23.5
En el método de Ward, la distancia entre dos conglomerados es la suma de los cuadrados entre dos conglomerados sumados para todas las variables. En cada paso del procedimiento de aglomeración, se minimiza la suma de los cuadrados dentro del conglomerado para todas las particiones obtenidas mediante la combinación de dos conglomerados en un paso previo [3].
Para la creación de un mapa perceptual tenemos que realizar otro tipo de análisis, y  en este caso se trata del análisis de correspondencias. El análisis de correspondencias difiere de otras técnicas de interdependencia en su capacidad para utilizar tanto datos no-métricos como no-lineales. La proximidad indica el nivel de asociación entre las categorías de filas o columnas, en nuestro caso el nivel de asociación entre los sujetos y los 18 términos más utilizados en los 122 tweets escritos en castellano. Los valores de similitud (denominados chi-cuadrado) ofrecen una medida estandardizada de asociación  y con estas medidas de asociación el análisis de correspondencias  crea una medida de distancia métrica y crea dimensiones ortogonales sobre las cuales se pueden colocar las categorías para tener más en cuenta la fortaleza de la asociación representada por las distancias de la chi-cuadrado.
En la Figura 3, se observa que el primer conglomerado está entre el segundo y el tercero, pero mucho más cerca del tercero. Se puede ver claramente que los términos precios@, bonit@, lado, amig@ y amo forman un conglomerado muy bien separado, y que los términos del tercer conglomerado están algo retirados del centroide. Remarcamos también el agrupamiento, por un lado de los términos sierra, nevada y noche (cercano al centroide del primer conglomerado) y por otro lado el agrupamiento de los otros términos vista, partimos, hoy, ski, granada, disco, turismo, nieve, vamos y rio. 
Para ver el gráfico correspondiente a la Figura 3 en una ventana emergente pulse aquí: Figura 4. Mapa perceptual términos y conglomerados

Figura 4. Mapa perceptual términos y conglomerados

Incluso se puede analizar en detalle cuál de los sujetos son los  que contribuyen a la construcción de cada conglomerado. En este caso, nos vamos resumir a una representación gráfica de un mapa perceptual como la que se puede ver en la Figura 5.
Para ver el gráfico correspondiente a la Figura 5 en una ventana emergente pulse aquí: Figura 5. Mapa perceptual sujetos

Figura 5. Mapa perceptual sujetos


Dentro de los tweets escritos en inglés lo más utilizados han sido: sierra y nevada, snow, granada, etc (véase Tabla 4). Para analizar  los tweets escritos en inglés hemos comparando cada término (de cada tweet) con una lista de términos considerados positivos y otra de términos considerados negativos. 



Término
Frecuencia absoluta
sierra
42
nevada
40
snow
18
granada
9
day
7
friend
7
love
7
go
6
good
6
nice
6
ski
6
family
5
today
5



Tabla 4. Términos y frecuencias en inglés

Tras la comparación, se ha calculado para cada tweet una puntuación, resultando de esta forma, tweets neutros y tweets positivos. Hay que remarcar que no ha resultado ningún tweet negativo. Se han considerado  tweets neutros los que han obtenido una puntuación igual a zero y tweets positivos los que han obtenido una puntuación igual o superior a uno (más grande la puntuación, más positivos se pueden considerar los tweets). Los resultados se pueden ver en la Figura 6. 



Figura 6. Puntuación de sentimientos  




En conclusión, podemos decir que, en la red social Twitter, a lo largo del mes de Diciembre 2013, los usuarios han hablado de Sierra Nevada, en general, de manera positiva, destacando los siguientes términos: granada, nieve (snow), precios@, bonita(s), amig@ (friend), amo (love), lado, disco, vista, noche(s),  ski, good, nice, family, today, etc. En el mismo tiempo, hemos visto que se pueden formar dos conglomerados claros, el segundo y el tercero. El segundo se refiere a aspectos sentimentales y el tercero a aspectos físicos y naturales.







[3] Joseph Hair F. Jr., Rolph E. Anderson, Ronald L. Tatham, William C. Black, Análisis Multivariante, Pearson, Madrid, 2007.