MAT-11020 Métodos Analíticos

Métodos analíticos

El curso consiste de dos partes que exploran aspectos distintos de la teoría y práctica del análisis de datos. Una parte del curso se ocupa de los conceptos centrales y aplicaciones de la teoría moderna de redes; la otra, en explorar técnicas para el análisis de conjuntos de datos numéricos y textuales. Objetivos

  • Familiarizar al alumno con métodos de análisis de información y redes.
  • Que el alumno pueda implementar algoritmos de análisis.
  • Presentar al alumno distintos aplicaciones prácticas en distintas disciplinas.

Prerrequisitos

  • Álgebra lineal.
  • Conocimientos básicos de procesos estocásticos.
  • Conocimientos básicos de sistemas dinámicos.
  • Habilidades de programación en alguno de los siguientes lenguajes Python, Scala, R o Matlab (en ese orden).

Bibliografía general

  • M. E. J. Newman. Networks: An Introduction. Oxford University Press, 2010.
  • C. Manning, P. Raghavan and H. Schütze: Introduction to Information Retrieval, Cambridge University Press. 2008.
  • C. Manning and H. Schütze: Foundations of Statistical Natural Language Processing, The MIT Press. 1999.
  • A. Rajaraman and J. Ullman, Mining of Massive Datasets, Cambridge University Press, 2013.

Calificación

La calificación final será compuesta de la siguiente manera:

  • 10% Participación en clase
  • 30% Tareas (4 tareas, se descarta la de menor calificación 10% cada una)
  • 10% Presentación del problema del proyecto final.
  • 10% Presentación de avances en el proyecto final.
  • 10% Presentación de resultados.
  • 30% Reporte final. Se evaluarán los resultados, la claridad de la exposición y la presentación del documento.

Descargar como PDF

Temario

Cada sesión se divide en dos partes, en la primera se estudiarán temas de teoría de redes y en la segunda diversas técnicas para el análisis de datos y textos.

SesiónFechaTema
0101/15 [Introducción: Grafos y redes, tipos de redes, características](http://www2.imperial.ac.uk/~mbegueri/Metodos/LectureNotes/Lecture1.pdf)
0101/15 [Similitud entre conjuntos: Similitud de conjuntos, minhashing, LSH](Lecture_1_Similarity.ipynb)
0201/22 Conceptos básicos 1: Grados, correlaciones, assortatividad
0201/22 [Similitud entre conjuntos: escalando con PySpark](Lecture_2_Similarity_Spark.ipynb)
0301/29 Conceptos básicos 2: Centralidad, comunicabilidad
0301/29 [Similitud entre elementos: Teoría de LSH y otras familias](Lecture_3_LSH_Theory.ipynb)
0402/05 Small worlds, navegación
0402/05 [Sistemas de recomendación](Lecture_4_Recommendation_Systems.ipynb)
0502/12 Presentaciones: Planteamiento del problema
0502/12 Presentaciones: Planteamiento del problema
0602/19 Redes aleatorias 1: Erdös-Renyi
0602/19 Sistemas de recomendación: filtrado colaborativo
0702/26 Redes aleatorias 2: Barabási-Albert, configuración
0702/26 [Procesamiento de flujos: muestreo en flujos / filtrado](Lecture_5_Stream_Algorithms.ipynb)
0803/05 Dinámica de redes 1: Caminatas aleatorias, Laplaciano
0903/12 Dinámica de redes 2: Contagio, percolación
0903/12 [Procesamiento de flujos: conteo](Lecture_6_Stream_Algorithms_Counting.ipynb)
1003/19 [Programación funcional](Lecture_7_Functional_Programming.ipynb)
1103/26 Dinámica en redes 3: Consenso
1204/02 Presentaciones: Avances
1204/02 Presentaciones: Avances
1304/09 Comunidades 1: Clustering y Modularidad
1304/09 [Estructuras algebráicas para procesamiento de información](Lecture_8_Abstract_Algebra.ipynb)
04/16 DESCANSO
04/16 DESCANSO
1404/23 Comunidades 2: Stability
1404/23 Minería de textos / índices invertidos
1504/30 Comunidades 3: Map y comunidades con traslape Redes con signos y balance estructural
1504/30 Modelos de lenguaje: introducción
1605/07 Inferencia de redes
1605/07 Topic Models
1705/14 Privacidad y privacidad en redes
1705/14 Privacidad en bases de datos
1905/21 Presentación final
1905/21 Presentación final

Herramientas

En este curso uilizaremos las siguientes herramientas:

  • Python
    • iPython: Plataforma para computo interactivo y visualización
  • Spark: Plataforma para computo distribuido y de gran escala
    • PySpark: Permite acceder el modelo de programación de Spark desde Python

Instalar iPython

La forma más sencilla de instalarlo junto con todas las dependencias es:

http://ipython.org/install.html

Instalar matplotlib

conda install matplotlib

Instalar PySpark

Descargar Spark de la siguiente liga:

http://spark.incubator.apache.org/downloads.html

Descomprimir y ejecutar los siguientes comandos desde del directorio de spark:

> sbt/sbt assembly
> ./pyspark

In [ ]: