Francisco Guijarro

Universidad Politécnica de Valencia

Creative Commons Attribution 4.0 International License (CC BY 4.0)

1 Introducción

En este primer apartado señalaremos las principales diferencias entre algunos términos vinculados a la inteligencia de negocios1:

  • Data analytics (analítica de datos): comprende el análisis de datos, con independencia de si su tamaño es grande o pequeño, para entender el comportamiento e interacción entre los mismos. Un ejemplo sería el análisis en los hábitos de las personas que viajan a un destino turístico; o la caracterización de las personas que perecieron en el naufragio del Titanic.
  • Business analytics (analítica de negocios): consiste en la aplicación de la analítica de datos al caso particular de los negocios. En el primero de los ejemplos del punto anterior, a través de las búsquedas en Internet del potencial cliente, pero también del histórico de viajes que haya podido realizar, la agencia de viajes puede buscar un destino adecuado en las fechas en las que habitualmente viaja el potencial cliente, ofrecerle un descuento si lo hace con suficiente tiempo de antelación -para lo que es importante conocer con cuánto tiempo suele reservar el potencial cliente-, ofrecerle el alquiler de un vehículo, el alojamiento en un hotel de acuerdo con sus preferencias previas y capacidad económica, ofertas para eventos culturales o actividades de ocio en el destino, etc.
  • Data science (ciencia de datos): se trata de la combinación de diferentes áreas (matemáticas, estadística, investigación operativa, programación, economía) que permite extraer conclusiones del análisis de datos de forma que se puedan establecer modelos predictivos sobre el comportamiento de algunas variables, individuos u organizaciones. Por ejemplo, podemos llevar a cabo un modelo de regresión binomial para conocer qué variables influyeron en que los pasajeros del Titanic perecieran o no en el naufragio (t-valores, p-valores), así como la importancia relativa de estas variables (coeficientes beta estandarizados). También podemos intentar predecir la tendencia de un índice bursátil a través de sus cotizaciones históricas y la combinación de diferentes indicadores/osciladores de análisis técnico, empleando modelos de regresión, redes neuronales, o árboles de decisión (por ejemplo).
  • Big data analytics (analítica de macrodatos): es la extensión de la ciencia de datos en el caso de que los mismos estén integrados por ciento de miles o millones de datos. En este caso, se requieren equipos con gran capacidad de almacenamiento y procesamiento, de forma que la obtención de información se pueda obtener en un tiempo razonable mediante el uso de computación paralela (también por ejemplo).

Un eje fundamental para el desarrollo de estas áreas es el acceso a grandes fuentes de información. En la actualidad, existen diferentes formas de recopilar grandes cantidades de datos, siendo algunas de ellas las siguientes:

  • Email. A través de los millones de correos electrónicos que se envían a diario, las empresas suministradoras de este servicio pueden analizar sus contenidos para ofrecer ofertas personalizadas.
  • Redes sociales.
  • Transporte. Diferentes aplicaciones recopilan información en tiempo real de cómo nos movemos por las ciudades, conociendo el tráfico y su congestión en tiempo real. También podemos conocer qué calles son las más transitadas dentro de una ciudad, lo que puede utilizarse para buscar la mejor localización de un negocio.
  • Búsqueda de términos en buscadores de Internet. Las búsquedas más habituales a través de un buscador como Google se pueden parametrizar geográficamente, por el género y edad de quien las hace, por los términos de búsqueda y cómo se relacionan unos con otros, etc.
  • Transacciones financieras. Su recopilación permite conocer nuestros hábitos de gasto: en qué nos gastamos el dinero, cuándo lo hacemos, etc.
  • Viajes. El histórico de viajes realizados por los usuarios, pero también sus búsquedad por Internet, permite conocer el comportamineto de los clientes y realizar ofertas personalizadas a sus preferencias.
  • Ejercicio físico. A través de diferentes aplicaciones podemos saber los hábitos de ejercicio físico de las personas.

