Cover

Illustration

 

 

Segunda edición original publicada en inglés por O’Reilly con el título Practical Statistics for Data Scientists, ISBN 978-1-492-07294-2 © Peter Bruce, Andrew Bruce y Peter Gedeck, 2020. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same.

Título de la edición en español:

Estadística práctica para ciencia de datos con R y Python

Segunda edición en español, 2022

© 2022 MARCOMBO, S.L.

www.marcombo.com

Diseño de portada: Karen Montgomery

Ilustración: Rebecca Demarest

Traducción: Francisco Martínez Carreno

Corrección: Nuria Barroso

«Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. La presente publicación contiene la opinión del autor y tiene el objetivo de informar de forma precisa y concisa. La elaboración del contenido, aunque se ha trabajado de forma escrupulosa, no puede comportar una responsabilidad específica para el autor ni el editor de los posibles errores o imprecisiones que pudiera contener la presente obra.»

ISBN: 978-84-267-3454-9

Producción del ePub: booqlab

 

 

Nos gustaría dedicar este libro al recuerdo de nuestros padres, Victor G. Bruce y Nancy C. Bruce, que cultivaron la pasión por las matemáticas y la ciencia. También a nuestros primeros tutores John W. Tukey, Julian Simon y a nuestro amigo de toda la vida Geoff Watson, que nos animaron a seguir la carrera de estadística.

Peter Bruce y Andrew Bruce

 

Me gustaría dedicar este libro a Tim Clark y Christian Kramer, a los que agradezco profundamente su investigación científica y su amistad.

Peter Gedeck

Contenidos

Prefacio

1.   Análisis exploratorio de datos

Elementos de datos estructurados

Lecturas complementarias

Datos rectangulares

Marcos de datos e índices

Estructuras de datos no rectangulares

Lecturas complementarias

Estimación de la localización

Media

Estimación de medianas robustas

Ejemplo: estimaciones de localización de la población y tasas de homicidios

Lecturas complementarias

Estimación de la variabilidad

Desviación estándar y estimaciones relacionadas

Estimación basada en percentiles

Ejemplo: estimaciones de variabilidad de la población estatal

Lecturas complementarias

Exploración de la distribución de datos

Percentiles y diagramas de caja

Tablas de frecuencias e histogramas

Diagrama y estimación de la curva de densidad

Lecturas complementarias

Exploración de datos binarios y categóricos

Moda

Valor esperado

Probabilidad

Lecturas complementarias

Correlación

Diagramas de dispersión

Lecturas complementarias

Exploración de dos o más variables

Agrupación hexagonal y contornos (representación numérica frente a datos numéricos)

Dos variables categóricas

Datos categóricos y numéricos

Visualización de varias variables

Lecturas complementarias

Resumen

2.   Distribuciones de datos y muestreo

Muestreo aleatorio y sesgo de la muestra

Sesgo

Selección aleatoria

Tamaño frente a calidad: ¿cuándo importa el tamaño?

Media muestral frente a media poblacional

Lecturas complementarias

Sesgo de selección

Regresión a la media

Lecturas complementarias

Distribución muestral del estadístico

Teorema del límite central

Error estándar

Lecturas complementarias

Bootstrap

Remuestreo frente a bootstrapping

Lecturas complementarias

Intervalos de confianza

Lecturas complementarias

Distribución normal

Normal estándar y diagramas QQ

Distribuciones de cola larga

Lecturas complementarias

Distribución t de Student

Lecturas complementarias

Distribución binomial

Lecturas complementarias

Distribución chi cuadrado

Lecturas complementarias

Distribución F

Lecturas complementarias

La distribución de Poisson y distribuciones relacionadas

Distribución de Poisson

Distribución exponencial

Estimación de la tasa de fallos

Distribución de Weibull

Lecturas complementarias

Resumen

3. Experimentos estadísticos y pruebas significativas

Prueba A/B

¿Por qué tener un grupo de control?

¿Por qué solo A/B? ¿Por qué no C, D, …?

Lecturas complementarias

Pruebas de hipótesis

La hipótesis nula

Hipótesis alternativa

Pruebas de hipótesis unidireccionales o bidireccionales

Lecturas complementarias

Remuestreo

Prueba de permutación

Ejemplo: adherencia de la web

Pruebas de permutación exhaustiva y de bootstrap

Pruebas de permutación: el resultado final de la ciencia de datos

Lecturas complementarias

Significación estadística y valores p

Valor p

Alfa

Errores de tipo 1 y 2

Ciencia de datos y valores p

Lecturas complementarias

Pruebas t

Lecturas complementarias

Pruebas múltiples

Lecturas complementarias

Grados de libertad

Lecturas complementarias

ANOVA

Estadístico F

ANOVA bidireccional

Lecturas complementarias

Prueba de chi cuadrado

Prueba de chi cuadrado: enfoque de remuestreo

Prueba de chi cuadrado: teoría estadística

Prueba exacta de Fisher

Relevancia para la ciencia de datos

Lecturas complementarias

Algoritmo Multi-Arm Bandit

Lecturas complementarias

Potencia y tamaño de la muestra

Tamaño de la muestra

Lecturas complementarias

Resumen

4. Regresión y pronóstico

Regresión lineal simple

La ecuación de regresión

Valores ajustados y residuos

Mínimos cuadrados

Pronóstico frente a explicación (elaboración de perfiles)

Lecturas complementarias

Regresión lineal múltiple

Ejemplo: datos de las viviendas del condado de King

Evaluación del modelo

Validación cruzada

Selección del modelo y regresión escalonada

Regresión ponderada

Lecturas complementarias

Pronóstico mediante la regresión

Los peligros de la extrapolación

Intervalos de confianza y de pronóstico

Variables de tipo factor en la regresión

Representación de variables ficticias

Variables de tipo factor con muchos niveles

Variables de tipo factor ordenadas

Interpretación de la ecuación de regresión

Predictoras correlacionadas

Multicolinealidad

Variables de confusión

Interacciones y efectos principales

Diagnósticos de regresión

Valores atípicos

Valores influyentes

Heterocedasticidad, anormalidad y errores correlacionados

Diagramas de residuos parciales y falta de linealidad

Regresión polinomial y por spline

Polinomial

Splines

Modelos aditivos generalizados

Lecturas complementarias

Resumen

5.   Clasificación

Bayes ingenuo

Por qué la clasificación bayesiana exacta no es práctica

La solución ingenua

Variables predictoras numéricas

Lecturas complementarias

Análisis discriminante

Matriz de covarianza

Discriminante lineal de Fisher

Un ejemplo sencillo

Lecturas complementarias

Regresión logística

Función de respuesta logística y logit

Regresión logística y GLM

Modelos lineales generalizados

Valores pronosticados de regresión logística

Interpretación de los coeficientes y de la razón de oportunidades

Regresión lineal y logística: similitudes y diferencias

Evaluación del modelo

Lecturas complementarias

Evaluación de modelos de clasificación

Matriz de confusión

El problema de las clases raras

Precisión, exhaustividad y especificidad

Curva ROC

AUC

Sustentación

Lecturas complementarias

Estrategias para datos que no están equilibrados

Submuestreo

Sobremuestreo y aumento/disminución de la ponderación

Generación de datos

Clasificación basada en los costes

Exploración de pronósticos

Lecturas complementarias

Resumen

6.   Aprendizaje automático estadístico

K-vecinos más cercanos

Un pequeño ejemplo: pronóstico del incumplimiento de préstamos

Métricas de distancia

Codificador One-Hot

Estandarización (normalización, puntuación z)

Elección de K

KNN como motor de características

Modelos de árbol

Un ejemplo sencillo

Algoritmo de partición recursiva

Medición de la homogeneidad o la impureza

Detención del crecimiento del árbol

Pronóstico de un valor continuo

Cómo se utilizan los árboles

Lecturas complementarias

Métodos de bagging y bosque aleatorio

Bagging

Bosque aleatorio

Importancia de la variable

Hiperparámetros

Boosting

El algoritmo boosting

XGBoost

Regularización: evitación del sobreajuste

Hiperparámetros y validación cruzada

Resumen

7.   Aprendizaje no supervisado

Análisis de componentes principales

Un ejemplo sencillo

Cálculo de los componentes principales

Interpretación de componentes principales

Análisis de correspondencias

Lecturas complementarias

Agrupación K-means

Un ejemplo sencillo

Algoritmo K-means

Interpretación de los grupos

Selección del número de grupos

Agrupación jerárquica

Un ejemplo sencillo

El dendrograma

El algoritmo de aglomeración

Medidas de disimilitud

Agrupación basada en el modelo

Distribución normal multivariante

Mezclas de distribuciones normales

Selección del número de grupos

Lecturas complementarias

Variables categóricas y escalado

Escalado de variables

Variables dominantes

Datos categóricos y distancia de Gower

Problemas con la agrupación de datos mixtos

Resumen

Bibliografía

Prefacio

Este libro está dirigido a científicos de datos familiarizados de algún modo con los lenguajes de programación R y/o Python, y con una formación básica (quizás irregular o efímera) a la estadística. Dos de los autores de este libro llegamos al mundo de la ciencia de datos desde el mundo de la estadística y apreciamos en cierta medida la contribución que la estadística puede hacer al arte de la ciencia de datos. Al mismo tiempo, somos muy conscientes de las limitaciones de la enseñanza de la estadística tradicional: la estadística como disciplina tiene un siglo y medio de vida, y la mayoría de los libros de texto y cursos de estadística están cargados con el impulso y la inercia de un transatlántico. Todos los métodos de este libro tienen alguna conexión, histórica o metodológica, con la disciplina de la estadística. No se incluyen los métodos que evolucionaron principalmente a partir de la informática, como es el caso de las redes neuronales.

El libro tiene dos objetivos:

Presentar, en forma digerible, navegable y de fácil referencia, conceptos clave de estadística que son relevantes para la ciencia de datos.

Explicar qué conceptos son importantes y útiles desde la perspectiva de la ciencia de datos, cuáles lo son menos y por qué.

Convenciones que se utilizan en el libro

Términos clave

La ciencia de datos es la fusión de varias disciplinas, entre las que se incluyen la estadística, la informática, las tecnologías de la información y campos específicos de este ámbito. Como consecuencia, se pueden utilizar varios términos diferentes para referirse a un concepto dado. Los términos clave y sus sinónimos se destacarán a lo largo del libro en un recuadro como este.

Illustration

Este elemento indica un consejo o una sugerencia.

Illustration

Este elemento indica una nota general.

Illustration

Este elemento indica una advertencia o precaución.

Uso de los ejemplos de código

En todos los casos, el libro proporciona ejemplos de código, en primer lugar en R y a continuación en Python. Para evitar repeticiones innecesarias, generalmente solo se muestran los resultados y gráficos que genera el código R. También omitimos el código necesario para cargar tanto los paquetes como los conjuntos de datos requeridos. Se puede acceder al código completo y los conjuntos de datos para su descarga en www.marcombo.info con el código DATOS22.

Este libro está aquí para ayudarte a hacer tu trabajo. En general, si en el libro se facilitan códigos de ejemplo, puedes usarlos en tus programas y documentación. No necesitas ponerte en contacto con nosotros para pedir permiso a menos que vayas a reproducir una parte importante del código. Por ejemplo, escribir un programa que use varios fragmentos de código del libro no requiere permiso. Vender o distribuir ejemplos de los libros de O’Reilly y de Marcombo requiere permiso. Responder a una pregunta proporcionando la referencia del libro y citar el código de un ejemplo no requiere permiso. La incorporación de una cantidad importante del código de los ejemplos del libro en la documentación de tu producto requiere permiso.

