Estimar la magnitud de los movimientos sísmicos en Chile a partir de Tweets
Gioconda Herrera-Almarza y Henry Rosales-Méndez
{gcherrer,hrosales}@dcc.uchile.cl
Un terremoto es un fenómeno de sacudida brusca y pasajera de la corteza terrestre producida por la liberación de energía acumulada en forma de ondas sísmicas. Según el Servicio Geológico de los Estados Unidos (USGS) al año se registran en promedio 1 sismo de magnitud de 8 o más, 17 de magnitud de 7 a 7.9, 134 de magnitud de 6 a 6.9, 1319 de magnitud de 5 a 5.9, 13000 de magnitud de 4 a 4.9, 130000 de magnitud de 3 a 3.9 y 1300000 de magnitud de 2 a 2.9, es decir, aproximadamente 4000 movimientos sísmicos diarios en el mundo. Chile es el segundo país con más actividad sísmica (después de Japón) pues estamos ubicados en el cinturón de fuego del pacífico (es un conjunto de fronteras de placas tectónicas ubicado en el pacífico desde las costas de Asia hasta las Américas y reúne la principal actividad sísmica y volcánica del mundo). En lo que va de año ya se han registrado 4527 movimientos sísmicos (fuente sismología.cl), más aún, de los 10 terremotos con mayor magnitud en toda la historia, Chile ha sufrido tres de ellos:
En 1960 de magnitud 9,5, el más grande de la historia.
En 1868 de magnitud 9,0.
En 2010 de magnitud 8,8, causando grandes pérdidas materiales y humanas.
Un hecho curioso pasó en el 2008 con el terremoto de Japón (de magnitud 6.8) donde las personas en el mundo se enteraron por Twitter antes de que se diera algún reporte oficial, es por esto que cada vez son más utilizadas las redes sociales a la hora de clasificar, describir y predecir eventos de esta naturaleza [1,2]. Twitter es un servicio microbloggin creado en el 2006 para compartir opiniones, ideas y pensamiento en 140 caracteres. Actual- mente existe más de 500 millones de usuarios registrados y a diario se generan aproximada- mente 65 millones de tweets. Adicionalmente Twitter cuenta con tres API (Streaming API, REST API y Search API) que permiten entre otras opciones la posibilidad de obtener un conjunto de tweets a fines práctico en tiempo real. Así, nuestro objetivo es lograr estimar la intensidad de los movimientos sísmicos con el Twitter. Esto es un gran aporte para la sociedad, ya que a tiempo real la personas pueden ser alertadas, lo que permite tomar las medidas de precaución adecuadas.
Datos
Para este segundo desafío se manejan tres colecciones de datos: los datos de Twitter, sismológicos y los datos de los eventos que se obtienen en este trabajo a partir del procesamiento de las dos primeras colecciones. Tenemos 100 días de registro de tweets y datos sismológicos, correspondientes a los días 16-26 de Septiembre del 2015 y Junio-Agosto del 2016, que hace un total de 23.378.586 tweets, donde ocurrieron 443 sismos en Chile con magnitud entre el rango de 4.0 a 8.4. Para cada sismo tenemos la hora, el día, la magnitud y el epicentro de ocurrencia esta información fue obtenida del centro de sismología de la universidad de Chile.
Se definirá un evento como un sismo y los tweets correspondiente a los primeros 15 minutos luego del inicio del sismo. Contamos con 443 eventos de los cuales se dividen en 5 clases: clase 1 son los sismos que están entre la magnitud 4.0 y 4.9, clase 2 son los sismos que están entre la magnitud 5.0 y 5.9, clase 3 son los sismos que están entre la magnitud 6.0 y 6.9, clase 4 son los sismos que están entre la magnitud 7.0 y 7.9 y clase 5 son los sismos que están entre la magnitud 8.0 y 8.9. Tenemos 371 elementos de la clase 1, 56 elementos de la clase 2, 14 elementos de la clase 3, 1 de la clase 4 y 1 de la clase 5. En la Figura 1 se puede observar que la clase que más elementos tiene sigue una distribución geométrica.
Para cada evento consideramos los siguientes atributos: fecha en que se registró el sismo, hora en que se produjo, magnitud real del sismo, profundidad del sismo, canttweet cantidad de tweets del evento, cantretweet cantidad de re-tweet del evento, cant_caracteres_ sin_proc cantidad de caracteres de los tweets sin procesar (ver siguiente sección) durante el evento, cant_caracteres_proc cantidad de caracteres de los tweets procesados durante el evento, exclamación cantidad de la aparición del signo de exclamación durante el evento y velocidadpromedio relacionado con el promedio de aparición de los tweets. Adicional, los atributos sismo, terremoto, temblor, sacudir, magnitud, Chile, que tienen como valor la cantidad de la aparición de la palabra correspondiente en los tweets procesados para el evento. De forma analoga para los atributos sismo_orig, terremoto_orig, temblor_orig, sacudir_orig, magnitud_orig, chile_orig, pero en este caso, teniendo en cuenta el texto de los tweets sin procesar. Lo que hace un total de 22 atributos.
Preprocesamiento
Los tweets generalmente contienen errores ortográficos y gramaticales, los cuales pueden incrementarse en situaciones de crisis. A continuación se presentan los pasos realizados en el preprocesamiento de los textos de los tweets, que tienen como principal objetivo lograr textos sin redundancia y exceso de información. Los pasos son los siguientes:
Transformar los textos en minúscula.
Quitar las palabras que no aportan contenido útil a los tweets. Esta técnica es muy utilizada en la minería de texto con el principal objetivo de reducir la dimensionalidad. Generalmente se tienen conjunto de palabras con esta categoría, las cuales son eliminadas del texto. En nuestro caso, se eliminan del texto las palabras que no son sustantivos, verbos, o que empiecen con los símbolos @ y #. Para esto, se hizo uso de la herramienta lingüística TreeTagger [3] que presenta una gran aceptación por la comunidad científica [4,5].
Se transforman las palabras del texto a su lema correspondiente. En este trabajo una de los análisis principales que tendremos en cuenta es el uso de las frecuencias de las palabras, el cual se ve afectado generalmente por el uso de los diferentes morfemas que puede tener una misma palabra. El hecho de cambiar cada palabra a por su lema correspondiente, nos permite tomar como una misma palabra a las palabras que tienen iguales lexemas pero diferentes morfemas. Para lograr esto utilizamos también la herramienta TreeTagger, que permite etiquetar con gran eficiencia la categoría gramatical de las palabras [3]
A continuación se muestra un ejemplo del texto de un tweet antes y después del preprocesamiento:
Texto: “Estuve temblando todo el día parezco chile” Procesado: “estar temblar día parecer chile”
Con el objetivo de conocer las palabras más frecuentes y sus frecuencias en un día sin intensidad sísmica perceptible (día 07 de Agosto del 2016) se muestra en la Figura 2 un histograma de las 20 palabras más frecuentes correspondientes a los tweets de este día. De forma análoga, se muestra en la Figura 3 el histograma de las 20 palabras más frecuentes en un día con alta intensidad sísmica perceptible (25 de Julio del 2016).
Como es esperado, las palabras más frecuentes en los días de sismos perceptibles estaban acorde con el evento del sismo.
Correlación
La correlación es un análisis bivariado que mide el grado de asociación que existe entre dos variables. El valor del coeficiente de correlación varía entre +1 y -1. Cuando el valor del coeficiente de correlación está alrededor de ± 1, entonces se dice que es un grado perfecto (positivo o negativo) de asociación entre las dos variables. A medida que el valor del coeficiente de correlación va hacia 0, la relación entre las dos variables será más débil. Las correlaciones más utilizadas son la de Pearson, la Spearman y la Kendall.
Con el objetivo de reducir la dimensionalidad realizamos un análisis de correlación entre los atributos. Calculamos las correlaciones de Pearson, Kendall y Spearman entre el atributo magnitud real y todas las posibles combinaciones de diferentes tamaños de los otros atributos. Específicamente, se generaron 2^18 = 262144 subconjuntos, correspondientes al conjunto potencia de los 22 atributos exceptuando los 4 pertenecientes a aspectos sismológicos.
Como resultado de la correlación se obtuvo que la medida que mejor se ajusta a los datos es la de Pearson con una correlación de 0.6 entre el atributo magnitud real y la combinación de los atributos sacudir_orig, magnitud_orig y velocidadpromedio. Con Spearman el mejor resultado que se obtuvo fue de 0,41 entre el atributo magnitud real y la combinación de los atributos sacudir_orig y velocidadpromedio. Con Kendall el mejor resultado obtenido fue de 0.3 entre el atributo magnitud real y la combinación de atributos sacudir_orig y velocidadpromedio.
En la Figura 4 se puede observar los coeficientes de correlación de Pearson de las 14 combinaciones de atributos que mejor resultados arrojaron.
En la Figura 5 se puede observar la distribución de correlación de Pearson para las 4 mejores combinaciones.
Figura 5. Distribución de correlación de Pearson de: a) magnitud real vs sacudir_orig-magnitud_orig-velocidadpromedio, b) magnitud real vs sacudir_orig-magnitud_orig, c) magnitud real vs temblor_orig-sacudir_orig-magnitud_orig y d) magnitud real vs temblor_orig-sacudir_orig-magnitud_orig-velocidadpromedio
Experimentación y Resultados
Clasificadores
Para la predicción de la magnitud real se utiliza un enfoque supervisado a través de los eventos obtenidos. Los clasificadores utilizados fueron: KNN, Naive Bayes, Árboles de Decisión, Support Vector Machines. Adicionalmente, se utilizaron dos algoritmos baselines con el objetivo de tener una cota inferior de desempeño. El primero de los baselines predice siempre la clase mayoritaria de los datos entrenados, el segundo predice una clase al azar. Para la experimentación se escogieron como atributos los grupos de términos que tuvieron mayor correlación A = {sacudir_orig-magnitud_orig-velocidadpromedio, sacudir_orig-magnitud_orig, temblor_orig-sacudir_orig-magnitud_orig-velocidadpromedio, temblor_orig-sacudir_orig-magnitud_orig, sacudir_orig, sacudir_orig-velocidadpromedio, terremoto_orig-sacudir_orig-magnitud_orig-velocidadpromedio, terremoto_orig-sacudir_orig-magnitud_orig, terremoto_orig-temblor_orig-sacudir_orig-magnitud_orig-velocidadpromedio}, mostrados de forma ordenada por la correlación.
Con el objetivo de explorar el desempeño de cada clasificador, cada uno de ellos fue evaluado con 5 subconjunto de grupos de rasgos de A por cada evento, donde el subconjunto de tamaño p contiene los p grupos mayormente correlacionados. Adicionalmente, por cada corrida del clasificador KNN con los diferentes subconjuntos de grupos de términos se utilizó el parámetro k en el rango de 1 a 9. Para la evaluación se utilizó una estrategia de validación cruzada de tamaño 10 utilizando accuracy como medida de calidad. Siendo los conjuntos de atributos T1 = {terremoto_orig-temblor_orig-sacudir_orig-magnitud_orig-velocidadpromedio, terremoto_orig-sacudir_orig-magnitud_orig} T2={terremoto_orig-temblor_orig-sacudir_orig-magnitud_orig-velocidadpromedio, terremoto_orig-sacudir_orig-magnitud_orig, sacudir_orig-velocidadpromedio, terremoto_orig-sacudir_orig-magnitud_orig-velocidadpromedio, temblor_orig-sacudir_orig-magnitud_orig} T3={terremoto_orig-temblor_orig-sacudir_orig-magnitud_orig-velocidadpromedio} en a Figura 6 se muestran los clasificadores con sus puntajes más altos. Se puede observar como el clasificador KNN es el que obtiene los mejores resultados a partir de solo dos grupos de rasgos. Como era de esperar los clasificadores mejoran el resultado de los baselines, excepto por el caso del árbol de decisión debido a los pocos atributos utilizados.
Regresión Lineal
Una segunda alternativa para predecir las magnitudes de los sismos es utilizar regresión lineal y esto se consideró a que la correlación de Pearson fue la que presentó mejores resultados. Se realizo el mismo procedimiento que el realizado para los clasificadores.
Una manera de validar estos resultados es midiendo la varianza y error cuadrado medio entre los valores predichos y los valores reales. Obtuvimos como mejor resultado para la varianza un valor de 0.18 combinando los atributos de magnitud real y T2 y para el error cuadrado medio de 0.13 combinando los atributos de magnitud real con T3. El mejor balance entre el error medio y la varianza, logrando es de 0.13 y varianza de 0.39 para la combinación entre magnitud real y T3. En la Figura 7 se puede observar el error cuadrado medio obtenido utilizando un 20% de datos de testing y un 80% de entrenamiento y en la Figura 8 se muestra la varianza obtenida.
El script en python con que se alcanzaron estos resultados se puede observar en sript.py
Conclusiones
En este desafío nos enfocamos en seleccionar el conjunto mínimo de atributos que mejor defina los eventos sísmicos, se comenzó con una dataset con 22 atributos donde se combinaron los tweets con el pre-procesamiento de limpieza y sin él. Se obtuvo del análisis de correlación que los atributos de magnitud real y la combinación de los atributos sacudir_orig, magnitud_orig y velocidad_promedio están linealmente correlacionados con un coeficiente de Pearson de 0.60, es decir, existe una correlación moderada entre las magnitudes de los sismos y los tweets.
El análisis de la correlación nos permitió reducir la dimensión de 22 a 10 que son magnitud real, sacudir_orig-magnitud_orig-velocidadpromedio, sacudir_orig-magnitud_orig, temblor_orig-sacudir_orig-magnitud_orig-velocidadpromedio, temblor_orig-sacudir_orig-magnitud_orig, sacudir_orig, sacudir_orig-velocidadpromedio, terremoto_orig-sacudir_orig-magnitud_orig-velocidadpromedio, terremoto_orig-sacudir_orig-magnitud_orig y terremoto_orig-temblor_orig-sacudir_orig-magnitud_orig-velocidadpromedio. Por últimos se realizó un análisis no supervisado para obtener un clasificador que nos permita predecir las 5 clases definidas, a través de los clasificadores KNN, Naive Bayes, SVM, Árboles de Decisión y dos baselines para establecer una cota inferior. El clasificador KNN obtuvo el mejor desempeño. Del análisis de la regresión lineal se obtuvo un balance entre el error medio y la varianza de 0.13 y varianza de 0.39 combinando la magnitud real y T3.
Referencias
Sakaki, T., Okazaki, M., & Matsuo, Y. (2013). Tweet analysis for real-time event detection and earthquake reporting system development. IEEE TKDE 25(4), 919-931.
Earle P., Daniel C. Bowden, & Guy M (2011). Twitter earthquake detection: Earthquake monitoring in a social world. Annals of Geophysics, 54(6), 708-715.
Schmid, H. (1995). Treetagger a language independent part-of-speech tagger. Institut für Maschinelle Sprachverarbeitung, Universität Stuttgart, 43, 28.
Graham, N., Hirst, G., & Marthi, B. (2005). Segmenting documents by stylistic character. Natural Language Engineering, 11(04), 397-415.
Pak, A., & Paroubek, P. (2010, May). Twitter as a Corpus for Sentiment Analysis and Opinion Mining. In LREc (Vol. 10, pp. 1320-1326)
Robinson, B., Power, R., & Cameron, M. (2013, May). A sensitive twitter earthquake detector. WWW Conference (pp. 999-1002). ACM
Sakaki, T., Okazaki, M., & Matsuo, Y. (2010, April). Earthquake shakes Twitter users: real-time event detection by social sensors. In Proceedings of the 19th international conference on World wide web (pp. 851-860). ACM
Burks, L., Miller, M., & Zadeh, R. (2014, July). Rapid estimate of ground shaking intensity by combining simple earthquake characteristics with tweets. In 10th US Nat. Conf. Earthquake Eng., Front. Earthquake Eng., Anchorage, AK, USA, Jul. 21Y25