En la siguiente figura aparecen los pasos a seguir para desarrollar un modelo analítico de datos:

Pasos a seguir para implantar un modelo analítico de datos2.

El proceso de generación de un modelo analítico de datos se puede resumir en los siguientes pasos:

  • Importación de datos. En primer lugar, deberemos leer los datos con los que vamos a trabajar. En la actualidad existen gran variedad de formatos en los que pueden venir estos datos. Afortunadamente, R permite la importación de datos en sus formatos más comunes.
  • Preparación, exploración y limpieza de datos. En esa fase tendremos que analizar la conveniencia de transformar algunas variables (de continuas a discretas, o computar variables dicotómicas a partir de alguna variable categórica, etc). También realizaremos una primera exploración de los datos, de mero carácter descriptico, para conocer la relación existente entre las variables. Asímimo, es posible que nos encontremos con problemas de datos faltantes que tendremos que resolver antes de aplicar cualquier modelo posteriormente.
  • Aplicación de un modelo estadístico. Una vez hemos realizado la depuración de los datos, aplicaremos un modelo estadístico, de investigación operativa o de inteligencia artificial que permita responder a las preguntas que nos hagamos sobre los datos. En función de cuáles sean estas preguntas, aplicaremos diferentes modelos de estos campos.
  • Evaluación del modelo. En este paso analizaremos la bondad del modelo ajustado, para conocer si realmente es capaz de responder a las preguntas que nos hemos hecho. Si el modelo no es lo suficientemente bueno, deberemos retroceder a alguno de los pasos anteriores para intentar corregir algún error o mejorar las variables que estamos utilizando
  • Validación cruzada del modelo. En muchos casos, antes de aplicar el modelo tendremos que particionar nuestra muestra en dos grupos: training y test3. El primero (training o entrenamiento) nos servirá para calibrar el modelo; esto es, ajustarlo de forma óptima a nuestros datos para intentar obtener la respuesta más ajustada. Pero puede que este proceso de optimización se ajuste de forma muy precisa a los datos de entrenamiento, pero que luego no funcione tan bien cuando lo aplicamos sobre la otra parte de los datos que nos hemos reservado para validar el modelo (test), lo que se conoce como sobreoptimización. Por ejemplo, podemos utilizar los datos del training para desarrollar un modelo que prediga la dirección del Ibex en la próxima sesión bursátil, de forma que acertemos en el 99% de los casos analizados en el training. Sin embargo, puede que al aplicarlos sobre el test, la probabilidad de acierto caiga al 40%, lo que no es precisamente una buena señal (ni un buen sistema de trading). Si no superamos esta parte, tendremos que revisar alguno de los pasos anteriores en busca de mejoras. Además, cuando aplicamos determinadas metodologías como las redes neuronales, debemos definir el valor de algunos parámetros, de forma que los resultados obtenidos pueden ser muy dependientes de los valores con que hayamos configurado dichos parámetros.
  • Evaluación del modelo con datos fuera de muestra. Puede que en los pasos anteriores hayamos conseguido unos resultados similares entre el training y el test. Aún así, puede que hayamos buscado los parámetros concretos que conseguir homogeneizar los resultados entre ambos. También puede ser que estemos comparando diferentes metodologías (regresión, redes neuroanles, máquinas de vector soporte), y los resultados obtenidos sobre el test den como ganadora a una metodología que ha sido optimizada para el test con el que estamos trabajando. Incluir un grupo de observaciones fuera de la muestra anterior permite evaluar el modelo una vez superadas las fases anteriores. De esta forma podremos desechar definitivamente la sobreoptimización.
  • Generación del informe. Una vez hemos obtenido un modelo con suficiente capacidad predictiva y libre de errores propios de la sobreoptimización, podremos generar el informe definitivo de nuestro análisis.

2 Instalación de R y RStudio