Generalmente no pedimos que se incluya una atribución, pero apreciamos que se haga. Una atribución contiene el título, autor, editor e ISBN. Por ejemplo: "Estadística práctica para ciencia de datos con R y Python de Peter Bruce, Andrew Bruce y Peter Gedeck (Marcombo y O’Reilly). Copyright 2022 Peter Bruce, Andrew Bruce y Peter Gedeck, 978-84-267-3443-3".

Si crees que el uso por tu parte de los ejemplos de código no está justificado o no respeta el permiso otorgado más arriba, no dudes en ponerte en contacto con nosotros en info@marcombo.com.

Agradecimientos

Los autores queremos expresar nuestro agradecimiento al numeroso grupo de personas que han contribuido a hacer realidad este libro.

Gerhard Pilcher, director ejecutivo de la empresa de minería de datos Elder Research, revisó los primeros borradores del libro y nos facilitó sus correcciones, así como detallados y útiles comentarios. Del mismo modo, Anya McGuirk y Wei Xiao, estadísticos de SAS, y Jay Hilfiger, autor de O'Reilly, proporcionaron comentarios útiles sobre los borradores iniciales del libro. Toshiaki Kurokawa, que tradujo la primera edición al japonés, realizó un completo trabajo de revisión y corrección durante la traducción. Aaron Schumacher y Walter Paczkowski revisaron minuciosamente la segunda edición del libro y aportaron numerosas sugerencias útiles y valiosas por las cuales les estamos muy agradecidos. No hace falta decir que cualquier error que exista es solo nuestro.

En O'Reilly, Shannon Cutt nos orientó con buen ánimo y la adecuada dosis de insistencia en el proceso de publicación. Por otra parte, Kristen Brown dirigió con éxito la fase de producción del libro. Rachel Monaghan y Eliahu Sussman, cuidadosa y pacientemente, corrigieron y mejoraron la redacción, mientras que Ellen Troutman-Zaig preparó el índice. Nicole Tache tomó las riendas de la segunda edición y dirigió el proceso de manera eficaz, proporcionando muchas y buenas sugerencias editoriales para mejorar la legibilidad del libro para una amplia audiencia. También agradecemos a Marie Beaugureau, que inició nuestro proyecto en O’Reilly, así como a Ben Bengfort, autor de O’Reilly e instructor de Statistics.com, que nos presentó a O’Reilly.

Nosotros, y los contenidos de este libro, también nos hemos beneficiado de las muchas conversaciones que Peter ha tenido a lo largo de los años con Galit Shmueli, coautor de otros proyectos editoriales.

Finalmente, nos gustaría agradecer especialmente a Elizabeth Bruce y Deborah Donnell su paciencia y apoyo para hacer posible este proyecto.

CAPÍTULO 1

Análisis exploratorio de datos

Este capítulo se centra en el primer paso de cualquier proyecto de ciencia de datos: la exploración de los datos.

La estadística clásica se ocupó casi exclusivamente de la inferencia, un conjunto de procedimientos, a veces complejo, para sacar conclusiones sobre grandes poblaciones a partir de muestras de pequeño tamaño. En 1962, John W. Tukey (figura 1.1) propugnó una reforma de la estadística en su trabajo académico de investigación "The Future of Data Analysis" [Tukey, 1962]. Propuso una nueva disciplina científica llamada análisis de datos (data analysis) que incluía la inferencia estadística como un componente más. Tukey forjó vínculos con los colectivos profesionales de ingeniería e informática (acuñó los términos bit, abreviatura de dígito binario, y software), y sus principios originales son sorprendentemente duraderos y forman parte de los fundamentos de la ciencia de datos. El campo del análisis exploratorio de datos se estableció con el que es ahora un libro clásico de Tukey publicado en 1977: Exploratory Data Analysis [Tukey, 1977]. Tukey presentó diagramas sencillos (por ejemplo, diagramas de caja, diagramas de dispersión) que, junto con resúmenes estadísticos (media, mediana, cuantiles, etc.), ayudan a dibujar la imagen de un conjunto de datos.

Con la disponibilidad de forma inmediata de la capacidad de cálculo y el potente software de análisis de datos, el análisis exploratorio de datos ha evolucionado mucho más allá de lo que fue su alcance original. Los impulsores clave de esta disciplina han sido el rápido desarrollo de nuevas tecnologías, el acceso a una mayor cantidad de datos y más importantes, así como la mayor utilización del análisis cuantitativo en numerosas disciplinas. David Donoho, profesor de estadística de la Universidad de Stanford y exalumno de Tukey, es autor de un excelente artículo inspirado en su exposición para el taller del centenario del nacimiento de Tukey (Tukey Centennial) en Princeton, Nueva Jersey [Donoho, 2015]. Donoho localiza la génesis de la ciencia de datos en el trabajo pionero de Tukey sobre el análisis de datos.

Illustration

Figura 1.1 John Tukey, el eminente estadístico cuyas ideas, que desarrolló hace más de 50 años, constituyen la base de la ciencia de datos.

Elementos de datos estructurados

Los datos proceden de muchas fuentes: mediciones de sensores, eventos, texto, imágenes y vídeos. Internet de las cosas (Internet of Things [IoT]) vomita caudales de información. Gran parte de estos datos no están estructurados: las imágenes son una colección de píxeles, y cada píxel contiene información sobre el color RGB (rojo, verde, azul). Los textos son secuencias de palabras y caracteres que no son palabras, y a menudo están organizados por secciones, subsecciones, etc. Los flujos de clics son secuencias de acciones de un usuario que interactúa con una aplicación o una página web. De hecho, un desafío importante de la ciencia de datos es convertir este torrente de datos sin procesar en información útil. Para aplicar los conceptos estadísticos tratados en el libro, los datos en bruto, no estructurados, deben procesarse y manejarse en un formato estructurado. Una de las formas más habituales en la que se presentan los datos estructurados es una tabla con filas y columnas, bien porque los datos pueden proceder de una base de datos relacional o porque los recopilamos así para su estudio.

Hay dos tipos básicos de datos estructurados: numéricos y categóricos. Los datos numéricos se presentan en dos modalidades: datos de carácter continuo (continuous), como es el caso de la velocidad del viento o la duración del tiempo, y discreto (discrete), como el recuento de las veces que ocurre un evento. Los datos categóricos (categorical) adoptan solo un conjunto fijo de valores, como pueden ser los tipos de pantallas de TV (plasma, LCD, led, etc.) o los nombres de los estados (Alabama, Alaska, etc.). Los datos binarios (binary) son un importante caso especial de datos categóricos que adoptan solo uno de dos valores, como 0/1, sí/no o verdadero/falso. Otro tipo muy útil de datos categóricos son los datos ordinales (ordinal), con los que se ordenan las categorías. Un ejemplo de estos datos es una clasificación numérica (1, 2, 3, 4 o 5).

¿Por qué nos molestamos en analizar la taxonomía de los tipos de datos? Pues porque resulta que a los efectos del análisis de datos y del modelado predictivo, el tipo de datos es importante para ayudar a determinar qué tipo de presentación visual utilizar, si la de análisis de datos o la de modelos estadísticos. De hecho, el software de la ciencia de datos, como R y Python, utiliza los tipos de datos para mejorar el rendimiento computacional. Y lo que es más importante, el tipo de datos de una variable determina cómo realizará el software los cálculos para esa variable.

Términos clave de los tipos de datos

Numéricos

Datos que se expresan en una escala numérica.

Continuos

Datos que pueden adoptar cualquier valor dentro de un intervalo. (Sinónimos: intervalo, flotante, numérico)

Discretos

Datos que solo pueden adoptar valores enteros, como los valores contables. (Sinónimos: entero, contable)

Categóricos

Datos que solo pueden adoptar un conjunto específico de valores que representan un conjunto de categorías posibles. (Sinónimos: enumeraciones, enumerado, factores, nominal)

Binarios

Son un caso especial de datos categóricos con solo dos categorías de valores, por ejemplo, 0/1, verdadero/falso. (Sinónimos: dicotómico, lógico, indicador, booleano)

Ordinales

Datos categóricos que tienen un orden explícito. (Sinónimos: factor ordenado)

Los ingenieros de software y los programadores de bases de datos pueden preguntarse por qué incluso necesitamos la noción de datos categóricos (categorical) y ordinales (ordinal) para el análisis. Después de todo, las categorías son simplemente una colección de valores de texto (o numéricos) y la base de datos subyacente maneja automáticamente la representación interna. Sin embargo, la identificación explícita de datos como categóricos, como algo diferente al texto, ofrece algunas ventajas:

Saber que los datos son categóricos puede actuar como una señal que indica al software cómo deben comportarse los procedimientos estadísticos, como crear un gráfico o ajustar un modelo. En particular, los datos ordinales se pueden representar mediante ordered.factor en R, conservando el orden especificado por el usuario en gráficos, tablas y modelos. En Python, scikit-learn admite datos ordinales con sklearn.preprocessing.OrdinalEncoder.

El almacenamiento y la indexación se pueden optimizar (como en una base de datos relacional).

Los posibles valores que puede adoptar una variable categórica dada se aplican al software (como puede ser una enumeración).

El tercer "beneficio" puede conducir a un comportamiento no deseado o inesperado: el comportamiento predeterminado de las funciones de importación de datos en R (por ejemplo, read.csv) es convertir automáticamente una columna de texto en un factor.

Las operaciones posteriores en esa columna supondrán que los únicos valores permitidos para la columna son los que se importaron originalmente, y la asignación de un nuevo valor de texto introducirá una advertencia y producirá un NA (valor ausente). El paquete pandas de Python no realizará dicha conversión automáticamente. Sin embargo, podemos especificar una columna como categórica explícitamente con la función read_csv.

Ideas clave

Los datos se clasifican en el software generalmente por tipos.

En los tipos de datos están incluidos los numéricos (continuos, discretos) y categóricos (binarios, ordinales).

La tipificación de datos en el software actúa como una señal que le indica al software cómo debe procesarlos.

Lecturas complementarias