R es un lenguaje de programación para el análisis estadístico y visualización de datos. Frente a otras alternativas que ofrece el mercado, R tiene algunas ventajas destacables4:

  • R es un lenguaje libre y de código abierto. A diferencia de otros programas, R es un software gratuito. Además, al ser un software de código abierto podemos acceder al código desarrollado en cada una de sus funciones y librerías. Esto permite que podamos reutilizar el código desarrollado por otros programadores para recodificarlo y añadirle nuevas funcionalidades.
  • R es actualizado a diario por cientos de programadores alrededor del mundo, lo que hace que prácticamente cualquier análisis o técnica estadística pueda estar disponible al poco tiempo de haber sido diseñada.
  • R permite la importación y exportación de datos en un gran número de formatos. Puede trabajarse con datos en texto plano (extensiones .txt o .csv), pero también con formatos de diferentes softwares (.xls por ejemplo).
  • Es un lenguaje multiplataforma, lo que permite ejecutar sus scripts en Windows, Mac, Linux, etc.

La información contenida en este capítulo permite instalar R y RStudio en un ordenador, con independencia del sistema operativo que se utilice. Recuérdese que en los equipos de la Facultad ya deberían estar instalados ambos programas, por lo que no es necesaria su instalación. Por lo tanto, las instrucciones que aparecen a continuación están destinadas a la instalación de R y RStudio en los ordenadores personales de los estudiantes.

Para instalar R en su equipo navegue hasta el siguiente enlace e instala la versión que se corresponda con el sistema operativo de su equipo. En el enlace podrá encontrarse el archivo de instalación para el sistema operativo correspondiente:

https://cran.r-project.org

Una vez comprobado que R ya se encuentra en el equipo, el siguiente paso consiste en instalar RStudio. Este programa es un entorno de desarrollo integrado (IDE) para el lenguaje de programación R, lo que facilita las tareas de desarrollo y programación de código, que puede descargarse a través del siguiente enlace:

https://rstudio.com/products/rstudio/download/

RStudio cuenta con diferentes paneles o subventanas donde se combinan todos los elementos necesarios para llevar a cabo cualquier desarrollo en R:

Imagen del entorno RStudio con diferentes paneles.

  • Panel 1: Contiene el script o scripts que se estén programando, que no son otra cosa que un grupo secuencial de comandos en el lenguaje de programación R. Por defecto, la extensión de estos archivos es “.R”. Intenta escribir todos los comandos de esta y siguientes sesiones en este panel, de forma que puedas grabar el trabajo realizado y no se pierda al finalizar la sesión.

  • Panel 2: Consola de comandos. Lugar donde se pueden introducir manualmente los comandos de R, o ejecutar parte o todo un script. Cuando el resultado de este código sea de tipo numérico, dicho resultado aparecerá también en la consola. Cuando sea una imagen o figura aparecerá en el Panel 4. Este panel sería con el que trabajaríamos si en lugar de utilizar RStudio nos decidiéramos por programar directamente con R.

  • Panel 3: En Environment se encuentran las variables que actualmente están cargadas en memoria. Como se verá más adelante, pueden ser escalares, vectores, matrices, listas, dataframes, etc. También tenemos acceso al histórico de comandos ejecutados (History), con todos los comandos lanzados hasta el momento por orden cronológico.

  • Panel 4: Se destina a visualizar el contenido del directorio de trabajo (working directory), los gráficos generados (Plots), o la ayuda en línea de R (Help).


  1. Las siguientes definiciones se han extraído del manual Hodeghatta, U. R., Nayak, U. (2016). Business analytics using R - A practical approach. Editorial Apress.↩︎

  2. Ilustración tomada de Kabacoff, R. I. (2010). R in Action. Data analysis and graphics with R. Manning.↩︎

  3. Existe una convención estadística en destinar el 80% de la muestra al training, dejando el 20% restante para el test↩︎

  4. Kabacoff, R. I. (2010). R in Action. Data analysis and graphics with R. Manning.↩︎