Los tipos de datos pueden crear confusión, ya que estos pueden superponerse, y la taxonomía de un tipo de software puede diferir de la de otro. El sitio web de RTutorial (www.r-tutor.com/) incluye la taxonomía de R. La documentación de pandas (https://pandas.pydata.org/docs/user_guide/) describe los diferentes tipos de datos y cómo se pueden manejar en Python.

La clasificación de tipos de datos de las bases de datos es más detallada al incorporar consideraciones de niveles de precisión, campos de longitud fija o variable, entre otras cosas. Consultar la guía de W3Schools para SQL (www.w3schools.com/sql/).

Datos rectangulares

El marco de referencia típico para un análisis en ciencia de datos es el objeto de datos rectangulares (rectangular data), como puede ser una hoja de cálculo o una tabla de base de datos.

Datos rectangulares (rectangular data) es el término general asociado a una matriz bidimensional con filas que indican registros (casos) y columnas que indican características (variables). El marco de datos (data frame) es el formato específico en R y Python. Los datos no siempre tienen esta apariencia al principio: los datos no estructurados (por ejemplo, texto) deben procesarse y manipularse para que se puedan representar como un conjunto de características en la matriz de datos rectangulares (consultar "Elementos de datos estructurados" en la página 2). Para la mayor parte de las tareas de análisis y modelado de datos, los datos de las bases de datos relacionales deben extraerse y colocarse en una sola tabla.

Términos clave de los datos rectangulares

Marco de datos

Los datos rectangulares (como puede ser una hoja de cálculo) son la estructura básica de datos para los modelos estadísticos y de aprendizaje automático.

Característica

Una columna de una tabla se denomina generalmente característica (feature).

Sinónimos

atributo, entrada, predictor, variable

Resultado

Muchos proyectos de ciencia de datos implican pronosticar un resultado (outcome), a menudo un resultado de sí/no (en la tabla 1.1, es si "la subasta ha sido competitiva o no"). A veces, las características (features) se utilizan para pronosticar el resultado (outcome) de un estudio.

Sinónimos

variable dependiente, respuesta, objetivo, salida

Registros

A una fila dentro de una tabla se le denomina generalmente registro (register).

Sinónimos

caso, ejemplo, instancia, observación, patrón, muestra

Tabla 1.1 Típico formato del marco de datos

Illustration

En la tabla 1.1, hay una combinación de datos medidos o contabilizados (por ejemplo, duración y precio) y datos categóricos (por ejemplo, categoría y divisa). Como se ha mencionado anteriormente, una forma especial de variable categórica es una variable binaria (sí/no o 0/1), como se ve en la columna de la derecha en la tabla 1.1, una variable indicadora que muestra si una subasta ha sido competitiva (si ha tenido varios postores) o no. Esta variable indicadora también resulta ser una variable de resultado (outcome), cuando el escenario es pronosticar si una subasta es competitiva o no.

Marcos de datos e índices

Las tablas de bases de datos tradicionales tienen una o más columnas designadas como índice, esencialmente un número de fila. Esta funcionalidad puede mejorar enormemente la eficiencia de determinadas consultas a bases de datos. En Python, con la biblioteca de pandas, la estructura básica de datos rectangulares es el objeto DataFrame. Por defecto, se crea un índice de enteros automático para un DataFrame basado en el orden de las filas. En pandas, también es posible establecer índices jerárquicos/multinivel para mejorar la eficiencia de ciertas operaciones.

En R, la estructura básica de datos rectangulares es el objeto data.frame. data.frame también tiene un índice implícito de enteros basado en el orden de las filas. El data.frame nativo de R no admite índices especificados por el usuario o multinivel, aunque se puede crear una clave personalizada mediante el atributo row.names. Para superar esta deficiencia, hay dos nuevos paquetes que se están utilizando de forma generalizada: data.table y dplyr. Ambos admiten índices multinivel y ofrecen importantes aumentos de velocidad cuando se trabaja con data.frame.

Illustration

Diferencias terminológicas

La terminología de datos rectangulares puede resultar confusa. Los estadísticos y los científicos de datos usan términos diferentes para referirse al mismo concepto. Para un estadístico, las variables predictoras (predictor variables) se utilizan en un modelo para pronosticar una respuesta (response) o variable dependiente (dependent variable). Para un científico de datos, las características (features) se utilizan para pronosticar un objetivo (target). Los sinónimos resultan particularmente confusos: los informáticos usarán el término muestra (sample) para una única fila. Una muestra (sample) para un estadístico es una colección de filas.

Estructuras de datos no rectangulares

Existen otras estructuras de datos además de los datos rectangulares.

Los datos de serie de tiempo registran mediciones sucesivas de la misma variable. Es la materia prima de los métodos de pronóstico estadístico y también es un componente clave de los datos generados por los dispositivos del Internet de las cosas.

Las estructuras de datos espaciales, que se utilizan en cartografía y análisis de la localización, son más complejas y variadas que las estructuras de datos rectangulares. En la representación del objeto (object), el foco de los datos es un objeto (por ejemplo, una casa) y sus coordenadas espaciales. La vista de campo (field), por el contrario, se centra en pequeñas unidades de espacio y el valor de la métrica correspondiente (brillo de píxeles, por ejemplo).

Las estructuras de datos en forma de gráficos (o redes) se utilizan para representar relaciones físicas, sociales y abstractas. Por ejemplo, un gráfico de una red social, como Facebook o LinkedIn, puede representar conexiones entre personas en la red. Los centros de distribución conectados por carreteras son un ejemplo de una red física. Las estructuras de gráficos son útiles para ciertos tipos de problemas, como la optimización de redes o los sistemas de recomendación.

Cada uno de estos tipos de datos tiene su metodología especializada en ciencia de datos. El enfoque de este libro se centra en los datos rectangulares, el bloque de construcción fundamental del modelado predictivo.

Illustration

Gráficos en estadística

En informática y tecnologías de la información, el término gráfico (graph) hace referencia normalmente a la descripción de las conexiones entre entidades y a la estructura de datos subyacente. En estadística, gráfico (graph) se utiliza para referirse a una variedad de diagramas y visualizaciones (visualizations), no solo de conexiones entre entidades, aunque el término se aplica solo a la visualización, no a la estructura de datos.

Ideas clave

La estructura de datos básica en ciencia de datos es una matriz rectangular en la que las filas están formadas por registros y las columnas son las variables (características).

La terminología puede resultar confusa. Existe una serie de sinónimos, procedentes de diferentes disciplinas, que contribuyen a la ciencia de datos (estadística, informática y tecnologías de la información).

Lecturas complementarias

Documentación sobre marcos de datos en R (https://stat.ethz.ch/R-manual/R-devel/library/base/html/data.frame.html).

Documentación sobre marcos de datos en Python (https://pandas.pydata.org/pandas-docs/stable/user_guide/dsintro.html).

Estimación de la localización

Las variables, con los datos medidos o procedentes de recuentos, pueden tener miles de valores distintos. Un paso fundamental para explorar los datos es obtener un "valor típico" para cada característica (variable): una estimación de dónde se encuentra la mayoría de los datos (es decir, su tendencia central).

Términos clave de la estimación de la localización

Media

Suma de todos los valores dividida por el número de valores.

Sinónimos

promedio

Media ponderada

Suma de todos los valores multiplicados por cada ponderación y dividida por la suma de las ponderaciones.

Sinónimo

promedio ponderado

Mediana

Valor tal que la mitad del número de datos se encuentra por encima y la otra mitad por debajo de dicho valor.

Sinónimo

Percentil 50

Percentil

Valor tal que el P por ciento de los datos se encuentra por debajo del mismo.

Sinónimo

cuantil

Mediana ponderada

Valor tal que la mitad de la suma de las ponderaciones se encuentra por encima y la otra mitad por debajo de los datos ordenados.

Media recortada

El promedio de todos los valores después de eliminar un número fijo de valores extremos.

Sinónimo

media truncada

Robusto

Insensible a valores extremos.

Sinónimo

resistente

Atípico

Valor de un dato que es muy diferente de la mayoría de los valores de datos.

Sinónimo

valor extremo

A primera vista, resumir los datos puede parecer bastante trivial: simplemente hay que extraer la media (mean) de los datos. De hecho, si bien la media es fácil de calcular y conveniente de usar, es posible que no siempre sea la mejor medida para representar un valor central. Por esta razón, los estadísticos han desarrollado y promovido varias estimaciones alternativas a la media.

Illustration

Métricas y estimaciones

Los estadísticos a menudo utilizan el término estimación (estimate) para referirse a un valor calculado a partir de los datos disponibles, para establecer una distinción entre lo que vemos a partir de los datos y el verdadero estado teórico o exacto de las cosas. Es más probable que los científicos de datos y los analistas de negocios se refieran a este valor como métrica (metric). La diferencia refleja el enfoque de la estadística frente al de la ciencia de datos. Hay que tener en cuenta que la explicación de la incertidumbre se encuentra en el corazón de la disciplina de la estadística, mientras que el foco de la ciencia de datos son los objetivos concretos de las organizaciones o de las empresas. Por lo tanto, los estadísticos estiman y los científicos de datos miden.

Media

La estimación más elemental para la localización es el valor medio o promedio (average). La media es la suma de todos los valores dividida por el número de valores. Consideremos el siguiente conjunto de números: {3 5 1 2}. La media es (3 + 5 + 1 +2) / 4 = 11/4 = 2.75. Nos encontraremos el símbolo x (pronunciado "barra x") que se utiliza para representar la media de la muestra de una población. La fórmula para calcular la media de un conjunto de n valores x1, x2, ..., xn es:

Illustration

Illustration

N (o n) se refiere al número total de registros u observaciones. En estadística, se escribe con mayúscula si se refiere a una población y en minúscula si se refiere a una muestra de una población. En la ciencia de datos, esa distinción no es vital, por lo que se puede ver de las dos formas.

La variación de la media se conoce como media truncada (trimmed mean), que se calcula ignorando un número fijo, en cada extremo, de valores ordenados y a continuación se calcula el promedio de los valores restantes. Al representar los valores ordenados por x(1), x(2), ..., x(n) donde x(1) es el valor más pequeño y x(n) el valor más grande, la fórmula para calcular la media recortada con los p valores más pequeños y más grandes omitidos es:

Illustration

La media truncada elimina la influencia de valores extremos. Por ejemplo, en el buceo internacional, se eliminan las puntuaciones máxima y mínima de cinco jueces, y la puntuación final es el promedio de las puntuaciones de los tres jueces restantes (https://en.wikipedia.org/wiki/Diving_(sport)#Scoring_the_dive). Esto hace que sea difícil para un solo juez manipular la puntuación, tal vez para favorecer al concursante de su país. Las medias truncadas se utilizan habitualmente y, en muchos casos, son preferibles a la media ordinaria. En el apartado "Estimación de medianas robustas" de la página 10 se amplía esta información.

Otro tipo de media es la media ponderada (weighted mean), que se calcula multiplicando cada valor de datos xi por el peso wi especificado por el usuario y dividiendo su suma por la suma de las ponderaciones. La fórmula para una media ponderada es:

Illustration

Hay dos motivos fundamentales para usar una media ponderada:

Algunos valores son intrínsecamente más variables que otros, y las observaciones muy variables reciben un peso menor. Por ejemplo, si tomamos el promedio de varios sensores y uno de los sensores es menos preciso, entonces podríamos reducir la ponderación de los datos de ese sensor.

Los datos recopilados no representan por igual a los diferentes grupos que nos interesa medir. Por ejemplo, debido a la forma en la que se ha realizado un experimento en línea, es posible que no tengamos un conjunto de datos que refleje con precisión todos los grupos en la base de datos de los usuarios. Para corregir eso, podemos dar un mayor peso a los valores de los grupos que tengan una menor representación.

Estimación de medianas robustas

La mediana (median) es el valor central de una lista de datos ordenados de menor a mayor. Si hay un número par de valores de datos, el valor medio es uno que no está realmente en el conjunto de datos, sino el promedio de los dos valores que dividen los datos ordenados en mitades superior e inferior. En comparación con la media, que utiliza todas las observaciones, la mediana depende solo de los valores situados en el centro de los datos ordenados. Si bien esto puede parecer una desventaja, dado que la media es mucho más sensible a los datos, hay muchos casos en los que la mediana es una mejor métrica para la localización. Supongamos que queremos analizar los ingresos familiares típicos en los vecindarios de los alrededores del lago Washington en Seattle. Al comparar el vecindario de Medina con el de Windermere, la utilización de la media produciría resultados muy diferentes porque Bill Gates vive en Medina. Si usamos la mediana, no importará lo rico que sea Bill Gates, porque la posición de la observación intermedia seguirá siendo la misma.

Por las mismas razones por las que se usa una media ponderada, también es posible calcular una mediana ponderada (weighted median). Al igual que con la mediana, primero ordenamos los datos, aunque cada valor de los datos tiene una ponderación asociada. En lugar del número del medio, la mediana ponderada es un valor tal que la suma de las ponderaciones es igual para las mitades inferior y superior de la lista ordenada. Como la mediana, la mediana ponderada es robusta a valores atípicos.

Valores atípicos

A la mediana se le conoce como una estimación robusta (robust) de la localización, ya que no está influenciada por valores atípicos (outliers) (casos extremos) que podrían sesgar los resultados. Un valor atípico es cualquier valor que está muy lejos de los otros valores en el conjunto de datos. La definición exacta de valor atípico es algo subjetiva, a pesar de que se utilizan ciertas convenciones en distintos resúmenes de datos y diagramas (consultar "Percentiles y diagramas de caja" en la página 20). Ser un valor atípico en sí mismo no hace que un valor de los datos no sea válido o sea erróneo (como en el ejemplo anterior con Bill Gates). Aun así, los valores atípicos son a menudo el resultado de errores de datos, como la combinación de datos de diferentes unidades (kilómetros en lugar de metros) o las lecturas incorrectas de un sensor. Cuando los valores atípicos son el resultado de datos incorrectos, la media dará como resultado una estimación deficiente de la localización, mientras que la mediana seguirá siendo válida. Los valores atípicos deben identificarse y, por lo general, merecen una investigación más profunda.

Illustration

Detección de anomalías

En contraste con el análisis normal de datos, donde los valores atípicos son a veces informativos y a veces molestos, en la detección de anomalías (anomaly detection) los puntos que nos interesan son los valores atípicos, y la mayor masa de datos sirve principalmente para definir la "normalidad" con la que se miden las anomalías.

La mediana no es la única estimación robusta de la localización. De hecho, la media truncada se usa habitualmente para evitar la influencia de valores atípicos. Por ejemplo, truncar el 10% inferior y superior (una opción frecuente) de los datos proporcionará protección contra valores atípicos en todos los conjuntos de datos, excepto en los más pequeños. La media truncada se puede considerar un compromiso entre la mediana y la media: es robusta a los valores extremos de los datos, pero utiliza más datos para calcular la estimación de la localización.

Illustration

Otras métricas robustas para la localización

Los estadísticos han desarrollado una plétora de otros estimadores de localización, principalmente con el objetivo de desarrollar un estimador más robusto que la media y también más eficiente (es decir, más capaz de discernir pequeñas diferencias de localización entre conjuntos de datos). Si bien estos métodos son potencialmente útiles para conjuntos de datos pequeños, no es probable que proporcionen algún beneficio adicional para conjuntos con cantidades grandes de datos o incluso de tamaño moderado.

Ejemplo: estimaciones de localización de la población y tasas de homicidios

La tabla 1.2 muestra las primeras filas del conjunto de datos que contienen la población y las tasas de homicidios (en unidades de homicidios por cada 100 000 habitantes y por año) para cada estado de EE. UU. (censo de 2010).

Tabla 1.2 Algunas filas de data.frame de la situación de la población y la tasa de homicidios por estados

Illustration

Utilizamos R para calcular la media, la media truncada y la mediana de la población:

Illustration

Para calcular la media y la mediana con Python, podemos emplear los métodos pandas del marco de datos. La media truncada requiere la función trim_mean de scipy.stats:

Illustration

La media es mayor que la media truncada, que es mayor que la mediana.

Esto se debe a que la media truncada excluye los cinco estados más grandes y más pequeños (trim=0.1 ignora el 10% de cada extremo). Si queremos calcular la tasa de homicidios promedio para el país, necesitamos usar una media o mediana ponderadas para dar cuenta de las diferentes poblaciones de los estados. Dado que el software básico de R no tiene una función para la mediana truncada, necesitamos instalar el paquete matrixStats:

Illustration

Con NumPy podemos disponer de la media ponderada. Para la mediana ponderada, podemos usar el paquete especializado wquantiles (https://pypi.org/project/wquantiles/):

Illustration

En este caso, la media ponderada y la mediana ponderada son aproximadamente iguales.

Ideas clave

La métrica básica para la localización es la media, pero puede ser sensible a valores extremos (valores atípicos).

Otras métricas (mediana, media truncada) son menos sensibles a valores atípicos y a distribuciones inusuales y, por lo tanto, son más robustas.

Lecturas complementarias

El artículo de Wikipedia sobre tendencia central contiene un amplio debate sobre varias medidas de localización.

El clásico Exploratory Data Analysis (Pearson) de John Tukey de 1977 todavía se lee bastante.

Estimación de la variabilidad

La localización es solo una dimensión para extraer el resumen de una característica. Una segunda dimensión, la variabilidad (variability), también conocida como dispersión (dispersion), mide el grado de agrupación o dispersión de los valores de los datos. En el corazón de la estadística se encuentra la variabilidad: hay que medirla, reducirla, distinguir la variabilidad aleatoria de la real, identificar las diversas fuentes de variabilidad real y tomar decisiones teniéndola en cuenta.

Términos clave de métricas de variabilidad

Desviaciones

Diferencias entre los valores observados y la estimación de la localización.

Sinónimos

errores, residuales

Varianza

Suma de los cuadrados de las desviaciones de la media al cuadrado y dividida por n – 1, donde n es el número de valores de datos.

Sinónimo

error cuadrático medio

Desviación estándar

Raíz cuadrada de la varianza.

Desviación media absoluta

Media de los valores absolutos de las desviaciones de la media.

Sinónimos

norma L1, norma Manhattan

Desviación absoluta mediana de la mediana

Mediana de los valores absolutos de las desviaciones de la mediana.

Rango

La diferencia entre el mayor y el menor valor de un conjunto de datos.

Estadísticos ordinales

Métricas basadas en los valores de datos ordenados de menor a mayor.

Sinónimo

rangos

Percentil

Valor tal que el P por ciento de los valores toma este valor o un valor inferior y para (100 – P) el porcentaje toma este valor o un valor superior.

Sinónimo

cuantil

Rango intercuartil

Diferencia entre el percentil 75 y el percentil 25.

Sinónimo

IQR

Así como existen diferentes formas de medir la localización (media, mediana, etc.), también existen diferentes formas de medir la variabilidad.

Desviación estándar y estimaciones relacionadas

Las estimaciones de la variación más utilizadas se basan en las diferencias o desviaciones (deviations) entre la estimación de la localización y los datos observados. Para un conjunto de datos {1, 4, 4}, la media es 3 y la mediana es 4. Las desviaciones de la media son las diferencias: 1 - 3 = –2, 4 - 3 = 1, 4 - 3 = 1. Estas desviaciones nos dicen lo dispersos están los datos en torno al valor central.

Una forma de medir la variabilidad es estimar un valor típico para estas desviaciones. El promedio de las desviaciones en sí no nos diría mucho: las desviaciones negativas compensan las positivas. De hecho, la suma de las desviaciones de la media es precisamente cero. En cambio, un enfoque sencillo consiste en extraer el promedio de los valores absolutos de las desviaciones de la media. En el ejemplo anterior, el valor absoluto de las desviaciones es {2 1 1} y su promedio es (2 + 1 + 1) / 3 = 1.33. A esta medida se conoce como desviación media absoluta (mean absolute deviation) y se calcula con la fórmula:

Illustration

donde x es la media muestral.

Las estimaciones de variabilidad más conocidas son la varianza (variance) y la desviación estándar (standard deviation), que se calculan a partir del cuadrado de las desviaciones. La varianza es un promedio del cuadrado de las desviaciones y la desviación estándar es la raíz cuadrada de la varianza:

Illustration

La desviación estándar es mucho más fácil de interpretar que la varianza, ya que está en la misma escala que los datos originales. Aun así, con su fórmula más complicada y menos intuitiva, podría parecer peculiar que en estadística se prefiera la desviación estándar a la desviación media absoluta. Debe su supremacía a la teoría estadística, ya que trabajar matemáticamente con valores al cuadrado es mucho más conveniente que con valores absolutos, especialmente en el caso de modelos estadísticos.

Grados de libertad, y ¿n o n – 1?

En los libros de estadística, siempre se discute por qué tenemos n – 1 en el denominador en la fórmula de la varianza, en lugar de n, lo que conduce al concepto de grados de libertad (degrees of freedom). Esta distinción no es importante ya que n es generalmente lo suficientemente grande como para que no haya mucha diferencia si dividimos entre n o n – 1. Pero en caso de que sea de interés, lo explicamos a continuación. Se fundamenta en la premisa de que deseamos hacer estimaciones sobre una población, basándonos en una muestra.

Si usamos el denominador intuitivo de n en la fórmula de la varianza, subestimaremos el valor real de la varianza y la desviación estándar en la población. Esto se conoce como estimación sesgada (biased). Sin embargo, si dividimos por n – 1 en lugar de n, la varianza se convierte en una estimación no sesgada (unbiased).

Explicar completamente por qué el uso de n conduce a una estimación sesgada implica la noción de grados de libertad, que tiene en cuenta el número de restricciones al calcular una estimación. En este caso, hay n – 1 grados de libertad, ya que hay una restricción: la desviación estándar depende del cálculo de la media muestral. Para la mayoría de los problemas, los científicos de datos no necesitan preocuparse por los grados de libertad.

La varianza, la desviación estándar y la desviación absoluta mediana son robustas a valores atípicos y extremos (consultar "Estimación de medianas robustas" en la página 10, donde se desarrolla un debate sobre estimaciones robustas para la localización). La varianza y la desviación estándar son especialmente sensibles a los valores atípicos, ya que se basan en las desviaciones al cuadrado.

Una estimación robusta de la variabilidad es la desviación absoluta mediana de la mediana (median absolute deviation from the median) o MAD:

Illustration

donde m es la mediana. Al igual que la mediana, la MAD no se ve influenciada por valores extremos. También es posible calcular la desviación estándar truncada análoga a la media truncada (consultar "Media" en la página 9).

Illustration

La varianza, la desviación estándar, la desviación media absoluta y la desviación absoluta mediana no son estimaciones equivalentes, incluso en el caso de que los datos provengan de una distribución normal. De hecho, la desviación estándar es siempre mayor que la desviación absoluta media, que a su vez es mayor que la desviación absoluta mediana. A veces, la desviación absoluta mediana se multiplica por un factor de escala constante para adaptarla a la misma escala que la desviación estándar en el caso de una distribución normal. El factor que se utiliza normalmente de 1.4826 significa que el 50% de la distribución normal cae dentro del rango ± MAD.

Estimación basada en percentiles

Un enfoque diferente para estimar la dispersión se centra en observar la distribución de los datos ordenados. Los estadísticos que tienen como base los datos ordenados (clasificados) se denominan estadísticos de orden (order statistics). La medida más elemental es el rango (range): la diferencia entre los números de mayor y menor valor. Es de utilidad conocer los valores mínimos y máximos en sí, además de práctico, para identificar valores atípicos, pero el rango es extremadamente sensible a los valores atípicos y no es muy útil como medida general de la dispersión de datos.

Para evitar la sensibilidad a los valores atípicos, podemos observar el rango de los datos después de eliminar valores de cada extremo. Formalmente, este tipo de estimaciones se basan en diferencias entre percentiles (percentiles). En un conjunto de datos, el percentil P es un valor tal que al menos el P por ciento de los valores toman este valor o un valor inferior y al menos (100 - Pcuantilquantile