Documentos de Académico
Documentos de Profesional
Documentos de Cultura
gu ió
E
nd n
Práctico
o
Estadísticas
para científicos de datos
Más de 50 conceptos esenciales con R y Python
SEGUNDA EDICION
Copyright © 2020 Peter Bruce, Andrew Bruce y Peter Gedeck. Reservados todos los derechos.
Publicado por O'Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.
Los libros de O'Reilly se pueden comprar con fines educativos, comerciales o promocionales de ventas. Las ediciones en línea también
están disponibles para la mayoría de los títulos (http://oreilly.com). Para obtener más información, comuníquese con nuestro
departamento de ventas corporativo / institucional: 800-998-9938 o corporate@oreilly.com.
El logotipo de O'Reilly es una marca registrada de O'Reilly Media, Inc. Estadísticas prácticas para científicos de datos,
la imagen de portada y la imagen comercial relacionada son marcas comerciales de O'Reilly Media, Inc.
Las opiniones expresadas en este trabajo son las de los autores y no representan las opiniones del editor. Si bien el
editor y los autores han realizado esfuerzos de buena fe para garantizar que la información y las instrucciones
contenidas en este trabajo sean precisas, el editor y los autores renuncian a toda responsabilidad por errores u
omisiones, incluida, entre otras, la responsabilidad por daños resultantes del uso de o dependencia de este trabajo. El
uso de la información y las instrucciones contenidas en este trabajo es bajo su propio riesgo. Si alguna muestra de
código u otra tecnología que este trabajo contiene o describe está sujeta a licencias de código abierto o derechos de
propiedad intelectual de otros, es su responsabilidad asegurarse de que su uso cumpla con dichas licencias y / o
derechos.
978-1-492-07294-2
[LSI]
Peter Bruce y Andrew Bruce quisieran dedicar este libro a los recuerdos de nuestros padres,
Victor G. Bruce y Nancy C. Bruce, quienes cultivaron una pasión por las matemáticas y las
ciencias; y a nuestros primeros mentores John W. Tukey y Julian Simon y nuestra vida
amigo Geoff Watson, quien ayudó a inspirarnos a seguir una carrera en estadística.
Peter Gedeck quisiera dedicar este libro a Tim Clark y Christian Kramer, con
profundo agradecimiento por su colaboración científica y amistad.
Tabla de contenido
Prefacio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
v
Otras lecturas 30
Correlación 30
Gráfico de dispersión 34
Otras lecturas 36
Explorando dos o más variables 36
Intervalos y contornos hexagonales (trazado de datos numéricos frente a datos numéricos) 36
Dos variables categóricas 39
Datos categóricos y numéricos 41
Visualización de múltiples variables 43
Lecturas complementarias 46
Resumen 46
vi | Tabla de contenido
Otras lecturas 82
Distribuciones de Poisson y distribuciones 82
relacionadas Distribuciones de Poisson 83
Distribución exponencial 84
Estimación de la tasa de fallas 84
Distribución de Weibull 85
Otras lecturas 86
Resumen 86
5. Clasificación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Bayes ingenuo 196
Por qué la clasificación bayesiana exacta no es práctica 197
La solución ingenua 198
Variables predictoras numéricas 200
Lecturas complementarias 201
Análisis discriminante 201
Matriz de covarianza 202
Discriminante lineal de Fisher 203
Un ejemplo simple 204
Lecturas complementarias 207
Regresión logística 208
Función de respuesta logística y Logit 208
Regresión logística y GLM 210
Modelos lineales generalizados 212
Valores predichos de regresión logística 212
Interpretación de coeficientes y razones de probabilidades 213
Regresión lineal y logística: similitudes y diferencias 214
Evaluación del modelo 216
Lecturas adicionales 219
Evaluación de modelos de clasificación 219
Matriz de confusión 221
El problema de las clases raras 223
Precisión, recuperación y especificidad 223
Curva ROC 224
226 AUC
Ascensor 228
Lecturas adicionales 229
Estrategias para datos desequilibrados 230
Submuestreo 231
Sobremuestreo y ponderación ascendente / descendente 232
Generación de datos 233
Clasificación basada en costos 234
Explorando las predicciones 234
Tabla de contenido | ix
Otras lecturas 236
Resumen 236
x | Tabla de contenido
Selección del número de clústeres 302
Agrupación jerárquica 304
Un ejemplo simple 305
El dendrograma 306
Las medidas del algoritmo 308
aglomerativo de la disimilitud 309
Agrupación basada en modelos 311
Mezclas de distribución normal 311
multivariante de normales 312
Selección del número de clústeres 315
Lectura adicional 318
Escala y variables categóricas 318
Escala de las variables 319
Variables dominantes 321
Datos categóricos y problemas de distancia 322
de Gower con la agrupación de datos mixtos 325
Resumen 326
Bibliografía. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Índice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Tabla de contenido | xi
Prefacio
Este libro está dirigido al científico de datos con cierta familiaridad con el R y / o
Pitón lenguajes de programación, y con alguna exposición previa (quizás irregular o efímera) a las
estadísticas. Dos de los autores llegaron al mundo de la ciencia de datos desde el mundo de las
estadísticas y aprecian en cierta medida la contribución que las estadísticas pueden 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, 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 las redes neuronales.
• Presentar, en forma digerible, navegable y de fácil referencia, conceptos clave de las estadísticas
que son relevantes para la ciencia de datos.
• Explicar qué conceptos son importantes y útiles desde una perspectiva de ciencia de datos,
cuáles lo son menos y por qué.
Itálico
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.
Ancho constante
Se utiliza para listas de programas, así como dentro de párrafos para referirse a elementos de
programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de
entorno, declaraciones y palabras clave.
xiii
Ancho constante en negrita
Muestra comandos u otro texto que el usuario debe escribir literalmente.
Términos clave
La ciencia de datos es una fusión de múltiples disciplinas, que incluyen estadística, informática,
tecnología de la información y campos específicos de dominio. Como resultado, se podrían usar varios
términos diferentes para hacer referencia a un concepto dado. Los términos clave y sus sinónimos se
destacarán a lo largo del libro en una barra lateral como esta.
Este libro está aquí para ayudarlo a hacer su trabajo. En general, si se ofrece un código de
ejemplo con este libro, puede utilizarlo en sus programas y documentación. No es necesario
que se comunique con nosotros para obtener permiso a menos que esté reproduciendo una
parte importante del código. Por ejemplo, escribir un programa que utiliza varios fragmentos
de código de este libro no requiere permiso. Vender o distribuir ejemplos de libros de O'Reilly
requiere permiso. Responder una pregunta citando este libro y citando un código de ejemplo
no requiere permiso. Incorporando una cantidad significativa de
xiv | Prefacio
El código de ejemplo de este libro en la documentación de su producto requiere
permiso.
Si cree que el uso que hace de los ejemplos de código está fuera del uso legítimo o del permiso otorgado
anteriormente, no dude en contactarnos en permissions@oreilly.com.
Cómo contactarnos
Dirija sus comentarios y preguntas sobre este libro al editor:
Tenemos una página web para este libro, donde enumeramos erratas, ejemplos y cualquier
información adicional. Puede acceder a esta página enhttps://oreil.ly/practicalStats_dataSci_2e.
Correo electrónico bookquestions@oreilly.com para comentar o hacer preguntas técnicas sobre este
libro.
Para obtener noticias y más información sobre nuestros libros y cursos, visite nuestro sitio web en
http://oreilly.com.
Prefacio | xv
Encuentranos en Facebook: http://facebook.com/oreilly
Expresiones de gratitud
Los autores reconocen a las muchas personas que ayudaron a hacer realidad este libro.
Gerhard Pilcher, director ejecutivo de la empresa de minería de datos Elder Research, vio los
primeros borradores del libro y nos brindó correcciones y comentarios detallados y útiles.
Asimismo, Anya McGuirk y Wei Xiao, estadísticos de SAS, y Jay Hilfiger, autor colega de O'Reilly,
proporcionaron comentarios útiles sobre los borradores iniciales del libro. Toshiaki Kurokawa,
quien tradujo la primera edición al japonés, hizo un trabajo integral de revisión y corrección en
el proceso. Aaron Schumacher y Walter Paczkowski revisaron minuciosamente la segunda
edición del libro y proporcionaron numerosas sugerencias útiles y valiosas por las que estamos
muy agradecidos. No hace falta decir que cualquier error que quede es solo nuestro.
En O'Reilly, Shannon Cutt nos ha guiado a través del proceso de publicación con buen ánimo y
la cantidad adecuada de insistencia, mientras que Kristen Brown llevó nuestro libro sin
problemas a través de la fase de producción. Rachel Monaghan y Eliahu Sussman corrigieron y
mejoraron nuestra escritura con cuidado y paciencia, mientras Ellen Troutman-Zaig preparaba
el índice. Nicole Tache tomó las riendas de la segunda edición y ha guiado el proceso de
manera eficaz y ha proporcionado muchas buenas sugerencias editoriales para mejorar la
legibilidad del libro para una amplia audiencia. También agradecemos a Marie Beau- gureau,
quien inició nuestro proyecto en O'Reilly, así como a Ben Bengfort, autor de O'Reilly e instructor
de Statistics.com, quien nos presentó a O'Reilly.
Nosotros, y 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 de libros.
xvi | Prefacio
CAPÍTULO 1
Este capítulo se centra en el primer paso de cualquier proyecto de ciencia de datos: explorar los datos.
1
Figura 1-1. John Tukey, el eminente estadístico cuyas ideas se desarrollaron hace más de 50 años
forman la base de la ciencia de datos
Los datos provienen de muchas fuentes: mediciones de sensores, eventos, texto, imágenes y videos.
LaInternet de las Cosas (IoT) está arrojando flujos 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 de color
RGB (rojo, verde, azul). Los textos son secuencias de palabras y caracteres que no son palabras, a
menudo organizados por secciones, subsecciones, etc. Los clickstreams son secuencias de acciones
de un usuario que interactúa con una aplicación o una página web. De hecho, uno de los principales
desafíos de la ciencia de datos es aprovechar este torrente de datos sin procesar en información
procesable. Para aplicar los conceptos estadísticos cubiertos en este libro, los datos brutos no
estructurados deben procesarse y manipularse en una forma estructurada. Una de las formas más
comunes de datos estructurados es una tabla con filas y columnas, ya que los datos pueden surgir de
una base de datos relacional o recopilarse para un estudio.
Hay dos tipos básicos de datos estructurados: numéricos y categóricos. Los datos numéricos vienen
en dos formas:continuo, como la velocidad del viento o la duración del tiempo, y discreto,
como el recuento de la ocurrencia de un evento. Categórico los datos toman solo un conjunto
fijo de valores, como un tipo de pantalla de TV (plasma, LCD, LED, etc.) o el nombre de un
estado (Alabama, Alaska, etc.). Binario Los datos son un caso especial importante de datos
categóricos que toman solo uno de dos valores, como 0/1, sí / no o verdadero / falso. Otro tipo
útil de datos categóricos esordinal datos en los que se ordenan las categorías; un ejemplo de
esto es una calificación numérica (1, 2, 3, 4 o 5).
¿Por qué nos molestamos con una taxonomía de tipos de datos? Resulta que a los efectos del análisis
de datos y el modelado predictivo, el tipo de datos es importante para ayudar a determinar el tipo de
presentación visual, análisis de datos o modelo estadístico. De hecho, el software de ciencia de datos,
comoR y Pitón, utiliza estos tipos de datos para mejorar el rendimiento computacional. Más
importante aún, el tipo de datos para una variable determina cómo el software manejará los cálculos
para esa variable.
Numérico
Datos que se expresan en una escala numérica.
Continuo
Datos que pueden tomar cualquier valor en un intervalo. (Sinónimos: intervalo, flotante,
numérico)
Discreto
Datos que pueden tomar solo valores enteros, como recuentos. (Sinónimos: entero, recuento)
Categórico
Datos que pueden tomar solo un conjunto específico de valores que representan un conjunto de
categorías posibles. (Sinónimos: enumeraciones, enumerado, factores, nominal)
Binario
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)
Ordinal
Datos categóricos que tienen un orden explícito. (Sinónimo: factor ordenado)
Los ingenieros de software y los programadores de bases de datos pueden preguntarse por qué
necesitamos la noción de categórico y ordinal datos para 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, a diferencia del 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 producir un gráfico o ajustar un modelo. En
particular, los datos ordinales se pueden representar como unOrder.factor en R, preservando un orden
especificado por el usuario en gráficos, tablas y modelos. EnPitón, scikit-learn
admite datos ordinales con el sklearn.preprocessing.OrdinalEncoder.
• El almacenamiento y la indexación se pueden optimizar (como en una base de datos relacional).
• Los posibles valores que puede tomar una variable categórica dada se aplican en el software
(como una enumeración).
Ideas claves
• La introducción de datos en el software actúa como una señal para el software sobre cómo procesar los
datos.
Otras lecturas
• La pandas documentación describe los diferentes tipos de datos y cómo se
pueden manipular en Pitón.
• Los tipos de datos pueden ser confusos, ya que los tipos pueden superponerse y la
taxonomía de un software puede diferir de la de otro. LaSitio web de R Tutorial cubre
la taxonomía para R. La pandas documentación describe los diferentes tipos de datos
y cómo se pueden manipular en Pitón.
• Las bases de datos son más detalladas en su clasificación de tipos de datos, incorporando
consideraciones de niveles de precisión, campos de longitud fija o variable, y más; ver el
Guía de W3Schools para SQL.
Datos rectangulares
El marco de referencia típico para un análisis en ciencia de datos es un datos rectangulares
objeto, como una hoja de cálculo o una tabla de base de datos.
Datos rectangulares es el término general para una matriz bidimensional con filas que indican registros
(casos) y columnas que indican características (variables); marco de datos es el formato específico en R y
Pitón. Los datos no siempre comienzan de esta forma: los datos no estructurados (por ejemplo, texto) deben
procesarse y manipularse para que se puedan representar como un conjunto de características en los datos
rectangulares (ver "Elementos de datos estructurados" en la página 2). Los datos de las bases de datos
relacionales deben extraerse y colocarse en una sola tabla para la mayoría de las tareas de análisis y
modelado de datos.
Marco de datos
Los datos rectangulares (como una hoja de cálculo) son la estructura de datos básica para los modelos estadísticos
y de aprendizaje automático.
Característica
Sinónimos
atributo, entrada, predictor, variable
Salir
Muchos proyectos de ciencia de datos implican predecir un Salir—A menudo un resultado
de sí / no (en Tabla 1-1, es “la subasta fue competitiva o no”). Lacaracterísticas a veces se
utilizan para predecir la Salir en un experimento o estudio.
Sinónimos
variable dependiente, respuesta, objetivo, salida
Registros
Una fila dentro de una tabla se denomina comúnmente registro.
Sinónimos
caso, ejemplo, instancia, observación, patrón, muestra
En Tabla 1-1, hay una combinación de datos medidos o contados (por ejemplo, duración y
precio) y datos categóricos (por ejemplo, categoría y moneda). Como se mencionó
anteriormente, una forma especial de variable categórica es una variable binaria (sí / no o 0/1),
que se ve en la columna más a la derecha enTabla 1-1: Una variable indicadora que muestra si
una subasta fue competitiva (tuvo varios postores) o no. Esta variable indicadora también
resulta ser unaSalir variable, cuando el escenario es predecir si una subasta es competitiva o no.
Datos rectangulares | 5
Índices y marcos de datos
Las tablas de bases de datos tradicionales tienen una o más columnas designadas como índice,
esencialmente un número de fila. Esto puede mejorar enormemente la eficiencia de determinadas consultas
de bases de datos. EnPitón, con el pandas biblioteca, la estructura de datos rectangular básica es una
Marco de datos objeto. De forma predeterminada, se crea un índice de enteros automático para unMarco de datos
En R, la estructura de datos rectangular básica es una marco de datos objeto. Amarco de datos también
tiene un índice entero implícito basado en el orden de las filas. El nativoR marco de datos no admite
índices multinivel o especificados por el usuario, aunque se puede crear una clave personalizada a
través del nombres de fila atributo. Para superar esta deficiencia, dos nuevos paquetes están ganando
un uso generalizado:tabla de datos y dplyr. Ambos admiten índices multinivel y ofrecen importantes
aceleraciones al trabajar con un marco de datos.
Diferencias terminológicas
Los datos de series 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
producidos por los dispositivos: Internet de las cosas.
Las estructuras de datos espaciales, que se utilizan en la cartografía y el análisis de la ubicación, son
más complejas y variadas que las estructuras de datos rectangulares. En elobjeto representación, el
foco de los datos es un objeto (por ejemplo, una casa) y sus coordenadas espaciales. Lacampo La
vista, por el contrario, se centra en pequeñas unidades de espacio y el valor de una métrica relevante
(brillo de píxeles, por ejemplo).
Cada uno de estos tipos de datos tiene su metodología especializada en ciencia de datos. El enfoque
de este libro está en los datos rectangulares, el bloque de construcción fundamental del modelado
predictivo.
Gráficos en estadística
Ideas claves
• La estructura de datos básica en ciencia de datos es una matriz rectangular en la que las filas son registros y
las columnas son variables (características).
• La terminología puede resultar confusa; Existe una variedad de sinónimos que surgen de las
diferentes disciplinas que contribuyen a la ciencia de datos (estadística, informática y
tecnología de la información).
Otras lecturas
• Documentación sobre marcos de datos en R
Estimaciones de ubicación
Las variables con datos medidos o de recuento pueden tener miles de valores distintos. Un paso
básico para explorar sus 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).
Estimaciones de ubicación | 7
Términos clave para estimaciones de ubicación
Significar
Sinónimo
promedio
Media ponderada
La suma de todos los valores multiplicada por un peso dividida por la suma de los pesos.
Sinónimo
peso promedio
Mediana
El valor tal que la mitad de los datos se encuentran arriba y abajo.
Sinónimo
Percentil 50
Percentil
El valor tal que PAG el porcentaje de los datos se encuentra a continuación.
Sinónimo
cuantil
Mediana ponderada
El valor tal que la mitad de la suma de los pesos se encuentre por encima y 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
No sensible a valores extremos.
Sinónimo
resistente
Parte aislada
Sinónimo
valor extremo
Métricas y estimaciones
Los estadísticos suelen utilizar el término estimar para 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 estado de cosas teórico verdadero o exacto. Es más probable que los
científicos de datos y los analistas de negocios se refieran a este valor comométrico.
La diferencia refleja el enfoque de la estadística frente al de la ciencia de datos: tener
en cuenta la incertidumbre se encuentra en el corazón de la disciplina de la
estadística, mientras que los objetivos empresariales u organizacionales concretos
son el foco de la ciencia de datos. Por lo tanto, los estadísticos estiman y los
científicos de datos miden.
Significar
∑norte
i = 1XI
Media = x =
norte
Una variación de la media es una media recortada, que se calcula dejando caer un número fijo de
valores ordenados en cada extremo y luego tomando un promedio de los valores restantes
ues. Representar los valores ordenados porX 1, X 2, ..., X norte dónde X 1 es el valor más pequeño
y X norte el más grande, la fórmula para calcular la media recortada con pag los valores más pequeños y más
∑norte - pag
Media recortada = x = i = p + 1X I
norte - 2pag
Estimaciones de ubicación | 9
Una media recortada elimina la influencia de valores extremos. Por ejemplo, en el buceo
internacional, la puntuación máxima y la puntuación inferior de cinco jueces se eliminan, yel
puntaje final es el promedio de los puntajes de los tres jueces restantes. Esto hace que sea
difícil para un solo juez manipular la partitura, quizás para favorecer al concursante de su país.
Las medias recortadas se utilizan ampliamente y, en muchos casos, son preferibles a la media
ordinaria; consulte“Estimaciones medianas y sólidas” en la página 10 para mayor discusión.
Otro tipo de media es una media ponderada, que calculas multiplicando cada
valor de los datos XI por un peso especificado por el usuario wI y dividiendo su suma por la suma de
los pesos. La fórmula para una media ponderada es:
yo = wx
∑norte
1 ii
Media ponderada = Xw =
∑norte
yo = 1wI
• 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
el peso 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 que se realizó 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 usuarios. Para corregir eso, podemos dar un mayor peso a los valores de los
grupos que estaban subrepresentados.
Valores atípicos
La mediana se conoce como robusto estimación de la ubicación, ya que no está influenciada por
valores atípicoscasos extremos) que podrían sesgar los resultados. Un valor atípico es cualquier valor que
está muy lejos de los otros valores en un conjunto de datos. La definición exacta de un valor atípico es algo
subjetiva, aunque se utilizan ciertas convenciones en varios resúmenes de datos y gráficos (ver“Percentiles y
diagramas de caja” en la página 20). Ser un valor atípico en sí mismo no hace que un valor de datos sea
inválido o erróneo (como en el ejemplo anterior con Bill Gates). Aún así, los valores atípicos a menudo son el
resultado de errores de datos, como la mezcla de datos de diferentes unidades (kilómetros frente a metros) o
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 ubicación, mientras que la mediana seguirá siendo
válida. En cualquier caso, los valores atípicos deben identificarse y, por lo general, merecen una mayor
investigación.
Detección de anomalías
En contraste con el análisis de datos típico, donde los valores atípicos son
a veces informativos y a veces molestos, en Detección de anomalías los
puntos de interés son los valores atípicos, y la mayor masa de datos sirve
principalmente para definir la "normal" contra la cual se miden las
anomalías.
La mediana no es la única estimación sólida de la ubicación. De hecho, una media recortada se usa
ampliamente para evitar la influencia de valores atípicos. Por ejemplo, recortar el 10% inferior y
superior (una opción común) 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 recortada se puede considerar como
un compromiso entre la mediana y la media: es robusta a los valores extremos en los datos, pero
utiliza más datos para calcular la estimación de la ubicación.
Estimaciones de ubicación | 11
Ejemplo: estimaciones de ubicación de población y tasas de asesinatos
Tabla 1-2 muestra las primeras filas en el conjunto de datos que contienen las tasas de población y
asesinatos (en unidades de asesinatos por cada 100,000 personas por año) para cada estado de EE. UU.
(Censo de 2010).
Tabla 1-2. Algunas filas delmarco de datos estado de población y tasa de homicidios por estado
Para calcular la media y la mediana en Pitón podemos usar el pandas métodos del marco
de datos. La media recortada requieretrim_mean funcionar en scipy.stats:
Expresar = pd.read_csv('state.csv')
Expresar['Población'].significar()
trim_mean(Expresar['Población'], 0,1)
Expresar['Población'].mediana()
Esto se debe a que la media recortada excluye los cinco estados más grandes y más pequeños (recorte
= 0,1 cae un 10% de cada extremo). Si queremos calcular la tasa de homicidios promedio para el país,
necesitamos usar una media o mediana ponderada para dar cuenta de las diferentes poblaciones en
los estados. Desde baseR no tiene una función para la mediana ponderada, necesitamos instalar un
paquete como matrixStats:
La media ponderada está disponible con NumPy. Para la mediana ponderada, podemos utilizar el paquete
especializado wquantiles:
Ideas claves
• La métrica básica para la ubicación es la media, pero puede ser sensible a valores extremos (valores
atípicos).
• Otras métricas (mediana, media recortada) son menos sensibles a valores atípicos y distribuciones
inusuales y, por lo tanto, son más robustas.
Otras lecturas
• El artículo de Wikipedia sobre tendencia central contiene una discusión extensa de
varias medidas de ubicación.
• El clásico de 1977 de John Tukey Análisis exploratorio de datos (Pearson) todavía se lee ampliamente.
Estimaciones de variabilidad
La ubicación es solo una dimensión para resumir una característica. Una segunda dimensión
variabilidad, también conocido como dispersión, mide si los valores de los datos están
estrechamente agrupados o dispersos. En el corazón de las estadísticas se encuentra la
variabilidad: medirla, reducirla, distinguir la variabilidad aleatoria de la real, identificar las
diversas fuentes de variabilidad real y tomar decisiones en presencia de ella.
Desviaciones
La diferencia entre los valores observados y la estimación de ubicación.
Sinónimos
errores, residuales
Diferencia
La suma de las desviaciones cuadradas de la media dividida por norte - 1 donde norte es el
número de valores de datos.
Estimaciones de variabilidad | 13
Sinónimo
error medio cuadrado
Desviación Estándar
La raíz cuadrada de la varianza.
Sinónimos
l1-norma, norma de Manhattan
Distancia
Estadísticas de pedidos
Sinónimo
rangos
Percentil
El valor tal que PAG el porcentaje de los valores toma este valor o menos y (100 – P) el
porcentaje toma este valor o más.
Sinónimo
cuantil
Rango intercuartil
La diferencia entre el percentil 75 y el percentil 25.
Sinónimo
IQR
Así como existen diferentes formas de medir la ubicación (media, mediana, etc.), también existen
diferentes formas de medir la variabilidad.
yo = 1XI
∑norte -X
Desviación absoluta media =
norte
Las estimaciones de variabilidad más conocidas son las diferencia y el Desviación Estándar,
que se basan en desviaciones cuadradas. La varianza es un promedio de las desviaciones
cuadradas y la desviación estándar es la raíz cuadrada de la varianza:
2
yo = 1 XI -
∑norte
X
Diferencia = s2 =
norte - 1
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. Aún así, con su fórmula más complicada y menos
intuitiva, podría parecer peculiar que en las estadísticas se prefiera la desviación estándar
sobre la desviación absoluta media. Debe su preeminencia a la teoría estadística:
matemáticamente, trabajar con valores cuadrados es mucho más conveniente que con valores
absolutos, especialmente para los modelos estadísticos.
Estimaciones de variabilidad | 15
Para explicar completamente por qué usar norte conduce a una estimación sesgada implica la noción
de grados de libertad, que tiene en cuenta el número de restricciones en el cálculo de una estimación.
En este caso, haynorte - 1 grado 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.
dónde metro es la mediana. Al igual que la mediana, la DMA no está influenciada por valores
extremos. También es posible calcular una desviación estándar recortada análoga a la media
recortada (ver"Media" en la página 9).
Un enfoque diferente para estimar la dispersión se basa en observar la dispersión de los datos clasificados.
Las estadísticas basadas en datos ordenados (clasificados) se denominanestadísticas de pedidos.
La medida más básica es la distancia: la diferencia entre los números más grandes y más
pequeños. Es útil conocer los valores mínimos y máximos en sí mismos y son útiles 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 dispersión en los datos.
Para evitar la sensibilidad a los valores atípicos, podemos observar el rango de los datos después de eliminar
los valores de cada extremo. Formalmente, este tipo de estimaciones se basan en diferencias
Para conjuntos de datos muy grandes, calcular percentiles exactos puede ser computacionalmente
muy costoso ya que requiere ordenar todos los valores de datos. El aprendizaje automático y el
software estadístico utilizan algoritmos especiales, como[Zhang-Wang-2007], para obtener un
percentil aproximado que se puede calcular muy rápidamente y que tiene una cierta precisión
garantizada.
100 * j
norte ≤ P < 100 * j +norte
1
Percentil P = 1 - wx j + wx j + 1
Estimaciones de variabilidad | 17
Ejemplo: estimaciones de variabilidad de la población estatal
Tabla 1-3 (repetido de Tabla 1-2 por conveniencia) muestra las primeras filas del conjunto de datos
que contienen las tasas de población y homicidios para cada estado.
Tabla 1-3. Algunas filas delmarco de datos estado de población y tasa de homicidios por estado
Expresar['Población'].std()
Expresar['Población'].cuantil(0,75) - Expresar['Población'].cuantil(0,25)
robusto.escala.enojado(Expresar['Población'])
La desviación estándar es casi dos veces mayor que la MAD (en R, por defecto, la escala de la
MAD se ajusta para estar en la misma escala que la media). Esto no es sorprendente ya que la
desviación estándar es sensible a valores atípicos.
• La varianza y la desviación estándar son las estadísticas de variabilidad más difundidas y reportadas
de manera rutinaria.
• Las métricas más sólidas incluyen la desviación absoluta media, la desviación absoluta media
de la mediana y los percentiles (cuantiles).
Otras lecturas
• El recurso de estadísticas en línea de David Lane tiene una sección de percentiles.
• Kevin Davenport tiene una publicación útil sobre R-Blogueros sobre las desviaciones de la
mediana y sus propiedades robustas.
Diagrama de caja
Una trama presentada por Tukey como una forma rápida de visualizar la distribución de datos.
Sinónimo
diagrama de caja y bigotes
Tabla de frecuencia
Un recuento del recuento de valores de datos numéricos que caen en un conjunto de intervalos (bins).
Histograma
Un gráfico de la tabla de frecuencias con los contenedores en el eje xy el recuento (o proporción)
en el eje y. Aunque son visualmente similares, los gráficos de barras no deben confundirse con los
histogramas. Ver“Exploración de datos binarios y categóricos” en la página 27 para una discusión
de la diferencia.
Gráfico de densidad
Una versión suavizada del histograma, a menudo basada en un estimación de la densidad del grano.
Tabla 1-4 muestra algunos percentiles de la tasa de homicidios por estado. EnR, esto sería
producido por el cuantil función:
Diagramas de caja, presentado por Tukey [Tukey-1977], se basan en percentiles y ofrecen una forma
rápida de visualizar la distribución de datos. Figura 1-2 muestra un diagrama de caja de la población
por estado producido por R:
pandas proporciona una serie de gráficos exploratorios básicos para el marco de datos; uno de ellos son diagramas
de caja:
hacha = (Expresar['Población']/1_000_000).gráfico.caja()
hacha.set_ylabel('Población (millones)')
A partir de este diagrama de caja, podemos ver inmediatamente que la población estatal media es de
aproximadamente 5 millones, la mitad de los estados se encuentran entre aproximadamente 2 millones y
aproximadamente 7 millones, y hay algunos valores atípicos de población alta. La parte superior e inferior
del cuadro son los percentiles 75 y 25, respectivamente. La mediana se muestra mediante la línea horizontal
en el cuadro. Las líneas discontinuas, denominadasbigotes, se extienden desde la parte superior e inferior
del cuadro para indicar el rango para la mayor parte de los datos. Hay muchas variaciones de un diagrama
de caja; consulte, por ejemplo, la documentación delR función diagrama de caja [R-base-2015]. Por defecto, elR
La función extiende los bigotes hasta el punto más alejado más allá de la caja, excepto que no irá más allá de
1,5 veces el IQR. Matplotlib utiliza la misma implementación; otro software puede utilizar una regla diferente.
Cualquier dato fuera de los bigotes se traza como puntos únicos o círculos (a menudo se consideran valores
atípicos).
La función pandas.cut crea una serie que asigna los valores a los segmentos. Usando el
métodovalue_counts, obtenemos la tabla de frecuencias:
1 563,626–4,232,658 24 WY, VT, ND, AK, SD, DE, MT, RI, NH, ME, HI, ID, NE, WV, NM, NV, UT, KS, AR, MS, IA, CT, OK, O
2 4.232.659– 14 KY , LA, SC, AL, CO, MN, WI, MD, MO, TN, AZ, IN, MA, WA
7,901,691
11,570,724
4 11,570,725– 2 CUBO
15,239,757
5 15,239,758– 1 Florida
18,908,790
22,577,823
7 22,577,824– 1 TX
26,246,856
8 26,246,857– 0
29,915,889
9 29,915,890– 0
33.584.922
10 33,584,923– 1 California
37,253,956
Tanto las tablas de frecuencia como los percentiles resumen los datos mediante la creación
de bins. En general, los cuartiles y deciles tendrán el mismo conteo en cada contenedor
(contenedores de igual conteo), pero los tamaños de contenedor serán diferentes. La tabla
de frecuencias, por el contrario, tendrá diferentes recuentos en los contenedores
(contenedores de igual tamaño) y los tamaños de los contenedores serán los mismos.
Un histograma es una forma de visualizar una tabla de frecuencias, con contenedores en el eje
xy el recuento de datos en el eje y. EnFigura 1-3, por ejemplo, el bin centrado en 10 millones (1e
+ 07) va de aproximadamente 8 millones a 12 millones, y hay seis estados en ese bin. Para crear
un histograma correspondiente aTabla 1-5 en R, utilizar el hist funcionar con el
rompe argumento:
hist(Expresar[['Población']], rompe=rompe)
pandas admite histogramas para marcos de datos con el DataFrame.plot.hist método. Usa el
argumento de la palabra clavecontenedores para definir el número de bins. Los diversos métodos de
trazado devuelven un objeto de eje que permite un mayor ajuste de la visualización utilizando
Matplotlib:
El histograma se muestra en Figura 1-3. En general, los histogramas se trazan de manera que:
• El número de contenedores (o, de manera equivalente, el tamaño del contenedor) depende del usuario.
• Las barras son contiguas: no se muestran espacios vacíos entre las barras, a menos que haya un
contenedor vacío.
Momentos estadísticos
Relacionado con el histograma hay un gráfico de densidad, que muestra la distribución de los valores de los
datos como una línea continua. Una gráfica de densidad se puede considerar como un histograma
suavizado, aunque normalmente se calcula directamente a partir de los datos a través de unestimación de la
densidad del grano (ver [Duong-2001] para un breve tutorial). Figura 1-4 muestra una estimación de
densidad superpuesta a un histograma. EnR, puede calcular una estimación de densidad utilizando el
densidad función:
pandas proporciona el densidad método para crear una gráfica de densidad. Usa el argumento
bw_method para controlar la suavidad de la curva de densidad:
Las funciones de trazado a menudo toman un eje opcional (hacha) argumento, que hará que la
gráfica se agregue al mismo gráfico.
Una distinción clave del histograma trazado en Figura 1-3 es la escala del eje y: un diagrama de
densidad corresponde a trazar el histograma como una proporción en lugar de recuentos
(especifique esto en R usando el argumento frecuencia = FALSO). Tenga en cuenta que el área total
debajo de la curva de densidad = 1, y en lugar de contar en contenedores, calcula las áreas debajo de
la curva entre dos puntos cualesquiera en el eje x, que corresponden a la proporción de la
distribución que se encuentra entre esos dos puntos.
Ideas claves
• Un histograma de frecuencia traza los recuentos de frecuencia en el eje y y los valores de las
variables en el eje x; da una idea de la distribución de los datos de un vistazo.
• Una tabla de frecuencia es una versión tabular de los recuentos de frecuencia que se encuentran en un
histograma.
• Una gráfica de caja, con la parte superior e inferior de la caja en los percentiles 75 y 25,
respectivamente, también da una idea rápida de la distribución de los datos; se utiliza a menudo
en visualizaciones lado a lado para comparar distribuciones.
• Un gráfico de densidad es una versión suavizada de un histograma; requiere una función para estimar una
gráfica basada en los datos (por supuesto, son posibles múltiples estimaciones).
Otras lecturas
• Un profesor de SUNY Oswego proporciona un guía paso a paso para crear un diagrama de caja.
• Estimación de densidad en R está cubierto en El artículo de Henry Deng y Hadley Wickham del
mismo nombre.
Modo
La categoría o valor que ocurre con más frecuencia en un conjunto de datos.
Valor esperado
Cuando las categorías se pueden asociar con un valor numérico, esto da un valor promedio
basado en la probabilidad de ocurrencia de una categoría.
Gráfica de barras
Gráficos circulares
Obtener un resumen de una variable binaria o una variable categórica con algunas categorías es un
asunto bastante fácil: simplemente calculamos la proporción de 1 o las proporciones de las categorías
importantes. Por ejemplo,Tabla 1-6 muestra el porcentaje de vuelos retrasados por la causa del
retraso en el aeropuerto de Dallas / Fort Worth desde 2010. Los retrasos se clasifican como debidos a
factores bajo el control de la aerolínea, retrasos en el sistema de control de tráfico aéreo (ATC), clima,
seguridad o retraso aviones entrantes.
Tabla 1-6. Porcentaje de retrasos por causa en el aeropuerto de Dallas / Fort Worth
Los gráficos de barras, que se ven a menudo en la prensa popular, son una herramienta visual común
para mostrar una sola variable categórica. Las categorías se enumeran en el eje xy las frecuencias o
proporciones en el eje y.Figura 1-5 muestra los retrasos del aeropuerto por año por causa para
Dallas / Fort Worth (DFW), y se produce con el R función gráfico de barras:
Tenga en cuenta que un gráfico de barras se parece a un histograma; en un gráfico de barras, el eje x
representa diferentes categorías de una variable de factor, mientras que en un histograma, el eje x
representa los valores de una sola variable en una escala numérica. En un histograma, las barras
generalmente se muestran tocándose entre sí, con espacios que indican valores que no ocurrieron en los
datos. En un gráfico de barras, las barras se muestran separadas entre sí.
Los gráficos circulares son una alternativa a los gráficos de barras, aunque los estadísticos y los expertos en visualización de
datos generalmente evitan los gráficos circulares por ser menos informativos visualmente (ver [Pocos-2007]).
Modo
La moda es el valor (o valores en caso de empate) que aparece con mayor frecuencia en los
datos. Por ejemplo, el modo de la causa del retraso en el aeropuerto de Dallas / Fort Worth es
"Inbound". Como otro ejemplo, en la mayor parte de los Estados Unidos, el modo de
preferencia religiosa sería cristiano. La moda es una estadística de resumen simple para datos
categóricos y, por lo general, no se usa para datos numéricos.
Valor esperado
Un tipo especial de datos categóricos son los datos en los que las categorías representan o pueden
asignarse a valores discretos en la misma escala. Un comercializador de una nueva tecnología en la
nube, por ejemplo, ofrece dos niveles de servicio, uno con un precio de $ 300 al mes y otro a $ 50 al
mes. El especialista en marketing ofrece seminarios web gratuitos para generar clientes potenciales, y
la firma calcula que el 5% de los asistentes se inscribirá en el servicio de $ 300, el 15% se inscribirá en
el servicio de $ 50 y el 80% no se inscribirá en nada. Estos datos se pueden resumir, para fines
financieros, en un solo "valor esperado", que es una forma de media ponderada, en la que las
ponderaciones son probabilidades.
En el ejemplo del servicio en la nube, el valor esperado de un asistente a un seminario web es, por lo tanto, $ 22.50
por mes, calculado de la siguiente manera:
EV = 0. 05 300 + 0. 15 50 + 0. 80 0 = 22. 5
El valor esperado es realmente una forma de media ponderada: agrega las ideas de expectativas
futuras y ponderaciones de probabilidad, a menudo basadas en juicios subjetivos. El valor esperado
es un concepto fundamental en la valoración empresarial y el presupuesto de capital, para
Probabilidad
Ideas claves
• El valor esperado es la suma de los valores multiplicada por su probabilidad de ocurrencia, que a menudo se usa
para sumar los niveles de las variables del factor.
Otras lecturas
Ningún curso de estadística está completo sin un lección sobre gráficos engañosos, que a menudo incluye
gráficos de barras y gráficos circulares.
Correlación
El análisis exploratorio de datos en muchos proyectos de modelado (ya sea en ciencia de datos o en
investigación) implica examinar la correlación entre predictores y entre predictores y una variable
objetivo. Se dice que las variables X e Y (cada una con datos medidos) están correlacionadas
positivamente si los valores altos de X van con valores altos de Y, y los valores bajos de X van con
valores bajos de Y. Si los valores altos de X van con valores bajos valores de Y, y viceversa, las
variables están correlacionadas negativamente.
Coeficiente de correlación
Métrica que mide el grado en que las variables numéricas están
asociadas entre sí (varía de –1 a +1).
Matriz de correlación
Una tabla donde las variables se muestran tanto en filas como en columnas, y los valores de
las celdas son las correlaciones entre las variables.
Gráfico de dispersión
Considere estas dos variables, perfectamente correlacionadas en el sentido de que cada una va de menor a
mayor:
v1: {1, 2, 3}
v2: {4, 5, 6}
La suma vectorial de productos es 1 · 4 + 2 · 5 + 3 · 6 = 32. Ahora intente barajar uno de ellos y vuelva a
calcular; la suma vectorial de productos nunca será mayor que 32. Por lo tanto, esta suma de productos
podría usarse como una métrica; es decir, la suma observada de 32 podría compararse con muchos cambios
aleatorios (de hecho, esta idea se relaciona con una estimación basada en el remuestreo; consulte"Prueba de
permutación" en la página 97). Sin embargo, los valores producidos por esta métrica no son tan
significativos, excepto por referencia a la distribución de remuestreo.
Más útil es una variante estandarizada: el coeficiente de correlación, que da una estimación de
la correlación entre dos variables que siempre se encuentra en la misma escala. Computar
Coeficiente de correlación de Pearson, Multiplicamos las desviaciones de la media de la variable
1 por las de la variable 2 y las dividimos por el producto de las desviaciones estándar:
∑norte
r = yo = 1 XI - xyI - y
norte - 1 sXsy
Tenga en cuenta que dividimos por norte - 1 en lugar de norte; ver "Grados de libertad y norte o norte
- ¿1? en la página 15para más detalles. El coeficiente de correlación siempre se encuentra entre +1
(correlación positiva perfecta) y –1 (correlación negativa perfecta); 0 indica que no hay correlación.
Las variables pueden tener una asociación que no sea lineal, en cuyo caso el coeficiente de
correlación puede no ser una métrica útil. La relación entre las tasas impositivas y los ingresos
Correlación | 31
planteado es un ejemplo: a medida que las tasas impositivas aumentan desde cero, los ingresos recaudados también
aumentan. Sin embargo, una vez que las tasas impositivas alcanzan un nivel alto y se acercan al 100%, la evasión fiscal aumenta
Tabla 1-7, llamado a matriz de correlación, muestra la correlación entre los rendimientos
diarios de las acciones de telecomunicaciones desde julio de 2012 hasta junio de 2015. En la
tabla, puede ver que Verizon (VZ) y ATT (T) tienen la correlación más alta. El nivel 3 (LVLT), que
es una empresa de infraestructura, tiene la correlación más baja con las demás. Tenga en
cuenta la diagonal de 1 (la correlación de una acción consigo misma es 1) y la redundancia de la
información por encima y por debajo de la diagonal.
Una tabla de correlaciones como Tabla 1-7 comúnmente se traza para mostrar visualmente la
relación entre múltiples variables. Figura 1-6 muestra la correlación entre los rendimientos
diarios de los principales fondos cotizados en bolsa (ETF). EnR, podemos crear esto fácilmente
usando el paquete corrplot:
Es posible crear el mismo gráfico en Pitón, pero no hay implementación en los paquetes
comunes. Sin embargo, la mayoría apoya la visualización de matrices de correlación
mediante mapas de calor. El siguiente código demuestra esto usando elseaborn mapa de
calor paquete. En el repositorio de código fuente adjunto, incluimosPitón código para
generar la visualización más completa:
Los ETF para el S&P 500 (SPY) y el Índice Dow Jones (DIA) tienen una alta correlación. Del mismo
modo, el QQQ y el XLK, compuestos principalmente por empresas de tecnología, están
correlacionados positivamente. Los ETF defensivos, como los que rastrean los precios del oro
(GLD), los precios del petróleo (USO) o la volatilidad del mercado (VXX), tienden a tener una
correlación débil o negativa con los otros ETF. La orientación de la elipse indica si dos variables
Correlación | 33
Otras estimaciones de correlación
Gráfico de dispersión
La forma estándar de visualizar la relación entre dos variables de datos medidos es con
un diagrama de dispersión. El eje x representa una variable y el eje y otra, y cada punto
del gráfico es un registro. VerFigura 1-7 para obtener un gráfico de la correlación entre
los rendimientos diarios de ATT y Verizon. Esto se produce enR con el comando:
Los rendimientos tienen una relación positiva: si bien se agrupan alrededor de cero, la mayoría de los
días, las acciones suben o bajan en conjunto (cuadrantes superior derecho e inferior izquierdo). Hay
menos días en los que una acción baja significativamente mientras que la otra sube, o viceversa
(cuadrantes inferior derecho y superior izquierdo).
Mientras que la trama Figura 1-7 muestra solo 754 puntos de datos, ya es obvio lo difícil que es
identificar detalles en el medio de la trama. Más adelante veremos cómo la adición de transparencia a
los puntos, o el uso de agrupaciones hexagonales y diagramas de densidad, puede ayudar a
encontrar estructura adicional en los datos.
Ideas claves
• Cuando los valores altos de v1 van con los valores altos de v2, v1 y v2 se asocian
positivamente.
• Cuando los valores altos de v1 van con los valores bajos de v2, v1 y v2 se asocian
negativamente.
• El coeficiente de correlación es una métrica estandarizada, por lo que siempre varía entre
- 1 (correlación negativa perfecta) a +1 (correlación positiva perfecta).
• Un coeficiente de correlación de cero indica que no hay correlación, pero tenga en cuenta que los arreglos
aleatorios de datos producirán valores tanto positivos como negativos para el coeficiente de correlación
simplemente por casualidad.
Correlación | 35
Otras lecturas
Estadísticas, La cuarta ed., De David Freedman, Robert Pisani y Roger Purves (WW Nor‐ ton,
2007) tiene una excelente discusión sobre la correlación.
Mesa de contingencia
Un recuento de recuentos entre dos o más variables categóricas.
Binning hexagonal
Un gráfico de dos variables numéricas con los registros agrupados en hexágonos.
Dibujo de contorno
Un gráfico que muestra la densidad de dos variables numéricas como un mapa topográfico.
Trama de violín
Al igual que el análisis univariado, el análisis bivariado implica tanto el cálculo de estadísticas de
resumen como la producción de presentaciones visuales. El tipo apropiado de análisis bivariado o
multivariado depende de la naturaleza de los datos: numérico versus categórico.
Los diagramas de dispersión están bien cuando hay un número relativamente pequeño de valores de datos.
La trama de acciones devuelve enFigura 1-7 implica sólo unos 750 puntos. Para conjuntos de datos con
cientos de miles o millones de registros, un diagrama de dispersión será demasiado denso, por lo que
necesitamos una forma diferente de visualizar la relación. Para ilustrar, considere el conjunto de datoskc_tax,
que contiene los valores tasados por impuestos para propiedades residenciales en el condado de
King, Washington. Para centrarnos en la parte principal de los datos, eliminamos las residencias muy
caras y muy pequeñas o grandes utilizando elsubconjunto función:
Figura 1-8 es un binning hexagonal diagrama de la relación entre los pies cuadrados terminados y el
valor tasado de impuestos para las viviendas en el condado de King. En lugar de trazar puntos, que
aparecerían como una nube oscura monolítica, agrupamos los registros en contenedores
hexagonales y trazamos los hexágonos con un color que indica el número de registros en ese
contenedor. En este gráfico, la relación positiva entre los pies cuadrados y el valor de tasación fiscal es
clara. Una característica interesante es el indicio de bandas adicionales por encima de la banda
principal (la más oscura) en la parte inferior, lo que indica hogares que tienen los mismos pies
cuadrados que los de la banda principal pero un valor fiscal más alto.
Figura 1-8 fue generado por el poderoso R paquete ggplot2, desarrollado por Hadley Wickham
[ggplot2]. ggplot2 es una de varias bibliotecas de software nuevas para el análisis visual
exploratorio avanzado de datos; ver“Visualización de múltiples variables” en la página 43:
En Pitón, Las parcelas de agrupamiento hexagonales están fácilmente disponibles utilizando el pandas método de
Figura 1-9 utiliza contornos superpuestos en un diagrama de dispersión para visualizar la relación
entre dos variables numéricas. Los contornos son esencialmente un mapa topográfico a dos
variables; cada banda de contorno representa una densidad específica de puntos, que aumenta a
medida que uno se acerca a un "pico". Esta trama muestra una historia similar aFigura 1-8: hay un
pico secundario "al norte" del pico principal. Este gráfico también se creó utilizandoggplot2 con el
incorporado geom_density2d función:
Se utilizan otros tipos de gráficos para mostrar la relación entre dos variables numéricas, que incluyen
mapas de calor. Los mapas de calor, el agrupamiento hexagonal y los gráficos de contorno dan una
representación visual de una densidad bidimensional. De esta forma, son análogos naturales a los
histogramas y diagramas de densidad.
Las tablas de contingencia solo pueden considerar recuentos o también pueden incluir porcentajes
totales y de columna. Las tablas dinámicas en Excel son quizás la herramienta más común utilizada
para crear tablas de contingencia. EnR, la CrossTable función en el descr paquete produce tablas de
contingencia, y el siguiente código se utilizó para crear Tabla 1-8:
Biblioteca(descr)
x_tab <- CrossTable(lc_loansPScalificación, lc_loansPSestado,
prop.c=FALSO, prop.chisq=FALSO, prop.t=FALSO)
La tabla dinámica El método crea la tabla dinámica en Pitón. La aggfunc El argumento nos permite
obtener los recuentos. Calcular los porcentajes es un poco más complicado:
df = tabulación cruzada.loc['A':'GRAMO',:].Copiar()
df.loc[:,'Descargado':'Tarde'] = df.loc[:,'Descargado':'Tarde'].div(df['Todas'],
eje=0)
df['Todas'] = df['Todas'] / suma(df['Todas'])
perc_crosstab = df
Creamos una copia de la tabla dinámica, ignorando las sumas de las columnas.
La diagrama de caja de los pandas el método toma el por argumento que divide el conjunto de datos en grupos y
crea los diagramas de caja individuales:
Figura 1-10. Diagrama de caja del porcentaje de retrasos de la aerolínea por transportista
A trama de violín, presentado por [Hintze-Nelson-1998], es una mejora del diagrama de caja y
traza la densidad estimada con la densidad en el eje y. La densidad se refleja y se voltea, y la
forma resultante se rellena, creando una imagen que se asemeja a un violín. La ventaja de un
diagrama de violín es que puede mostrar matices en la distribución que no son perceptibles en
un diagrama de caja. Por otro lado, la gráfica de caja muestra más claramente los valores
atípicos en los datos. Enggplot2, la función geom_violin se puede utilizar para crear una trama de
violín de la siguiente manera:
Las parcelas de violín están disponibles con el violín método del marinero paquete:
Los tipos de gráficos utilizados para comparar dos variables (diagramas de dispersión, agrupamiento
hexagonal y diagramas de caja) se extienden fácilmente a más variables mediante la noción de
acondicionamiento. Como ejemplo, mire hacia atrás en Figura 1-8, que mostró la relación entre los
pies cuadrados terminados de las casas y sus valores de tasación fiscal. Observamos que parece
haber un grupo de hogares que tienen un valor fiscal más alto por pie cuadrado. Buceando más
profundoFigura 1-12 tiene en cuenta el efecto de la ubicación trazando los datos para un conjunto de
códigos postales. Ahora el panorama es mucho más claro: el valor fiscal es mucho más alto en
algunos códigos postales (98105, 98126) que en otros (98108, 98188). Esta disparidad da lugar a los
clusters observados enFigura 1-8.
Figura 1-12. Valor tasado por impuestos versus pies cuadrados terminados por código postal
La mayoría Pitón los paquetes basan sus visualizaciones en Matplotlib. Si bien en principio
es posible crear gráficos facetados utilizando Matplotlib, el código puede complicarse. Por
suerte,marinero tiene una forma relativamente sencilla de crear estos gráficos:
Usa los argumentos columna y fila para especificar las variables condicionantes. Para una sola
variable de acondicionamiento, usecolumna Juntos con col_wrap para envolver los gráficos
facetados en varias filas.
La mapa el método llama al hexbin función con subconjuntos del conjunto de datos original para
los diferentes códigos postales. grado define los límites de los ejes xey.
Ideas claves
• El agrupamiento hexagonal y los gráficos de contorno son herramientas útiles que permiten
el examen gráfico de dos variables numéricas a la vez, sin verse abrumados por grandes
cantidades de datos.
• Las tablas de contingencia son la herramienta estándar para observar los recuentos de dos
variables de categoría.
• Los diagramas de caja y los diagramas de violín le permiten graficar una variable numérica contra una variable
categórica.
Resumen
El análisis exploratorio de datos (EDA), iniciado por John Tukey, sentó las bases para el
campo de la ciencia de datos. La idea clave de EDA es que el primer y más importante
paso en cualquier proyecto basado en datos esmira los datos. Al resumir y visualizar los
datos, puede obtener una valiosa intuición y comprensión del proyecto.
Este capítulo ha revisado conceptos que van desde métricas simples, como estimaciones de
ubicación y variabilidad, hasta presentaciones visuales ricas que exploran las relaciones entre
múltiples variables, como en Figura 1-12. El diverso conjunto de herramientas y técnicas que
está desarrollando la comunidad de código abierto, combinado con la expresividad delR
y Pitón idiomas, ha creado una plétora de formas de explorar y analizar datos. El análisis
exploratorio debe ser la piedra angular de cualquier proyecto de ciencia de datos.
Un concepto erróneo popular sostiene que la era de los macrodatos significa el fin de la necesidad de
muestreo. De hecho, la proliferación de datos de diferente calidad y relevancia refuerza la necesidad del
muestreo como herramienta para trabajar de manera eficiente con una variedad de datos y minimizar el
sesgo. Incluso en un proyecto de big data, los modelos predictivos generalmente se desarrollan y se ponen a
prueba con muestras. Las muestras también se utilizan en pruebas de varios tipos (por ejemplo, comparar el
efecto de los diseños de páginas web en los clics).
Figura 2-1 muestra un esquema que sustenta los conceptos que discutiremos en este capítulo:
distribuciones de datos y muestreo. El lado izquierdo representa una población que, en las
estadísticas, se supone que sigue un subyacente perodesconocido distribución. Todo lo que
está disponible es elmuestra datos y su distribución empírica, que se muestran en el lado
derecho. Para ir del lado izquierdo al lado derecho, unmuestreo se utiliza el procedimiento
(representado por una flecha). Las estadísticas tradicionales se centraron mucho en el lado
izquierdo, utilizando teorías basadas en supuestos sólidos sobre la población. Las estadísticas
modernas se han movido hacia el lado derecho, donde tales suposiciones no son necesarias.
En general, los científicos de datos no deben preocuparse por la naturaleza teórica del lado izquierdo
y, en cambio, deben centrarse en los procedimientos de muestreo y los datos disponibles. Hay
algunas excepciones notables. A veces, los datos se generan a partir de un proceso físico que se
puede modelar. El ejemplo más simple es lanzar una moneda: sigue una distribución bino‐ mial.
Cualquier situación binomial de la vida real (compre o no compre, fraude o no fraude, haga clic o no
haga clic) se puede modelar de manera efectiva con una moneda (con probabilidad modificada de
caer cara, por supuesto). En estos casos, podemos obtener información adicional utilizando nuestro
conocimiento de la población.
47
Figura 2-1. Población versus muestra
La calidad de los datos a menudo es más importante que la cantidad de datos cuando se hace una
estimación o un modelo basado en una muestra. La calidad de los datos en la ciencia de datos implica la
integridad, la coherencia del formato, la limpieza y la precisión de los puntos de datos individuales. La
estadística agrega la noción derepresentatividad.
Muestra
Un subconjunto de un conjunto de datos más grande.
Población
El conjunto de datos más grande o la idea de un conjunto de datos.
N (n)
El tamaño de la población (muestra).
Muestreo aleatorio
Dibujar elementos en una muestra al azar.
Muestreo estratificado
División de la población en estratos y muestreo aleatorio de cada estrato.
Error sistematico.
Sesgo de la muestra
El ejemplo clásico es el Compendio literario encuesta de 1936 que predijo una victoria de Alf
Landon sobre Franklin Roosevelt. LaCompendio literario, un periódico líder del día, encuestó a
toda su base de suscriptores más listas adicionales de individuos, un total de más de 10
millones de personas, y predijo una victoria aplastante para Landon. George Gallup, fundador
de Gallup Poll, realizó encuestas quincenales a solo 2.000 personas y predijo con precisión una
victoria de Roosevelt. La diferencia radica en la selección de los encuestados.
La Compendio literario optó por la cantidad, prestando poca atención al método de selección.
Terminaron encuestando a aquellos con un estatus socioeconómico relativamente alto (sus propios
suscriptores, más aquellos que, en virtud de poseer lujos como teléfonos y automóviles, aparecían en
las listas de los especialistas en marketing). El resultado fuesesgo de la muestra; es decir, la muestra
era diferente de alguna manera significativa y no aleatoria de la población más grande que estaba
destinada a representar. El terminono aleatorio es importante: casi ninguna muestra, incluidas las
aleatorias, será exactamente representativa de la población. El sesgo de la muestra ocurre cuando la
diferencia es significativa y se puede esperar que continúe para otras muestras extraídas de la misma
manera que la primera.
Las reseñas de restaurantes, hoteles, cafés, etc. que lee en sitios de redes
sociales como Yelp son propensas a sesgar porque las personas que las
envían no se seleccionan al azar; más bien, ellos mismos han tomado la
iniciativa de escribir. Esto conduce a un sesgo de autoselección: las personas
motivadas para escribir reseñas pueden haber tenido malas experiencias,
pueden tener una asociación con el establecimiento o simplemente pueden
ser un tipo de persona diferente de las que no escriben reseñas. Tenga en
cuenta que, si bien las muestras de autoselección pueden ser indicadores
poco confiables del verdadero estado de las cosas, pueden ser más confiables
simplemente comparando un establecimiento con uno similar; el mismo sesgo
de autoselección podría aplicarse a cada uno.
Parcialidad
El sesgo se presenta en diferentes formas y puede ser observable o invisible. Cuando un resultado sugiere sesgo (por
ejemplo, por referencia a un punto de referencia o valores reales), a menudo es un indicador de que se ha
especificado incorrectamente un modelo estadístico o de aprendizaje automático, o que se ha omitido una variable
importante.
Selección aleatoria
Para evitar el problema del sesgo muestral que Compendio literario para predecir Landon
sobre Roosevelt, George Gallup (mostrado en Figura 2-4) optó por métodos escogidos
científicamente para lograr una muestra que fuera representativa del electorado votante de EE.
UU. Ahora hay una variedad de métodos para lograr la representatividad, pero en el corazón de
todos ellos se encuentramuestreo aleatorio.
Figura 2-4. George Gallup, catapultado a la fama por el fracaso de los "grandes datos" del Literary Digest
El muestreo aleatorio no siempre es fácil. La definición adecuada de una población accesible es clave.
Supongamos que queremos generar un perfil representativo de los clientes y necesitamos realizar
una encuesta piloto a los clientes. La encuesta debe ser representativa pero requiere mucha mano de
obra.
A continuación, necesitamos especificar un procedimiento de muestreo. Podría ser "seleccionar 100 clientes al azar".
Cuando se trata de una muestra de un flujo (p. Ej., Transacciones de clientes en tiempo real o visitantes de la web), las
consideraciones de tiempo pueden ser importantes (p. Ej., Un visitante de la web a las 10 a. M. En un día laborable
puede ser diferente de un visitante de la web a las 10 p. M. en un fin de semana).
En la era del big data, a veces es sorprendente que cuanto más pequeño, mejor. El tiempo y el
esfuerzo dedicados al muestreo aleatorio no solo reduce el sesgo, sino que también permite una
mayor atención a la exploración y la calidad de los datos. Por ejemplo, los datos faltantes y los valores
atípicos pueden contener información útil. Puede resultar prohibitivamente caro rastrear valores
perdidos o evaluar valores atípicos en millones de registros, pero hacerlo en una muestra de varios
miles de registros puede ser factible. El trazado de datos y la inspección manual se atascan si hay
demasiados datos.
El escenario clásico para el valor de big data es cuando los datos no solo son grandes sino
también escasos. Considere las consultas de búsqueda recibidas por Google, donde las
columnas son términos, las filas son consultas de búsqueda individuales y los valores de celda
son 0 o 1, dependiendo de si una consulta contiene un término. El objetivo es determinar el
mejor destino de búsqueda previsto para una consulta determinada. Hay más de 150.000
palabras en inglés y Google procesa más de un billón de consultas al año. Esto produce una
matriz enorme, la gran mayoría de cuyas entradas son "0".
Este es un verdadero problema de big data: solo cuando se acumulan cantidades tan enormes de datos, se
pueden obtener resultados de búsqueda efectivos para la mayoría de las consultas. Y cuantos más datos se
acumulen, mejores serán los resultados. Para los términos de búsqueda populares, esto no es un problema:
se pueden encontrar datos efectivos con bastante rapidez para un puñado de temas extremadamente
populares que son tendencia en un momento particular. El valor real de la tecnología de búsqueda moderna
radica en la capacidad de devolver resultados detallados y útiles para una gran variedad de consultas de
búsqueda, incluidas aquellas que ocurren con una frecuencia, digamos, de solo una en un millón.
Considere la frase de búsqueda "Ricky Ricardo y Caperucita Roja". En los primeros días de
Internet, esta consulta probablemente habría arrojado resultados sobre el líder de la
banda Ricky Ricardo, el programa de televisiónMe encanta Lucy en el que ese personaje
Tenga en cuenta que el número de pertinente registros, aquellos en los que aparece esta
consulta de búsqueda exacta, o algo muy similar (junto con información sobre el enlace en el
que la gente finalmente hizo clic), puede que solo necesiten miles para que sean efectivos. Sin
embargo, se necesitan muchos billones de puntos de datos para obtener estos registros
pertinentes (y el muestreo aleatorio, por supuesto, no ayudará). Ver también“Distribuciones de
cola larga” en la página 73.
El símbolo X (se pronuncia "x-bar") se utiliza para representar la media de una muestra de una
población, mientras que μ se utiliza para representar la media de una población. ¿Por qué hacer la
distinción? Se observa información sobre muestras y la información sobre poblaciones grandes a
menudo se infiere a partir de muestras más pequeñas. A los estadísticos les gusta mantener las dos
cosas separadas en la simbología.
Ideas claves
• Incluso en la era del big data, el muestreo aleatorio sigue siendo una flecha importante en el carcaj
del científico de datos.
• La calidad de los datos es a menudo más importante que la cantidad de datos, y el muestreo
aleatorio puede reducir el sesgo y facilitar la mejora de la calidad que de otro modo sería
prohibitivamente costoso.
Otras lecturas
• Se puede encontrar una revisión útil de los procedimientos de muestreo en el capítulo de
Ronald Fricker "Métodos de muestreo para encuestas en línea" en El manual SAGE de
métodos de investigación en línea, 2a ed., Editado por Nigel G. Fielding, Raymond M. Lee y
Grant Blank (Publicaciones SAGE, 2016). Este capítulo incluye una revisión de las
modificaciones al muestreo aleatorio que se utilizan a menudo por razones prácticas de
costo o viabilidad.
Sesgo de selección
Sesgo de selección
Espionaje de datos
Amplia búsqueda de datos en busca de algo interesante.
Si especifica una hipótesis y realiza un experimento bien diseñado para probarla, puede
tener una gran confianza en la conclusión. Sin embargo, esto no suele ser lo que ocurre. A
menudo, uno mira los datos disponibles y trata de discernir patrones. Pero, ¿son reales
los patrones? ¿O son solo el producto deespionaje de datos¿Es decir, una búsqueda
exhaustiva de los datos hasta que surge algo interesante? Hay un dicho entre los
estadísticos: "Si torturas los datos el tiempo suficiente, tarde o temprano confesarán".
La diferencia entre un fenómeno que verifica cuando prueba una hipótesis utilizando
un experimento y un fenómeno que descubre al examinar los datos disponibles se
puede aclarar con el siguiente experimento mental.
Imagina que alguien te dice que puede lanzar una moneda y hacer que caiga cara en los próximos 10
lanzamientos. Usted los desafía (el equivalente a un experimento) y ellos proceden a lanzar la moneda
10 veces, con todos los lanzamientos de cara al suelo. Claramente, le atribuyes un talento especial a
esta persona: la probabilidad de que 10 lanzamientos de moneda salgan cara por casualidad es de 1
en 1.000.
Ahora imagine que el locutor de un estadio deportivo pide a las 20.000 personas presentes que
lancen una moneda 10 veces y que informen a un acomodador si obtienen 10 caras seguidas.
La posibilidad de quealguien en el estadio obtendrá 10 caras es extremadamente alto (más del
99%, es 1 menos la probabilidad de que nadie obtenga 10 caras). Claramente,
Dado que la revisión repetida de grandes conjuntos de datos es una propuesta de valor clave en la ciencia de
datos, el sesgo de selección es algo de lo que preocuparse. Una forma de sesgo de selección que preocupa
especialmente a los científicos de datos es lo que John Elder (fundador de Elder Research, una respetada
consultora de minería de datos) llamagran efecto de búsqueda. Si ejecuta repetidamente diferentes modelos
y hace diferentes preguntas con un gran conjunto de datos, seguramente encontrará algo interesante. Pero,
¿el resultado que encontró realmente es algo interesante, o es una posibilidad atípica?
Podemos protegernos contra esto mediante el uso de un conjunto de reserva y, a veces, más de un conjunto
de reserva, contra el cual validar el rendimiento. Elder también aboga por el uso de lo que él llamabarajar el
objetivouna prueba de permutación, en esencia) para probar la validez de las asociaciones predictivas que
sugiere un modelo de minería de datos.
Las formas típicas de sesgo de selección en las estadísticas, además del vasto efecto de búsqueda,
incluyen el muestreo no aleatorio (ver “Muestreo aleatorio y sesgo de muestra” en la página 48),
seleccionar datos, seleccionar intervalos de tiempo que acentúan un efecto estadístico particular y
detener un experimento cuando los resultados parecen "interesantes".
Regresión a la media
Regresión a la media se refiere a un fenómeno que involucra mediciones sucesivas en una variable
dada: las observaciones extremas tienden a ser seguidas por otras más centrales. Dar un enfoque y
un significado especiales al valor extremo puede conducir a una forma de sesgo de selección.
Los fanáticos de los deportes están familiarizados con el fenómeno del “novato del año, caída del segundo
año”. Entre los atletas que comienzan su carrera en una temporada determinada (la clase de novatos),
siempre hay uno que se desempeña mejor que todos los demás. Generalmente, este "novato del año" no lo
hace tan bien en su segundo año. ¿Por qué no?
En casi todos los deportes importantes, al menos en los que se juegan con pelota o disco, hay dos
elementos que influyen en el rendimiento general:
• Habilidad
• Suerte
La regresión a la media es una consecuencia de una forma particular de sesgo de selección. Cuando
seleccionamos al novato con la mejor actuación, es probable que la habilidad y la buena suerte
contribuyan. En su próxima temporada, la habilidad seguirá ahí, pero muy a menudo la suerte no
estará, por lo que su rendimiento disminuirá, retrocederá. El fenómeno fue identificado por primera
vez por Francis Galton en 1886.[Galton-1886], quien escribió sobre esto en conexión
Sesgo de selección | 55
con tendencias genéticas; Por ejemplo, los hijos de hombres extremadamente altos tienden a no ser
tan altos como su padre (verFigura 2-5).
Ideas claves
• Especificar una hipótesis y luego recopilar datos siguiendo los principios de aleatorización y
muestreo aleatorio asegura que no haya sesgos.
• Todas las demás formas de análisis de datos corren el riesgo de sesgo resultante del proceso de
recopilación / análisis de datos (ejecución repetida de modelos en la minería de datos, espionaje de datos
en la investigación y selección posterior a los hechos de eventos interesantes).
• Artículo de Michael Harris "Engañado por la aleatoriedad a través del sesgo de selección" proporciona una
revisión interesante de las consideraciones de sesgo de selección en los esquemas de negociación del mercado
de valores, desde la perspectiva de los comerciantes.
Estadística de muestra
Métrica calculada para una muestra de datos extraídos de una población más grande.
Distribución de datos
La distribución de frecuencia del individuo valores en un conjunto de datos.
Distribución muestral
La distribución de frecuencia de un estadística de muestra sobre muchas muestras o remuestreos.
muestra.
Error estándar
La variabilidad (desviación estándar) de una muestra estadística sobre muchas muestras (no
confundir con Desviación Estándar, que por sí solo, se refiere a la variabilidad de los datos
individuales valores).
Normalmente, una muestra se extrae con el objetivo de medir algo (con un estadística de muestra) o
modelar algo (con un modelo estadístico o de aprendizaje automático). Dado que nuestra estimación
o modelo se basa en una muestra, podría ser un error; podría ser diferente si tuviéramos que extraer
una muestra diferente. Por lo tanto, estamos interesados en cuán diferente podría ser; una
preocupación clave esvariabilidad muestral. Si tuviéramos muchos datos, podríamos extraer
muestras adicionales y observar la distribución de una estadística de muestra directamente.
Es probable que la distribución de una estadística de muestra, como la media, sea más regular y con forma
de campana que la distribución de los datos en sí. Cuanto mayor sea la muestra en la que se basa la
estadística, más cierto es esto. Además, cuanto más grande sea la muestra, más estrecha será la distribución
del estadístico muestral.
Esto se ilustra en un ejemplo que utiliza los ingresos anuales de los solicitantes de préstamos al Lending‐ Club
(consulte “Un pequeño ejemplo: predecir el incumplimiento de los préstamos” en la página 239 para una descripción
de los datos). Tome tres muestras de estos datos: una muestra de 1000 valores, una muestra de
1000 medias de 5 valores y una muestra de 1000 medias de 20 valores. Luego trazar un
histograma de cada muestra para producirFigura 2-6.
Figura 2-6. Histograma de ingresos anuales de 1,000 solicitantes de préstamos (arriba), luego 1,000
medias de n = 5 solicitantes (centro) y finalmente 1,000 medias de n = 20 solicitantes (abajo)
Biblioteca(ggplot2)
# tomar una muestra aleatoria simple
samp_data <- marco de datos(ingreso=muestra(ingresos_préstamos, 1000),
tipo='data_dist')
# tomar una muestra de medias de 5 valores
samp_mean_05 <- marco de datos(
ingreso = tocar(muestra(ingresos_préstamos, 1000*5),
reps(1:1000, reps(5, 1000)), DIVERTIDA=significar),
tipo = 'mean_of_5')
# tomar una muestra de medias de 20 valores
samp_mean_20 <- marco de datos(
ingreso = tocar(muestra(ingresos_préstamos, 1000*20),
reps(1:1000, reps(20, 1000)), DIVERTIDA=significar),
tipo = 'mean_of_20')
# enlazar data.frames y convertir el tipo en un factor
ingreso <- rbind(samp_data, samp_mean_05, samp_mean_20)
ingresoPStipo = factor(ingresoPStipo,
niveles=C('data_dist', 'mean_of_5', 'mean_of_20'),
etiquetas=C('Datos', 'Media de 5', 'Media de 20'))
# trazar los histogramas
ggplot(ingreso, aes(X=ingreso)) +
geom_histogram(contenedores=40) +
facet_grid(tipo ~ .)
La Pitón usos del código marinero's FacetGrid para mostrar los tres histogramas:
El fenómeno que acabamos de describir se denomina teorema del límite central. Dice que las
medias extraídas de múltiples muestras se asemejarán a la familiar curva normal en forma de
campana (ver "Distribución normal" en la página 69), incluso si la población de origen no se
distribuye normalmente, siempre que el tamaño de la muestra sea lo suficientemente grande y
la desviación de los datos de la normalidad no sea demasiado grande. El teorema del límite
central permite utilizar fórmulas de aproximación normal como la distribución t para calcular
distribuciones muestrales para inferencia, es decir, intervalos de confianza y pruebas de
hipótesis.
El teorema del límite central recibe mucha atención en los textos de estadística tradicionales porque
subyace en la maquinaria de las pruebas de hipótesis y los intervalos de confianza, que en sí mismos
ocupan la mitad del espacio en dichos textos. Los científicos de datos deben ser conscientes de este
papel; Sin embargo, dado que las pruebas formales de hipótesis y los intervalos de confianza juegan
un papel pequeño en la ciencia de datos,bootstrapver “El Bootstrap” en la página 61) está disponible
en cualquier caso, el teorema del límite central no es tan central en la práctica de la ciencia de datos.
Error estándar
La Error estándar es una única métrica que resume la variabilidad en la distribución muestral de una
estadística. El error estándar se puede estimar utilizando una estadística basada en la desviación
estándars de los valores de la muestra, y el tamaño de la muestra norte:
Error estándar = SE = s
norte
La validez de la fórmula del error estándar surge del teorema del límite central. De hecho, no es
necesario confiar en el teorema del límite central para comprender el error estándar. Considere
el siguiente enfoque para medir el error estándar:
En la práctica, este enfoque de recolectar nuevas muestras para estimar el error estándar
generalmente no es factible (y estadísticamente es un desperdicio). Afortunadamente, resulta que no
es necesario sacar muestras nuevas; en su lugar, puedes usaroreja remuestreos. En las estadísticas
modernas, el bootstrap se ha convertido en la forma estándar de estimar el error estándar. Se puede
utilizar para prácticamente cualquier estadística y no se basa en el teorema del límite central ni en
otros supuestos distributivos.
Ideas claves
• La distribución de frecuencia de una estadística de muestra nos dice cómo esa métrica
resultaría diferente de una muestra a otra.
• Esta distribución muestral se puede estimar mediante bootstrap o mediante fórmulas que se
basan en el teorema del límite central.
• Una métrica clave que resume la variabilidad de una estadística de muestra es su error estándar.
Otras lecturas
De David Lane recurso multimedia en línea en estadística tiene una simulación útil que le permite
seleccionar una estadística de muestra, un tamaño de muestra y el número de iteraciones y visualizar
un histograma de la distribución de frecuencia resultante.
El Bootstrap
Una forma fácil y eficaz de estimar la distribución muestral de una estadística, o de los
parámetros del modelo, es extraer muestras adicionales, con reemplazo, de la muestra
misma y recalcular la estadística o modelo para cada nueva muestra. Este procedimiento
se llamaoreja, y no implica necesariamente suposiciones sobre la distribución normal de
los datos o de la estadística de la muestra.
El Bootstrap | 61
Términos clave para Bootstrap
Muestra de Bootstrap
Una muestra tomada con reemplazo de un conjunto de datos observados.
Remuestreo
El proceso de tomar muestras repetidas de datos observados; incluye procedimientos tanto de
correa de arranque como de permutación (barajado).
R, el número de iteraciones del bootstrap se establece de forma algo arbitraria. Cuantas más
iteraciones haga, más precisa será la estimación del error estándar o el intervalo de confianza.
El resultado de este procedimiento es un conjunto inicial de estadísticas de muestra o
parámetros estimados del modelo, que luego puede examinar para ver qué tan variables son.
La R paquete bota combina estos pasos en una función. Por ejemplo, lo siguiente aplica el
bootstrap a los ingresos de las personas que solicitan préstamos:
Biblioteca(bota)
stat_fun <- función(X, idx) mediana(X[idx])
boot_obj <- bota(ingresos_préstamos, R=1000, estadística=stat_fun)
La función stat_fun calcula la mediana para una muestra dada especificada por el índice
idx. El resultado es el siguiente:
Estadísticas de Bootstrap :
sesgo original std. error
t1* 62000 -70.5595 209.1515
El bootstrap se puede utilizar con datos multivariados, donde las filas se muestrean como unidades
(consulte Figura 2-8). A continuación, se podría ejecutar un modelo sobre los datos de arranque, por
ejemplo, para estimar la estabilidad (variabilidad) de los parámetros del modelo o para mejorar el
poder predictivo. Con árboles de clasificación y regresión (también llamadosárboles de decisión),
ejecutar varios árboles en muestras de bootstrap y luego promediar sus predicciones (o, con la
clasificación, tomar un voto mayoritario) generalmente funciona mejor que usar un
El Bootstrap | 63
solo árbol. Este proceso se llamaembolsarabreviatura de "bootstrap aggregating"; ver
“Embolsado y el bosque aleatorio” en la página 259).
El bootstrap fue recibido con considerable escepticismo cuando se introdujo por primera
vez; tenía el aura para muchos de hilar oro de paja. Este escepticismo se debió a un
malentendido del propósito del bootstrap.
Ideas claves
• El bootstrap (muestreo con reemplazo de un conjunto de datos) es una herramienta poderosa para evaluar
la variabilidad de una estadística de muestra.
Otras lecturas
• Una introducción al Bootstrap de Bradley Efron y Robert Tibshirani (Chapman y Hall, 1993)
fue el primer tratamiento de la extensión de un libro sobre el bootstrap. Todavía es muy
leído.
Intervalos de confianza
Las tablas de frecuencia, los histogramas, los diagramas de caja y los errores estándar son formas de
comprender el error potencial en una estimación de muestra. Los intervalos de confianza son otro.
Nivel de confianza
El porcentaje de intervalos de confianza, construidos de la misma manera a partir de la
misma población, que se espera que contengan la estadística de interés.
Existe una aversión humana natural a la incertidumbre; la gente (especialmente los expertos) dice "No
sé" con demasiada frecuencia. Los analistas y gerentes, aunque reconocen la incertidumbre,
depositan una fe indebida en una estimación cuando se presenta como un solo número (unpunto
estimado). Presentar una estimación no como un número único sino como un rango es una forma de
contrarrestar esta tendencia. Los intervalos de confianza hacen esto de una manera basada en
principios de muestreo estadístico.
Los intervalos de confianza siempre vienen con un nivel de cobertura, expresado como un porcentaje
(alto), digamos 90% o 95%. Una forma de pensar en un intervalo de confianza del 90% es la siguiente:
es el intervalo que encierra el 90% central de la distribución de muestreo bootstrap de una estadística
de muestra (ver“El Bootstrap” en la página 61). De manera más general, unaX% El intervalo de
confianza en torno a una estimación de muestra debe, en promedio, contener estimaciones de
muestra similares X% del tiempo (cuando se sigue un procedimiento de muestreo similar).
Dada una muestra de tamaño norte, y una estadística de muestra de interés, el algoritmo para un intervalo de
confianza de la correa de la bota es el siguiente:
1. Dibujar una muestra aleatoria de tamaño norte con reemplazo de los datos (una nueva muestra).
4. Para un X% intervalo de confianza, recorte [(100-X) / 2]% del R volver a muestrear los resultados de
cualquier extremo de la distribución.
5. Los puntos de corte son los puntos finales de un X% intervalo de confianza de bootstrap.
Figura 2-9 muestra un intervalo de confianza del 90% para el ingreso anual promedio de los solicitantes de
préstamos, basado en una muestra de 20 para la cual la media fue de $ 62,231.
El bootstrap es una herramienta general que se puede utilizar para generar intervalos de confianza para la
mayoría de las estadísticas o parámetros del modelo. Los libros de texto y software estadísticos, con raíces
en más de medio siglo de análisis estadístico sin computadora, también harán referencia a los intervalos de
confianza generados por fórmulas, especialmente la distribución t (ver“Distribución t de Student” en la
página 75).
Intervalos de confianza | 67
El porcentaje asociado con el intervalo de confianza se denomina nivel de confianza. Cuanto mayor
sea el nivel de confianza, más amplio será el intervalo. Además, cuanto más pequeña es la muestra,
más amplio es el intervalo (es decir, mayor es la incertidumbre). Ambos tienen sentido: cuanto más
confianza desee tener y cuantos menos datos tenga, más amplio debe hacer el intervalo de confianza
para estar lo suficientemente seguro de capturar el valor real.
Ideas claves
• Los intervalos de confianza son la forma típica de presentar estimaciones como un rango de intervalo.
• Cuantos más datos tenga, menos variable será una estimación de muestra.
• Cuanto menor sea el nivel de confianza que pueda tolerar, más estrecho será el intervalo de
confianza.
Otras lecturas
• Para obtener un enfoque de arranque de los intervalos de confianza, consulte Introducción a las
estadísticas y análisis: una perspectiva de remuestreo por Peter Bruce (Wiley, 2014) o
Estadísticas: desbloquear el poder de los datos, 2a ed., Por Robin Lock y otros cuatro miembros
de la familia Lock (Wiley, 2016).
• Los ingenieros, que tienen la necesidad de comprender la precisión de sus mediciones, usan
intervalos de confianza quizás más que la mayoría de las disciplinas, y Estadísticas de ingeniería
moderna por Thomas Ryan (Wiley, 2007) analiza los intervalos de confianza. También revisa una
herramienta que es igualmente útil y recibe menos atención:intervalos de predicción
(intervalos alrededor de un valor único, en contraposición a una media u otra estadística de
resumen).
Error
La diferencia entre un punto de datos y un valor pronosticado o promedio.
Estandarizar
Reste la media y divida por la desviación estándar.
puntuación z
Estándar normal
Una distribución normal con media = 0 y desviación estándar = 1.
QQ-Plot
Un gráfico para visualizar qué tan cerca está una distribución de muestra de una distribución específica,
por ejemplo, la distribución normal.
En una distribución normal (Figura 2-10), El 68% de los datos se encuentra dentro de una desviación estándar
de la media y el 95% se encuentra dentro de dos desviaciones estándar.
1 La curva de campana es icónica pero quizás sobrevalorada. George W. Cobb, el estadístico de Mount Holyoke conocido por su
contribución a la filosofía de la enseñanza de la estadística introductoria, argumentó en un editorial de noviembre de 2015 en el
Estadístico estadounidense que el "curso introductorio estándar, que coloca la distribución normal en su centro, había
sobrevivido a la utilidad de su centralidad".
Distribución normal | 69
Figura 2-10. Curva normal
A QQ-Plot se utiliza para determinar visualmente qué tan cerca está una muestra de una distribución
especificada, en este caso, la distribución normal. El QQ-Plot ordena elz-puntajes de menor a mayor y
traza cada valor z-puntuación en el eje y; el eje x es el cuantil correspondiente de una distribución
normal para el rango de ese valor. Dado que los datos están normalizados, las unidades
corresponden al número de desviaciones estándar de la media. Si los puntos caen aproximadamente
en la línea diagonal, entonces la distribución de la muestra se puede considerar cercana a la normal.
Figura 2-11 muestra un QQ-Plot para una muestra de 100 valores generados aleatoriamente a partir
de una distribución normal; como se esperaba, los puntos siguen de cerca la línea. Esta figura se
puede producir enR con el qqnorm función:
Distribución normal | 71
Figura 2-11. QQ-Plot de una muestra de 100 valores extraídos de una distribución normal
estándar
Ideas claves
• La distribución normal fue fundamental para el desarrollo histórico de las estadísticas, ya que
permitió una aproximación matemática de la incertidumbre y la variabilidad.
• Si bien los datos brutos generalmente no se distribuyen normalmente, los errores a menudo lo son, al igual que los promedios
• Para convertir datos a z-puntajes, resta la media de los datos y divide por la desviación
estándar; luego puede comparar los datos con una distribución normal.
Cola
La porción larga y estrecha de una distribución de frecuencia, donde ocurren valores
relativamente extremos a baja frecuencia.
Sesgar
Donde una cola de una distribución es más larga que la otra.
Si bien la distribución normal suele ser apropiada y útil con respecto a la distribución de errores
y las estadísticas de la muestra, por lo general no caracteriza la distribución de datos brutos. A
veces, la distribución es muysesgadoasimétrico), como con datos de ingresos; o la distribución
puede ser discreta, como ocurre con los datos binomiales. Tanto las distribuciones simétricas
como asimétricas pueden tenercolas largas. Las colas de una distribución corresponden a los
valores extremos (pequeños y grandes). Las colas largas y la protección contra ellas son
ampliamente reconocidas en el trabajo práctico. Nassim Taleb ha propuesto la
cisne negro teoría, que predice que eventos anómalos, como una caída del mercado de
valores, tienen muchas más probabilidades de ocurrir de lo que predeciría la distribución
normal.
Un buen ejemplo para ilustrar la naturaleza de cola larga de los datos son los rendimientos de las acciones.
Figura 2-12 muestra el QQ-Plot para la rentabilidad diaria de las acciones de Netflix (NFLX). Esto se
genera enR por:
En contraste con Figura 2-11, los puntos están muy por debajo de la línea para valores bajos y muy
por encima de la línea para valores altos, lo que indica que los datos no están distribuidos
normalmente. Esto significa que es mucho más probable que observemos valores extremos de lo que
se esperaría si los datos tuvieran una distribución normal.Figura 2-12 muestra otro fenómeno común:
los puntos están cerca de la línea de los datos dentro de una desviación estándar de la media. Tukey
se refiere a este fenómeno como datos que son "normales en el medio" pero que tienen colas mucho
más largas (ver[Tukey-1987]).
Ideas claves
• Asumir una distribución normal puede llevar a subestimar los eventos extremos
(“cisnes negros”).
Otras lecturas
• El Cisne negro, 2a ed., Por NassimNicholas Taleb (RandomHouse, 2010)
• Manual de distribuciones estadísticas con aplicaciones, 2a ed., Por K. Krishna‐
moorthy (Chapman & Hall / CRC Press, 2016)
Distribución t de Student
La distribución t es una distribución de forma normal, excepto que es un poco más gruesa y
más larga en las colas. Se utiliza ampliamente para representar distribuciones de estadísticas
de muestra. Las distribuciones de las medias muestrales suelen tener la forma de una
distribución t, y hay una familia de distribuciones t que difieren según el tamaño de la muestra.
Cuanto más grande es la muestra, más normal se vuelve la distribución t.
Distribución t de Student | 75
Términos clave para la distribución t de Student
norte
Tamaño de la muestra.
Grados de libertad
Un parámetro que permite que la distribución t se ajuste a diferentes tamaños de muestra,
estadísticas y números de grupos.
La distribución t a menudo se llama T de estudiante porque fue publicado en 1908 en Bio‐ metrika por
WS Gosset con el nombre de "Estudiante". El empleador de Gosset, la fábrica de cerveza Guinness, no
quería que los competidores supieran que estaba usando métodos estadísticos, por lo que insistió en
que Gosset no usara su nombre en el artículo.
Figura 2-13. Resultados del experimento de remuestreo de Gosset y curva t ajustada (de su artículo de
1908 Biometrika)
X ± tnorte - 1 0. 05 ·s
norte
dónde tnorte - 1. 05 es el valor del estadístico t, con (norte - 1) grados de libertad (ver
"Grados de libertad" en la página 116), que "corta" el 5% de la distribución t en
final. La distribución t se ha utilizado como referencia para la distribución de una media
muestral, la diferencia entre dos medias muestrales, parámetros de regresión y otras
estadísticas.
Si la potencia informática hubiera estado ampliamente disponible en 1908, las estadísticas sin duda se
habrían basado mucho más en métodos de remuestreo computacionalmente intensivos desde el principio. A
falta de computadoras, los estadísticos recurrieron a las matemáticas y funciones como la distribución t para
aproximar las distribuciones muestrales. El poder de la computadora permitió experimentos prácticos de
remuestreo en la década de 1980, pero para entonces, el uso de la distribución t y distribuciones similares se
había arraigado profundamente en los libros de texto y el software.
Distribución t de Student | 77
Ideas claves
Otras lecturas
• El artículo original de WS Gosset publicado en Biometrika en 1908 está disponible como PDF.
Distribución binomial
Los resultados sí / no (binomiales) se encuentran en el corazón de la analítica, ya que a menudo son la
culminación de una decisión u otro proceso; comprar / no comprar, hacer clic / no hacer clic, sobrevivir /
morir, etc. Para comprender la distribución binomial es fundamental la idea de un conjunto de
juicios, cada ensayo tiene dos resultados posibles con probabilidades definidas.
Por ejemplo, lanzar una moneda 10 veces es un experimento binomial con 10 intentos, cada
intento tiene dos resultados posibles (cara o cruz); verFigura 2-14. Estos resultados sí / no o 0/1
se denominanbinario resultados, y no es necesario que tengan probabilidades de 50/50.
Cualquier probabilidad que sume 1.0 es posible. Es convencional en estadística denominar el
resultado "1" comoéxito Salir; También es una práctica común asignar "1" al resultado más
raro. Uso del términoéxito no implica que el resultado sea deseable o beneficioso, pero tiende a
indicar el resultado de interés. Por ejemplo, los incumplimientos de préstamos o las
transacciones fraudulentas son eventos relativamente poco comunes que podríamos estar
interesados en predecir, por lo que se denominan "1" o "éxitos".
Juicio
Un evento con un resultado discreto (por ejemplo, un lanzamiento de moneda).
Éxito
El resultado de interés para un juicio.
Sinónimo
"1" (en contraposición a "0")
Binomio
Tener dos resultados.
Sinónimos
sí / no, 0/1, binario
Ensayo binomial
Un ensayo con dos resultados.
Sinónimo
Juicio de Bernoulli
Distribución binomial
Distribución del número de éxitos en X ensayos.
Sinónimo
Distribución de Bernoulli
Distribución binomial | 79
pbinom(2, 5, 0,1)
Esto devolvería 0,9914, la probabilidad de observar dos o menos éxitos en cinco ensayos,
donde la probabilidad de éxito para cada ensayo es 0,1.
La media de una distribución binomial es norte × pag; También puede pensar en esto como el
número esperado de éxitos en norte ensayos, para probabilidad de éxito = pag.
La varianza es norte × pag 1 - pag . Con un número suficientemente grande de ensayos (particularmente cuando
pag está cerca de 0,50), la distribución binomial es prácticamente indistinguible de la distribución
normal. De hecho, calcular probabilidades binomiales con tamaños de muestra grandes es
computacionalmente exigente y la mayoría de los procedimientos estadísticos utilizan la distribución
normal, con media y varianza, como aproximación.
Ideas claves
• Los resultados binomiales son importantes para modelar, ya que representan, entre otras cosas,
decisiones fundamentales (comprar o no comprar, hacer clic o no hacer clic, sobrevivir o morir,
etc.).
• Con gran norte, y siempre pag no está demasiado cerca de 0 o 1, la distribución binomial
puede aproximarse mediante la distribución normal.
Otras lecturas
• Leer sobre el "quincunx", un dispositivo de simulación similar a un pinball para ilustrar la
distribución binomial.
Distribución chi-cuadrado
Una idea importante en estadística es salida de la expectativa, especialmente con respecto a los
recuentos de categorías. La expectativa se define vagamente como "nada inusual o notable en los
datos" (por ejemplo, sin correlación entre variables o patrones predecibles). Esto también es
Ideas claves
Otras lecturas
• La distribución de chi-cuadrado debe su lugar en la estadística moderna al gran estadístico
Karl Pearson y al nacimiento de la prueba de hipótesis. Lea sobre esto y más en el libro de
David Salsburg. The Lady Tasting Tea: Cómo las estadísticas revolucionaron la ciencia en el
siglo XX (WH Freeman, 2001).
• Para una exposición más detallada, consulte la sección de este libro sobre la prueba de chi-cuadrado (“Prueba de
chi-cuadrado” en la página 124).
Distribución de chi-cuadrado | 81
Distribución F
Un procedimiento común en la experimentación científica es probar múltiples tratamientos
entre grupos, por ejemplo, diferentes fertilizantes en diferentes bloques de un campo. Esto es
similar a la prueba A / B / C referida en la distribución de chi-cuadrado (ver“Distribución de chi-
cuadrado” en la página 80), excepto que estamos tratando con valores continuos medidos en
lugar de recuentos. En este caso, nos interesa saber hasta qué punto las diferencias entre las
medias de los grupos son mayores de lo que cabría esperar en una variación aleatoria normal.
El estadístico F mide esto y es la razón entre la variabilidad entre las medias del grupo y la
variabilidad dentro de cada grupo (también llamada variabilidad residual). Esta comparación se
denominaAnálisis de variación (ver “ANOVA” en la página 118). La distribución del estadístico F
es la distribución de frecuencia de todos los valores que se producirían permutando
aleatoriamente los datos en los que todas las medias del grupo son iguales (es decir, un
modelo nulo). Hay una variedad de distribuciones F asociadas con diferentes grados de libertad
(p. Ej., Número de grupos; consulte"Grados de libertad" en la página 116). El cálculo de F se
ilustra en la sección de ANOVA. El estadístico F también se utiliza en regresión lineal para
comparar la variación explicada por el modelo de regresión con la variación general de los
datos. Las estadísticas F son producidas automáticamente porR y Pitón como parte de las
rutinas de regresión y ANOVA.
Ideas claves
Otras lecturas
De George Cobb Introducción al diseño y análisis de experimentos (Wiley, 2008) contiene
una excelente exposición de la descomposición de los componentes de la varianza, lo que
ayuda a comprender el ANOVA y el estadístico F.
automóviles que llegan a una plaza de peaje (eventos que se extienden en el tiempo); imperfecciones en un metro cuadrado de
tela, o errores tipográficos por cada 100 líneas de código (eventos esparcidos por el espacio).
Lambda
La tasa (por unidad de tiempo o espacio) a la que ocurren los eventos.
distribución de veneno
La distribución de frecuencia del número de eventos en unidades de tiempo o espacio
muestreadas.
Distribución exponencial
La distribución de frecuencia del tiempo o la distancia de un evento al siguiente
evento.
Distribución de Weibull
Una versión generalizada de la distribución exponencial en la que se permite que la tasa de
eventos cambie con el tiempo.
Distribuciones de Poisson
A partir de datos agregados anteriores (por ejemplo, número de infecciones de influenza por año), podemos
estimar el número promedio de eventos por unidad de tiempo o espacio (por ejemplo, infecciones por día o
por unidad de censo). También podríamos querer saber qué tan diferente puede ser esto de una unidad de
tiempo / espacio a otra. La distribución de Poisson nos dice la distribución de eventos por unidad de tiempo o
espacio cuando tomamos muestras de muchas de esas unidades. Es útil cuando se abordan preguntas sobre
colas como "¿Cuánta capacidad necesitamos para estar seguros al 95% de procesar completamente el tráfico
de Internet que llega a un servidor en un período de cinco segundos?"
El parámetro clave en una distribución de Poisson es λ, o lambda. Este es el número medio de eventos
que ocurren en un intervalo de tiempo o espacio específico. La varianza para una distribución de
veneno también esλ.
Una técnica común es generar números aleatorios a partir de una distribución de Poisson
como parte de una simulación de cola. Larpois funcionar en R hace esto, tomando solo dos
argumentos: la cantidad de números aleatorios buscados y lambda:
rpois(100, lambda=2)
Este código generará 100 números aleatorios a partir de una distribución de Poisson con λ = 2. Por
ejemplo, si las llamadas entrantes de servicio al cliente promedian dos por minuto, este código
simulará 100 minutos, devolviendo la cantidad de llamadas en cada uno de esos 100 minutos.
rexp(norte=100, Velocidad=0,2)
Este código generaría 100 números aleatorios a partir de una distribución exponencial donde el
número medio de eventos por período de tiempo es 0,2. Por lo tanto, podría usarlo para simular 100
intervalos, en minutos, entre llamadas de servicio, donde la tasa promedio de llamadas entrantes es
0.2 por minuto.
En muchos casos, la tasa de eventos no permanece constante a lo largo del tiempo. Si el período
durante el cual cambia es mucho más largo que el intervalo típico entre eventos, no hay problema;
simplemente subdivide el análisis en los segmentos donde las tasas son relativamente constantes,
como se mencionó anteriormente. Sin embargo, si la tasa de eventos cambia durante el tiempo del
intervalo, las distribuciones exponenciales (o de Poisson) ya no son útiles. Es probable que este sea el
caso de las fallas mecánicas: el riesgo de fallas aumenta a medida que pasa el tiempo. La
Weibull La distribución es una extensión de la distribución exponencial en la que se permite que
cambie la tasa de eventos, según lo especificado por un parámetro de forma, β. Si β> 1, la
probabilidad de un evento aumenta con el tiempo; Siβ < 1, la probabilidad disminuye. Debido a que la
distribución de Wei‐ bull se utiliza con el análisis de tiempo hasta la falla en lugar de la tasa de
eventos, el segundo parámetro se expresa en términos de vida característica, en lugar de en términos
de la tasa de eventos por intervalo. El símbolo utilizado esη, la letra griega eta. También se le llama
escala parámetro.
La R El código para generar números aleatorios a partir de una distribución de Weibull toma
tres argumentos: n (la cantidad de números que se generarán), forma, y escala. Por ejemplo, el
siguiente código generaría 100 números aleatorios (vidas) a partir de una distribución de Wei‐
bull con forma de 1.5 y vida característica de 5,000:
Ideas claves
• Para eventos que ocurren a una tasa constante, el número de eventos por unidad de tiempo o espacio se
puede modelar como una distribución de Poisson.
• También puede modelar el tiempo o la distancia entre un evento y el siguiente como una
distribución exponencial.
• Se puede modelar una tasa de eventos cambiantes a lo largo del tiempo (por ejemplo, una probabilidad creciente de
Resumen
En la era de los macrodatos, los principios del muestreo aleatorio siguen siendo importantes cuando se
necesitan estimaciones precisas. La selección aleatoria de datos puede reducir el sesgo y producir un
conjunto de datos de mayor calidad que el que se obtendría si se usaran los datos convenientemente
disponibles. El conocimiento de diversas distribuciones de muestreo y generación de datos nos permite
cuantificar errores potenciales en una estimación que podrían deberse a variaciones aleatorias. Al mismo
tiempo, el bootstrap (muestreo con reemplazo de un conjunto de datos observados) es un método atractivo
de “talla única” para determinar el posible error en las estimaciones de la muestra.
Experimentos estadísticos y
Prueba de significación
87
Pruebas A / B
Una prueba A / B es un experimento con dos grupos para establecer cuál de los dos tratamientos,
productos, procedimientos o similares es superior. A menudo, uno de los dos tratamientos es el
tratamiento estándar existente o ningún tratamiento. Si se utiliza un tratamiento estándar (o no), se
denomina tratamientocontrol. Una hipótesis típica es que un nuevo tratamiento es mejor que el
control.
Tratamiento
Algo (droga, precio, titular de la web) a lo que está expuesto un sujeto.
Grupo de tratamiento
Un grupo de sujetos expuestos a un tratamiento específico.
Grupo de control
Un grupo de sujetos expuestos a ningún tratamiento (o estándar).
Aleatorización
El proceso de asignación aleatoria de sujetos a tratamientos.
Asignaturas
Los elementos (visitantes de la web, pacientes, etc.) que están expuestos a tratamientos.
Estadística de prueba
Las pruebas A / B son comunes en el diseño web y el marketing, ya que los resultados se miden con tanta
facilidad. Algunos ejemplos de pruebas A / B incluyen:
• Probar dos tratamientos de suelo para determinar cuál produce una mejor germinación de semillas
• Probar dos terapias para determinar cuál suprime el cáncer de manera más eficaz
• Probar dos precios para determinar cuál produce más ganancias netas
• Probar dos titulares web para determinar cuál produce más clics (Figura 3-2)
• Probar dos anuncios web para determinar cuál genera más conversiones.
Una prueba A / B adecuada tiene asignaturas que puede asignarse a un tratamiento u otro. El sujeto
puede ser una persona, una semilla de una planta, un visitante de la web; la clave es que el sujeto
esté expuesto al tratamiento. Idealmente, los sujetos sonaleatorizadoasignados aleatoriamente) a los
tratamientos. De esta manera, sabrá que cualquier diferencia entre los grupos de tratamiento se
debe a una de dos cosas:
• Suerte del sorteo en el que los sujetos se asignan a qué tratamientos (es decir, la asignación
aleatoria puede haber resultado en que los sujetos con mejor desempeño natural se
concentren en A o B)
Pruebas A / B | 89
También debe prestar atención a la Estadística de prueba o métrica que usa para comparar el grupo A
con el grupo B. Quizás la métrica más común en la ciencia de datos es una variable binaria: haga clic o
no haga clic, compre o no compre, fraude o no fraude, etc. Esos resultados se resumirían en una tabla
de 2 × 2.Tabla 3-1 es una tabla de 2 × 2 para una prueba de precio real (ver
“Significación estadística y valores p” en la página 103 para una mayor discusión de estos
resultados).
Si la métrica es una variable continua (monto de la compra, ganancias, etc.) o un recuento (por ejemplo, días
en el hospital, páginas visitadas), el resultado puede mostrarse de manera diferente. Si uno no estaba
interesado en la conversión, sino en los ingresos por vista de página, los resultados de la prueba de precio en
Tabla 3-1 podría verse así en la salida típica del software predeterminado:
Sin un grupo de control, no hay garantía de que “todas las demás cosas sean iguales” y
que cualquier diferencia se deba realmente al tratamiento (o al azar). Cuando tiene un
grupo de control, está sujeto a las mismas condiciones (excepto para el tratamiento de
Cegamiento en estudios
Las pruebas A / B en ciencia de datos se utilizan normalmente en un contexto web. Los tratamientos
pueden ser el diseño de una página web, el precio de un producto, la redacción de un titular o algún
otro artículo. Es necesario pensar un poco para preservar los principios de la aleatorización.
Normalmente, el sujeto del experimento es el visitante de la web, y los resultados que nos interesa
medir son los clics, las compras, la duración de la visita, el número de páginas visitadas, si se visita
una página en particular, etc. En un experimento A / B estándar, debe decidir una métrica antes de
tiempo. Se pueden recopilar múltiples métricas de comportamiento que pueden ser de interés, pero
si se espera que el experimento conduzca a una decisión entre el tratamiento A y el tratamiento B,
una sola métrica, oEstadística de prueba, debe establecerse de antemano. Seleccionar una estadística
de pruebadespués el experimento se lleva a cabo abre la puerta al sesgo del investigador.
Las pruebas A / B son populares en el mundo del marketing y el comercio electrónico, pero están lejos
de ser el único tipo de experimento estadístico. Se pueden incluir tratamientos adicionales. Es posible
que se tomen medidas repetidas a los sujetos. Los ensayos farmacéuticos en los que los sujetos son
escasos, costosos y adquiridos con el tiempo a veces se diseñan con múltiples oportunidades para
detener el experimento y llegar a una conclusión.
Los diseños experimentales estadísticos tradicionales se centran en responder una pregunta estática sobre
la eficacia de tratamientos específicos. Los científicos de datos están menos interesados en la pregunta:
que en la pregunta:
Para ello, se utiliza un tipo de diseño experimental relativamente nuevo: el bandido de varios brazos
(ver “Algoritmo Bandit de brazos múltiples” en la página 131).
Pruebas A / B | 91
Obtener permiso
Ideas claves
• Los sujetos se asignan a dos (o más) grupos que se tratan exactamente igual,
excepto que el tratamiento en estudio difiere de un grupo a otro.
• Idealmente, los sujetos se asignan al azar a los grupos.
Otras lecturas
• Las comparaciones de dos grupos (pruebas A / B) son un elemento básico de las estadísticas
tradicionales, y casi cualquier texto introductorio de estadística tendrá una amplia cobertura de los
principios de diseño y los procedimientos de inferencia. Para una discusión que coloca las pruebas A / B
en un contexto más de ciencia de datos y usa remuestreo, consulteIntroducción a la estadística y la
analítica: una perspectiva de remuestreo por Peter Bruce (Wiley, 2014).
• Para las pruebas web, los aspectos logísticos de las pruebas pueden ser tan desafiantes como los
estadísticos. Un buen lugar para comenzar es elSección de ayuda de Google Analytics sobre
experimentos.
• Tenga cuidado con los consejos que se encuentran en las guías omnipresentes para las pruebas A / B que ve en
la web, como estas palabras en una de estas guías: "Espere aproximadamente 1,000 visitantes en total y
asegúrese de ejecutar la prueba durante una semana". Estas reglas generales no son
Pruebas de hipótesis
Hipótesis nula
La hipótesis de que el azar tiene la culpa.
Hipótesis alternativa
Contrapunto a lo nulo (lo que esperas probar).
Prueba unidireccional
Prueba de hipótesis que cuenta los resultados aleatorios solo en una dirección.
Prueba bidireccional
Una prueba A / B (ver “Pruebas A / B” en la página 88) se construye típicamente con una hipótesis en
mente. Por ejemplo, la hipótesis podría ser que el precio B produce una mayor ganancia. ¿Por qué
necesitamos una hipótesis? ¿Por qué no simplemente mirar el resultado del experimento e ir con el
tratamiento que funcione mejor?
Malinterpretar la aleatoriedad
Puede observar la tendencia humana a subestimar la aleatoriedad en este experimento. Pida a varios
amigos que inventen una serie de 50 lanzamientos de monedas: pídales que escriban una serie de H y
Ts al azar. Luego pídales que realmente lancen una moneda 50 veces y anoten los resultados. Pídales
que pongan los resultados reales del lanzamiento de la moneda en una pila y los resultados inventados
en otra. Es fácil saber qué resultados son reales: los reales tendrán series más largas de Hs o Ts. En un
juego de 50verdadero lanzamientos de moneda, no es nada inusual ver cinco
Pruebas de hipótesis | 93
o seis H o Ts seguidas. Sin embargo, cuando la mayoría de nosotros estamos inventando lanzamientos de
monedas al azar y hemos obtenido tres o cuatro H seguidas, nos decimos a nosotros mismos que, para que la
serie parezca aleatoria, es mejor cambiar a T.
La otra cara de esta moneda, por así decirlo, es que cuando hacer Si vemos el equivalente
en el mundo real de seis H seguidas (por ejemplo, cuando un titular supera a otro en un
10%), nos inclinamos a atribuirlo a algo real, no solo al azar.
En una prueba A / B correctamente diseñada, usted recopila datos sobre los tratamientos A y B de tal
manera que cualquier diferencia observada entre A y B debe deberse a:
La hipótesis nula
Las pruebas de hipótesis utilizan la siguiente lógica: “Dada la tendencia humana a reaccionar
ante un comportamiento inusual pero aleatorio e interpretarlo como algo significativo y real,
en nuestros experimentos necesitaremos una prueba de que la diferencia entre grupos es más
extrema de lo que razonablemente podría producir el azar. " Esto implica una suposición inicial
de que los tratamientos son equivalentes y que cualquier diferencia entre los grupos se debe al
azar. Este supuesto de referencia se denominahipótesis nula. Nuestra esperanza, entonces, es
que de hecho podamos probar la hipótesis nula equivocado y mostrar que los resultados de los
grupos A y B son más diferentes de lo que podría producir el azar.
• Nulo = “sin diferencia entre las medias del grupo A y del grupo B”; alternativa = "A es
diferente de B" (podría ser más grande o más pequeño)
En conjunto, las hipótesis nula y alternativa deben tener en cuenta todas las posibilidades. La
naturaleza de la hipótesis nula determina la estructura de la prueba de hipótesis.
A menudo, en una prueba A / B, está probando una nueva opción (por ejemplo, B) contra una opción
predeterminada establecida (A), y se presume que seguirá con la opción predeterminada a menos
que la nueva opción demuestre ser definitivamente mejor. En tal caso, desea una prueba de hipótesis
para evitar ser engañado por el azar en la dirección que favorece
B. No le importa ser engañado por el azar en la otra dirección, porque se quedaría con A a
menos que B demuestre definitivamente mejor. Entonces quieres undireccional
hipótesis alternativa (B es mejor que A). En tal caso, utiliza unde una sola mano (o prueba de hipótesis
de una cola). Esto significa que la probabilidad extrema da como resultado que solo una dirección
cuente hacia el valor p.
Si desea que una prueba de hipótesis lo proteja de ser engañado por el azar en cualquier
dirección, la hipótesis alternativa es bidireccionalA es diferente de B; podría ser más grande o
más pequeño). En tal caso, utiliza unbidireccionalo hipótesis de dos colas). Esto significa que los
resultados de probabilidad extrema en cualquier dirección cuentan para el valor p.
Una prueba de hipótesis de una cola a menudo se ajusta a la naturaleza de la toma de decisiones A /
B, en la que se requiere una decisión y a una opción generalmente se le asigna el estado
"predeterminado" a menos que la otra resulte mejor. Software, sin embargo, incluidoR y scipy en
Pitón, generalmente proporciona una prueba de dos colas en su salida predeterminada, y muchos
estadísticos optan por la prueba de dos colas más conservadora solo para evitar discusiones. Una cola
versus dos colas es un tema confuso, y no tan relevante para la ciencia de datos, donde la precisión
de los cálculos del valor p no es muy importante.
Pruebas de hipótesis | 95
Ideas claves
• Una hipótesis nula es una construcción lógica que incorpora la noción de que no ha
sucedido nada especial y que cualquier efecto que observe se debe al azar.
Otras lecturas
• El paseo del borracho de Leonard Mlodinow (Pantheon, 2008) es una encuesta legible de las
formas en que "la aleatoriedad gobierna nuestras vidas".
• Texto de estadística clásico de David Freedman, Robert Pisani y Roger Purves Estadísticas, 4ª ed.
(WW Norton, 2007), tiene excelentes tratamientos no matemáticos de la mayoría de los temas de
estadística, incluida la prueba de hipótesis.
• Introducción a las estadísticas y análisis: una perspectiva de remuestreo por Peter Bruce (Wiley,
2014) desarrolla conceptos de prueba de hipótesis utilizando remuestreo.
Remuestreo
Remuestreo en estadística significa muestrear repetidamente valores a partir de datos observados, con el
objetivo general de evaluar la variabilidad aleatoria en una estadística. También se puede utilizar para
evaluar y mejorar la precisión de algunos modelos de aprendizaje automático (p. Ej., Las predicciones de los
modelos de árboles de decisión construidos en varios conjuntos de datos de arranque se pueden promediar
en un proceso conocido comoharpillera-ver “Embolsado y el bosque aleatorio” en la página 259).
Prueba de permutación
Sinónimos
Prueba de aleatorización, prueba de permutación aleatoria, prueba exacta
Remuestreo
Extracción de muestras adicionales ("remuestreos") de un conjunto de datos observados.
Prueba de permutación
2. Mezcle los datos combinados y luego dibuje aleatoriamente (sin reemplazo) una nueva
muestra del mismo tamaño que el grupo A (claramente contendrá algunos datos de los
otros grupos).
3. De los datos restantes, extraiga aleatoriamente (sin reemplazo) una nueva muestra del mismo
tamaño que el grupo B.
4. Haga lo mismo para los grupos C, D, etc. Ahora ha recopilado un conjunto de remuestreos
que reflejan los tamaños de las muestras originales.
5. Cualquiera que sea la estadística o estimación que se calculó para las muestras originales (por ejemplo,
diferencia en las proporciones de los grupos), calcúlela ahora para las nuevas muestras y regístrelo;
esto constituye una iteración de permutación.
6. Repite los pasos anteriores. R veces para producir una distribución de permutación del estadístico de
prueba.
Remuestreo | 97
Ahora regrese a la diferencia observada entre grupos y compárela con el conjunto de diferencias
permutadas. Si la diferencia observada se encuentra dentro del conjunto de diferencias permutadas,
entonces no hemos probado nada; la diferencia observada está dentro del rango de lo que podría
producir el azar. Sin embargo, si la diferencia observada se encuentra fuera de la mayor parte de la
distribución de permutación, entonces concluimos que la probabilidad esno responsable. En términos
técnicos, la diferencia esEstadísticamente significante. (Ver “Significación estadística y valores p” en la
página 103.)
Una empresa que vende un servicio de valor relativamente alto quiere probar cuál de las dos
presentaciones web hace un mejor trabajo de venta. Debido al alto valor del servicio que se
vende, las ventas son poco frecuentes y el ciclo de ventas es largo; tomaría demasiado tiempo
acumular suficientes ventas para saber qué presentación es superior. Entonces, la empresa
decide medir los resultados con una variable proxy, utilizando la página interior detallada que
describe el servicio.
Una variable proxy potencial para nuestra empresa es el número de clics en la página de destino detallada.
Una mejor es cuánto tiempo pasan las personas en la página. Es razonable pensar que una presentación web
(página) que atraiga la atención de la gente por más tiempo generará más ventas. Por lo tanto, nuestra
métrica es el tiempo promedio de sesión, comparando la página A con la página B.
Debido al hecho de que se trata de una página interior con un propósito especial, no recibe una gran
cantidad de visitantes. También tenga en cuenta que Google Analytics, que es la forma en que medimos el
tiempo de sesión, no puede medir el tiempo de sesión de la última sesión que visita una persona. Sin
embargo, en lugar de eliminar esa sesión de los datos, Google Analytics la registra como cero, por lo que los
datos requieren un procesamiento adicional para eliminar esas sesiones. El resultado es un total de 36
sesiones para las dos presentaciones diferentes, 21 para la página A y 15 para la página B.
ggplot, podemos comparar visualmente los tiempos de sesión usando diagramas de caja uno al lado del otro:
El diagrama de caja, que se muestra en Figura 3-3, indica que la página B conduce a sesiones más largas que
la página A. Las medias para cada grupo se pueden calcular en R como sigue:
En Pitón, filtramos el pandas marco de datos primero por página y luego determinar la media de
la Hora columna:
Para aplicar una prueba de permutación, necesitamos una función para asignar aleatoriamente los 36
tiempos de sesión a un grupo de 21 (página A) y un grupo de 15 (página B). LaR La versión de esta
función es:
Remuestreo | 99
Figura 3-3. Tiempos de sesión para las páginas web A y B
Esta función funciona por muestreo (sin reemplazo) norteB índices y asignación
ellos al grupo B; el restantenorteA los índices se asignan al grupo A. Se devuelve
la diferencia entre las dos medias. Llamar a esta funciónR = 1,000 veces y
especificando norteA = 21 y norteB = 15 conduce a una distribución de diferencias en los tiempos de sesión
que se puede trazar como un histograma. EnR esto se hace de la siguiente manera usando el hist
función:
perm_diffs <- reps(0, 1000)
por (yo en 1:1000) {
perm_diffs[I] = perm_fun(session_times[, 'Hora'], 21, 15)
}
hist(perm_diffs, xlab='Diferencias de tiempo de sesión (en segundos)')
abline(v=mean_b - mean_a)
El histograma, en Figura 3-4 muestra que la diferencia media de permutaciones aleatorias a menudo
excede la diferencia observada en los tiempos de sesión (la línea vertical). Para nuestros resultados,
esto sucede en el 12,6% de los casos:
Esto sugiere que la diferencia observada en el tiempo de la sesión entre la página A y la página B está
dentro del rango de variación aleatoria y, por lo tanto, no es estadísticamente significativa.
Figura 3-4. Distribución de frecuencia para las diferencias de tiempo de sesión entre las páginas A y B; la
línea vertical muestra la diferencia observada
Remuestreo | 101
Pruebas de permutación exhaustivas y Bootstrap
Además del procedimiento de barajado aleatorio anterior, también llamado prueba de per‐ mutación
aleatoria o un prueba de aleatorización, hay dos variantes de la prueba de permutación:
En una prueba de permutación exhaustiva, en lugar de simplemente mezclar y dividir los datos al
azar, en realidad descubrimos todas las formas posibles en que se podrían dividir. Esto es práctico
solo para tamaños de muestra relativamente pequeños. Con un gran número de cambios repetidos,
los resultados de la prueba de permutación aleatoria se aproximan a los de la prueba de permutación
exhaustiva y se acercan a ellos en el límite. Las pruebas de permutación exhaustivas también se
denominan a vecespruebas exactas, debido a su propiedad estadística de garantizar que el modelo
nulo no probará como "significativo" más que el nivel alfa de la prueba (ver “Significancia estadística y
valores p” en la página 103).
En una prueba de permutación bootstrap, se realizan los dibujos descritos en los pasos 2 y 3 de
la prueba de permutación aleatoria con reemplazo en lugar de sin reemplazo. De esta manera,
el procedimiento de remuestreo modela no solo el elemento aleatorio en la asignación del
tratamiento a un sujeto, sino también el elemento aleatorio en la selección de sujetos de una
población. Ambos procedimientos se encuentran en las estadísticas y la distinción entre ellos es
algo complicada y no tiene consecuencias en la práctica de la ciencia de datos.
Las pruebas de permutación son procedimientos heurísticos útiles para explorar el papel de la
variación aleatoria. Son relativamente fáciles de codificar, interpretar y explicar, y ofrecen un desvío
útil en torno al formalismo y el “falso determinismo” de las estadísticas basadas en fórmulas, en las
que la precisión de las “respuestas” de las fórmulas tiende a implicar una certeza injustificada.
Una virtud del remuestreo, en contraste con los enfoques de fórmula, es que se acerca mucho más a
un enfoque de inferencia único para todos. Los datos pueden ser numéricos o binarios. Los tamaños
de las muestras pueden ser iguales o diferentes. No se necesitan suposiciones sobre datos
distribuidos normalmente.
Ideas claves
Otras lecturas
• Pruebas de aleatorización, 4th ed., Por Eugene Edgington y Patrick Onghena
(Chapman & Hall / CRC Press, 2007), pero no se deje llevar por la maraña del
muestreo no aleatorio
• Introducción a las estadísticas y análisis: una perspectiva de remuestreo de Peter Bruce
(Wiley, 2014)
valor p
Dado un modelo de azar que incorpora la hipótesis nula, el valor p es la probabilidad de
obtener resultados tan inusuales o extremos como los resultados observados.
Alfa
El umbral de probabilidad de "inusual" que los resultados aleatorios deben superar para que los
resultados reales se consideren estadísticamente significativos.
Error tipo 1
Concluir erróneamente que un efecto es real (cuando se debe al azar).
Error de tipo 2
La conclusión errónea de un efecto se debe al azar (cuando es real).
El precio A convierte casi un 5% mejor que el precio B (0,8425% = 200 / (23539 + 200) * 100, frente a
0,8057% = 182 / (22406 + 182) * 100, una diferencia de 0,0368 puntos porcentuales), lo
suficientemente grande como para ser significativo en un negocio de alto volumen. Tenemos más de
45.000 puntos de datos aquí, y es tentador considerar esto como "datos grandes", que no requieren
pruebas de significación estadística (necesarias principalmente para tener en cuenta la variabilidad
muestral en muestras pequeñas). Sin embargo, los porcentajes de conversión son tan bajos (menos
del 1%) que los valores significativos reales (las conversiones) son solo de 100, y el tamaño de muestra
necesario está realmente determinado por estas conversiones. Podemos probar si la diferencia en las
conversiones entre los precios A y B está dentro del rango devariación de oportunidad, utilizando un
procedimiento de remuestreo. Por variación al azar, nos referimos a la variación aleatoria producida
por un modelo de probabilidad que incorpora la hipótesis nula de que no hay diferencia entre las
tasas (ver“La hipótesis nula” en la página 94). El siguiente procedimiento de permutación pregunta: "Si
los dos precios comparten la misma tasa de conversión, ¿podría la variación aleatoria producir una
diferencia tan grande como el 5%?"
1. Coloque las tarjetas etiquetadas con 1 y 0 en una casilla: esto representa la supuesta tasa de
conversión compartida de 382 unos y 45,945 ceros = 0,008246 = 0,8246%.
2. Mezcle y extraiga una nueva muestra de tamaño 23,739 (igual norte como precio A) y
registre cuántos 1.
3. Registre el número de unos en los 22.588 restantes (el mismo norte como precio B).
Vea el histograma de 1000 resultados remuestreados en Figura 3-5Da la casualidad de que en este
caso la diferencia observada de 0.0368% está dentro del rango de variación aleatoria.
valor p
El simple hecho de mirar el gráfico no es una forma muy precisa de medir la importancia
estadística, por lo que es más interesante el valor p. Esta es la frecuencia con la que el modelo
aleatorio produce un resultado más extremo que el resultado observado. Podemos estimar un
valor p de nuestra prueba de permutación tomando la proporción de veces que la prueba de
permutaciones produce una diferencia igual o mayor que la diferencia observada:
Aquí, ambos R y Pitón utilice el hecho de que verdadero se interpreta como 1 y falso como 0.
0,008424955 0,008057376
La aproximación normal arroja un valor p de 0.3498, que está cerca del valor p obtenido
de la prueba de permutación.
Alfa
Los estadísticos desaprueban la práctica de dejar a la discreción del investigador determinar si
un resultado es "demasiado inusual" para ocurrir por casualidad. Más bien, un umbral se
especifica de antemano, como en "más extremo que el 5% de la probabilidad de resultados
(hipótesis nula)"; este umbral se conoce comoalfa. Los niveles alfa típicos son 5% y 1%.
Cualquier nivel elegido es una decisión arbitraria; no hay nada en el proceso que garantice
decisiones correctas el x% de las veces. Esto se debe a que la pregunta de probabilidad que se
responde esno "¿Cuál es la probabilidad de que esto sucediera por casualidad?" sino más bien
"Dado un modelo de probabilidad, ¿cuál es la probabilidad de un resultado tan extremo?"
Luego deducimos hacia atrás sobre la idoneidad del modelo de azar, pero ese juicio no conlleva
una probabilidad. Este punto ha sido objeto de mucha confusión.
Una controversia considerable ha rodeado el uso del valor p en los últimos años. Una revista de psicología ha
llegado a "prohibir" el uso de valores p en los artículos presentados con el argumento de que las decisiones
de publicación basadas únicamente en el valor p estaban dando como resultado la publicación de una
investigación deficiente. Demasiados investigadores, sólo vagamente conscientes de la
El problema real es que la gente quiere más significado del valor p del que contiene. Esto
es lo que haríamoscomo el valor p para transmitir:
Esperamos un valor bajo, por lo que podemos concluir que hemos probado algo. Esta es la
cantidad de editores de revistas que estaban interpretando el valor p. Pero aquí está el valor p
Realmente representa:
La probabilidad de que, dado un modelo de oportunidad, resultados tan extremos como los resultados observados podrían
ocurrir.
La diferencia es sutil pero real. Un valor p significativo no lo lleva tan lejos en el camino
hacia la "prueba" como parece prometer. El fundamento lógico para la conclusión
"estadísticamente significativo" es algo más débil cuando se comprende el significado real
del valor p.
1. Los valores p pueden indicar cuán incompatibles son los datos con un modelo estadístico
específico.
6. Por sí mismo, un valor p no proporciona una buena medida de evidencia con respecto a un
modelo o hipótesis.
Incluso si un resultado es estadísticamente significativo, eso no significa que tenga importancia práctica. Una
pequeña diferencia que no tiene un significado práctico puede ser estadísticamente significativa si surge de
muestras suficientemente grandes. Las muestras grandes aseguran que los efectos pequeños y no
significativos puedan, no obstante, ser lo suficientemente grandes como para descartar el azar como
explicación. Descartar el azar no hace que mágicamente sea importante un resultado que, en esencia, carece
de importancia.
• Un error de tipo 2, en el que concluye erróneamente que un efecto no es real (es decir,
debido al azar), cuando en realidad es real.
En realidad, un error de tipo 2 no es tanto un error como un juicio de que el tamaño de la muestra es
demasiado pequeño para detectar el efecto. Cuando un valor p no alcanza la significación estadística (por
ejemplo, supera el 5%), lo que realmente estamos diciendo es "efecto no probado". Podría ser que una
muestra más grande produjera un valor p menor.
La función básica de las pruebas de significancia (también llamadas pruebas de hipótesis) es proteger
contra ser engañado por el azar; por lo tanto, normalmente están estructurados para minimizar los
errores de Tipo 1.
• Las pruebas de significación se utilizan para determinar si un efecto observado se encuentra dentro del
rango de variación aleatoria de un modelo de hipótesis nula.
• El valor p es la probabilidad de que se produzcan resultados tan extremos como los resultados
observados, dado un modelo de hipótesis nula.
• Las pruebas de significación han sido mucho más relevantes para la presentación de informes formales de
investigación que para la ciencia de datos (pero se han desvanecido recientemente, incluso para la primera).
Otras lecturas
• Stephen Stigler, "Fisher y el nivel del 5%", Oportunidad 21, no. 4 (2008): 12. Este artículo es
un breve comentario sobre el libro de Ronald Fisher de 1925Métodos estadísticos para
investigadores (Oliver & Boyd), y en el énfasis de Fisher en el nivel de significancia del 5%.
Pruebas t
Estadística de prueba
estadística t
Una versión estandarizada de estadísticas de prueba comunes, como medias.
distribución t
Una distribución de referencia (en este caso derivada de la hipótesis nula), con la que se
puede comparar el estadístico t observado.
En las décadas de 1920 y 1930, cuando se estaban desarrollando las pruebas de hipótesis estadísticas,
no era factible mezclar aleatoriamente los datos miles de veces para hacer una prueba de
remuestreo. Los estadísticos encontraron que una buena aproximación a la distribución de
permutación (barajada) era la prueba t, basada en la distribución t de Gosset. Se utiliza para la
comparación de dos muestras muy común (prueba A / B) en la que los datos son numéricos. Pero
para que la distribución t se utilice sin tener en cuenta la escala, se debe utilizar una forma
estandarizada del estadístico de prueba.
En esta etapa, un texto estadístico clásico mostraría varias fórmulas que incorporan la
distribución de Gosset y demuestran cómo estandarizar sus datos para compararlos con
la distribución t estándar. Estas fórmulas no se muestran aquí porque todo el software
estadístico, así comoR y Pitón, incluye comandos que incorporan la fórmula. EnR,
la función es t.prueba:
> t.prueba(Hora ~ Página, datos=session_times, alternativa='menos')
La hipótesis alternativa es que la media del tiempo de sesión para la página A es menor que la de la
página B. El valor p de 0,1408 está bastante cerca de los valores p de la prueba de permutación de
0.121 y 0.126 (ver “Ejemplo: adherencia de la Web” en la página 98).
Pruebas t | 111
desconcertante. Los estadísticos necesitan navegar por ese mundo y aprender su mapa, pero los
científicos de datos no; por lo general, no están en el negocio de sudar los detalles de las pruebas de
hipótesis y los intervalos de confianza como lo haría un investigador que prepara un artículo para una
presentación.
Ideas claves
• Antes de la llegada de las computadoras, las pruebas de remuestreo no eran prácticas y los estadísticos
usaban distribuciones de referencia estándar.
Otras lecturas
• Cualquier texto introductorio de estadística tendrá ilustraciones de la estadística t
y sus usos; dos buenos sonEstadísticas, 4a ed., Por David Freedman, Robert
Pisani y Roger Purves (WW Norton, 2007), y La práctica básica de la estadística,
8a ed., Por David S. Moore, William I. Notz y Michael A. Fligner (WH Freeman,
2017).
• Para un tratamiento tanto de la prueba t como de los procedimientos de remuestreo en paralelo, consulte
Introducción a las estadísticas y análisis: una perspectiva de remuestreo por Peter Bruce
(Wiley, 2014) o Estadísticas: desbloquear el poder de los datos, 2a ed., Por Robin Lock y
otros cuatro miembros de la familia Lock (Wiley, 2016).
Pruebas múltiples
Como mencionamos anteriormente, hay un dicho en las estadísticas: "Torture los datos el
tiempo suficiente y confesará". Esto significa que si observa los datos a través de suficientes
perspectivas diferentes y hace suficientes preguntas, casi invariablemente encontrará un efecto
estadísticamente significativo.
Por ejemplo, si tiene 20 variables predictoras y una variable de resultado, todas aleatoriamente generado, las
probabilidades son bastante buenas de que al menos un predictor resulte (falsamente) estadísticamente
significativo si realiza una serie de 20 pruebas de significancia en el nivel alfa = 0,05. Como se discutió
anteriormente, esto se llamaError de tipo 1. Puede calcular esta probabilidad encontrando primero la
probabilidad de que todos correctamente prueba no significativa al nivel 0.05. La probabilidad de queuno
comprobará correctamente que no es significativo es 0,95, por lo que la probabilidad de que las 20 pruebas
correctamente no sean significativas es 0,95 × 0,95 × 0,95…, o
Este problema está relacionado con el problema del sobreajuste en la minería de datos o
"ajustar el modelo al ruido". Cuantas más variables agregue o más modelos ejecute, mayor
será la probabilidad de que algo emerja como "significativo" por casualidad.
Error tipo 1
Concluir erróneamente que un efecto es estadísticamente significativo.
Inflación alfa
El fenómeno de las pruebas múltiples, en el que alfa, la probabilidad de cometer un error de
tipo 1 aumenta a medida que realiza más pruebas.
Ajuste de valores p
Contabilización de la realización de varias pruebas con los mismos datos.
Sobreajuste
Encajando el ruido.
En las tareas de aprendizaje supervisado, un conjunto de exclusión en el que los modelos se evalúan en base a datos
que el modelo no ha visto antes mitiga este riesgo. En las tareas estadísticas y de aprendizaje automático que no
involucran un conjunto de exclusión etiquetado, persiste el riesgo de llegar a conclusiones basadas en el ruido
estadístico.
• ¿A es diferente de B?
• ¿B es diferente de C?
• ¿A es diferente de C?
1 La regla de la multiplicación establece que la probabilidad de norte Todos los eventos independientes que suceden son el producto de
las probabilidades individuales. Por ejemplo, si usted y yo lanzamos una moneda una vez, la probabilidad de que su moneda y la mía
caigan cara es 0.5 × 0.5 = 0.25.
Sin embargo, el problema de las comparaciones múltiples va más allá de estos casos altamente
estructurados y está relacionado con el fenómeno del “dragado” de datos repetidos que da
lugar al dicho sobre la tortura de los datos. Dicho de otra manera, dados datos suficientemente
complejos, si no ha encontrado algo interesante, simplemente no ha buscado lo suficiente.
Ahora hay más datos disponibles que nunca, y el número de artículos de revistas publicados
casi se duplicó entre 2002 y 2010. Esto da lugar a muchas oportunidades para encontrar algo
interesante en los datos, incluidos problemas de multiplicidad como:
• Observando los resultados de múltiples subgrupos ("no encontramos ningún efecto significativo del tratamiento
en general, pero sí encontramos un efecto para las mujeres solteras menores de 30 años")
Por una variedad de razones, incluyendo especialmente este problema general de “multiplicidad”,
más investigación no significa necesariamente una mejor investigación. Por ejemplo, la compañía
farmacéutica Bayer descubrió en 2011 que cuando intentó replicar 67 estudios científicos, solo pudo
replicar completamente 14 de ellos. Casi dos tercios no se pudieron reproducir en absoluto.
En cualquier caso, los procedimientos de ajuste para pruebas estadísticas muy definidas y estructuradas son
demasiado específicos e inflexibles para ser de uso general para los científicos de datos. La conclusión para
los científicos de datos sobre multiplicidad es:
• Para el modelado predictivo, el riesgo de obtener un modelo ilusorio cuya aparente eficacia es en
gran parte un producto de la casualidad se mitiga mediante la validación cruzada (ver
“Validación cruzada” en la página 155) y el uso de una muestra reservada.
• Para otros procedimientos sin un conjunto de exclusión etiquetado para verificar el modelo, debe confiar
en:
- Conciencia de que cuanto más consulta y manipula los datos, mayor es el papel que
puede desempeñar el azar.
• Para situaciones que involucran múltiples comparaciones estadísticas (es decir, múltiples pruebas
de significancia), existen procedimientos de ajuste estadístico.
• En una situación de minería de datos, el uso de una muestra reservada con variables de resultado
etiquetadas puede ayudar a evitar resultados engañosos.
Otras lecturas
• Para una breve exposición de un procedimiento (prueba de Dunnett) para ajustar para múltiples
comparaciones, vea David Lane texto de estadísticas en línea.
• Megan Goldman ofrece una tratamiento un poco más largo del procedimiento de ajuste de
Bonferroni.
• Para un tratamiento en profundidad de procedimientos estadísticos más flexibles para ajustar los valores
p, consulte Pruebas múltiples basadas en remuestreos por Peter Westfall y Stanley Young (Wiley, 1993).
Grados de libertad
En la documentación y la configuración de muchas pruebas estadísticas y distribuciones de
probabilidad, verá una referencia a los "grados de libertad". El concepto se aplica a estadísticas
calculadas a partir de datos de muestra y se refiere al número de valores que pueden variar
libremente. Por ejemplo, si conoce la media de una muestra de 10 valores, hay 9 grados de
libertad (una vez que conozca 9 de los valores de la muestra, se puede calcular el décimo y no
es libre de variar). El parámetro de grados de libertad, aplicado a muchas distribuciones de
probabilidad, afecta la forma de la distribución.
El número de grados de libertad es una entrada para muchas pruebas estadísticas. Por
ejemplo, grados de libertad es el nombre que se le da alnorte - 1 denominador visto en
los cálculos de varianza y desviación estándar. ¿Por qué eso importa? Cuando usa una
muestra para estimar la varianza de una población, terminará con una estimación que es
n o tamaño de la muestra
df
Grados de libertad.
Una gran parte de un curso o texto de estadística tradicional es consumida por varias pruebas
estándar de hipótesis (prueba t, prueba F, etc.). Cuando las estadísticas de muestra están
estandarizadas para su uso en fórmulas estadísticas tradicionales, los grados de libertad son parte del
cálculo de estandarización para garantizar que sus datos estandarizados coincidan con la distribución
de referencia adecuada (distribución t, distribución F, etc.).
¿Es importante para la ciencia de datos? En realidad, no, al menos en el contexto de las pruebas de
significación. Por un lado, las pruebas estadísticas formales se utilizan con moderación en la ciencia de datos.
Por otro lado, el tamaño de los datos suele ser lo suficientemente grande como para que rara vez haga una
diferencia real para un científico de datos si, por ejemplo, el denominador tienenorte o norte - 1. (Como norte
se hace grande, el sesgo que vendría de usar norte en el denominador desaparece.)
Ideas claves
• El número de grados de libertad (gl) forma parte del cálculo para estandarizar las
estadísticas de prueba para que puedan compararse con distribuciones de referencia
(distribución t, distribución F, etc.).
ANOVA
Supongamos que, en lugar de una prueba A / B, tuviéramos una comparación de varios grupos,
digamos A / B / C / D, cada uno con datos numéricos. El procedimiento estadístico que prueba una
diferencia estadísticamente significativa entre los grupos se llamaAnálisis de variación, o ANOVA.
Prueba omnibus
Una única prueba de hipótesis de la varianza general entre las medias de varios grupos.
Descomposición de la varianza
Separación de los componentes que contribuyen a un valor individual (p. Ej., Del
promedio general, de una media de tratamiento y de un error residual).
Estadístico F
Una estadística estandarizada que mide hasta qué punto las diferencias entre las medias de
los grupos superan lo que podría esperarse en un modelo de azar.
SS
“Suma de cuadrados”, que se refiere a las desviaciones de algún valor promedio.
Tabla 3-3 muestra la rigidez de cuatro páginas web, definida como la cantidad de segundos que
un visitante pasa en la página. Las cuatro páginas se cambian para que cada visitante de la web
reciba una al azar. Hay un total de cinco visitantes para cada página, y en
Tabla 3-3, cada columna es un conjunto de datos independiente. El primer visor de la página 1 no
tiene conexión con el primer visor de la página 2. Tenga en cuenta que en una prueba web como esta,
no podemos implementar completamente el diseño de muestreo aleatorio clásico en el que cada
visitante se selecciona al azar de una gran población. Debemos llevar a los visitantes tal como vienen.
Los visitantes pueden diferir sistemáticamente según la hora del día, la hora de la semana, la
temporada del año, las condiciones de Internet, el dispositivo que estén usando, etc. Estos factores
deben considerarse como sesgos potenciales cuando se revisan los resultados del experimento.
Ahora tenemos un adivinanza (ver Figura 3-6). Cuando comparábamos solo dos
grupos, era un asunto sencillo; simplemente miramos la diferencia entre las medias de
cada grupo. Con cuatro medias, hay seis posibles comparaciones entre grupos:
Cuanto más tal por parejas comparaciones que hacemos, mayor es la posibilidad de ser
engañado por el azar al azar (ver “Pruebas múltiples” en la página 112). En lugar de
preocuparnos por todas las diferentes comparaciones entre páginas individuales que
podríamos hacer, podemos hacer una única prueba general que aborde la pregunta: “¿Podrían
todas las páginas tener la misma rigidez subyacente y las diferencias entre ellas se deben a la
clasificación? ¿Cuál es la forma en que se asignó un conjunto común de tiempos de sesión entre
las cuatro páginas? "
ANOVA | 119
Figura 3-6. Los diagramas de caja de los cuatro grupos muestran diferencias considerables entre ellos
El procedimiento utilizado para probar esto es ANOVA. La base para ello se puede ver en el siguiente
procedimiento de remuestreo (especificado aquí para la prueba A / B / C / D de adherencia de la
página web):
Este tipo de prueba de permutación es un poco más complicado que el tipo utilizado en “Prueba de
permutaciones” en la página 97. Afortunadamente, elaovp función en el lmPerm paquete calcula una prueba
de permutación para este caso:
El valor p, dado por Pr (problema), es 0.09278. En otras palabras, dada la misma rigidez
subyacente, el 9.3% de las veces la tasa de respuesta entre cuatro páginas puede diferir tanto
como se observó realmente, solo por casualidad. Este grado de improbabilidad está por debajo
del umbral estadístico tradicional del 5%, por lo que concluimos que la diferencia entre las
cuatro páginas podría haber surgido por casualidad.
La columna Iter enumera el número de iteraciones tomadas en la prueba de permutación. Las otras
columnas corresponden a una tabla ANOVA tradicional y se describen a continuación.
def prueba_perm(df):
df = df.Copiar()
df['Hora'] = notario público.aleatorio.permutación(df['Hora'].valores)
regreso df.agrupar por('Página').significar().var() [0]
Estadística F
Al igual que se puede utilizar la prueba t en lugar de una prueba de permutación para comparar la
media de dos grupos, existe una prueba estadística para ANOVA basada en la Estadístico F. El
estadístico F se basa en la relación entre la varianza entre las medias del grupo (es decir, el efecto del
tratamiento) y la varianza debida al error residual. Cuanto mayor sea esta relación, más
estadísticamente significativo será el resultado. Si los datos siguen una distribución normal, entonces
la teoría estadística dicta que la estadística debe tener una determinada distribución. Con base en
esto, es posible calcular un valor p.
ANOVA | 121
En R, podemos calcular un Tabla ANOVA utilizando la aov función:
aov_table = sm.estadisticas.anova_lm(modelo)
aov_table
Para las medias de tratamiento, los grados de libertad son 3 (una vez que se establecen tres valores, y luego
se establece la media general, la otra media de tratamiento no puede variar). La suma de los cuadrados para
las medias de tratamiento es la suma de las desviaciones al cuadrado entre las medias de tratamiento y el
gran promedio.
Para los residuos, los grados de libertad son 20 (todas las observaciones pueden variar) y SS es la
suma de la diferencia al cuadrado entre las observaciones individuales y las medias del tratamiento.
Los cuadrados medios (MS) es la suma de los cuadrados dividida por los grados de libertad.
1. Comience con un promedio general (173,75 para los datos de permanencia de la página web).
4. Igual a: 164.
ANOVA bidireccional
Puede ver que ANOVA y luego ANOVA bidireccional son los primeros pasos en el camino hacia
un modelo estadístico completo, como la regresión y la regresión logística, en el que se pueden
modelar múltiples factores y sus efectos (ver Capítulo 4).
Ideas claves
ANOVA | 123
• Un resultado útil de ANOVA es la identificación de componentes de varianza asociados con
tratamientos de grupo, efectos de interacción y errores.
Otras lecturas
• Introducción a las estadísticas y análisis: una perspectiva de remuestreo de Peter Bruce
(Wiley, 2014) tiene un capítulo sobre ANOVA.
Prueba de chi-cuadrado
Las pruebas web a menudo van más allá de las pruebas A / B y prueban múltiples tratamientos a la vez. La
prueba de chi-cuadrado se usa con datos de recuento para probar qué tan bien se ajusta a alguna
distribución esperada. El uso más común delchi-cuadrado la estadística en la práctica estadística es con
r × C tablas de contingencia, para evaluar si la hipótesis nula de independencia entre
variables es razonable (ver también “Distribución de chi-cuadrado” en la página 80).
La prueba de chi-cuadrado fue desarrollado originalmente por Karl Pearson en 1900. El terminochi
proviene de la letra griega Χ utilizada por Pearson en el artículo.
Estadística de chi-cuadrado
Una medida de la medida en que algunos datos observados se apartan de las expectativas.
Expectativa o esperado
Cómo esperaríamos que resultaran los datos bajo algún supuesto, típicamente la
hipótesis nula.
r × C significa “filas por columnas”: una tabla de 2 × 3 tiene dos filas y tres
columnas.
Suponga que está probando tres titulares diferentes (A, B y C) y los ejecuta cada uno en 1000
visitantes, con los resultados que se muestran en Tabla 3-4.
Los titulares ciertamente parecen diferir. El título A devuelve casi el doble de la tasa de clics de
B. Sin embargo, las cifras reales son pequeñas. Un procedimiento de remuestreo puede probar
si las tasas de clics difieren en un grado mayor de lo que podría causar la casualidad. Para esta
prueba, necesitamos tener la distribución "esperada" de clics, y en este caso, eso sería bajo el
supuesto de hipótesis nula de que los tres titulares comparten la misma tasa de clics, para una
tasa de clics general de 34/3000. Bajo este supuesto, nuestra tabla de contingencia se vería
comoTabla 3-5.
Tabla 3-5. Se espera si los tres titulares tienen la misma tasa de clics (hipótesis nula)
R = Observado-esperado
Esperado
R mide el grado en que los recuentos reales difieren de estos recuentos esperados
(ver Tabla 3-6).
r
Χ = ∑∑CR2
ij
1. Constituya una caja con 34 unos (clics) y 2966 ceros (sin clics).
2. Mezcle, tome tres muestras separadas de 1,000 y cuente los clics en cada una.
3. Encuentre las diferencias al cuadrado entre los recuentos mezclados y los recuentos
esperados y súmelos.
4. Repita los pasos 2 y 3, digamos, 1.000 veces.
5. ¿Con qué frecuencia la suma de las desviaciones cuadradas remuestreadas excede la observada?
Ese es el valor p.
La función chisq.test se puede utilizar para calcular una estadística de chi-cuadrado remuestreada en
R. Para los datos de clic, la prueba de chi-cuadrado es:
datos: clics
X-al cuadrado = 1.6659, df = N / A, pag-valor = 0.4853
La prueba muestra que este resultado podría haberse obtenido fácilmente por azar. Para
caja = [1] * 34
caja.ampliar([0] * 2966)
aleatorio.barajar(caja)
esperados_clics = 34 / 3
no_clic_esperados = 1000 - esperados_clics
esperados = [34 / 3, 1000 - 34 / 3]
chi2observed = chi2(clics.valores, esperado)
def perm_fun(caja):
sample_clicks = [suma(aleatorio.muestra(caja, 1000)),
suma(aleatorio.muestra(caja, 1000)),
suma(aleatorio.muestra(caja, 1000))]
sample_noclicks = [1000 - norte por norte en sample_clicks]
regreso chi2([sample_clicks, sample_noclicks], esperado)
La teoría estadística asintótica muestra que la distribución del estadístico chi-cuadrado puede
aproximarse mediante un distribución de chi-cuadrado (ver “Distribución de chi-cuadrado” en la
página 80). La distribución estándar de chi-cuadrado apropiada está determinada por la
grados de libertad (ver "Grados de libertad" en la página 116). Para una tabla de contingencia,
los grados de libertad están relacionados con el número de filas (r) y columnas (C) como sigue:
grados de libertad = r - 1 × C - 1
La distribución de chi-cuadrado es típicamente sesgada, con una cola larga a la derecha; ver
Figura 3-7 para la distribución con 1, 2, 5 y 20 grados de libertad. Cuanto más alejada esté la
estadística observada en la distribución de chi-cuadrado, menor será el valor p.
La función chisq.test se puede utilizar para calcular el valor p utilizando la distribución de chi-
cuadrado como referencia:
datos: clics
X-al cuadrado = 1.6659, df = 2, pag-valor = 0.4348
El valor p es un poco menor que el valor p de remuestreo; esto se debe a que la distribución de
chi-cuadrado es solo una aproximación de la distribución real del estadístico.
> Fisher.test(clics)
datos: clics
pag-valor = 0.4824
hipótesis alternativa: dos caras
El valor p está muy cerca del valor p de 0,4853 obtenido mediante el método de
remuestreo.
Cuando algunos recuentos son muy bajos pero otros son bastante altos (por ejemplo, el denominador en
una tasa de conversión), puede ser necesario realizar una prueba de permutación aleatoria en lugar de una
prueba exacta completa, debido a la dificultad de calcular todas las permutaciones posibles. El precedenteR
La función tiene varios argumentos que controlan si se debe usar esta
Frecuencia de dígitos
0 14
1 71
2 7
3 sesenta y cinco
4 23
5 19
6 12
7 45
8 53
9 6
La distribución de los 315 dígitos, que se muestra en Figura 3-8, ciertamente parece no aleatorio.
Los investigadores calcularon la desviación de la expectativa (31.5; esa es la frecuencia con la que cada dígito
ocurriría en una distribución estrictamente uniforme) y usaron una prueba de chi-cuadrado (un procedimiento
de remuestreo podría haberse usado igualmente) para mostrar que la distribución real estaba mucho más allá
el rango de variación de probabilidad normal, lo que indica que los datos podrían
La prueba de chi-cuadrado, o la prueba exacta de Fisher, se utiliza cuando desea saber si un efecto es
real o podría ser producto del azar. En la mayoría de las aplicaciones estadísticas clásicas de la prueba
de chi-cuadrado, su función es establecer la significación estadística, que normalmente se necesita
antes de que se pueda publicar un estudio o un experimento. Esto no es tan importante para los
científicos de datos. En la mayoría de los experimentos de ciencia de datos, ya sea A / B o A / B / C…, el
objetivo no es simplemente establecer la significación estadística, sino más bien llegar al mejor
tratamiento. Para ello, los bandidos armados múltiples (ver“Algoritmo Bandit de brazos múltiples” en
la página 131) ofrecen una solución más completa.
Una aplicación de ciencia de datos de la prueba de chi-cuadrado, especialmente la versión exacta de Fisher,
es determinar tamaños de muestra apropiados para experimentos web. Estos experimentos a menudo
tienen tasas de clics muy bajas y, a pesar de miles de exposiciones, las tasas de recuento pueden ser
demasiado pequeñas para arrojar conclusiones definitivas en un experimento. En tales casos, Fisher's
Ideas claves
Otras lecturas
• El famoso ejemplo de "Lady Tasting Tea" de RA Fisher de principios del siglo XX sigue
siendo una ilustración simple y eficaz de su prueba exacta. Busque en Google "Lady
Tasting Tea" y encontrará una serie de buenas reseñas.
• Stat Trek ofrece una buen tutorial sobre la prueba de chi-cuadrado.
Algoritmo Multi-ArmBandit
Los bandidos multibrazo ofrecen un enfoque para las pruebas, especialmente las pruebas web, que
permiten una optimización explícita y una toma de decisiones más rápida que el enfoque estadístico
tradicional para diseñar experimentos.
Una máquina tragamonedas imaginaria con múltiples brazos para que el cliente elija, cada uno
con diferentes beneficios, aquí interpretado como una analogía de un experimento de múltiples
tratamientos.
Brazo
Un tratamiento en un experimento (por ejemplo, "título A en una prueba web").
Ganar
El análogo experimental de una ganancia en la máquina tragamonedas (por ejemplo, "el cliente hace clic en el
enlace").
Una prueba A / B tradicional implica datos recopilados en un experimento, de acuerdo con un diseño
específico, para responder una pregunta específica como, "¿Cuál es mejor, el tratamiento A o el
tratamiento B?" La presunción es que una vez que obtenemos una respuesta a esa pregunta, la
experimentación termina y procedemos a actuar sobre los resultados.
Probablemente pueda percibir varias dificultades con ese enfoque. Primero, nuestra
respuesta puede no ser concluyente: "efecto no probado". En otras palabras, los
resultados del experimento pueden sugerir un efecto, pero si hay un efecto, no
tenemos una muestra lo suficientemente grande para probarlo (a satisfacción de los
estándares estadísticos tradicionales). ¿Qué decisión tomamos? En segundo lugar, es
posible que deseemos comenzar a aprovechar los resultados que se obtienen antes
de la conclusión del experimento. En tercer lugar, es posible que deseemos tener el
derecho a cambiar de opinión o probar algo diferente en función de los datos
adicionales que lleguen después de que termine el experimento. El enfoque
tradicional de los experimentos y las pruebas de hipótesis data de la década de 1920
y es bastante inflexible. El advenimiento del poder y el software informático ha
permitido enfoques flexibles más poderosos. Es más,
Los algoritmos Bandit, que son muy populares en las pruebas web, le permiten probar múltiples
tratamientos a la vez y llegar a conclusiones más rápido que los diseños estadísticos tradicionales.
Toman su nombre de las máquinas tragamonedas utilizadas en los juegos de azar, también llamadas
bandidos de un solo brazo (ya que están configurados de tal manera que extraen dinero del jugador
en un flujo constante). Si imagina una máquina tragamonedas con más de un brazo, cada brazo
pagando a un ritmo diferente, tendría un bandido de múltiples brazos, que es el nombre completo de
este algoritmo.
Brazo A: 10 victorias de 50
Brazo B: 2 victorias de 50
Brazo C: 4 victorias de 50
Un enfoque extremo es decir: "Parece que el brazo A es un ganador; dejemos de probar los
otros brazos y sigamos con A". Esto aprovecha al máximo la información de la prueba inicial. Si
A es realmente superior, obtenemos el beneficio de eso desde el principio. Por otro lado, si B o
C es realmente mejor, perdemos cualquier oportunidad de descubrirlo. Otro enfoque extremo
es decir: "Todo esto parece estar dentro del ámbito del azar; sigamos tirando de todos por
igual". Esto brinda la máxima oportunidad para que los suplentes de A se muestren. Sin
embargo, en el proceso, estamos implementando lo que parecen ser tratamientos inferiores.
¿Cuánto tiempo permitimos eso? Los algoritmos Bandit adoptan un enfoque híbrido:
comenzamos a extraer A con más frecuencia, para aprovechar su aparente superioridad, pero
no abandonamos B y C. Simplemente los extraemos con menos frecuencia. Si A sigue
superando, continuamos desplazando recursos (tirando) de B y C y tirando de A más a menudo.
Si, por otro lado, C comienza a mejorar y A comienza a empeorar, podemos cambiar los tirones
de A de nuevo a C. Si uno de ellos resulta ser superior a A y esto estaba oculto en la prueba
inicial debido al azar, ahora tiene la oportunidad de emerger con más pruebas.
Ahora piense en aplicar esto a las pruebas web. En lugar de varios brazos de máquinas
tragamonedas, es posible que tenga varias ofertas, titulares, colores, etc., que se están probando en
un sitio web. Los clientes hacen clic (una "ganancia" para el comerciante) o no hacen clic. Inicialmente,
las ofertas se muestran de forma aleatoria y equitativa. Sin embargo, si una oferta comienza a
superar a las demás, puede mostrarse ("retirarse") con más frecuencia. Pero, ¿cuáles deberían ser los
parámetros del algoritmo que modifica las tasas de extracción? ¿A qué "tasas de atracción"
deberíamos cambiar y cuándo deberíamos cambiar?
3. Si el número es ≥ épsilon, muestre la oferta que haya tenido la tasa de respuesta más alta hasta la
fecha.
Los algoritmos Bandit pueden manejar de manera eficiente más de 3 tratamientos y avanzar hacia la
selección óptima de los "mejores". Para los procedimientos de prueba estadística tradicionales, la
complejidad de la toma de decisiones para más de 3 tratamientos supera con creces la de la prueba A / B
tradicional, y la ventaja de los algoritmos bandit es mucho mayor.
Ideas claves
• Las pruebas A / B tradicionales prevén un proceso de muestreo aleatorio, que puede conducir a una
exposición excesiva al tratamiento inferior.
• Los bandidos multibrazo, por el contrario, alteran el proceso de muestreo para incorporar
información aprendida durante el experimento y reducir la frecuencia del tratamiento
inferior.
Otras lecturas
• Un excelente tratamiento breve de los algoritmos de bandidos de varios brazos se encuentra en
Algoritmos Bandit para optimización de sitios web, por John Myles White (O'Reilly, 2012). El
blanco incluyePitón código, así como los resultados de las simulaciones para evaluar el
desempeño de los bandidos.
• Para obtener más información (algo técnica) sobre el muestreo de Thompson, consulte
"Análisis del muestreo de Thompson para el problema de los bandidos con múltiples brazos" por Shipra
Agrawal y Navin Goyal.
Si ejecuta una prueba web, ¿cómo decide cuánto tiempo debe ejecutarse (es decir, cuántas
impresiones por tratamiento se necesitan)? A pesar de lo que pueda leer en muchas guías de
pruebas web, no existe una buena guía general; depende, principalmente, de la frecuencia con
la que se logre el objetivo deseado.
El tamaño mínimo del efecto que espera poder detectar en una prueba estadística,
como "una mejora del 20% en las tasas de clics".
Energía
La probabilidad de detectar un tamaño de efecto dado con un tamaño de muestra dado.
Nivel significativo
El nivel de significación estadística en el que se realizará la prueba.
Un paso en los cálculos estadísticos para el tamaño de la muestra es preguntar "¿Una prueba
de hipótesis realmente revelará una diferencia entre los tratamientos A y B?" El resultado de
una prueba de hipótesis, el valor p, depende de cuál sea la diferencia real entre el tratamiento
A y el tratamiento B. También depende de la suerte del sorteo, quién es seleccionado para los
grupos en el experimento. Pero tiene sentido que cuanto mayor sea la diferencia real entre los
tratamientos A y B, mayor será la probabilidad de que nuestro experimento la revele; y cuanto
menor sea la diferencia, se necesitarán más datos para detectarla. Para distinguir entre un
bateador de .350 y un bateador de .200 en el béisbol, no se necesitan tantos turnos al bate.
Para distinguir entre un bateador de .300 y un bateador de .280, se necesitarán muchos más
turnos al bate.
Puede ver que hay varias partes móviles aquí, y es fácil enredarse en las numerosas suposiciones y fórmulas
estadísticas que se necesitarán (para especificar la variabilidad de la muestra, el tamaño del efecto, el
tamaño de la muestra, el nivel alfa para la prueba de hipótesis, etc., y para calcular la potencia). De hecho,
existe un software estadístico de propósito especial para calcular la potencia. La mayoría de los científicos de
datos no necesitarán seguir todos los pasos formales necesarios para informar sobre el poder, por ejemplo,
en un artículo publicado. Sin embargo, pueden enfrentar ocasiones
1. Comience con algunos datos hipotéticos que representen su mejor suposición sobre los datos que se
obtendrán (tal vez basándose en datos anteriores), por ejemplo, una casilla con 20 unos y 80 ceros para
representar un bateador de .200, o una casilla con algunas observaciones. de "tiempo dedicado al sitio
web".
2. Cree una segunda muestra simplemente agregando el tamaño del efecto deseado a la primera muestra,
por ejemplo, un segundo cuadro con 33 unos y 67 ceros, o un segundo cuadro con 25 segundos
agregados a cada “tiempo inicial dedicado a la página web”. "
Tamaño de la muestra
El uso más común de los cálculos de potencia es estimar el tamaño de la muestra que
necesitará.
Por ejemplo, suponga que está observando las tasas de clics (clics como porcentaje de las exposiciones) y
probando un anuncio nuevo con un anuncio existente. ¿Cuántos clics necesita acumular en el estudio? Si solo
está interesado en los resultados que muestran una gran diferencia (por ejemplo, una diferencia del 50%),
una muestra relativamente pequeña podría ser la solución. Si, por otro lado, sería de interés incluso una
pequeña diferencia, entonces se necesita una muestra mucho más grande. Un enfoque estándar es
establecer una política de que un anuncio nuevo debe funcionar mejor que un anuncio existente en un
porcentaje, digamos, el 10%; de lo contrario, el anuncio existente permanecerá en su lugar. Este objetivo, el
"tamaño del efecto", determina el tamaño de la muestra.
Por ejemplo, suponga que las tasas de clics actuales son aproximadamente del 1,1% y está buscando un aumento del
10% al 1,21%. Así que tenemos dos casillas: la casilla A con 1,1% de unidades (digamos, 110 unidades y
9,890 ceros) y la casilla B con 1,21% de unos (digamos, 121 unos y 9,879 ceros). Para empezar, intentemos
300 sorteos de cada cuadro (esto sería como 300 "impresiones" para cada anuncio). Supongamos que
nuestro primer sorteo produce lo siguiente:
Caja A: 3 unidades
Caja B: 5 unidades
Por ejemplo, supongamos que las tasas de clics actuales siguen siendo del 1,1%, pero ahora buscamos un
aumento del 50% hasta el 1,65%. Así que tenemos dos casillas: la casilla A todavía con 1,1% de unos
(digamos, 110 unos y 9,890 ceros), y la casilla B con 1,65% de unos (digamos, 165 unos y 9,868 ceros). Ahora
intentaremos 2,000 sorteos de cada caja. Supongamos que nuestro primer sorteo produce lo siguiente:
Caja A: 19 unidades
Caja B: 34 unidades
Una prueba de significación de esta diferencia (34-19) muestra que todavía se registra como “no
significativa” (aunque mucho más cercana a la significación que la diferencia anterior de 5-3). Para
calcular la potencia, tendríamos que repetir el procedimiento anterior muchas veces o usar un
software estadístico que pueda calcular la potencia, pero nuestro sorteo inicial nos sugiere que
incluso detectar una mejora del 50% requerirá varios miles de impresiones de anuncios.
En resumen, para calcular la potencia o el tamaño de muestra requerido, hay cuatro partes
móviles:
• Tamaño de la muestra
h = 0.01029785
norte = 116601.7
nivel sig. = 0,05
La función ES.h calcula el tamaño del efecto. Vemos que si queremos una potencia del 80%,
necesitamos un tamaño de muestra de casi 120.000 impresiones. Si buscamos un impulso del 50% (p1
= 0,0165), el tamaño de la muestra se reduce a 5.500 impresiones.
La statsmodels El paquete contiene varios métodos para calcular la potencia. Aquí usamos
proporción_de_efecto para calcular el tamaño del efecto y TTestIndPower para resolver el tamaño
de la muestra:
Ideas claves
• Para saber el tamaño de muestra que necesita, es necesario pensar con anticipación en la prueba
estadística que planea realizar.
Otras lecturas
• Determinación y potencia del tamaño de la muestra de Thomas Ryan (Wiley, 2013) es
una revisión completa y legible de este tema.
• Steve Simon, consultor estadístico, ha escrito un Publicación de estilo narrativo muy interesante
sobre el tema..
Resumen | 139
CAPÍTULO 4
Regresión y predicción
En ninguna parte el nexo entre la estadística y la ciencia de datos es más fuerte que en el ámbito de la
predicción, específicamente, la predicción de una variable de resultado (objetivo) basada en los
valores de otras variables "predictoras". Este proceso de entrenamiento de un modelo en datos
donde se conoce el resultado, para su posterior aplicación a datos donde se desconoce el resultado,
se denominaaprendizaje supervisado. Otra conexión importante entre la ciencia de datos y las
estadísticas se encuentra en el área de Detección de anomalías, donde los diagnósticos de regresión
originalmente destinados al análisis de datos y la mejora del modelo de regresión se pueden utilizar
para detectar registros inusuales.
1 Esta y las secciones siguientes de este capítulo © 2020 Datastats, LLC, Peter Bruce, Andrew Bruce y Peter
Gedeck; utilizado con permiso.
Respuesta
La variable que intentamos predecir.
Sinónimos
variable dependiente, Y variable, objetivo, resultado
Variable independiente
La variable utilizada para predecir la respuesta.
Sinónimos
X variable, característica, atributo, predictor
Registro
El vector de valores predictivos y de resultado para un caso o individuo específico.
Sinónimos
fila, caso, instancia, ejemplo
Interceptar
La intersección de la línea de regresión, es decir, el valor predicho cuando X = 0.
Sinónimos
B0, β0
Coeficiente de regresion
La pendiente de la recta de regresión.
Sinónimos
Pendiente, B1, β1, estimaciones de parámetros, ponderaciones
Valores ajustados
Sinónimo
valores predichos
Sinónimo
errores
Sinónimos
mínimos cuadrados ordinarios, MCO
La ecuación de regresión
La regresión lineal simple estima cuánto Y cambiará cuando X cambios en una cierta
cantidad. Con el coeficiente de correlación, las variablesX y Y son intercambiables.
Con la regresión, estamos tratando de predecir laY variable de X usando una relación
lineal (es decir, una línea):
Y = b0 + B1X
Leemos esto como "Y es igual a b1 multiplicado por X, más una constante b0." El símbolo B0 que se conoce como
Considere la gráfica de dispersión en Figura 4-1 mostrando el número de años que un trabajador estuvo
expuesto al polvo de algodón (Exposición) versus una medida de capacidad pulmonar (PEFR o "índice de flujo
espiratorio máximo"). Como esPEFR relacionado con ¿Exposición? Es difícil de decir basándose solo en la
imagen.
143
Figura 4-1. Exposición al algodón versus capacidad pulmonar
La regresión lineal simple intenta encontrar la "mejor" línea para predecir la respuesta PEFR en
función de la variable predictora Exposición:
PEFR = B0 + B1Exposición
lm representa Modelo lineal, y el símbolo ~ denota que PEFR es predicho por Exposición.
Con esta definición de modelo, la intersección se incluye y ajusta automáticamente. Si
desea excluir la intersección del modelo, debe escribir la definición del modelo de la
siguiente manera:
PEFR ~ Exposición - 1
Llamada:
Coeficientes:
(Interceptar) Exposición
424.583 - 4.185
manera: por cada año adicional que un trabajador está expuesto al polvo de algodón, el trabajo
er's PEFR la medición se reduce en –4,185.
En Pitón, nosotros podemos usar Regresión lineal desde el scikit-learn paquete. (lamodelos de
estadísticas El paquete tiene una implementación de regresión lineal que es más similar a R
(sm.OLS); lo usaremos más adelante en este capítulo):
predictores = ['Exposición']
Salir = 'PEFR'
Los conceptos importantes en el análisis de regresión son los valores ajustados (las predicciones) y
residualeserrores de predicción). En general, los datos no caen exactamente en una línea, por lo que el
La ecuación de regresión debe incluir un término de error explícito. miI:
Los valores ajustados, también denominados valores predichos, se denotan típicamente por YI
(Y-sombrero). Estos vienen dados por:
Yyo = B0 + B1XI
Calculamos los residuos miI restando el predicho valores de los datos originales:
miyo = YI - YI
En R, podemos obtener los valores ajustados y los residuales usando las funciones predecir y
derechos residuales de autor:
veremos, este es un patrón general que todos los modelos en scikit-learn seguir:
equipado = modelo.predecir(pulmón[predictores])
derechos residuales de autor = pulmón[Salir] - equipado
Figura 4-3 ilustra los residuos de la línea de regresión ajustada a los datos pulmonares. Los residuales
son la longitud de las líneas punteadas verticales desde los datos hasta la línea.
2 En las estadísticas bayesianas, se supone que el valor verdadero es una variable aleatoria con una distribución específica. En el
contexto bayesiano, en lugar de estimaciones de parámetros desconocidos, existen distribuciones anteriores y posteriores.
Mínimos cuadrados
¿Cómo se ajusta el modelo a los datos? Cuando hay una relación clara, puede imaginarse
ajustando la línea a mano. En la práctica, la línea de regresión es la estimación que minimiza la
suma de los valores residuales al cuadrado, también llamadasuma residual de cuadrados o
RSS:
RSS = ∑ YI - Y 2 I
norte
yo = 1
= ∑ Y - BI - b 0X 2 1 I
norte
yo = 1
Históricamente, la conveniencia computacional es una de las razones del uso generalizado de mínimos
cuadrados en la regresión. Con la llegada de los macrodatos, la velocidad computacional sigue siendo un
factor importante. Mínimos cuadrados, como la media (ver“Estimaciones medianas y sólidas” en la página 10
), son sensibles a valores atípicos, aunque esto tiende a ser un problema significativo solo en conjuntos de
datos de tamaño pequeño o moderado. Ver"Valores atípicos" en la página 177 para una discusión de los
valores atípicos en la regresión.
Terminología de regresión
Históricamente, un uso principal de la regresión fue iluminar una supuesta relación lineal
entre las variables predictoras y una variable de resultado. El objetivo ha sido comprender
una relación y explicarla utilizando los datos a los que se ajustó la regresión.
En este caso, el enfoque principal está en la pendiente estimada de la ecuación de regresión, B.
Los economistas quieren conocer la relación entre el gasto del consumidor y el crecimiento del
PIB. Es posible que los funcionarios de salud pública quieran comprender si una campaña de
información pública es eficaz para promover prácticas sexuales seguras. En tales casos, el
enfoque no está en predecir casos individuales sino en comprender la relación general entre
las variables.
Con el advenimiento del big data, la regresión se usa ampliamente para formar un modelo para predecir
resultados individuales para nuevos datos (es decir, un modelo predictivo) en lugar de explicar los datos en
mano. En este caso, los principales elementos de interés son los valores ajustadosY. En marketing, la
regresión se puede utilizar para predecir el cambio en los ingresos en respuesta al tamaño de una campaña
publicitaria. Las universidades usan la regresión para predecir el GPA de los estudiantes en función de sus
puntajes SAT.
Se establece un modelo de regresión que se ajusta bien a los datos de manera que los cambios en X conducir
a cambios en Y. Sin embargo, por sí misma, la ecuación de regresión no prueba la dirección de la causalidad.
Las conclusiones sobre la causalidad deben provenir de una comprensión más amplia
Ideas claves
Otras lecturas
Para un tratamiento en profundidad de la predicción versus la explicación, consulte el artículo de Galit Shmueli
"¿Explicar o predecir?".
En lugar de una línea, ahora tenemos un modelo lineal: la relación entre cada coeficiente
y su variable (característica) es lineal.
Sinónimo
RMSE
Error estándar residual
Lo mismo que el error cuadrático medio de la raíz, pero ajustado por grados de libertad.
Sinónimos
coeficiente de determinación, R2
estadística t
El coeficiente de un predictor, dividido por el error estándar del coeficiente, proporciona
una métrica para comparar la importancia de las variables en el modelo. Ver“Pruebas t” en
la página 110.
Regresión ponderada
Regresión con los registros que tienen diferentes pesos.
Todos los demás conceptos de la regresión lineal simple, como el ajuste por mínimos cuadrados y la
definición de valores ajustados y residuales, se extienden a la configuración de regresión lineal
múltiple. Por ejemplo, los valores ajustados vienen dados por:
Un ejemplo del uso de la regresión lineal múltiple es la estimación del valor de las casas. Los
tasadores del condado deben estimar el valor de una casa a los efectos de evaluar los impuestos. Los
profesionales inmobiliarios y los compradores de viviendas consultan sitios web populares comoZil‐
bajo para determinar un precio justo. Aquí hay algunas filas de datos de vivienda del condado de King
(Seattle), Washington, deldatos de la casa.
El objetivo es predecir el precio de venta a partir de las otras variables. Lalm la función maneja
el caso de regresión múltiple simplemente al incluir más términos en el lado derecho de la
ecuación; el argumentona.action = na.omit hace que el modelo descarte los registros que tienen
valores perdidos:
scikit-learn's Regresión lineal también se puede utilizar para regresión lineal múltiple:
Llamada:
Coeficientes:
(Interceptar) SqFtTotLiving SqFtLot Cuartos de baño
Para Regresión lineal modelo, intersección y coeficientes son los campos interceptar_
y coef_ del modelo ajustado:
impresión(F'Intercepción: {house_lm.intercept _ :. 3f}')
impresión('Coeficientes: ')
por nombre, coef en Código Postal(predictores, house_lm.coef_):
impresión(F'{nombre}: {coef}')
yo = 1yI -
∑norte y 2I
RMSE =
norte
Esto mide la precisión general del modelo y es una base para compararlo con otros modelos
(incluidos los modelos que se ajustan mediante técnicas de aprendizaje automático). Similar a
RMSE es elerror estándar residual, o RSE. En este caso tenemos pag predictores, y el RSE viene
dado por:
yo = 1yI -
∑norte y 2I
RSE =
norte - pag - 1
Llamada:
Coeficientes:
Estimar Std. Valor t de errorPr(> |t|)
(Interceptar) - 5.219e + 05 1.565e + 04 -33.342 < 2e-16 ***
SqFtTotLiving 2.288e + 02 3.899e + 00 58.694 < 2e-16 ***
SqFtLot - 6.047e-02 6.118e-02 -0.988 0.323
Cuartos de baño - 1.944e + 04 3.625e + 03 -5.363 8.27e-08 ***
Dormitorios - 4.777e + 04 2.490e + 03 -19.187 < 2e-16 ***
BldgGrade 1.061e + 05 2.396e + 03 44.277 < 2e-16 ***
---
Signif. codigos: 0 '***' 0,001 '**' 0,01 '*' 0,05 '. 0,1 '' 1
Usar statsmodels para obtener un análisis más detallado del modelo de regresión en Pitón:
La pandas método asignar, como se usa aquí, agrega una columna constante con valor 1 a los
predictores. Esto es necesario para modelar la intersección.
Otra métrica útil que verá en la salida del software es la coeficiente de determinación
nación, también llamado el R-cuadrado estadística o R2. R-cuadrado varía de 0 a 1 y mide
la proporción de variación en los datos que se tiene en cuenta en el modelo. Es útil
principalmente en usos explicativos de regresión donde desea evaluar qué tan bien
el modelo se ajusta a los datos. La fórmula paraR2 es:
yo = 1yI -
∑norte y 2I
R2 = 1 -
yo = 1 yI -
∑norte y2
Junto con los coeficientes estimados, R y statsmodels reportar el error estándar de los
coeficientes (SE) y un estadística t:
tb = B
SE B
Validación cruzada
Métricas clásicas de regresión estadística (R2, Las estadísticas F y los valores p) son todas métricas "en
la muestra": se aplican a los mismos datos que se utilizaron para ajustar el modelo. Intuitivamente,
puede ver que tendría mucho sentido dejar de lado algunos de los datos originales, no usarlos para
ajustar el modelo, y luego aplicar el modelo a los datos reservados (reservados) para ver qué tan bien
funciona . Normalmente, usaría la mayoría de los datos para ajustar el modelo y usaría una porción
más pequeña para probar el modelo.
Esta idea de validación “fuera de muestra” no es nueva, pero en realidad no se afianzó hasta que los conjuntos de
datos más grandes se volvieron más frecuentes; con un conjunto de datos pequeño, los analistas normalmente
quieren utilizar todos los datos y ajustar el mejor modelo posible.
Sin embargo, usar una muestra reservada lo deja sujeto a cierta incertidumbre que surge
simplemente de la variabilidad en la muestra reservada pequeña. ¿Qué tan diferente sería la
evaluación si seleccionara una muestra reservada diferente?
La validación cruzada extiende la idea de una muestra reservada a múltiples muestras reservadas
secuenciales. El algoritmo para básicovalidación cruzada de k-fold es como sigue:
3. Aplicar (puntuar) el modelo al 1 / k espera y registre las métricas de evaluación del modelo
necesarias.
X = pd.get_dummies(casa[predictores], drop_first=Cierto)
X['Nueva construcción'] = [1 Si Carolina del Norte demás 0 por Carolina del Norte en X['Nueva construcción']]
Sin embargo, agregar más variables no significa necesariamente que tengamos un modelo mejor. Los
estadísticos utilizan el principio deLa navaja de Occam para orientar la elección de un modelo: en
igualdad de condiciones, se debe utilizar un modelo más simple en lugar de un modelo más
complicado.
La inclusión de variables adicionales siempre reduce el RMSE y aumenta R2 para los datos de entrenamiento.
Por lo tanto, estos no son apropiados para ayudar a guiar la elección del modelo. Una aproximación
Rad
2 j= 1 - (1 - R2) norte - 1
norte - PAG - 1
AICc
Una versión de AIC corregida para tamaños de muestra pequeños.
Malvas Cp
Una variante de AIC desarrollada por Colin Mallows.
Por lo general, estos se informan como métricas dentro de la muestra (es decir, en
los datos de capacitación), y los científicos de datos que usan datos retenidos para la
evaluación del modelo no necesitan preocuparse por las diferencias entre ellos o la
teoría subyacente detrás de ellos.
¿Cómo encontramos el modelo que minimiza el AIC o maximiza el ajuste R2? Una forma es buscar en
todos los modelos posibles, un enfoque llamado regresión de todos los subconjuntos. Esto es
computacionalmente costoso y no es factible para problemas con datos grandes y muchas variables.
Una alternativa atractiva es utilizarregresión por pasos. Podría comenzar con un modelo completo y
eliminar sucesivamente las variables que no contribuyan de manera significativa. Se llamaeliminación
hacia atrás. Alternativamente, se podría comenzar con un modelo constante y agregar variables
sucesivamente (selección hacia adelante). Como tercera opción también podemos tener éxito
sivamente agregue y elimine predictores para encontrar un modelo que reduzca el AIC o ajuste R2. La
MASA en R paquete de Venebles y Ripley ofrece una función de regresión paso a paso llamada
stepAIC:
Biblioteca(MASA)
paso <- stepAIC(casa_completa, dirección="ambas cosas")
paso
Llamada:
Coeficientes:
(Interceptar) SqFtTotLiving
6.179e + 06 1.993e + 02
Cuartos de baño Dormitorios
4.240e + 04 - 5.195e + 04
BldgGrade PropertyTypeSingle Family
1.372e + 05 2.291e + 04
PropertyType Townhouse SqFtFinBasement
8.448e + 04 7.047e + 00
YrBuilt
- 3.565e + 03
y = casa[Salir]
def tren_modelo(variables):
Si len(variables) == 0:
regreso Ninguno
modelo = Regresión lineal()
modelo.encajar(X[variables], y)
regreso modelo
Defina una función que devuelva un modelo ajustado para un conjunto de variables dado.
Defina una función que devuelva una puntuación para un modelo y un conjunto de variables
dados. En este caso, usamos elAIC_score implementado en el dmba paquete.
La regresión escalonada y toda la regresión de subconjuntos son en la muestra métodos para evaluar
y ajustar modelos. Esto significa que la selección del modelo posiblemente esté sujeta a sobreajuste
(ajustando el ruido en los datos) y puede no funcionar tan bien cuando se aplica a nuevos datos. Un
enfoque común para evitar esto es utilizar la validación cruzada para validar los modelos. En la
regresión lineal, el sobreajuste no suele ser un problema importante, debido a la estructura global
simple (lineal) impuesta a los datos. Para tipos de modelos más sofisticados, procedimientos
particularmente iterativos que responden a la estructura de datos local, la validación cruzada es una
herramienta muy importante; ver“Validación cruzada” en la página 155 para detalles.
Regresión ponderada
Los estadísticos utilizan la regresión ponderada para una variedad de propósitos; en particular, es
importante para el análisis de encuestas complejas. Los científicos de datos pueden encontrar útil la
regresión ponderada en dos casos:
Por ejemplo, con los datos de vivienda, las ventas más antiguas son menos confiables que las ventas más
recientes. Utilizando laFecha del documento para determinar el año de la venta, podemos calcular un
Peso como el número de años desde 2005 (el comienzo de los datos):
R
Biblioteca(lubridate)
casaPSAño = año(casaPSFecha del documento)
casaPSPeso = casaPSAño - 2005
house_lm house_wt
(Interceptar) - 521871.368 -584189.329
SqFtTotLiving 228.831 245.024
SqFtLot - 0.060 - 0.292
Cuartos de baño - 19442.840 -26085.970
Dormitorios - 47769.955 -53608.876
BldgGrade 106106.963 115242.435
La mayoría de modelos en scikit-learn aceptar pesos como argumento de palabra clave sam
ple_weight en la llamada del encajar método:
Ideas claves
• Las métricas más importantes para evaluar un modelo son el error cuadrático medio
(RMSE) y R-cuadrado (R2).
• La regresión ponderada se usa para dar a ciertos registros más o menos peso al ajustar la
ecuación.
Intervalo de predicción
Un intervalo de incertidumbre alrededor de un valor predicho individual.
Extrapolación
Extensión de un modelo más allá del rango de los datos utilizados para ajustarlo.
Los modelos de regresión no deben usarse para extrapolar más allá del rango de los datos
(dejando de lado el uso de regresión para el pronóstico de series de tiempo). El modelo es
válido solo para valores de predicción para los que los datos tienen valores suficientes (incluso
en el caso de que haya suficientes datos disponibles, podría haber otros problemas; consulte
“Diagnóstico de regresión” en la página 176). Como caso extremo, supongamodel_lm se utiliza
para predecir el valor de un lote vacío de 5,000 pies cuadrados. En tal caso, todos los
predictores relacionados con el edificio tendrían un valor de 0, y la ecuación de regresión
arrojaría una predicción absurda de –521,900 + 5,000 × –.0605 = - $ 522,202. ¿Por qué pasó
esto? Los datos contienen solo parcelas con edificios; no hay registros correspondientes a
terrenos baldíos. En consecuencia, el modelo no tiene información que le diga cómo predecir el
precio de venta de los terrenos baldíos.
1. Considere cada fila (incluida la variable de resultado) como un solo "boleto" y coloque todos los norte
entradas en una caja.
6. Ahora tiene 1000 valores de arranque para cada coeficiente; encuentre los percentiles apropiados
para cada uno (por ejemplo, 5º y 95º para un intervalo de confianza del 90%).
Puedes usar el Bota funcionar en R para generar intervalos de confianza de arranque reales para los
coeficientes, o simplemente puede usar los intervalos basados en fórmulas que son una rutina R
producción. El significado conceptual y la interpretación son los mismos, y no tienen una importancia
central para los científicos de datos, porque se refieren a los coeficientes de regresión.
De mayor interés para los científicos de datos son los intervalos alrededor de los predichos y valores (YI). La
• Incertidumbre sobre cuáles son las variables predictoras relevantes y sus coeficientes
(consulte el algoritmo de arranque anterior)
El error de punto de datos individual puede pensarse de la siguiente manera: incluso si supiéramos
con certeza cuál era la ecuación de regresión (por ejemplo, si tuviéramos una gran cantidad de
registros para ajustarla), el real los valores de resultado para un conjunto dado de valores predictores
variarán. Por ejemplo, varias casas, cada una con 8 habitaciones, un lote de 6,500 pies cuadrados, 3
baños y un sótano, pueden tener valores diferentes. Podemos modelar este error individual con los
residuos de los valores ajustados. El algoritmo de arranque para modelar tanto el error del modelo de
regresión como el error del punto de datos individuales se vería de la siguiente manera:
1. Tome una muestra de bootstrap de los datos (explicados con mayor detalle anteriormente).
• La extrapolación más allá del rango de los datos puede provocar errores.
Variables ficticias
Variables binarias 0-1 derivadas de la recodificación de datos de factores para su uso en modelos de
regresión y otros.
Codificación de referencia
El tipo de codificación más común utilizado por los estadísticos, en el que un nivel de un
factor se usa como referencia y otros factores se comparan con ese nivel.
Sinónimo
codificación de tratamiento
Un codificador caliente
Codificación de desviación
Un tipo de codificación que compara cada nivel con la media general en oposición al
nivel de referencia.
Sinónimo
suma de contrastes
En los datos de vivienda del condado de King, hay una variable de factor para el tipo de propiedad; un pequeño
subconjunto de seis registros se muestra a continuación:
R:
cabeza(casa[, 'Tipo de propiedad'])
Fuente: marco de datos local [6 X 1]
Tipo de propiedad
(fctr)
1 Multicine
2 Unifamiliar
3 Unifamiliar
4 Unifamiliar
5 Unifamiliar
6 Casa adosada
Pitón:
casa.Tipo de propiedad.cabeza()
La función model.matrix convierte un marco de datos en una matriz adecuada para un modelo
lineal. La variable factorTipo de propiedad, que tiene tres niveles distintos, se representa como
una matriz con tres columnas. En la comunidad de aprendizaje automático, esta representación
se conoce comouna codificación en calientever “Un codificador activo” en la página 242).
En Pitón, podemos convertir variables categóricas en variables ficticias usando el pandas método
get_dummies:
pd.get_dummies(casa['Tipo de propiedad']).cabeza()
pd.get_dummies(casa['Tipo de propiedad'], drop_first=Cierto).cabeza()
El argumento de la palabra clave drop_first volverá PAG - 1 columnas. Utilice esto para evitar el
problema de la multicolinealidad.
En ciertos algoritmos de aprendizaje automático, como los vecinos más cercanos y los modelos de árbol, una
codificación en caliente es la forma estándar de representar variables de factores (por ejemplo, consulte
“Modelos de árbol” en la página 249).
En la configuración de regresión, una variable de factor con PAG distintos niveles se representa generalmente por
una matriz con sólo PAG - 1 columnas. Esto se debe a que un modelo de regresión generalmente incluye un término
de intersección. Con una intersección, una vez que haya definido los valores para
PAG - 1 binarios, el valor de la PAGEsto es conocido y podría considerarse redundante.
Añadiendo elPAGLa columna causará un error de multicolinealidad (ver “Multicolinealidad” en
la página 172).
3 El -1 argumento en el model.matrix produce una representación de codificación activa (eliminando la intersección, de ahí el
"-"). De lo contrario, el valor predeterminado enR es producir una matriz con PAG - 1 columnas con el primer nivel de factor
como referencia.
Llamada:
Coeficientes:
(Interceptar) SqFtTotLiving
- 4.468e + 05 2.234e + 02
SqFtLot Cuartos de baño
- 7.037e-02 - 1.598e + 04
Dormitorios BldgGrade
- 5.089e + 04 1.094e + 05
PropertyTypeSingle Family PropertyTypeTownhouse
- 8.468e + 04 - 1.151e + 05
El método get_dummies toma el argumento de palabra clave opcional drop_first para excluir
el primer factor como referencia:
X = pd.get_dummies(casa[predictores], drop_first=Cierto)
4 Esto no es intuitivo, pero puede explicarse por el impacto de la ubicación como una variable de confusión; ver“Variables de
confusión” en la página 172.
Algunas variables de factor pueden producir una gran cantidad de variables ficticias
binarias: los códigos postales son una variable de factor y hay 43.000 códigos postales en
los EE. UU. En tales casos, es útil explorar los datos y las relaciones entre las variables
predictoras y el resultado, para determinar si las categorías contienen información útil. Si
es así, debe decidir además si es útil retener todos los factores o si los niveles deben
consolidarse.
mesa(casaPSCódigo postal)
98001 98002 98003 98004 98005 98006 98007 98008 98010 98011 98014 98019
358180241293133460112291 56163 85242
98022 98023 98024 98027 98028 98029 98030 98031 98032 98033 98034 98038
188 455 31 366 252475 263 308 121517 575 788
98039 98040 98042 98043 98045 98047 98050 98051 98052 98053 98055 98056
47244641 1222 48 7 32 614 499 332 402
98057 98058 98059 98065 98068 98070 98072 98074 98075 98077 98092 98102
4420 513 430 1 89 245 502 388 204 289 106
98103 98105 98106 98107 98108 98109 98112 98113 98115 98116 98117 98118
671313361296155149357 1620364619492
98119 98122 98125 98126 98133 98136 98144 98146 98148 98155 98166 98168
260380409473465310332287 40358193332
98177 98178 98188 98198 98199 98224 98288 98354
216 266 101225 393 3 4 9
Código postal es una variable importante, ya que es un proxy del efecto de la ubicación en
el valor de una casa. Incluir todos los niveles requiere 79 coeficientes correspondientes a
79 grados de libertad. El modelo originalhouse_lm tiene solo 5 grados de libertad; ver
"Evaluación del modelo" en la página 153. Además, varios códigos postales tienen una sola venta. En
algunos problemas, puede consolidar un código postal utilizando los primeros dos o tres dígitos,
Un enfoque alternativo es agrupar los códigos postales de acuerdo con otra variable, como el
precio de venta. Aún mejor es formar grupos de códigos postales utilizando los residuos de un
modelo inicial. La siguientedplyr codificar en R consolida los 80 códigos postales en cinco
grupos basados en la mediana del residuo del house_lm regresión:
La mediana residual se calcula para cada zip, y la ntile La función se utiliza para dividir los códigos
postales, ordenados por la mediana, en cinco grupos. Ver“Variables de confusión” en la página 172
para ver un ejemplo de cómo se usa esto como un término en una regresión que mejora el ajuste
original.
El concepto de utilizar los residuos para ayudar a guiar el ajuste de regresión es un paso fundamental
en el proceso de modelado; ver“Diagnóstico de regresión” en la página 176.
Algunas variables de factores reflejan los niveles de un factor; estos se denominanvariables de factor
ordenadas o variables categóricas ordenadas. Por ejemplo, la calificación del préstamo podría ser A,
B, C, etc., cada calificación conlleva más riesgo que la calificación anterior. A menudo, las variables de
factor ordenadas se pueden convertir a valores numéricos y usarse tal cual. Por ejemplo, la variable
BldgGrade es una variable factorial ordenada. Varios de los tipos de grados se muestran enTabla 4-1. Si
bien las calificaciones tienen un significado específico, el valor numérico está ordenado de menor a
mayor, correspondiente a las viviendas de mayor grado. Con el modelo de regresión
house_lm, encajar “Regresión lineal múltiple” en la página 150, BldgGrade fue tratado como una
variable numérica.
Valor Descripción
1 Cabina
2 Subestándar
5 Justo
10 Muy bien
12 Lujo
13 Mansión
El tratamiento de los factores ordenados como una variable numérica conserva la información
contenida en el orden que se perdería si se convirtiera en un factor.
Ideas claves
• Las variables de los factores deben convertirse en variables numéricas para su uso en una
regresión.
• El método más común para codificar una variable de factor con valores distintos de P es
representarlos usando variables ficticias P - 1.
• Es posible que sea necesario consolidar una variable de factor con muchos niveles, incluso en conjuntos de datos
• Algunos factores tienen niveles que están ordenados y se pueden representar como una única
variable numérica.
Variables correlacionadas
Cuando las variables predictoras están altamente correlacionadas, es difícil interpretar los
coeficientes individuales.
Multicolinealidad
Cuando las variables predictoras tienen una correlación perfecta o casi perfecta, la
regresión puede ser inestable o imposible de calcular.
Sinónimo
colinealidad
Variables de confusión
Un predictor importante que, cuando se omite, conduce a relaciones falsas en una
ecuación de regresión.
Efectos principales
Interacciones
Una relación interdependiente entre dos o más predictores y la
respuesta.
Predictores correlacionados
En la regresión múltiple, las variables predictoras a menudo se correlacionan entre sí. Como
ejemplo, examine los coeficientes de regresión del modelo.step_lm, encajar “Selección de
modelo y regresión escalonada” en la página 156.
R:
step_lmPScoeficientes
(Interceptar) SqFtTotLiving Cuartos de baño
El coeficiente para Dormitorios es negativo! Esto implica que agregar un dormitorio a una casa
reducirá su valor. ¿Cómo puede ser esto? Esto se debe a que las variables predictoras están
correlacionadas: las casas más grandes tienden a tener más dormitorios y es el tamaño lo que
determina el valor de la casa, no el número de dormitorios. Considere dos casas del mismo
tamaño exacto: es razonable esperar que una casa con más habitaciones pero más pequeñas
se considere menos deseable.
Tener predictores correlacionados puede dificultar la interpretación del signo y el valor de los
coeficientes de regresión (y puede inflar el error estándar de las estimaciones). Las variables
para los dormitorios, el tamaño de la casa y el número de baños están correlacionados. Esto se
ilustra con el siguiente ejemplo enR, que se ajusta a otra regresión eliminando el
variables SqFtTotLiving, SqFtFinBasement, y Cuartos de baño de la ecuación:
actualizar(step_lm, . ~ . - SqFtTotLiving - SqFtFinBasement - Cuartos de baño)
Llamada:
Coeficientes:
(Interceptar) Dormitorios
4913973 27151
BldgGrade PropertyTypeSingle Family
248998-199898
PropertyType Townhouse Año de construcción
- 47355 - 3212
La actualizar La función se puede utilizar para agregar o eliminar variables de un modelo. Ahora el
coeficiente para los dormitorios es positivo, en línea con lo que cabría esperar (aunque en realidad
actúa como un sustituto del tamaño de la casa, ahora que se eliminaron esas variables).
En Pitón, no hay equivalente a R's actualizar función. Necesitamos reajustar el modelo con la
lista de predictores modificada:
X = pd.get_dummies(casa[predictores], drop_first=Cierto)
Las variables correlacionadas son solo un problema al interpretar los coeficientes de regresión. En
house_lm, no hay una variable para dar cuenta de la ubicación de la casa, y el modelo
Multicolinealidad
Un caso extremo de variables correlacionadas produce multicolinealidad, una condición en la
que hay redundancia entre las variables predictoras. La multicolinealidad perfecta ocurre
cuando una variable predictora se puede expresar como una combinación lineal de otras. La
multicolinealidad ocurre cuando:
Se debe abordar la multicolinealidad en la regresión; las variables deben eliminarse hasta que
desaparezca la multicolinealidad. Una regresión no tiene una solución bien definida en
presencia de una multicolinealidad perfecta. Muchos paquetes de software, incluidosR y
Pitón, manejar automáticamente ciertos tipos de multicolinealidad. Por ejemplo, si
SqFtTotLiving se incluye dos veces en la regresión de la casa datos, los resultados son los mismos
que para el house_lm modelo. En el caso de multicolinealidad no perfecta, el software puede
obtener una solución, pero los resultados pueden ser inestables.
Variables de confusión
Con las variables correlacionadas, el problema es de comisión: incluir diferentes variables que
tienen una relación predictiva similar con la respuesta. Convariables de confusión, el problema
es de omisión: una variable importante no está incluida en la ecuación de regresión. La
interpretación ingenua de los coeficientes de la ecuación puede llevar a conclusiones inválidas.
Tomemos, por ejemplo, la ecuación de regresión del condado de King house_lm de “Ejemplo: datos de
viviendas del condado de King” en la página 151. Los coeficientes de regresión deSqFtLot, Baños, y
Dormitorios son todos negativos. El modelo de regresión original no contiene una variable para
representar la ubicación, un predictor muy importante del precio de la vivienda.
Coeficientes:
(Interceptar) SqFtTotLiving
- 6.666e + 05 2.106e + 02
SqFtLot Cuartos de baño
4.550e-01 5.928e + 03
Dormitorios BldgGrade
- 4.168e + 04 9.854e + 04
PropertyTypeSingle Family PropertyTypeTownhouse
1.932e + 04 - 7.820e + 04
ZipGroup2 ZipGroup3
5.332e + 04 1.163e + 05
ZipGroup4 ZipGroup5
1.784e + 05 3.384e + 05
X = pd.get_dummies(casa[predictores], drop_first=Cierto)
ZipGroup es claramente una variable importante: se estima que una casa en el grupo de código
postal más caro tiene un precio de venta más alto en casi $ 340,000. Los coeficientes de
SqFtLot y Cuartos de baño ahora son positivos, y agregar un baño aumenta el precio de
venta en $ 5,928.
El coeficiente para Dormitorios sigue siendo negativo. Si bien esto no es intuitivo, es un fenómeno bien
conocido en el sector inmobiliario. En el caso de viviendas de la misma superficie habitable y número
de baños, tener más y, por tanto, dormitorios más pequeños se asocia con viviendas de menor valor.
5 Hay 80 códigos postales en el condado de King, varios con solo un puñado de ventas. Una alternativa al uso directo del código postal
como variable de factor,ZipGroup agrupa códigos postales similares en un solo grupo. Ver“Factorizar variables con muchos niveles” en
la página 167 para detalles.
A los estadísticos les gusta distinguir entre efectos principales, o variables independientes, y el
interacciones entre los efectos principales. Los efectos principales son los que a menudo se
denominanvariables predictoras en la ecuación de regresión. Una suposición implícita cuando
solo se utilizan efectos principales en un modelo es que la relación entre una variable
predictora y la respuesta es independiente de las otras variables predictoras. Con frecuencia
este no es el caso.
Por ejemplo, el modelo se ajusta a los datos de vivienda del condado de King en “Variables de
confusión” en la página 172 incluye varias variables como efectos principales, incluyendo Código postal.
La ubicación en el sector inmobiliario lo es todo, y es natural suponer que la relación entre,
digamos, el tamaño de la casa y el precio de venta depende de la ubicación. Una casa grande
construida en un distrito de renta baja no va a retener el mismo valor que una casa grande
construida en un área cara. Incluyes interacciones entre variables enR utilizando el operador *.
Para los datos del condado de King, lo siguiente se ajusta a una interacción entreSqFtTotLiving y
ZipGroup:
Coeficientes:
(Interceptar) SqFtTotLiving
- 4.853e + 05 1.148e + 02
ZipGroup2 ZipGroup3
- 1.113e + 04 2.032e + 04
ZipGroup4 ZipGroup5
2.050e + 04 - 1.499e + 05
SqFtLot Cuartos de baño
6.869e-01 - 3.619e + 03
Dormitorios BldgGrade
- 4.180e + 04 1.047e + 05
PropertyTypeSingle Family PropertyTypeTownhouse
1.357e + 04 - 5.884e + 04
SqFtTotLiving:ZipGroup2 SqFtTotLiving:ZipGroup3
3.260e + 01 4.178e + 01
SqFtTotLiving:ZipGroup4 SqFtTotLiving:ZipGroup5
6.934e + 01 2.267e + 02
En Pitón, necesitamos usar el statsmodels paquete para entrenar modelos de regresión lineal con
interacciones. Este paquete fue diseñado de manera similar aR y permite definir modelos usando una
interfaz de fórmula:
La statsmodels paquete se ocupa de las variables categóricas (p. ej., ZipGroup [T.1],
PropertyType [T.Single Family]) y términos de interacción (p. ej., SqFtTotLiv ing:
ZipGroup [T.1]).
La ubicación y el tamaño de la casa parecen tener una fuerte interacción. Por un hogar en lo mas bajo
ZipGroup, la pendiente es la misma que la pendiente para el efecto principal SqFtTotLiving, que es $
118 por pie cuadrado (esto se debe a R usos referencia codificación de variables factoriales; ver
“Factorizar variables en regresión” en la página 163). Por un hogar en lo más altoZipGroup,
la pendiente es la suma del efecto principal más SqFtTotLiving: ZipGroup5, o $ 115 + $ 227 = $ 342
por pie cuadrado. En otras palabras, agregar un pie cuadrado en el grupo de código postal más
caro aumenta el precio de venta previsto en un factor de casi tres, en comparación con el
aumento promedio de agregar un pie cuadrado.
• Quizás el enfoque más común es utilizar modelos de árboles, así como sus
descendientes, bosque aleatorio y árboles con degradado. Esta clase de
modelos busca automáticamente términos de interacción óptimos; ver
“Modelos de árbol” en la página 249.
Ideas claves
Diagnóstico de regresión
En el modelado explicativo (es decir, en un contexto de investigación), varios pasos, además de las
métricas mencionadas anteriormente (ver "Evaluación del modelo" en la página 153), se toman para
evaluar qué tan bien se ajusta el modelo a los datos; la mayoría se basan en el análisis de los residuos.
Estos pasos no abordan directamente la precisión predictiva, pero pueden proporcionar información
útil en un entorno predictivo.
Residuos estandarizados
Residuos divididos por el error estándar de los residuales.
Valores atípicos
Registros (o valores de resultado) que están distantes del resto de los datos (o del
resultado previsto).
Valor influyente
Un valor o registro cuya presencia o ausencia marca una gran diferencia en la
ecuación de regresión.
Aprovechar
El grado de influencia que tiene un solo registro en una ecuación de regresión.
Sinónimo
sombrero-valor
Residuos anormales
Los residuos que no se distribuyen normalmente pueden invalidar algunos requisitos técnicos de
regresión, pero generalmente no son una preocupación en la ciencia de datos.
Heterocedasticidad
Cuando algunos rangos del resultado experimentan residuos con mayor varianza
(puede indicar que falta un predictor en la ecuación).
Sinónimo
gráfico de variables agregadas
En general, un valor extremo, también llamado parte aislada, es uno que está distante de la mayoría
de las otras observaciones. Del mismo modo que los valores atípicos deben manejarse para estimar la
ubicación y la variabilidad (ver"Estimaciones de la ubicación" en la página 7 y “Estimaciones de
variabilidad” en la página 13), los valores atípicos pueden causar problemas con los modelos de
regresión. En regresión, un valor atípico es un registro cuyo valor realy el valor está distante del valor
predicho. Puede detectar valores atípicos examinando elresidual estandarizado, que es el residual
dividido por el error estándar de los residuales.
No existe una teoría estadística que separe los valores atípicos de los no atípicos. Más bien, existen reglas
prácticas (arbitrarias) sobre qué tan distante del grueso de los datos debe estar una observación para que se
la considere un valor atípico. Por ejemplo, con la gráfica de caja, los puntos de salida son aquellos puntos de
datos que están demasiado por encima o por debajo de los límites de la caja (ver
“Percentiles y diagramas de caja” en la página 20), donde "demasiado lejos" = "más de 1,5 veces
el rango intercuartílico". En la regresión, el residuo estandarizado es la métrica que se usa
típicamente para determinar si un registro se clasifica como un valor atípico. Los residuos
estandarizados se pueden interpretar como "el número de errores estándar fuera de la línea de
regresión".
Ajustemos una regresión a los datos de ventas de viviendas del condado de King para todas las ventas en el código postal 98105 en R:
En Pitón:
house_98105 = casa.loc[casa['Código postal'] == 98105,]
house_outlier = sm.OLS(house_98105[Salir],
house_98105[predictores].asignar(constante=1))
result_98105 = house_outlier.encajar()
influencia = OLSInfluencia(result_98105)
sresiduales = influencia.resid_studentized_internal
sresiduals.idxmin(), sresiduales.min()
La mayor sobreestimación del modelo es más de cuatro errores estándar por encima de la línea de
regresión, lo que corresponde a una sobreestimación de $ 757,754. El registro de datos original
correspondiente a este valor atípico es el siguiente enR:
En Pitón:
parte aislada = house_98105.loc[sresiduales.idxmin(),:]
impresión('AdjSalePrice ', parte aislada[Salir])
impresión(parte aislada[predictores])
En este caso, parece que hay algo mal con el registro: una casa de ese tamaño normalmente se vende
por mucho más de $ 119,748 en ese código postal. Figura 4-4 muestra un extracto de la escritura
legal de esta venta: está claro que la venta involucró solo un interés parcial en la propiedad. En este
caso, el valor atípico corresponde a una venta que es anómala y no debe incluirse en la regresión. Los
valores atípicos también podrían ser el resultado de otros problemas, como una entrada de datos de
"dedo gordo" o una falta de coincidencia de unidades (por ejemplo, informar una venta en miles de
dólares en lugar de simplemente en dólares).
Para problemas de macrodatos, los valores atípicos generalmente no son un problema para ajustar la regresión que
se utilizará para predecir nuevos datos. Sin embargo, los valores atípicos son fundamentales para la detección de
anomalías, donde encontrar valores atípicos es la clave. El valor atípico también podría corresponder a un caso de
fraude o una acción accidental. En cualquier caso, la detección de valores atípicos puede ser una necesidad
empresarial crítica.
Además de los residuos estandarizados (ver "Valores atípicos" en la página 177), los estadísticos han
desarrollado varias métricas para determinar la influencia de un solo registro en una regresión. Una medida
común de apalancamiento es elvalor de sombrero; valores por encima de 2 P + 1 /norte Indicar un valor de
datos de alto apalancamiento.6
6 El término sombrero-valor proviene de la noción de matriz hat en regresión. La regresión lineal múltiple se puede expresar mediante la
fórmulaY = HY dónde H es la matriz del sombrero. Los valores de sombrero corresponden a la diagonal deH.
influencia = OLSInfluencia(result_98105)
higo, hacha = plt.subtramas(figsize=(5, 5))
hacha.axhline(-2.5, estilo de línea='-', color='C1')
hacha.axhline(2.5, estilo de línea='-', color='C1')
hacha.dispersión(influencia.hat_matrix_diag, influencia.resid_studentized_internal,
s=1000 * notario público.sqrt(influencia.cooks_distance[0]),
alfa=0,5)
hacha.set_xlabel('valores de sombrero')
hacha.set_ylabel('residuales estudentizados')
Aparentemente, hay varios puntos de datos que exhiben una gran influencia en la regresión. La
distancia de Cook se puede calcular usando la funcióncocineros distancia, y puedes usar hatvalues
para calcular los diagnósticos. Los valores del sombrero se trazan en el eje x, los residuos se
trazan en el eje y, y el tamaño de los puntos está relacionado con el valor de la distancia de
Cook.
Tabla 4-2 compara la regresión con el conjunto de datos completo y con los puntos de datos de gran
influencia eliminados (distancia de Cook> 0,08).
Tabla 4-2. Comparación de coeficientes de regresión con los datos completos y con datos influyentes
remoto
Original Influyente eliminado
7 El coeficiente para Cuartos de baño se vuelve negativo, lo cual no es intuitivo. No se ha tenido en cuenta la ubicación y el
código postal 98105 contiene áreas de distintos tipos de viviendas. Ver“Variables de confusión” en la página 172 para una
discusión de las variables de confusión.
Los estadísticos prestan mucha atención a la distribución de los residuos. Resulta que los mínimos
cuadrados ordinarios (ver“Mínimos cuadrados” en la página 148) son insesgados y, en algunos casos,
son el estimador "óptimo", según una amplia gama de supuestos distributivos. Esto significa que en la
mayoría de los problemas, los científicos de datos no necesitan preocuparse demasiado por la
distribución de los residuos.
El siguiente código en R traza los residuos absolutos frente a los valores predichos para el lm_98105
ajuste de regresión "Valores atípicos" en la página 177:
En Pitón, la marinero el paquete tiene el tramar función para crear una figura similar:
Figura 4-7. Un gráfico del valor absoluto de los residuos frente a los valores predichos
Evidentemente, la varianza de los residuos tiende a aumentar para las viviendas de mayor valor, pero
también es grande para las de menor valor. Esta trama indica quelm_98105 posee heteroske‐ dastic
errores.
Los estadísticos también pueden verificar el supuesto de que los errores son independientes. Esto es
particularmente cierto para los datos que se recopilan a lo largo del tiempo o el espacio. LaDurbin-
Watson La estadística se puede utilizar para detectar si existe una autocorrelación significativa en una
regresión que involucra datos de series de tiempo. Si los errores de un modelo de regresión están
correlacionados, entonces esta información puede ser útil para hacer pronósticos a corto plazo y
debe incorporarse al modelo. VerPronóstico práctico de series de tiempo con R, 2nd ed., Por Galit
Shmueli y Kenneth Lichtendahl (Axelrod Schnall, 2018) para aprender más sobre cómo construir
información de autocorrelación en modelos de regresión para datos de series de tiempo. Si el
objetivo son los pronósticos a más largo plazo o los modelos explicativos, el exceso de datos
autocorrelacionados a nivel micro puede distraer. En ese caso, el suavizado o la recopilación de datos
menos granular en primer lugar, puede estar en orden.
Aunque una regresión pueda violar uno de los supuestos distributivos, ¿debería importarnos? La
mayoría de las veces, en la ciencia de datos, el interés se centra principalmente en la precisión
predictiva, por lo que puede ser necesario revisar la heterocedasticidad. Puede descubrir que hay
alguna señal en los datos que su modelo no ha capturado. Sin embargo, satisfacer los supuestos
distributivos simplemente por el simple hecho de validar la inferencia estadística formal (valores p,
estadísticas F, etc.) no es tan importante para el científico de datos.
Gráficos de residuos parciales son una forma de visualizar qué tan bien el ajuste estimado
explica la relación entre un predictor y el resultado. La idea básica de una gráfica residual
parcial es aislar la relación entre una variable predictora y la respuesta,teniendo en cuenta
todas las demás variables predictoras. Un residual parcial podría considerarse como un valor
de "resultado sintético", que combina la predicción basada en un único predictor con el residual
real de la ecuación de regresión completa. Un residual parcial para pre‐
dictador XI es el residuo ordinario más el término de regresión asociado con XI:
La R y Pitón los gráficos se diferencian por un cambio constante. EnR, se suma una constante para que la
media de los términos sea cero.
Ideas claves
• Si bien los valores atípicos pueden causar problemas para conjuntos de datos pequeños, el interés principal de los
• Los registros individuales (incluidos los valores atípicos de regresión) pueden tener una gran influencia en una
ecuación de regresión con datos pequeños, pero este efecto se desvanece en los datos grandes.
• La gráfica de residuos parciales se puede utilizar para evaluar cualitativamente el ajuste para cada término
de regresión, lo que posiblemente lleve a una especificación de modelo alternativa.
Regresión polinomial
Agrega términos polinomiales (cuadrados, cubos, etc.) a una regresión.
Regresión spline
Ajuste de una curva suave con una serie de segmentos polinomiales.
Nudos
Valores que separan segmentos de spline.
Sinónimo
GAM
Polinomio
Regresión polinomial implica incluir términos polinomiales en una ecuación de
regresión. El uso de la regresión polinomial se remonta casi al desarrollo de la
regresión en sí con un artículo de Gergonne en 1815. Por ejemplo, una regresión
cuadrática entre la respuestaY y el predictor X tomaría la forma:
Y = b0 + B1X + b2X2 + mi
La regresión polinomial puede encajar en R a través de escuela politécnica función. Por ejemplo, lo siguiente
se ajusta a un polinomio cuadrático paraSqFtTotLiving con los datos de vivienda del condado de King:
Llamada:
Coeficientes:
(Interceptar) escuela politécnica(SqFtTotLiving, 2)1 escuela politécnica(SqFtTotLiving, 2)2
- 402530.47 3271519.49 776934.02
SqFtLot BldgGrade Baños
32.56 135717.06 - 1435.12
Dormitorios
- 9191,94
En modelos de estadísticas, agregamos el término al cuadrado a la definición del modelo usando Yo (SqFtTot
Viviendo ** 2):
Ahora hay dos coeficientes asociados con SqFtTotLiving: uno para el término lineal y
otro para el término cuadrático.
La statsmodels La implementación funciona solo para términos lineales. El código fuente adjunto
proporciona una implementación que también funcionará para la regresión polinomial.
Figura 4-10. Un ajuste de regresión polinomial para la variableSqFtTotLiving (línea continua) versus una línea
suave (línea discontinua; consulte la siguiente sección sobre splines)
Estrías
La regresión polinomial captura solo una cierta cantidad de curvatura en una relación no lineal.
Sumar en términos de orden superior, como un polinomio cuártico cúbico, a menudo
Las estrías se crearon doblando una delgada pieza de madera usando pesos, conocidos como
"patos"; verFigura 4-11.
Figura 4-11. Las estrías se crearon originalmente con madera flexible y "patos" y se utilizaron como
herramienta del dibujante para adaptarse a las curvas (foto cortesía de Bob Perry)
La definición técnica de una spline es una serie de polinomios continuos por partes. Fueron
desarrollados por primera vez durante la Segunda Guerra Mundial en el campo de pruebas de
Aberdeen en EE. UU. Por IJ Schoenberg, un matemático rumano. Las piezas del polinomio se conectan
suavemente en una serie de puntos fijos en una variable predictora, denominadanudos La
formulación de splines es mucho más complicada que la regresión polinomial; El software estadístico
generalmente maneja los detalles del ajuste de una spline. LaR paquete splines
incluye la función bs para crear un b-splinespline base) término en un modelo de regresión. Por
ejemplo, lo siguiente agrega un término b-spline al modelo de regresión de la casa:
Biblioteca(splines)
nudos <- cuantil(house_98105PSSqFtTotLiving, pag=C(.25, .5, 0,75))
lm_spline <- lm(AdjPrecio de venta ~ bs(SqFtTotLiving, nudos=nudos, la licenciatura=3) +
SqFtLot + Cuartos de baño + Dormitorios + BldgGrade, datos=house_98105)
A diferencia de un término lineal, para el cual el coeficiente tiene un significado directo, los
coeficientes de un término spline no son interpretables. En cambio, es más útil usar la pantalla
visual para revelar la naturaleza del ajuste de spline.Figura 4-12 muestra el gráfico de residuos
parciales de la regresión. A diferencia del modelo polinomial, el modelo de splines se asemeja
más al suave, lo que demuestra la mayor flexibilidad de los splines. En este caso, la línea se
ajusta más a los datos. ¿Significa esto que la regresión spline es un mejor modelo? No
necesariamente: no tiene sentido económico que las casas muy pequeñas (menos de 1,000 pies
cuadrados) tengan un valor más alto que las casas un poco más grandes. Esto es posiblemente
un artefacto de una variable de confusión; ver“Variables de confusión” en la página 172.
Figura 4-12. Un ajuste de regresión spline para la variableSqFtTotLiving (línea continua) en comparación con una línea
suave (línea discontinua)
Suponga que sospecha de una relación no lineal entre la respuesta y una variable predictora, ya sea
por conocimiento a priori o examinando los diagnósticos de regresión. Los términos polinomiales
pueden no ser lo suficientemente flexibles para capturar la relación, y los términos spline requieren
especificar los nodos.Modelos aditivos generalizados, o GAM, son una técnica de modelado flexible
que se puede utilizar para ajustar automáticamente una regresión spline. La
mgcv paquete en R se puede utilizar para ajustar un modelo GAM a los datos de la vivienda:
Biblioteca(mgcv)
lm_gam <- juego(AdjPrecio de venta ~ s(SqFtTotLiving) + SqFtLot +
Cuartos de baño + Dormitorios + BldgGrade,
datos=house_98105)
El termino s (SqFtTotLiving) le dice al juego función para encontrar los "mejores" nodos para un término
de spline (consulte Figura 4-13).
Figura 4-13. Un ajuste de regresión GAM para la variableSqFtTotLiving (línea continua) en comparación con una línea
suave (línea discontinua)
El valor predeterminado para n_splines es 20. Esto conduce a un sobreajuste para grandes SqFtTot
Living valores. Un valor de 12 conduce a un ajuste más razonable.
Ideas claves
• Los valores atípicos en una regresión son registros con un residuo grande.
Otras lecturas
• Para obtener más información sobre modelos spline y GAM, consulte Los elementos del aprendizaje estadístico,
2a ed., Por Trevor Hastie, Robert Tibshirani y Jerome Friedman (2009), y su primo
más bajo basado en R, Introducción al aprendizaje estadístico de Gareth James,
Daniela Witten, Trevor Hastie y Robert Tibshirani (2013); ambos son libros de
Springer.
• Para obtener más información sobre el uso de modelos de regresión para el pronóstico de series de tiempo, consulte
Pronóstico práctico de series de tiempo con R por Galit Shmueli y Kenneth Lichten‐
dahl (Axelrod Schnall, 2018).
Clasificación
Los científicos de datos a menudo tienen la tarea de automatizar las decisiones para problemas
comerciales. ¿Es un correo electrónico un intento de phishing? ¿Es probable que un cliente abandone?
¿Es probable que el usuario de la web haga clic en un anuncio? Estos son todosclasificación
problemas, una forma de aprendizaje supervisado en el que primero entrenamos un modelo con
datos donde se conoce el resultado y luego aplicamos el modelo a los datos donde se desconoce el
resultado. La clasificación es quizás la forma más importante de predicción: el objetivo es predecir si
un registro es un 1 o un 0 (phishing / no phishing, hacer clic / no hacer clic, abandonar / no
abandonar) o, en algunos casos, , una de varias categorías (por ejemplo, el filtrado de Gmail de su
bandeja de entrada en "principal", "social", "promocional" o "foros").
A menudo, necesitamos más que una simple clasificación binaria: queremos saber la probabilidad
predicha de que un caso pertenezca a una clase. En lugar de que un modelo simplemente asigne una
clasificación binaria, la mayoría de los algoritmos pueden devolver una puntuación de probabilidad
(propensión) de pertenecer a la clase de interés. De hecho, con la regresión logística, la salida
predeterminada deR está en la escala logarítmica de probabilidades, y esto debe transformarse en
una propensión. EnPitón's scikit-learn, La regresión logística, como la mayoría de los métodos de
clasificación, proporciona dos métodos de predicción: predecir (que devuelve la clase) y predecir_proba
(que devuelve probabilidades para cada clase). Luego, se puede usar un límite deslizante para
convertir el puntaje de propensión en una decisión. El enfoque general es el siguiente:
1. Establezca una probabilidad de corte para la clase de interés, por encima de la cual consideramos que un
registro pertenece a esa clase.
3. Si esa probabilidad está por encima de la probabilidad de corte, asigne el nuevo registro a la clase
de interés.
195
Cuanto más alto sea el límite, menos registros pronosticados como 1, es decir, pertenecientes a la
clase de interés. Cuanto menor sea el límite, más registros pronosticaron como 1.
Este capítulo cubre varias técnicas clave para clasificar y estimar propensiones; En el
capítulo siguiente se describen métodos adicionales que se pueden utilizar tanto para la
clasificación como para la predicción numérica.
• Predecir si Y = 0 o Y> 0.
• Dado que Y> 0, predice si Y = 1 o Y = 2.
En este caso, tiene sentido dividir el problema en dos casos: (1) si el cliente abandona;
y (2) si no abandonan, qué tipo de contrato elegirán. Desde el punto de vista del
ajuste del modelo, a menudo es ventajoso convertir el problema multiclase en una
serie de problemas binarios. Esto es particularmente cierto cuando una categoría es
mucho más común que las otras.
Bayes ingenuo
1 Esta y las secciones siguientes de este capítulo © 2020 Datastats, LLC, Peter Bruce, Andrew Bruce y Peter
Gedeck; utilizado con permiso.
La probabilidad condicional
La probabilidad de observar algún evento (digamos, X = yo) dado algún otro evento (digamos,
Y = i), Escrito como PXI YI .
Probabilidad posterior
La probabilidad de un resultado después de que se haya incorporado la información del predictor
(en contraste con la probabilidad previa de los resultados, sin tener en cuenta la información de
los predictores).
1. Busque todos los demás registros con el mismo perfil de predictor (es decir, donde los valores de los
predictores son los mismos).
2. Determine a qué clases pertenecen esos registros y cuál es la más prevalente (es
decir, probable).
3. Asigne esa clase al nuevo registro.
El enfoque anterior equivale a encontrar todos los registros de la muestra que son exactamente iguales al
nuevo registro que se va a clasificar, en el sentido de que todos los valores de los predictores son idénticos.
Cuando el número de variables predictoras excede un puñado, muchos de los registros que se
clasificarán no tendrán coincidencias exactas. Considere un modelo para predecir la votación sobre la
base de variables demográficas. Incluso una muestra considerable puede que no contenga ni una
sola coincidencia para un nuevo registro que sea un hispano con altos ingresos del Medio Oeste de
los EE. UU. Que votó en las últimas elecciones, no votó en las elecciones anteriores, tiene tres hijas y
un hijo y está divorciado. Y esto es con solo ocho variables, un número pequeño para la mayoría de
los problemas de clasificación. La adición de una sola variable nueva con cinco categorías igualmente
frecuentes reduce la probabilidad de una coincidencia en un factor de 5.
1. Para una respuesta binaria Y = yo (yo = 0 o 1), estime el problema condicional individual
habilidades para cada predictor PXj Y = yo; estas son las probabilidades de que el valor
predictor esté en el registro cuando observamos Y = yo. Esta probabilidad se estima
por la proporción de Xj valores entre los Y = yo registros en el conjunto de entrenamiento.
4. Estime una probabilidad de resultado I tomando el valor calculado en el paso 2 para la clase
I y dividirlo por la suma de dichos valores para todas las clases.
5. Asigne el registro a la clase con la probabilidad más alta para este conjunto de valores predictores.
Este ingenuo algoritmo de Bayes también se puede establecer como una ecuación para la probabilidad de
observar el resultado Y = yo, dado un conjunto de valores predictores X1,⋯, Xpag:
Aquí está la fórmula completa para calcular las probabilidades de clase usando la clasificación exacta
de Bayes:
P (Y = i) P (X1,…, Xp |Y = i)
P (Y = yo | X1, X2,…, Xp) = P (Y = 0)P (X1,…, Xp |Y = 0) + P (Y = 1)P (X1,…, Xp |Y = 1)
¿Por qué esta fórmula se llama "ingenua"? Hemos hecho una suposición simplificadora de que
probabilidad condicional exacta de un vector de valores predictores, dada la observación de un
Varios paquetes en R se puede utilizar para estimar un modelo de Bayes ingenuo. A continuación se ajusta
un modelo a los datos de pago del préstamo utilizando elklaR paquete:
Biblioteca(klaR)
ingenuo_modelo <- NaiveBayes(Salir ~ propósito_ + casa_ + emp_len_,
datos = na.omit(préstamo_datos))
ingenuo_modeloPSmesa
PSpropósito_
var
agrupamiento tarjeta de crédito consolidación de deudas mejoras en el hogar compra principal
pagado 0.18759649 0,55215915 0,07150104 0,05359270
defecto 0.15151515 0,57571347 0,05981209 0,03727229
var
agrupamiento médico otra pequeña_empresa
pagado 0,01424728 0,09990737 0.02099599
defecto 0,01433549 0,11561025 0.04574126
PScasa_
var
agrupamiento HIPOTECA PROPIO RENTA
PSemp_len_
var
agrupamiento < 1 Año > 1 Año
pagado 0.03105289 0.96894711
defecto 0.04728508 0.95271492
nuevo_préstamo = X.loc[146:146,:]
predecir(ingenuo_modelo, nuevo_préstamo)
PSclase
[1] defecto
Niveles: pagado por defecto
PSposterior
pagado defecto
[1,] 0,3463013 0,6536987
El clasificador bayesiano solo funciona con predictores categóricos (p. Ej., Con clasificación de
spam, donde la presencia o ausencia de palabras, frases, caracteres, etc. se encuentra en el
corazón de la tarea predictiva). Para aplicar Bayes ingenuo a los predictores numéricos, se debe
tomar uno de dos enfoques:
Ideas claves
• Pregunta: "Dentro de cada categoría de resultado, ¿qué categorías de predictores son las más
probables?"
• Luego, esa información se invierte para estimar las probabilidades de las categorías de resultados, dados
los valores predictores.
Otras lecturas
• Los elementos del aprendizaje estadístico, 2a ed., Por Trevor Hastie, Robert Tibshirani
y Jerome Friedman (Springer, 2009).
• Hay un capítulo completo sobre Bayes ingenuos en Minería de datos para análisis
empresarial por Galit Shmueli, Peter Bruce, Nitin Patel, Peter Gedeck, Inbal Yahav y
Kenneth Lichtendahl (Wiley, 2007-2020, con ediciones para R, Python, Excel y JMP).
Análisis discriminante
Análisis discriminante es el clasificador estadístico más antiguo; Fue introducido por RA Fisher
en 1936 en un artículo publicado en elAnales de la eugenesia diario.2
2 Ciertamente es sorprendente que el primer artículo sobre clasificación estadística se haya publicado en una revista
dedicada a la eugenesia. De hecho, hay unaConexión desconcertante entre el desarrollo temprano de la estadística y la
eugenesia.
Covarianza
Una medida del grado en que una variable varía en concierto con otra (es decir,
magnitud y dirección similares).
Función discriminante
La función que, aplicada a las variables predictoras, maximiza la separación
de las clases.
Pesos discriminantes
Las puntuaciones que resultan de la aplicación de la función discriminante y se utilizan
para estimar las probabilidades de pertenecer a una clase u otra.
Sin embargo, es posible que aún encuentre LDA en algunas aplicaciones y tiene vínculos a otros
métodos más utilizados (como el análisis de componentes principales; consulte “Análisis de
componentes principales” en la página 284).
Matriz de covarianza
yo = 1 XI -
∑norte
xzI - z
sx, z =
norte - 1
dónde norte es el número de registros (tenga en cuenta que dividimos entre norte - 1 en lugar de norte; ver
"Grados de libertad y norte o norte - ¿1? en la página 15).
sX2 sx, z
Σ=
sz, x s2z
SSEntre
SSdentro
La suma de cuadrados entre cuadrados es la distancia al cuadrado entre las medias de los dos
grupos, y la suma de cuadrados interiores es la distribución alrededor de las medias dentro de cada
grupo, ponderada por la matriz de covarianza. Intuitivamente, maximizando la suma intermedia de
Un ejemplo simple
La MASA paquete, asociado con el libro Estadísticas aplicadas modernas con S por WN Venables
y BD Ripley (Springer, 1994), proporciona una función para LDA con R. A continuación, se aplica
esta función a una muestra de datos de préstamos utilizando dos variables predictoras,
puntaje_de_prestado y Payment_inc_ratio, e imprime los pesos estimados del
discriminador lineal:
Biblioteca(MASA)
préstamo_lda <- lda(Salir ~ puntaje_de_prestado + pago_inc_ratio,
datos=préstamo3000)
préstamo_ldaPSescalada
LD1
puntaje_de_prestado 7.17583880
pago_inc_ratio -0.09967559
préstamo3000.Salir = préstamo3000.Salir.astipo('categoría')
X = préstamo3000[predictores]
y = préstamo3000[Salir]
Si las variables predictoras se normalizan antes de ejecutar LDA, los pesos del
discriminador son medidas de importancia variable, lo que proporciona un
método computacionalmente eficiente de selección de características.
La predecir_proba El método del modelo ajustado devuelve las probabilidades de los resultados
"predeterminado" y "pagado":
Un diagrama de las predicciones ayuda a ilustrar cómo funciona LDA. Usando la salida del
predecir función, se produce un gráfico de la probabilidad estimada de incumplimiento de la siguiente manera:
hacha.set_ylim(0, 20)
hacha.set_xlim(0,15, 0,8)
hacha.gráfico((x_0, x_20), (0, 20), ancho de línea=3)
hacha.gráfico(*préstamo_lda.medio_.transponer())
Figura 5-1. Predicción de la LDA del incumplimiento del préstamo utilizando dos variables: una puntuación
de la solvencia del prestatario y la relación pago-ingresos
Usando los pesos de la función discriminante, LDA divide el espacio del predictor en dos regiones,
como se muestra en la línea continua. Las predicciones más alejadas de la línea en ambas direcciones
tienen un mayor nivel de confianza (es decir, una probabilidad más alejada de 0,5).
Ideas claves
• Esta función se aplica a los registros para derivar ponderaciones, o puntuaciones, para cada
registro (una ponderación para cada clase posible), lo que determina su clase estimada.
Otras lecturas
• Ambas cosas Los elementos del aprendizaje estadístico, 2a ed., Por Trevor Hastie, Robert
Tib‐ shirani y Jerome Friedman (Springer, 2009), y su primo más bajo, Introducción al
aprendizaje estadístico de Gareth James, Daniela Witten, Trevor Hastie y Robert Tibshirani
(Springer, 2013), tienen una sección sobre análisis discriminante.
• Minería de datos para análisis empresarial por Galit Shmueli, Peter Bruce, Nitin Patel,
Peter Gedeck, Inbal Yahav y Kenneth Lichtendahl (Wiley, 2007-2020, con ediciones
para R, Python, Excel y JMP) tiene un capítulo completo sobre análisis discriminante.
• Por interés histórico, el artículo original de Fisher sobre el tema, "El uso de múltiples
medidas en problemas taxonómicos", publicado en 1936 en Anales de la eugenesia (ahora
llamado Annals of Genetics), puede ser encontrado en línea.
Logit
La función que asigna la probabilidad de pertenencia a una clase en un rango de ± ∞
(en lugar de 0 a 1).
Sinónimo
Log odds (ver más abajo)
Impares
Probabilidades de registro
El primer paso es pensar en la variable de resultado no como una etiqueta binaria sino como la probabilidad
pag que la etiqueta es un "1" Ingenuamente, podríamos tener la tentación de modelarpag como función
lineal de las variables predictoras:
Sin embargo, el ajuste de este modelo no garantiza que pag terminará entre 0 y 1, como debe ser la
probabilidad.
En cambio, modelamos pag aplicando un respuesta logística o logit inverso función a los
predictores:
Impares Y = 1 = pag
1 - pag
p = Impares
1 + probabilidades
Combinamos esto con la función de respuesta logística, mostrada anteriormente, para obtener:
Finalmente, tomando el logaritmo de ambos lados, obtenemos una expresión que involucra una
función lineal de los predictores:
La probabilidades de registro función, también conocida como la logit función, mapea la probabilidad pag de
0, 1 a cualquier valor - ∞, + ∞ —ver Figura 5-2. El círculo de transformación está completo; hemos
utilizado un modelo lineal para predecir una probabilidad, que a su vez podemos asignar a una
etiqueta de clase aplicando una regla de corte; cualquier registro con una probabilidad mayor que el
límite se clasifica como 1.
En R, para ajustar una regresión logística, el glm La función se utiliza con la familia parámetro establecido en
binomio. El siguiente código se ajusta a una regresión logística a los datos de préstamos personales
introducidos en “K-Vecinos más cercanos” en la página 238:
Grados de libertad: 45341 Total (es decir, nulo); 45330 Desviación nula
residual: 62860
Desviación residual: 57510 AIC: 57540
En contraste con R, scikit-learn deriva las clases de los valores únicos en y (pagado y
defecto). Internamente, las clases están ordenadas alfabéticamente. Como este es el
orden inverso de los factores utilizados enR, verá que los coeficientes se invierten. La
Los modelos lineales generalizados (GLM) se caracterizan por dos componentes principales:
• Una función de enlace, es decir, una función de transformación que mapea la respuesta a los
predictores (logit en el caso de regresión logística)
La regresión logística es, con mucho, la forma más común de GLM. Un científico de datos se encontrará con
otros tipos de GLM. A veces, se utiliza una función de enlace de registro en lugar del logit; en la práctica, es
poco probable que el uso de un enlace de registro dé lugar a resultados muy diferentes para la mayoría de
las aplicaciones. La distribución de Poisson se usa comúnmente para modelar datos de recuento (por
ejemplo, el número de veces que un usuario visita una página web en un cierto período de tiempo). Otras
familias incluyen binomio negativo y gamma, que a menudo se utilizan para modelar el tiempo transcurrido
(p. Ej., Tiempo de falla). A diferencia de la regresión logística, la aplicación de GLM con estos modelos es más
matizada e implica mayor cuidado. Es mejor evitarlos a menos que esté familiarizado y comprenda la utilidad
y los peligros de estos métodos.
1
p=
1 + mi-Y
Estos están en una escala de 0 a 1 y aún no declaran si el valor predicho es predeterminado o pagado.
Podríamos declarar cualquier valor superior a 0,5 como predeterminado. En la práctica, un límite más
bajo suele ser apropiado si el objetivo es identificar a los miembros de una clase poco común (ver“El
problema de las clases raras” en la página 223).
Una ventaja de la regresión logística es que produce un modelo que puede puntuarse a nuevos datos
rápidamente, sin volver a calcularlo. Otro es la relativa facilidad de interpretación del modelo, en
comparación con otros métodos de clasificación. La idea conceptual clave es comprender unrazón de
posibilidades. La razón de posibilidades es más fácil de entender para una variable de factor binario X:
Esto se interpreta como las probabilidades de que Y = 1 cuando X = 1 frente a las probabilidades de que Y = 1 cuando
X = 0. Si la razón de probabilidades es 2, entonces las probabilidades que Y = 1 son dos veces más altos cuando X = 1
versus cuando X = 0.
¿Por qué preocuparse por una razón de posibilidades en lugar de probabilidades? Trabajamos con probabilidades
porque el coeficienteβj en la regresión logística es el logaritmo de la razón de posibilidades para Xj.
Figura 5-3 muestra la relación entre la razón de probabilidades y el logaritmo de razón de probabilidades para las
razones de probabilidades superiores a 1. Debido a que los coeficientes están en la escala logarítmica, un aumento
de 1 en el coeficiente da como resultado un aumento de Exp 1 ≈ 2,72 en la razón de posibilidades.
Razones de probabilidad para variables numéricas X se puede interpretar de manera similar: miden el
cambio en la razón de probabilidades para un cambio de unidad en X. Por ejemplo, el efecto de
aumentar la relación pago-ingreso de, digamos, 5 a 6 aumenta las probabilidades de incumplimiento
del préstamo en un factor de Exp 0,08244 ≈ 1,09. La variablepuntaje_de_prestado es un puntaje sobre la
solvencia crediticia de los prestatarios y varía de 0 (bajo) a 1 (alto). Las probabilidades de que los
mejores prestatarios en relación con los peores prestatarios incumplan sus préstamos es menor en
un factor deExp - 4,61264 ≈ 0,01. En otras palabras, el riesgo de incumplimiento de los prestatarios
con menor solvencia crediticia es 100 veces mayor que el de los mejores prestatarios.
Encajando el modelo
La regresión lineal se ajusta mediante mínimos cuadrados y la calidad del ajuste se evalúa mediante
RMSE y estadísticas R-cuadrado. En la regresión logística (a diferencia de la regresión lineal), no hay
una solución de forma cerrada y el modelo debe ajustarse utilizandoestimación de máxima
verosimilitud (MLE). La estimación de máxima verosimilitud es un proceso que intenta encontrar el
modelo que es más probable que haya producido los datos que vemos. En la ecuación de regresión
logística, la respuesta no es 0 o 1, sino más bien una estimación de las probabilidades logarítmicas de
que la respuesta es 1. El MLE encuentra la solución de manera que las probabilidades logarítmicas
estimadas describan mejor el resultado observado. La mecánica del algoritmo implica una
optimización cuasi-Newton que itera entre un paso de puntuación (Puntuación de Fisher), basado en
los parámetros actuales, y una actualización de los parámetros para mejorar el ajuste.
Afortunadamente, la mayoría de los profesionales no necesitan preocuparse por los detalles del
algoritmo de ajuste, ya que esto lo maneja el software. La mayoría de los científicos de datos no
necesitarán preocuparse por el método de ajuste, aparte de comprender que es una forma de
encontrar un buen modelo bajo ciertos supuestos.
Al igual que otros métodos de clasificación, la regresión logística se evalúa por la precisión con la que
el modelo clasifica nuevos datos (ver “Evaluación de modelos de clasificación” en la página 219). Al
igual que con la regresión lineal, se encuentran disponibles algunas herramientas estadísticas
estándar adicionales para examinar y mejorar el modelo. Junto con los coeficientes estimados,R
reporta el error estándar de los coeficientes (SE), un z-valor, y un valor p:
resumen(modelo_logístico)
Llamada:
Residuos de desviación:
Min 1Q Mediana 3Q Max
- 2.51951 -1.06908 -0.05853 1.07421 2.15528
Coeficientes:
Estimar Std. Valor z de errorPr(> |z|)
(Interceptar) 1,638092 0,073708 22,224 < 2e-16 ***
pago_inc_ratio 0,079737 0,002487 32,058 < 2e-16 ***
propósito_deuda_consolidación 0.249373 0,027615 9,030 < 2e-16 ***
proposito_home_improvement 0.407743 0,046615 8,747 < 2e-16 ***
propósito_compra_principal 0.229628 0.053683 4.277 1.89e-05 ***
proposito_medico 0.510479 0.086780 5.882 4.04e-09 ***
propósito_otro 0,620663 0,039436 15,738 < 2e-16 ***
propósito_pequeña_empresa 1.215261 0.063320 19.192 < 2e-16 ***
home_OWN 0.048330 0,038036 1,271 0,204
home_RENT 0.157320 0,021203 7,420 1,17e-13 ***
emp_len_ > 1 Año - 0.356731 0.052622 -6.779 1.21e-11 ***
puntaje_de_prestado - 4.612638 0.083558 -55.203 < 2e-16 ***
---
Signif. codigos: 0 '***' 0,001 '**' 0,01 '*' 0,05 '. 0,1 '' 1
El paquete statsmodels tiene una implementación para el modelo lineal generalizado (GLM)
que proporciona información igualmente detallada:
La interpretación del valor p viene con la misma salvedad que en la regresión y debe verse más
como un indicador relativo de importancia variable (ver "Evaluación del modelo" en la página
153) que como una medida formal de significación estadística. Un modelo de regresión
logística, que tiene una respuesta binaria, no tiene un RMSE o R cuadrado asociado. En cambio,
un modelo de regresión logística generalmente se evalúa utilizando métricas más generales
para la clasificación; ver“Evaluación de modelos de clasificación” en la página 219.
Análisis de residuos
El gráfico resultante se muestra en Figura 5-4. El ajuste estimado, mostrado por la línea,
va entre dos conjuntos de nubes de puntos. La nube superior corresponde a una
respuesta de 1 (préstamos en mora) y la nube inferior corresponde a una respuesta de 0
(préstamos cancelados). Esto es muy típico de los residuos de una regresión logística, ya
que la salida es binaria. La predicción se mide como logit (logaritmo de la razón de
probabilidades), que siempre será un valor finito. El valor real, un 0 o 1 absoluto,
corresponde a un logit infinito, ya sea positivo o negativo, por lo que los residuos (que se
suman al valor ajustado) nunca serán iguales a 0. Por lo tanto, los puntos graficados se
encuentran en nubes arriba o abajo. debajo de la línea ajustada en la gráfica de residuos
parciales. Los residuos parciales en la regresión logística, aunque menos valiosos que en
la regresión,
Ideas claves
• La regresión logística es como la regresión lineal, excepto que el resultado es una variable
binaria.
• Se necesitan varias transformaciones para obtener el modelo en una forma que se pueda ajustar como un modelo
• Una vez que se ajusta el modelo lineal (mediante un proceso iterativo), las probabilidades logarítmicas se vuelven a asignar a
una probabilidad.
Otras lecturas
• La referencia estándar sobre regresión logística es Regresión logística aplicada, 3a ed.,
Por David Hosmer, Stanley Lemeshow y Rodney Sturdivant (Wiley, 2013).
• También son populares dos libros de Joseph Hilbe: Modelos de regresión logística (
muy completo, 2017) y Guía práctica de regresión logística (compacto, 2015), ambos
de Chapman & Hall / CRC Press.
• Ambas cosas Los elementos del aprendizaje estadístico, 2a ed., Por Trevor Hastie, Robert
Tib‐ shirani y Jerome Friedman (Springer, 2009), y su primo más bajo, Introducción al
aprendizaje estadístico de Gareth James, Daniela Witten, Trevor Hastie y Robert Tibshirani
(Springer, 2013), tienen una sección sobre regresión logística.
• Minería de datos para análisis empresarial por Galit Shmueli, Peter Bruce, Nitin Patel,
Peter Gedeck, Inbal Yahav y Kenneth Lichtendahl (Wiley, 2007-2020, con ediciones
para R, Python, Excel y JMP) tiene un capítulo completo sobre regresión logística.
Precisión
El porcentaje (o proporción) de casos clasificados correctamente.
Matriz de confusión
Una visualización tabular (2 × 2 en el caso binario) del registro cuenta por su estado de
clasificación previsto y real.
Sensibilidad
El porcentaje (o proporción) de todos los 1 que se clasifican correctamente como 1.
Sinónimo
Recordar
Especificidad
El porcentaje (o proporción) de todos los ceros que se clasifican correctamente como ceros.
Precisión
El porcentaje (proporción) de 1 pronosticados que en realidad son 1.
Curva ROC
Un gráfico de sensibilidad versus especificidad.
Elevar
Matriz de confusión
En Pitón:
pred = logit_reg.predecir(X)
pred_y = logit_reg.predecir(X) == 'defecto'
verdadero_y = y == 'defecto'
true_pos = verdadero_y Y pred_y
true_neg = ~verdadero_y & ~pred_y
false_pos = ~verdadero_y Y pred_y
false_neg = verdadero_y & ~pred_y
3 No todos los métodos proporcionan estimaciones de probabilidad no sesgadas. En la mayoría de los casos, es suficiente que el método proporcione
una clasificación equivalente a las clasificaciones que resultarían de una estimación de probabilidad insesgada; el método de corte es entonces
funcionalmente equivalente.
Los resultados predichos son columnas y los verdaderos resultados son las filas. Los elementos
diagonales de la matriz muestran el número de predicciones correctas y los elementos fuera de la
diagonal muestran el número de predicciones incorrectas. Por ejemplo, 14.295 préstamos en mora se
predijeron correctamente como mora, pero 8.376 préstamos en mora se predijeron incorrectamente
como liquidados.
Figura 5-5 muestra la relación entre la matriz de confusión para una respuesta binaria
Y y diferentes métricas (ver “Precisión, recuperación y especificidad” en la página 223 para obtener más
información sobre las métricas). Al igual que en el ejemplo de los datos de préstamos, la respuesta real está
a lo largo de las filas y la respuesta prevista a lo largo de las columnas. Las cajas diagonales (superior
izquierda, abajo a la derecha) muestran cuándo las predicciones Y predecir correctamente la respuesta. Una
métrica importante que no se menciona explícitamente es el falso positivoVelocidad (la imagen especular de
la precisión). Cuando los 1 son raros, la proporción de falsos positivos a todos los positivos previstos puede
ser alta, lo que lleva a una situación poco intuitiva en la que un 1 predicho es muy probablemente un
0. Este problema afecta a las pruebas de detección médica (por ejemplo, mamografías) que se aplican
ampliamente: debido a la relativa rareza de la afección, lo más probable es que los resultados positivos de las
pruebas no signifiquen cáncer de mama. Esto genera mucha confusión en el público.
Figura 5-5. Matriz de confusión para una respuesta binaria y varias métricas
En muchos casos, existe un desequilibrio en las clases a predecir, con una clase mucho más
prevalente que la otra, por ejemplo, reclamaciones de seguros legítimas frente a fraudulentas, o
navegadores frente a compradores en un sitio web. La clase rara (p. Ej., Las reclamaciones
fraudulentas) suele ser la clase de mayor interés y normalmente se designa como 1, en contraste con
los 0 más frecuentes. En el escenario típico, los 1 son el caso más importante, en el sentido de que
clasificarlos incorrectamente como 0 es más costoso que clasificarlos incorrectamente como 1. Por
ejemplo, identificar correctamente una reclamación de seguro fraudulenta puede ahorrar miles de
dólares. Por otro lado, identificar correctamente un reclamo no fraudulento simplemente le ahorra el
costo y el esfuerzo de revisar el reclamo a mano con una revisión más cuidadosa (que es lo que haría
si el reclamo fuera etiquetado como "fraudulento").
En tales casos, a menos que las clases sean fácilmente separables, el modelo de clasificación más
preciso puede ser uno que simplemente clasifique todo como un 0. Por ejemplo, si solo el 0.1% de los
navegadores en una tienda web terminan comprando, un modelo que predice que Cada navegador
que salga sin comprar tendrá una precisión del 99,9%. Sin embargo, será inútil. En cambio,
estaríamos contentos con un modelo que es menos preciso en general, pero que es bueno para
seleccionar a los compradores, incluso si clasifica erróneamente a algunos no compradores en el
camino.
Las métricas distintas de la precisión pura (métricas que tienen más matices) se utilizan
comúnmente en la evaluación de modelos de clasificación. Varios de estos tienen una larga
historia en estadística, especialmente bioestadística, donde se utilizan para describir el
rendimiento esperado de las pruebas de diagnóstico. Laprecisión mide la precisión de un
resultado positivo predicho (ver Figura 5-5):
∑VerdaderoPositivo
precisión = ∑TruePositive + ∑FalsePositive
La recordar, también conocido como sensibilidad, mide la fuerza del modelo para
predecir un resultado positivo: la proporción de los 1 que identifica correctamente (ver
Figura 5-5). El terminosensibilidad se utiliza mucho en bioestadística y diagnósticos médicos, mientras
que recordar se utiliza más en la comunidad de aprendizaje automático. La definición de recuperación
es:
∑VerdaderoPositivo
recordar = ∑TruePositive + ∑FalseNegative
∑VerdaderoNegativo
especificidad = ∑TrueNegative + ∑FalsePositive
precision_recall_fscore_support(y, logit_reg.predecir(X),
etiquetas=['defecto', 'pagado'])
Curva ROC
Puede ver que hay un equilibrio entre recuerdo y especificidad. Capturar más 1 generalmente
significa clasificar erróneamente más 0 como 1. El clasificador ideal haría un excelente trabajo
al clasificar los 1, sin clasificar erróneamente más 0 como 1.
La métrica que captura esta compensación es la curva "Características operativas del receptor",
generalmente conocida como Curva ROC. Los gráficos de la curva ROC recuerdan (sensibilidad)
en el eje y contra la especificidad en el eje x.4 La curva ROC muestra la compensación entre el
recuerdo y la especificidad a medida que cambia el límite para determinar cómo clasificar un
registro. La sensibilidad (recuperación) se traza en el eje y, y puede encontrar dos formas en las
que el eje x está etiquetado:
4 La curva ROC se utilizó por primera vez durante la Segunda Guerra Mundial para describir el rendimiento de las estaciones receptoras de radar, cuyo trabajo
consistía en identificar (clasificar) correctamente las señales de radar reflejadas y alertar a las fuerzas de defensa sobre la llegada de aeronaves.
La curva se ve idéntica de cualquier forma que se haga. El proceso para calcular la curva
ROC es:
1. Ordene los registros por la probabilidad predicha de ser un 1, comenzando con el más
probable y terminando con el menos probable.
Calcular la curva ROC en R es sencillo. El siguiente código calcula ROC para los
datos del préstamo:
idx <- pedido(-pred)
recordar <- eyacular(verdadero_y[idx] == 1) / suma(verdadero_y == 1)
especificidad <- (suma(verdadero_y == 0) - eyacular(verdadero_y[idx] == 0)) / suma(verdadero_y == 0)
roc_df <- marco de datos(recordar = recordar, especificidad = especificidad)
ggplot(roc_df, aes(X=especificidad, y=recordar)) +
geom_line(color='azul') +
scale_x_reverse(expandir=C(0, 0)) +
scale_y_continuous(expandir=C(0, 0)) +
geom_line(datos=marco de datos(X=(0:100) / 100), aes(X=X, y=1-X),
tipo de línea='punteado', color='rojo')
El resultado se muestra en Figura 5-6. La línea diagonal punteada corresponde a un clasificador que no es
mejor que el azar. Un clasificador extremadamente eficaz (o, en situaciones médicas, una prueba de
diagnóstico extremadamente eficaz) tendrá un ROC que abraza la esquina superior izquierda; identificará
correctamente lotes de 1 sin clasificar erróneamente lotes de 0 como 1. Para este modelo, si queremos un
clasificador con una especificidad de al menos el 50%, la recuperación es de aproximadamente el 75%.
AUC
La curva ROC es una valiosa herramienta gráfica, pero por sí misma no constituye una medida
única para el desempeño de un clasificador. Sin embargo, la curva ROC se puede utilizar para
producir el área debajo de la métrica de la curva (AUC). AUC es simplemente el área total bajo la
curva ROC. Cuanto mayor sea el valor de AUC, más eficaz será el clasificador. Un AUC de 1
indica un clasificador perfecto: obtiene todos los 1 correctamente clasificados y no clasifica
erróneamente ningún 0 como 1.
El modelo tiene un AUC de aproximadamente 0,69, que corresponde a un clasificador relativamente débil.
Figura 5-7. Área bajo la curva ROC para los datos del préstamo
Elevar
Usar el AUC como métrica para evaluar un modelo es una mejora con respecto a la precisión simple,
ya que puede evaluar qué tan bien un clasificador maneja el equilibrio entre la precisión general y la
necesidad de identificar los 1 más importantes. Pero no aborda por completo el problema de los
casos raros, en el que es necesario reducir el límite de probabilidad del modelo por debajo de 0,5
para evitar que todos los registros se clasifiquen como 0. En tales casos, para que un registro se
clasifique como 1, podría ser suficiente tener una probabilidad de 0.4, 0.3 o menor. En efecto,
terminamos sobreidentificando los 1, lo que refleja su mayor importancia.
Cambiar este límite mejorará tus posibilidades de atrapar los 1 (a costa de clasificar
erróneamente más 0 como 1). Pero, ¿cuál es el límite óptimo?
El concepto de elevación le permite aplazar la respuesta a esa pregunta. En su lugar, considera los
registros en el orden de su probabilidad predicha de ser 1 s. Digamos, del 10% superior clasificado
como 1, ¿cuánto mejor fue el algoritmo, en comparación con el punto de referencia de simplemente
seleccionar a ciegas? Si puede obtener una respuesta del 0.3% en este decil superior en lugar del 0.1%
que obtiene en general al elegir al azar, se dice que el algoritmo tiene unaelevar (también llamado
ganancias) de 3 en el decil superior. Un gráfico de elevación (gráfico de ganancias) cuantifica esto en
el rango de los datos. Puede producirse decil por decil o de forma continua sobre el rango de los
datos.
Para calcular un gráfico de elevación, primero genera un gráfico de ganancias acumuladas que
muestra la recuperación en el eje y y el número total de registros en el eje x. Lacurva de elevación es
la relación entre las ganancias acumuladas y la línea diagonal correspondiente a la selección aleatoria.
Gráficos de ganancias de decil son una de las técnicas más antiguas en modelado predictivo, que data de los
días anteriores al comercio por Internet. Fueron particularmente populares entre los profesionales del correo
directo. El correo directo es un método costoso de publicidad si se aplica indiscriminadamente, y los
anunciantes utilizaron modelos predictivos (bastante simples, en los primeros días) para identificar a los
clientes potenciales con la perspectiva más probable de rentabilidad.
Una curva de elevación le permite ver las consecuencias de establecer diferentes límites de
probabilidad para clasificar registros como 1. Puede ser un paso intermedio para establecer un nivel
de corte apropiado. Por ejemplo, una autoridad fiscal puede tener solo una cierta cantidad de
recursos que puede gastar en auditorías fiscales y quiere gastarlos en las trampas fiscales más
probables. Con su limitación de recursos en mente, la autoridad usaría un gráfico de elevación para
estimar dónde trazar la línea entre las declaraciones de impuestos seleccionadas para auditoría y las
que se dejaron solas.
Ideas claves
• La precisión (el porcentaje de clasificaciones previstas que son correctas) no es más que un primer paso en
la evaluación de un modelo.
• AUC (área bajo la curva ROC) es una métrica común de la capacidad de un modelo para
distinguir 1 de 0.
Otras lecturas
La evaluación y valoración se cubren típicamente en el contexto de un modelo en particular (p.
Ej., K-Vecinos más cercanos o árboles de decisión); Tres libros que tratan el tema en su propio
capítulo son:
• Procesamiento de datos, 3a ed., Por Ian Whitten, Eibe Frank y Mark Hall (Morgan
Kaufmann, 2011).
La sección anterior trataba sobre la evaluación de modelos de clasificación utilizando métricas que
van más allá de la simple precisión y son adecuadas para datos desequilibrados, datos en los que el
resultado de interés (compra en un sitio web, fraude de seguros, etc.) es poco común. En esta sección,
analizamos estrategias adicionales que pueden mejorar el rendimiento del modelado predictivo con
datos desequilibrados.
Submuestra
Utilice menos registros de clases prevalentes en el modelo de clasificación.
Sinónimo
Reducir la muestra
Sobremuestreo
Utilice más registros de clases raras en el modelo de clasificación, arrancando si es
necesario.
Sinónimo
Upsample
Generación de datos
Como el bootstrapping, excepto que cada nuevo registro de bootstrap es ligeramente diferente de
su fuente.
puntuación z
K
El número de vecinos considerados en el cálculo del vecino más cercano.
¿Cuántos datos son suficientes? Depende de la aplicación, pero en general, basta con
tener decenas de miles de registros para la clase menos dominante. Cuanto más
fácilmente se distingan los 1 de los 0, menos datos se necesitan.
Los datos de préstamos analizados en “Regresión logística” en la página 208 se basó en un conjunto de
capacitación equilibrado: la mitad de los préstamos fueron cancelados y la otra mitad estaba en mora. Los
valores predichos fueron similares: la mitad de las probabilidades fueron menores de 0.5 y la mitad fueron
mayores de 0.5. En el conjunto de datos completo, solo alrededor del 19% de los préstamos estaban en
mora, como se muestra enR:
significar(full_train_setPSSalir=='defecto') [1]
0.1889455
En Pitón:
impresión('porcentaje de préstamos en mora: ',
100 * notario público.significar(full_train_set.Salir == 'defecto'))
¿Qué sucede si usamos el conjunto de datos completo para entrenar el modelo? Veamos cómo se ve
esto enR:
Y en Pitón:
predictores = ['pago_inc_ratio', 'propósito_', 'casa_', 'emp_len_',
'dti', 'revol_bal', 'revol_util']
Salir = 'Salir'
X = pd.get_dummies(full_train_set[predictores], prefijo='', prefix_sep='',
drop_first=Cierto)
y = full_train_set[Salir]
Una de las críticas al método de submuestreo es que descarta datos y no utiliza toda la
información disponible. Si tiene un conjunto de datos relativamente pequeño, y la clase
más rara contiene algunos cientos o miles de registros, entonces el submuestreo de la
clase dominante tiene el riesgo de arrojar información útil. En este caso, en lugar de
reducir la muestra del caso dominante, debe sobremuestrear (aumentar la muestra) la
clase más rara dibujando filas adicionales con reemplazo (bootstrapping).
Puede lograr un efecto similar ponderando los datos. Muchos algoritmos de clasificación toman un
argumento de ponderación que le permitirá subir o bajar la ponderación de los datos. Por ejemplo, aplique
un vector de ponderación a los datos del préstamo utilizando elpeso argumento para glm en R:
La mayoría scikit-learn Los métodos permiten especificar pesos en el encajar función usando el
argumento de palabra clave sample_weight:
5 Debido a las diferencias en la implementación, los resultados Pitón difieren ligeramente: 1%, o aproximadamente 1/18 del número esperado.
Tenga en cuenta que la ponderación proporciona una alternativa tanto al aumento de la clase más rara como
a la disminución de la clase dominante.
Generación de datos
La idea ganó fuerza con la publicación del SMOTE algoritmo, que significa "Técnica de
sobremuestreo de minorías sintéticas". El algoritmo SMOTE encuentra un registro que es
similar al registro que se está muestreando (consulte“K-Vecinos más cercanos” en la página 238
) y crea un registro sintético que es un promedio ponderado aleatoriamente del registro
original y el registro vecino, donde el peso se genera por separado para cada predictor. El
número de registros sintéticos sobremuestreados que se crean depende de la proporción de
sobremuestreo necesaria para que el conjunto de datos esté en un equilibrio aproximado con
respecto a las clases de resultados.
Hay varias implementaciones de SMOTE en R. El paquete más completo para manejar datos no
balanceados es desequilibrado. Ofrece una variedad de técnicas, incluido un algoritmo "Racing" para
seleccionar el mejor método. Sin embargo, el algoritmo SMOTE es lo suficientemente simple como
para que se pueda implementar directamente enR utilizando la FNN paquete.
En la práctica, la precisión y el AUC son una forma pobre de elegir una regla de clasificación. A
menudo, se puede asignar un costo estimado a los falsos positivos frente a los falsos negativos, y es
más apropiado incorporar estos costos para determinar el mejor punto de corte al clasificar 1 y 0. Por
ejemplo, suponga que el costo esperado del incumplimiento de un nuevo préstamo esC y el
rendimiento esperado de un préstamo cancelado es R. Entonces, el rendimiento esperado de ese
préstamo es:
retorno esperado = PY = 0 × R + PY = 1 × C
Una sola métrica, como AUC, no puede evaluar todos los aspectos de la idoneidad de un modelo para
una situación. Figura 5-8 muestra las reglas de decisión para cuatro modelos diferentes que se
ajustan a los datos del préstamo utilizando solo dos variables predictoras: puntaje_de_prestado y pagar
ment_inc_ratio. Los modelos son análisis discriminante lineal (LDA), regresión lineal logística, ajuste de
regresión logística utilizando un modelo aditivo generalizado (GAM) y un modelo de árbol (ver
“Modelos de árbol” en la página 249). La región de la parte superior izquierda de las líneas
corresponde a un valor predeterminado previsto. La LDA y la regresión lineal logística dan resultados
casi idénticos en este caso. El modelo de árbol produce la regla menos regular, con dos pasos.
Finalmente, el ajuste GAM de la regresión logística representa un compromiso entre el modelo de
árbol y el modelo lineal.
Ideas claves
• Los datos muy desequilibrados (es decir, donde los resultados interesantes, los 1, son raros) son
problemáticos para los algoritmos de clasificación.
• Una estrategia para trabajar con datos desequilibrados es equilibrar los datos de entrenamiento
submuestreando el caso abundante (o sobremuestreando el caso raro).
• Si el uso de todos los 1 todavía le deja con muy pocos 1, puede iniciar los casos raros o usar
SMOTE para crear datos sintéticos similares a los casos raros existentes.
• Los datos desequilibrados generalmente indican que clasificar correctamente una clase (los 1) tiene un
valor más alto, y que la relación de valores debe incorporarse en la métrica de evaluación.
• Para obtener más información sobre SMOTE, consulte Nitesh V. Chawla, Kevin W. Bowyer,
Lawrence O. Hall y W. Philip Kegelmeyer, “SMOTE: Técnica sintética de sobremuestreo de
minorías”, Revista de investigación en inteligencia artificial 16 (2002): 321–357.
• Consulte también el equipo de contenido de Analytics Vidhya “Guía práctica para abordar los
problemas de clasificación desequilibrada en R," 28 de marzo de 2016.
Resumen
La clasificación, el proceso de predecir a cuál de dos o más categorías pertenece un registro, es una
herramienta fundamental del análisis predictivo. ¿Habrá un préstamo en mora (sí o no)? ¿Pagará por
adelantado? ¿Un visitante de la web hará clic en un enlace? ¿Comprarán algo? ¿Es un reclamo de
seguro fraudulento? A menudo, en los problemas de clasificación, una clase es de interés principal (p.
Ej., La reclamación de seguro fraudulenta), y en la clasificación binaria, esta clase se designa como 1,
mientras que la otra clase, más prevalente, es un 0. A menudo, una clave parte del proceso es estimar
unpuntaje de propensión, una probabilidad de pertenecer a la clase de interés. Un escenario común
es aquel en el que la clase de interés es relativamente rara. Al evaluar un clasificador, hay una
variedad de métricas de evaluación de modelos que van más allá de la simple precisión; estos son
importantes en la situación de las clases raras, cuando la clasificación de todos los registros como 0
puede producir una alta precisión.
237
Figura 6-1. Leo Breiman, quien fue profesor de estadística en UC Berkeley, estuvo a la vanguardia del desarrollo
de muchas técnicas en el conjunto de herramientas de un científico de datos en la actualidad.
1. Encuentra K registros que tienen características similares (es decir, valores predictores similares).
1 Esta y las secciones siguientes de este capítulo © 2020 Datastats, LLC, Peter Bruce, Andrew Bruce y Peter
Gedeck; utilizado con permiso.
Vecino
Un registro que tiene valores de predicción similares a otro registro.
Métricas de distancia
Mide que suman en un solo número qué tan lejos está un registro de otro.
Estandarización
Reste la media y divida por la desviación estándar.
Sinónimo
Normalización
puntuación z
K
El número de vecinos considerados en el cálculo del vecino más cercano.
KNN es una de las técnicas de predicción / clasificación más simples: no hay ningún modelo que se
ajuste (como en la regresión). Esto no significa que el uso de KNN sea un procedimiento automático.
Los resultados de la predicción dependen de cómo se escalan las características, cómo se mide la
similitud y qué tan grandeK Está establecido. Además, todos los predictores deben estar en forma
numérica. Ilustraremos cómo utilizar el método KNN con un ejemplo de clasificación.
Tabla 6-1 muestra algunos registros de datos de préstamos personales de LendingClub. LendingClub
es líder en préstamos entre pares en los que grupos de inversores otorgan préstamos personales a
individuos. El objetivo de un análisis sería predecir el resultado de un nuevo préstamo potencial:
cancelado versus incumplimiento.
Tabla 6-1. Algunos registros y columnas para los datos de préstamos de LendingClub
Salir Importe del préstamo Ingresos Propósito Años empleados Propiedad de la vivienda Estado
Tiempo R tiene un nativo knn función, el contribuido R paquete FNN, para vecino más cercano
rápido, escala de forma más eficaz a big data y proporciona más flexibilidad.
knn = KNeighborsClassifier(n_vecinos=20)
knn.encajar(X, y)
knn.predecir(nuevo préstamo)
Figura 6-2 da una representación visual de este ejemplo. El nuevo préstamo que se pronostica es la cruz en el
medio. Los cuadrados (pagados) y los círculos (predeterminados) son los datos de entrenamiento. El círculo
negro grande muestra el límite de los 20 puntos más cercanos. En este caso, dentro del círculo se encuentran
9 préstamos en mora, en comparación con 11 préstamos cancelados. Por lo tanto, se amortiza el resultado
previsto del préstamo. Tenga en cuenta que si consideramos solo a los tres vecinos más cercanos, la
predicción sería que el préstamo incumple.
2 Para este ejemplo, tomamos la primera fila de la préstamo200 conjunto de datos como el nuevo préstamo y excluirlo del conjunto de datos para
entrenamiento.
Si bien la salida de KNN para la clasificación suele ser una decisión binaria,
como el incumplimiento o el pago en los datos del préstamo, las rutinas de
KNN suelen ofrecer la oportunidad de generar una probabilidad (propensión)
entre 0 y 1. La probabilidad se basa en la fracción de una clase en el K vecinos
más cercanos. En el ejemplo anterior, este
Métricas de distancia
La similitud (cercanía) se determina mediante un métrica de distancia, que es una función que
mide qué tan lejos dos registros (X1, X2, …, Xpag) y (tu1, tu2, …, tupag) son el uno del otro.
La métrica de distancia más popular entre dos vectores esDistancia euclidiana. A
2+ 2.
X1 - tu1 X2- tu 2 2 + ⋯ + Xpag
- tu pag
La distancia euclidiana corresponde a la distancia en línea recta entre dos puntos (por ejemplo, en
línea recta). La distancia de Manhattan es la distancia entre dos puntos atravesados en una sola
dirección a la vez (por ejemplo, viajando a lo largo de cuadras rectangulares de la ciudad). Por esta
razón, la distancia de Manhattan es una aproximación útil si la similitud se define como el tiempo de
viaje de un punto a otro.
Al medir la distancia entre dos vectores, las variables (características) que se miden con una
escala comparativamente grande dominarán la medida. Por ejemplo, para los datos de
préstamos, la distancia sería casi exclusivamente una función de las variables de ingresos y
monto del préstamo, que se miden en decenas o cientos de miles. Las variables de razón no
contarían prácticamente nada en comparación. Abordamos este problema estandarizando los
datos; ver“Estandarización (normalización, puntuaciones z)” en la página 243.
Existen muchas otras métricas para medir la distancia entre vectores. Para
datos numéricos,Distancia de Mahalanobis es atractivo ya que da cuenta de la
correlación entre dos variables. Esto es útil ya que si dos variables están
altamente correlacionadas, Mahalanobis esencialmente las tratará como una
sola variable en términos de distancia. La distancia euclidiana y de Manhattan
no tiene en cuenta la correlación, lo que efectivamente otorga mayor peso al
atributo que subyace a esas características. La distancia de Mahalanobis es la
distancia euclidiana entre los componentes principales (ver“Análisis de
componentes principales” en la página 284). La desventaja de usar la distancia
de Mahalanobis es un mayor esfuerzo y complejidad computacional; se calcula
utilizando elMatriz de covarianza (ver “Matriz de covarianza” en la página 202).
Un codificador caliente
Los datos del préstamo en Tabla 6-1 incluye varias variables de factor (cadena). La mayoría de los modelos
estadísticos y de aprendizaje automático requieren que este tipo de variable se convierta en una serie de
variables ficticias binarias que transmiten la misma información, como enTabla 6-2. En lugar de una sola
variable que denote el estado del ocupante de la vivienda como "propietario con una hipoteca",
Tabla 6-2. Representar los datos del factor de propiedad de la vivienda enTabla 6-1 como una variable ficticia numérica
1 0 0 0
1 0 0 0
1 0 0 0
1 0 0 0
0 0 0 1
0 0 0 1
En la medición, a menudo no nos interesa tanto "cuánto" sino "qué tan diferente del
promedio". Estandarización, también llamadanormalización, coloca todas las variables en
escalas similares restando la media y dividiendo por la desviación estándar; De esta
forma, nos aseguramos de que una variable no influya demasiado en un modelo
simplemente por la escala de su medida original:
z=x-X
s
nuevo préstamo
La magnitud de revol_bal, que está en dólares, es mucho mayor que el de las otras
variables. Laknn La función devuelve el índice de los vecinos más cercanos como atributo.
nn.index, y esto se puede utilizar para mostrar las cinco filas más cercanas en préstamo_df:
Siguiendo el ajuste del modelo, podemos usar el vecinos método para identificar las cinco filas más cercanas
en el conjunto de entrenamiento con scikit-learn:
knn = KNeighborsClassifier(n_vecinos=5)
knn.encajar(X, y)
El valor de revol_bal en estos vecinos está muy cerca de su valor en el nuevo registro, pero las otras
variables predictoras están en todo el mapa y esencialmente no juegan ningún papel en la
determinación de los vecinos.
Necesitamos eliminar la primera fila de préstamo_df también, de modo que los números de fila
se correspondan entre sí.
knn = KNeighborsClassifier(n_vecinos=5)
knn.encajar(X_std, y)
nbrs = knn.vecinos(newloan_std)
X.iloc[nbrs[1] [0],:]
Los cinco vecinos más cercanos son mucho más parecidos en todas las variables, proporcionando un
resultado más sensible. Tenga en cuenta que los resultados se muestran en la escala original, pero se aplicó
KNN a los datos escalados y al nuevo préstamo que se predijo.
Elegir K
La elección de K es muy importante para el desempeño de KNN. La elección más sencilla es configurar
K = 1, conocido como clasificador de vecino más cercano. La predicción es intuitiva: se basa en
encontrar el registro de datos en el conjunto de entrenamiento más similar al nuevo registro que se
va a predecir. ConfiguraciónK = 1 rara vez es la mejor opción; casi siempre obtendrá un rendimiento
superior al usarK> 1-vecinos más cercanos.
En general, si K es demasiado bajo, es posible que estemos sobreajustando: incluido el ruido en los
datos. Valores más altos deK proporcionan suavizado que reduce el riesgo de sobreajuste en los
datos de entrenamiento. Por otro lado, siK es demasiado alto, podemos suavizar demasiado los datos
y perder la capacidad de KNN para capturar la estructura local en los datos, una de sus principales
ventajas.
1. KNN se ejecuta sobre los datos y, para cada registro, se deriva una clasificación (o cuasi-
probabilidad de una clase).
2. Ese resultado se agrega como una nueva característica al registro, y luego se ejecuta otro método
de clasificación en los datos. Por tanto, las variables predictoras originales se utilizan dos veces.
Al principio, podría preguntarse si este proceso, dado que usa algunos predictores dos veces,
causa un problema con la multicolinealidad (consulte “Multicolinealidad” en la página 172). Esto
no es un problema, ya que la información que se incorpora al modelo de la segunda etapa es
altamente local, se deriva solo de unos pocos registros cercanos y, por lo tanto, es información
adicional y no redundante.
Puede pensar en este uso por etapas de KNN como una forma de aprendizaje
conjunto, en el que se utilizan múltiples métodos de modelado predictivo
junto con otros. También se puede considerar como una forma de ingeniería
de características en la que el objetivo es derivar características (variables
predictoras) que tienen poder predictivo. A menudo, esto implica una revisión
manual de los datos; KNN ofrece una forma bastante automática de hacer
esto.
De manera similar, para los datos del préstamo, podemos crear características que representen diferentes
aspectos del proceso de préstamo. Por ejemplo, lo siguienteR El código crearía una característica que
representaría la solvencia de un prestatario:
Con scikit-learn, usamos el predecir_proba método del modelo entrenado para obtener las
probabilidades:
X = préstamo_datos[predictores]
y = préstamo_datos[Salir]
knn = KNeighborsClassifier(n_vecinos=20)
knn.encajar(X, y)
El resultado es una característica que predice la probabilidad de que un prestatario incurra en incumplimiento de acuerdo con su historial
crediticio.
• La similitud (distancia) está determinada por la distancia euclidiana u otras métricas relacionadas.
• El número de vecinos más cercanos con los que comparar un registro, K, está determinado por el
rendimiento del algoritmo en los datos de entrenamiento, utilizando diferentes valores para K.
• Normalmente, las variables predictoras están estandarizadas para que las variables de gran escala
no dominen la métrica de distancia.
• KNN se usa a menudo como una primera etapa en el modelado predictivo, y el valor predicho se agrega
nuevamente a los datos como un vaticinador para modelado de segunda etapa (no KNN).
Modelos de árboles
Partición recursiva
Dividir y subdividir repetidamente los datos con el objetivo de hacer que los
resultados en cada subdivisión final sean lo más homogéneos posible.
Valor dividido
Un valor de predictor que divide los registros en aquellos en los que ese predictor es menor que el
valor de división y en aquellos en los que es más.
Nodo
En el árbol de decisión, o en el conjunto de reglas de ramificación correspondientes, un nodo es la
representación gráfica o de reglas de un valor dividido.
3 El término CART es una marca registrada de Salford Systems relacionada con su implementación específica de modelos de árboles.
Pérdida
El número de clasificaciones erróneas en una etapa del proceso de división; cuantas más
pérdidas, más impureza.
Impureza
La medida en que se encuentra una combinación de clases en una subpartición de los datos
(cuanto más mezclada, más impura).
Sinónimo
Heterogeneidad
Antónimos
Homogeneidad, pureza
Poda
El proceso de tomar un árbol completamente desarrollado y cortar progresivamente sus ramas
para reducir el sobreajuste.
Un modelo de árbol es un conjunto de reglas del tipo "si-entonces-si no" que son fáciles de entender e
implementar. A diferencia de la regresión lineal y logística, los árboles tienen la capacidad de descubrir
patrones ocultos correspondientes a interacciones complejas en los datos. Sin embargo, a diferencia de KNN
o Bayes ingenuo, los modelos de árboles simples se pueden expresar en términos de relaciones predictoras
que son fácilmente interpretables.
Un ejemplo simple
Los dos paquetes principales para encajar modelos de árbol en R están rpart y árbol. Utilizando la rpart
paquete, un modelo se ajusta a una muestra de 3000 registros de los datos del préstamo utilizando las variables
Biblioteca(rpart)
préstamo_árbol <- rpart(Salir ~ puntaje_de_prestado + pago_inc_ratio,
datos=préstamo3000, control=rpart.control(cp=0,005))
X = préstamo3000[predictores]
y = préstamo3000[Salir]
El árbol resultante se muestra en Figura 6-3. Debido a las diferentes implementaciones, encontrará
que los resultados deR y Pitón no son idénticos; esto se espera. Estas reglas de clasificación se
determinan atravesando un árbol jerárquico, comenzando en la raíz y moviéndose hacia la izquierda
si el nodo es verdadero y hacia la derecha si no, hasta que se alcanza una hoja.
Por lo general, el árbol se traza al revés, por lo que la raíz está en la parte superior y las hojas en la
parte inferior. Por ejemplo, si obtenemos un préstamo conpuntaje_de_prestado de 0,6 y una
pago_inc_ratio de 8.0, terminamos en la hoja más a la izquierda y predecimos que el préstamo se
pagará.
Figura 6-3. Las reglas para un modelo de árbol simple se ajustan a los datos del préstamo
préstamo_árbol
norte= 3000
La profundidad del árbol se muestra con la sangría. Cada nodo corresponde a una clasificación
provisional determinada por el resultado predominante en esa partición. La "pérdida" es el
número de clasificaciones erróneas producidas por la clasificación provisional en una partición.
Por ejemplo, en el nodo 2, hubo 261 clasificaciones erróneas de un total de 878 registros. Los
valores entre paréntesis corresponden a la proporción de registros cancelados o en mora,
respectivamente. Por ejemplo, en el nodo 13, que predice el incumplimiento, más del 60 por
ciento de los registros son préstamos que están en incumplimiento.
impresión(textDecisionTree(préstamo_árbol))
--
nodo=0 nodo de prueba: ir al nodo 1 Si 0 <= 0.5750000178813934 demás al nodo 6
nodo=1 nodo de prueba: ir al nodo 2 Si 0 <= 0,32500000298023224 demás al nodo 3
nodo=2 nodo hoja: [[0,785, 0,215]]
nodo=3 nodo de prueba: ir al nodo 4 Si 1 <= 10.42264986038208 demás al nodo 5
nodo=4 nodo hoja: [[0,488, 0.512]]
nodo=5 nodo hoja: [[0,613, 0.387]]
nodo=6 nodo de prueba: ir al nodo 7 Si 1 <= 9.19082498550415 demás al nodo 10
nodo=7 nodo de prueba: ir al nodo 8 Si 0 <= 0,7249999940395355 demás al nodo 9
nodo=8 nodo hoja: [[0,247, 0,753]]
nodo=9 nodo hoja: [[0.073, 0,927]]
nodo=10 nodo hoja: [[0,457, 0.543]]
Figura 6-4. Las primeras tres reglas para un modelo de árbol simple se ajustan a los datos del préstamo
Supongamos que tenemos una variable de respuesta Y y un conjunto de PAG variables predictoras Xj por
j = 1,⋯, pag. Para una partición A de registros, la partición recursiva encontrará la mejor manera
particionar A en dos subparticiones:
I. Divide los registros enA con Xj valores < sj como una partición, y los registros
restantes donde Xj ≥ sj como otra partición.
ii. Medir la homogeneidad de clases dentro de cada subpartición deUNA.
B. Seleccione el valor desj que produce la máxima homogeneidad de clase dentro de la partición.
El resultado final es una partición de los datos, como en Figura 6-4, excepto en PAG-
dimensiones, con cada partición prediciendo un resultado de 0 o 1 dependiendo del voto
mayoritario de la respuesta en esa partición.
Resulta que la precisión no es una buena medida de impureza. En cambio, dos medidas
comunes para la impureza son laImpureza de gini y entropía de información. Si bien estas (y
otras) medidas de impurezas se aplican a problemas de clasificación con más de dos clases, nos
centramos en el caso binario. La impureza de Gini para un conjunto de registrosA es:
IA = p 1 - pag
Coeficiente GINI
Necesitamos alguna forma de determinar cuándo dejar de cultivar un árbol en una etapa que
se generalizará a nuevos datos. Hay varias formas de dejar de dividirseR y Pitón:
• Evite dividir una partición si una subpartición resultante es demasiado pequeña o si una hoja de terminal
es demasiado pequeña. EnrpartR), estas restricciones son controladas por separado por los parámetros
minplit y minbucket, respectivamente, con valores predeterminados de 20 y 7. En
Estos métodos involucran reglas arbitrarias y pueden ser útiles para el trabajo exploratorio, pero no
podemos determinar fácilmente los valores óptimos (es decir, valores que maximicen la precisión
predictiva con nuevos datos). Necesitamos combinar la validación cruzada con el cambio sistemático
de los parámetros del modelo o la modificación del árbol mediante la poda.
Con el parámetro de complejidad, cp, podemos estimar qué tamaño de árbol funcionará mejor con nuevos
datos. Sicp es demasiado pequeño, entonces el árbol se ajustará a los datos, ajustando el ruido y no la señal.
Por otro lado, sicp es demasiado grande, entonces el árbol será demasiado pequeño y tendrá poco poder
predictivo. El predeterminado enrpart es 0.01, aunque para conjuntos de datos más grandes, es probable que
encuentre que es demasiado grande. En el ejemplo anterior,cp estaba configurado para 0,005
ya que el valor predeterminado condujo a un árbol con una sola división. En el análisis exploratorio, basta
con probar algunos valores.
7. Regrese a los datos originales, o datos futuros, y haga crecer un árbol, deteniéndose en este
óptimo cp valor.
En rpart, puedes usar el argumento cptable para producir una mesa del cp valores y su
error de validación cruzada asociado (xerror en R), a partir del cual puede determinar el cp
valor que tiene el error de validación cruzada más bajo.
validación cruzada. A continuación, se selecciona un conjunto de parámetros óptimo utilizando el rendimiento del
modelo con validación cruzada.
Uno de los grandes obstáculos que enfrentan los modeladores predictivos en las organizaciones es la
naturaleza percibida de “caja negra” de los métodos que utilizan, lo que genera oposición por parte
de otros elementos de la organización. En este sentido, el modelo de árbol tiene dos aspectos
atractivos:
• Los modelos de árbol proporcionan una herramienta visual para explorar los datos, para tener
una idea de qué variables son importantes y cómo se relacionan entre sí. Los árboles pueden
capturar relaciones no lineales entre variables predictoras.
• Los modelos de árbol proporcionan un conjunto de reglas que se pueden comunicar de manera eficaz a los no
especialistas, ya sea para su implementación o para "vender" un proyecto de minería de datos.
Sin embargo, en lo que respecta a la predicción, aprovechar los resultados de varios árboles
suele ser más eficaz que utilizar un solo árbol. En particular, los algoritmos de bosque aleatorio
y árbol impulsado casi siempre proporcionan una precisión y un rendimiento predictivos
superiores (consulte“Embolsado y el bosque aleatorio” en la página 259 y "Impulso" en la
página 270), pero se pierden las ventajas antes mencionadas de un solo árbol.
Ideas claves
• Los árboles de decisión producen un conjunto de reglas para clasificar o predecir un resultado.
• Cada partición, o división, hace referencia a un valor específico de una variable de predicción y divide los
datos en registros donde ese valor de predicción está por encima o por debajo de ese valor de división.
• En cada etapa, el algoritmo de árbol elige la división que minimiza la impureza del resultado
dentro de cada subpartición.
• Cuando no se pueden hacer más divisiones, el árbol está completamente desarrollado y cada nodo
terminal, u hoja, tiene registros de una sola clase; a los nuevos casos que sigan esa ruta de regla
(dividida) se les asignará esa clase.
• Un árbol completamente desarrollado se adapta a los datos y debe podarse para que capture la
señal y no el ruido.
• Los algoritmos de árboles múltiples, como los bosques aleatorios y los árboles potenciados, producen un
mejor rendimiento predictivo, pero pierden el poder comunicativo basado en reglas de los árboles
individuales.
Conjunto
Formar una predicción mediante el uso de una colección de modelos.
Sinónimo
Promedio del modelo
Harpillera
Una técnica general para formar una colección de modelos mediante el arranque de los datos.
Sinónimo
Agregación de Bootstrap
Bosque aleatorio
Un tipo de estimación empaquetada basada en modelos de árbol de decisión.
Sinónimo
Árboles de decisión empaquetados
Importancia variable
Una medida de la importancia de una variable predictora en el desempeño del
modelo.
1. Desarrolle un modelo predictivo y registre las predicciones para un conjunto de datos dado.
3. Para cada registro que se va a predecir, tome un promedio (o un promedio ponderado o un voto
mayoritario) de las predicciones.
Los métodos de conjunto se han aplicado de forma más sistemática y eficaz a los árboles de decisión. Los
modelos de árbol de conjuntos son tan poderosos que proporcionan una forma de construir buenos
modelos predictivos con relativamente poco esfuerzo.
Más allá del simple algoritmo de conjuntos, existen dos variantes principales de modelos de
conjuntos: harpillera y impulsar. En el caso de los modelos de árbol de conjuntos, estos se denominan
bosque aleatorio modelos y árbol potenciado modelos. Esta sección se centra en el ensacado; el
impulso está cubierto en"Impulso" en la página 270.
Harpillera
El ensacado, que significa "agregación bootstrap", fue introducido por Leo Breiman en
1994. Supongamos que tenemos una respuesta Y y PAG variables predictoras = X1, X2,⋯, XPAG con
norte registros.
El ensacado es como el algoritmo básico para conjuntos, excepto que, en lugar de ajustar los distintos
modelos a los mismos datos, cada nuevo modelo se ajusta a un remuestreo de arranque. Aquí está el
algoritmo presentado de manera más formal:
3. Entrene un modelo usando Ymetro y metro para crear un conjunto de reglas de decisión F metro .
En el caso donde F metro predice la probabilidad Y = 1, la estimación en bolsas viene dada por:
f=1
M f 1 + F 2 + ⋯ + F METRO
La bosque aleatorio se basa en aplicar el ensacado a los árboles de decisión, con una extensión
importante: además de muestrear los registros, el algoritmo también muestrea las variables.4
En árboles de decisión tradicionales, para determinar cómo crear una subpartición de una
partición A, el algoritmo hace la elección de la variable y el punto de división minimizando un
criterio como la impureza de Gini (ver “Medición de la homogeneidad o la impureza” en la
página 254). Con bosques aleatorios, en cada etapa del algoritmo, la elección de la variable se
limita a unsubconjunto aleatorio de variables. Comparado con el algoritmo de árbol básico (ver
“El algoritmo de particionamiento recursivo” en la página 252), el algoritmo de bosque aleatorio
agrega dos pasos más: el ensacado discutido anteriormente (ver “Embolsado y el bosque
aleatorio” en la página 259), y el muestreo bootstrap de variables en cada división:
I. Dividir los registros en particiónA, con Xj (k) < sj (k) como una partición y los
registros restantes donde Xjk ≥ sjk como otra partición.
4. Seleccione la variable Xjk y el valor dividido sjk que produce la máxima homogeneidad de
clase dentro de la partición.
5. Continúe con la siguiente división y repita los pasos anteriores, comenzando con el paso 2.
6. Continúe con divisiones adicionales, siguiendo el mismo procedimiento hasta que el árbol
crezca.
¿Cuántas variables muestrear en cada paso? Una regla general es elegirPAG dónde PAG
es el número de variables predictoras. El paqueterandomForest implementa el bosque aleatorio
en R. Lo siguiente aplica este paquete a los datos del préstamo (ver “K-Vecinos más cercanos”
en la página 238 para una descripción de los datos):
4 El término bosque aleatorio es una marca comercial de Leo Breiman y Adele Cutler con licencia de Salford Systems. No existe un
nombre estándar que no sea una marca comercial, y el término bosque aleatorio es tan sinónimo del algoritmo como Kleenex lo es
de los pañuelos faciales.
Llamada:
X = préstamo3000[predictores]
y = préstamo3000[Salir]
De forma predeterminada, se entrenan 500 árboles. Dado que solo hay dos variables en el conjunto de
predictores, el algoritmo selecciona aleatoriamente la variable en la que dividir en cada etapa (es decir, una
submuestra de arranque de tamaño 1).
La fuera de la bolsa (OOB) La estimación del error es la tasa de error de los modelos entrenados,
aplicada a los datos que quedan fuera del conjunto de entrenamiento para ese árbol. Usando la salida
del modelo, el error OOB se puede trazar contra el número de árboles en el bosque aleatorio enR:
El resultado se muestra en Figura 6-6. La tasa de error disminuye rápidamente desde más de 0,44
antes de estabilizarse alrededor de 0,385. Los valores predichos se pueden obtener de lapredecir
función y trazada de la siguiente manera en R:
predicciones = X.Copiar()
predicciones['predicción'] = rf.predecir(X)
predicciones.cabeza()
predicciones.loc[predicciones.predicción=='pagado'].gráfico(
X='puntaje_de_prestado', y='pago_inc_ratio', estilo='.',
marcador de color='ninguno', markeredgecolor='C1', hacha=hacha)
predicciones.loc[predicciones.predicción=='defecto'].gráfico(
X='puntaje_de_prestado', y='pago_inc_ratio', estilo='o',
marcador de color='ninguno', markeredgecolor='C0', hacha=hacha)
hacha.leyenda(['pagado', 'defecto']);
hacha.set_xlim(0, 1)
hacha.set_ylim(0, 25)
hacha.set_xlabel('puntaje_de_prestado')
hacha.set_ylabel('pago_inc_ratio')
La trama, que se muestra en Figura 6-7, es bastante revelador sobre la naturaleza del bosque
aleatorio.
El método del bosque aleatorio es un método de "caja negra". Produce predicciones más precisas que
un árbol simple, pero se pierden las reglas de decisión intuitivas del árbol simple. Las predicciones
forestales aleatorias también son algo ruidosas: tenga en cuenta que algunos prestatarios con una
puntuación muy alta, lo que indica una alta calidad crediticia, aún terminan con una predicción de
incumplimiento. Esto es el resultado de algunos registros inusuales en los datos y demuestra el
peligro de sobreajuste por el bosque aleatorio (ver“Compensación entre sesgo y varianza” en la
página 247).
Importancia variable
El poder del algoritmo de bosque aleatorio se muestra cuando crea modelos predictivos para
datos con muchas características y registros. Tiene la capacidad de determinar
automáticamente qué predictores son importantes y descubrir relaciones complejas entre
predictores correspondientes a términos de interacción (ver"Interacciones y efectos
principales" en la página 174). Por ejemplo, ajuste un modelo a los datos predeterminados del
préstamo con todas las columnas incluidas. Lo siguiente muestra esto enR:
Y en Pitón:
predictores = ['préstamo_amnt', 'término', 'anual_inc', 'dti', 'pago_inc_ratio',
'revol_bal', 'revol_util', 'propósito', 'delinq_2yrs_zero',
'pub_rec_zero', 'open_acc', 'calificación', 'emp_length', 'propósito_',
'casa_', 'emp_len_', 'puntaje_de_prestado']
Salir = 'Salir'
X = pd.get_dummies(préstamo_datos[predictores], drop_first=Cierto)
y = préstamo_datos[Salir]
varImpPlot(rf_all, tipo=1)
varImpPlot(rf_all, tipo=2)
importancias = rf_all.feature_importances_
rf = RandomForestClassifier(n_estimators=500)
puntuaciones = defaultdict(lista)
# validar de forma cruzada las puntuaciones en una serie de diferentes divisiones aleatorias de los datos
por _ en distancia(3):
train_X, valid_X, train_y, válido_y = train_test_split(X, y, test_size=0,3)
rf.encajar(train_X, train_y)
acc = métrica.puntuación_de_precisión(válido_y, rf.predecir(valid_X))
por columna en X.columnas:
X_t = valid_X.Copiar()
X_t[columna] = notario público.aleatorio.permutación(X_t[columna].valores)
El resultado se muestra en Figura 6-8. Se puede crear un gráfico similar con estePitón
código:
df = pd.Marco de datos({
'característica': X.columnas,
'Disminución de la precisión': [notario público.significar(puntuaciones[columna]) por columna en X.columnas],
'Disminución de Gini': rf_all.feature_importances_,
})
df = df.sort_values('Disminución de la precisión')
• Por la disminución de la precisión del modelo si los valores de una variable se permutan
aleatoriamente (tipo = 1). La permutación aleatoria de los valores tiene el efecto de eliminar todo
el poder predictivo de esa variable. La precisión se calcula a partir de los datos fuera de la bolsa
(por lo que esta medida es efectivamente una estimación con validación cruzada).
Dado que la disminución de la precisión es una métrica más confiable, ¿por qué deberíamos usar la
medida de disminución de impurezas de Gini? Por defecto,randomForest calcula solo esta impureza de
Gini: la impureza de Gini es un subproducto del algoritmo, mientras que la precisión del modelo por
variable requiere cálculos adicionales (permutar aleatoriamente los datos y predecir estos datos). En
los casos en que la complejidad computacional es importante, como en un entorno de producción
donde se ajustan miles de modelos, puede que no valga la pena el esfuerzo computacional adicional.
Además, la disminución de Gini arroja luz sobre qué variables está usando el bosque aleatorio para
hacer sus reglas de división (recuerde que esta información, fácilmente visible en un árbol simple, se
pierde efectivamente en un bosque aleatorio).
Hiperparámetros
El bosque aleatorio, como ocurre con muchos algoritmos estadísticos de aprendizaje automático, se
puede considerar un algoritmo de caja negra con perillas para ajustar cómo funciona la caja. Estas
perillas se llamanhiperparámetros, cuáles son los parámetros que debe establecer antes de ajustar
un modelo; no están optimizados como parte del proceso de formación. Si bien los modelos
estadísticos tradicionales requieren opciones (por ejemplo, la elección de predictores para usar en un
modelo de regresión), los hiperparámetros para el bosque aleatorio son más críticos, especialmente
para evitar el sobreajuste. En particular, los dos hiperparámetros más importantes para el bosque
aleatorio son:
nodeize / min_samples_leaf
El tamaño mínimo de los nodos terminales (hojas en el árbol). El valor predeterminado es 1
para clasificación y 5 para regresión enR. La scikit-learn implementación en
Pitón utiliza un valor predeterminado de 1 para ambos.
maxnodes / max_leaf_nodes
El número máximo de nodos en cada árbol de decisión. Por defecto, no hay límite y el
árbol más grande se ajustará sujeto a las restricciones detamaño del nodo. Tenga en cuenta
que en Pitón, usted especifica el número máximo de nodos terminales. Los dos
parámetros están relacionados:
Puede resultar tentador ignorar estos parámetros y simplemente utilizar los valores predeterminados. Sin
embargo, el uso de los valores predeterminados puede provocar un sobreajuste cuando aplica el bosque
aleatorio a datos ruidosos. Cuando aumentasnodeize / min_samples_leaf o establecer maxnodes /
max_leaf_nodes, el algoritmo se ajustará a árboles más pequeños y es menos probable que cree
Ideas claves
• Los modelos de conjunto mejoran la precisión del modelo al combinar los resultados de muchos
modelos.
• El ensacado es un tipo particular de modelo de conjunto que se basa en ajustar muchos modelos a
muestras de arranque de los datos y promediar los modelos.
• El bosque aleatorio es un tipo especial de ensacado que se aplica a los árboles de decisión. Además
de volver a muestrear los datos, el algoritmo de bosque aleatorio toma muestras de las variables
predictoras al dividir los árboles.
• Un resultado útil del bosque aleatorio es una medida de importancia variable que clasifica a
los predictores en términos de su contribución a la precisión del modelo.
• El bosque aleatorio tiene un conjunto de hiperparámetros que deben ajustarse mediante validación
cruzada para evitar el sobreajuste.
Impulsando
Los modelos de conjuntos se han convertido en una herramienta estándar para el modelado
predictivo. Impulsando es una técnica general para crear un conjunto de modelos. Fue desarrollado
casi al mismo tiempo queembolsarver “Embolsado y el bosque aleatorio” en la página 259). Al igual
que el ensacado, el impulso se usa más comúnmente con árboles de decisión. A pesar de sus
similitudes, el impulso toma un enfoque muy diferente, uno que viene con muchas más campanas y
susurros. Como resultado, mientras que el ensacado se puede hacer con relativamente poco ajuste, el
refuerzo requiere mucho más cuidado en su aplicación. Si estos dos métodos fueran automóviles, el
ensacado podría considerarse un Honda Accord (confiable y estable), mientras que el impulso podría
considerarse un Porsche (poderoso pero requiere más cuidado).
En los modelos de regresión lineal, los residuos a menudo se examinan para ver si se puede mejorar
el ajuste (ver “Gráficos de residuos parciales y no linealidad” en la página 185). Boosting lleva este
concepto mucho más allá y se ajusta a una serie de modelos, en los que cada modelo sucesivo busca
minimizar el error del modelo anterior. Se utilizan habitualmente varias variantes del algoritmo:
Adaboost, aumento de gradiente, y aumento de gradiente estocástico. Este último, el aumento de
gradiente estocástico, es el más general y más utilizado. De hecho, con la elección correcta de
parámetros, el algoritmo puede emular el bosque aleatorio.
Conjunto
Formar una predicción mediante el uso de una colección de modelos.
Sinónimo
Promedio del modelo
Impulsando
Una técnica general para ajustar una secuencia de modelos dando más peso a los
registros con grandes residuos para cada ronda sucesiva.
Adaboost
Una versión inicial de impulso que vuelve a ponderar los datos en función de los residuos.
Aumento de gradiente
Una forma más general de impulso que se proyecta en términos de minimizar una función
de costo.
Regularización
Una técnica para evitar el sobreajuste al agregar un término de penalización a la función de costo
en el número de parámetros en el modelo.
Hiperparámetros
Parámetros que deben establecerse antes de ajustar el algoritmo.
El algoritmo de impulso
Hay varios algoritmos de impulso, y la idea básica detrás de todos ellos es esencialmente la
misma. El más fácil de entender es Adaboost, que procede de la siguiente manera:
2. Usando los pesos de observación w1, w2, ..., wNORTE, entrenar a un modelo F metro que minimiza el
error ponderado mimetro definido sumando los pesos de las observaciones mal
clasificadas.
registro 1 - em
Impulso | 271
4. Actualiza los pesos w1, w2, ..., wnorte de modo que se aumenten los pesos para las observaciones
que se clasificaron erróneamente. El tamaño del aumento depende deαmetro, con valores
mayores de αmetro lo que lleva a pesos más grandes.
F = α1 F 1 + α2 F 2 +⋯ + αMETRO F METRO
El aumento de gradiente es similar a Adaboost pero presenta el problema como una optimización de una
función de costo. En lugar de ajustar los pesos, el aumento de gradiente ajusta los modelos a un
pseudo-residual, lo que tiene el efecto de entrenar más intensamente en los residuos más
grandes. En el espíritu del bosque aleatorio, el aumento de gradiente estocástico agrega
aleatoriedad al algoritmo al muestrear observaciones y variables predictoras en cada etapa.
XGBoost
El software de dominio público más utilizado para impulsar es XGBoost, una implementación de
impulso de gradiente estocástico desarrollado originalmente por Tianqi Chen y Carlos Guestrin en la
Universidad de Washington. Una implementación computacionalmente eficiente con muchas
opciones, está disponible como un paquete para la mayoría de los principales lenguajes de software
de ciencia de datos. EnR, XGBoost está disponible como el paquete xgboost y con el mismo nombre
también para Pitón.
El método xgboost tiene muchos parámetros que pueden y deben ajustarse (ver
“Hiperparámetros y validación cruzada” en la página 279). Dos parámetros muy importantes son
submuestra, que controla la fracción de observaciones que deben ser muestreadas
en cada iteración, y eta, un factor de contracción aplicado a αmetro en el algoritmo de
impulso (ver “El algoritmo de impulso” en la página 271). Utilizandosubmuestra hace
El impulso actúa como el bosque aleatorio, excepto que el muestreo se realiza sin reemplazo. El
parámetro de contraccióneta es útil para evitar el sobreajuste al reducir el cambio en los pesos (un
cambio más pequeño en los pesos significa que es menos probable que el algoritmo se sobreajuste al
conjunto de entrenamiento). Se aplica lo siguientexgboost en R a los datos del préstamo con solo dos
variables predictoras:
Tenga en cuenta que xgboost no admite la sintaxis de la fórmula, por lo que los predictores
deben convertirse a un matriz de datos y la respuesta debe convertirse a variables 0/1. La
objetivo el argumento dice xgboost qué tipo de problema es este; basado en esto,
xgboost elegirá una métrica para optimizar.
En Pitón, xgboost tiene dos interfaces diferentes: a scikit-learn API y una interfaz más
funcional como en R. Para ser coherente con otros scikit-learn métodos, algunos
parámetros fueron renombrados. Por ejemplo,eta se renombra a tasa de aprendizaje;
utilizando eta no fallará, pero no tendrá el efecto deseado:
X = préstamo3000[predictores]
y = préstamo3000[Salir]
Los valores predichos se pueden obtener de la predecir funcionar en R y, dado que solo
hay dos variables, graficadas frente a los predictores:
xgb_df.loc[xgb_df.predicción=='pagado'].gráfico(
X='puntaje_de_prestado', y='pago_inc_ratio', estilo='.',
marcador de color='ninguno', markeredgecolor='C1', hacha=hacha)
Impulso | 273
xgb_df.loc[xgb_df.predicción=='defecto'].gráfico(
X='puntaje_de_prestado', y='pago_inc_ratio', estilo='o',
marcador de color='ninguno', markeredgecolor='C0', hacha=hacha)
hacha.leyenda(['pagado', 'defecto']);
hacha.set_xlim(0, 1)
hacha.set_ylim(0, 25)
hacha.set_xlabel('puntaje_de_prestado')
hacha.set_ylabel('pago_inc_ratio')
El resultado se muestra en Figura 6-9. Cualitativamente, esto es similar a las predicciones del bosque
aleatorio; verFigura 6-7. Las predicciones son algo ruidosas en el sentido de que algunos prestatarios
con un puntaje de prestatario muy alto aún terminan con una predicción de incumplimiento.
Figura 6-9. Los resultados previstos de XGBoost aplicados a los datos de incumplimiento del préstamo
• Las predicciones del modelo son muy variables, lo que genera resultados inestables.
Sin embargo, este no es el caso de xgboost. Encajar xgboost a los datos de préstamo de un conjunto de
formación con todas las variables incluidas en el modelo. EnR, puede hacer esto de la siguiente manera:
[1] 0.3529
Usamos la función train_test_split en Pitón para dividir el conjunto de datos en conjuntos de entrenamiento y
de prueba:
X = pd.get_dummies(préstamo_datos[predictores], drop_first=Cierto)
y = pd.Serie([1 Si o == 'defecto' demás 0 por o en préstamo_datos[Salir]])
Impulso | 275
error_default = abdominales(válido_y - pred_default) > 0,5
impresión('defecto: ', notario público.significar(error_default))
El conjunto de prueba consta de 10.000 registros muestreados aleatoriamente a partir de los datos completos, y el
conjunto de entrenamiento consta de los registros restantes. El impulso conduce a una tasa de error de solo
13,3% para el conjunto de formación. El conjunto de prueba, sin embargo, tiene una tasa de error mucho mayor de
35,3%. Esto es el resultado del sobreajuste: aunque el impulso puede explicar muy bien la variabilidad en el conjunto
de entrenamiento, las reglas de predicción no se aplican a los datos nuevos.
El impulso proporciona varios parámetros para evitar el sobreajuste, incluidos los parámetros
etao tasa de aprendizaje) y submuestraver “XGBoost” en la página 272). Otro enfoque
esregularización, una técnica que modifica la función de costos con el fin de
penalizar la complejidad del modelo. Los árboles de decisión se ajustan minimizando los criterios de
costo como la puntuación de impureza de Gini (ver“Medición de la homogeneidad o la impureza” en la
página 254). Enxgboost, es posible modificar la función de costo agregando un término que mida la
complejidad del modelo.
[1] 0.3286
Ahora, el error de entrenamiento es solo un poco más bajo que el error en el conjunto de prueba.
Podemos usar el pandas método de trazado para crear el gráfico lineal. El eje devuelto por el primer
gráfico nos permite superponer líneas adicionales en el mismo gráfico. Este es un patrón que muchos
dePitónLos paquetes de gráficos admiten:
Impulso | 277
El resultado, mostrado en Figura 6-10, muestra cómo el modelo predeterminado mejora constantemente la
precisión del conjunto de entrenamiento, pero en realidad empeora para el conjunto de prueba. El modelo
penalizado no presenta este comportamiento.
Figura 6-10. La tasa de error del XGBoost predeterminado frente a una versión penalizada de XGBoost
norte
2 2 2
∑ YI - B0 - B1XI -⋯bX pag+ λ b1 +⋯ + B pag
yo = 1
El valor de λ determina cuánto se penalizan los coeficientes; los valores más grandes producen modelos que
tienen menos probabilidades de sobreajustarse a los datos. LaLazo es similar, excepto que utiliza la distancia de
Manhattan en lugar de la distancia euclidiana como término de penalización:
norte
2
∑ YI - B0 - B1XI -⋯bX p+α b1 +⋯ + B pag
yo = 1
Para ilustrar la técnica, la aplicamos a la selección de parámetros para xgboost. En este ejemplo, exploramos
dos parámetros: el parámetro de contracción eta (tasa_aprendizaje- ver “XGBoost” en la página 272) y la
profundidad máxima de los árboles máxima profundidad. El parámetro máxima profundidad es la profundidad
máxima de un nodo de hoja a la raíz del árbol con un valor predeterminado de seis. Esto nos brinda otra
forma de controlar el sobreajuste: los árboles profundos tienden a ser más complejos y pueden sobreajustar
los datos. Primero configuramos los pliegues y la lista de parámetros. EnR, esto se hace de la siguiente
manera:
Ahora aplicamos el algoritmo anterior para calcular el error para cada modelo y cada pliegue usando
cinco pliegues:
Impulso | 279
}
}
cv_error = []
por k en distancia(5):
fold_idx = idx == k train_X = X.loc[~fold_idx]; train_y = y[~
fold_idx]
valid_X = X.loc[fold_idx]; válido_y = y[fold_idx]
xgb.encajar(train_X, train_y)
pred = xgb.predecir_proba(valid_X) [:, 1]
cv_error.adjuntar(notario público.significar(abdominales(válido_y - pred) > 0,5))
error.adjuntar({
'eta': eta,
'máxima profundidad': máxima profundidad,
Usamos la función itertools.product desde el Pitón biblioteca estándar para crear todas
las combinaciones posibles de los dos hiperparámetros.
Dado que estamos instalando 45 modelos en total, esto puede llevar un tiempo. Los errores se almacenan
como una matriz con los modelos a lo largo de las filas y los pliegues a lo largo de las columnas. Usar la
funciónrowMeans, podemos comparar la tasa de error para los diferentes conjuntos de parámetros:
Cross-validation suggests that using shallower trees with a smaller value of eta/learn
ing_rate yields more accurate results. Since these models are also more stable, the
best parameters to use are eta=0.1 and max_depth=3 (or possibly max_depth=6).
eta/learning_rate
The shrinkage factor between 0 and 1 applied to α in the boosting algorithm. The
default is 0.3, but for noisy data, smaller values are recommended (e.g., 0.1). In
Python, the default value is 0.1.
nrounds/n_estimators
The number of boosting rounds. If eta is set to a small value, it is important to increase
the number of rounds since the algorithm learns more slowly. As long as some
parameters are included to prevent overfitting, having more rounds doesn’t hurt.
max_depth
The maximum depth of the tree (the default is 6). In contrast to the random for‐ est,
which fits very deep trees, boosting usually fits shallow trees. This has the advantage
of avoiding spurious complex interactions in the model that can arise from noisy data.
In Python, the default is 3.
Boosting | 281
Key Ideas
• Stochastic gradient boosting is the most general type of boosting and offers the best
performance. The most common form of stochastic gradient boosting uses tree
models.
• XGBoost is a popular and computationally efficient software package for stochas‐ tic
gradient boosting; it is available in all common languages used in data science.
Summary
This chapter has described two classification and prediction methods that “learn” flexibly
and locally from data, rather than starting with a structural model (e.g., a lin‐ ear
regression) that is fit to the entire data set. K-Nearest Neighbors is a simple pro‐ cess that
looks around at similar records and assigns their majority class (or average value) to the
record being predicted. Trying various cutoff (split) values of predictor variables, tree
models iteratively divide the data into sections and subsections that are increasingly
homogeneous with respect to class. The most effective split values form a path, and also a
“rule,” to a classification or prediction. Tree models are a very power‐ ful and popular
predictive tool, often outperforming other methods. They have given rise to various
ensemble methods (random forests, boosting, bagging) that sharpen the predictive
power of trees.
El termino aprendizaje sin supervisión se refiere a métodos estadísticos que extraen significado de los
datos sin entrenar un modelo en datos etiquetados (datos donde se conoce un resultado de interés).
En capítulos4 a 6, el objetivo es construir un modelo (conjunto de reglas) para predecir una variable
de respuesta a partir de un conjunto de variables predictoras. Este es el aprendizaje supervisado. Por
el contrario, el aprendizaje no supervisado también construye un modelo de los datos, pero no
distingue entre una variable de respuesta y variables predictoras.
El aprendizaje no supervisado se puede utilizar para lograr diferentes objetivos. En algunos casos, se
puede utilizar para crear una regla predictiva en ausencia de una respuesta etiquetada.Agrupación Se
pueden utilizar métodos para identificar grupos de datos significativos. Por ejemplo, utilizando los
clics web y los datos demográficos de un usuario en un sitio web, es posible que podamos agrupar
diferentes tipos de usuarios. Luego, el sitio web podría personalizarse para estos diferentes tipos.
En otros casos, el objetivo puede ser reducir la dimensión de los datos a un conjunto de
variables más manejable. Este conjunto reducido podría luego usarse como entrada en un
modelo predictivo, como regresión o clasificación. Por ejemplo, podemos tener miles de
sensores para monitorear un proceso industrial. Al reducir los datos a un conjunto más
pequeño de características, es posible que podamos construir un modelo más poderoso e
interpretable para predecir fallas en el proceso que el que se podría construir al incluir flujos de
datos de miles de sensores.
Finalmente, el aprendizaje no supervisado puede verse como una extensión del análisis de
datos exploratorios (ver Capítulo 1) a situaciones en las que se enfrenta a una gran cantidad de
variables y registros. El objetivo es obtener información sobre un conjunto de datos y cómo las
diferentes variables se relacionan entre sí. Las técnicas sin supervisión le permiten examinar y
analizar estas variables y descubrir relaciones.
283
Aprendizaje y predicción no supervisados
1 Esta y las secciones siguientes de este capítulo © 2020 Datastats, LLC, Peter Bruce, Andrew Bruce y Peter
Gedeck; utilizado con permiso.
Componente principal
Una combinación lineal de las variables predictoras.
Cargas
Los pesos que transforman los predictores en componentes.
Sinónimo
Pesos
Gráfico de sedimentación
Una gráfica de las varianzas de los componentes, que muestra la importancia relativa de los
componentes, ya sea como varianza explicada o como proporción de varianza explicada.
La idea en PCA es combinar múltiples variables predictoras numéricas en un conjunto más pequeño de
variables, que son combinaciones lineales ponderadas del conjunto original. El conjunto más pequeño de
variables, elcomponentes principales, “Explica” la mayor parte de la variabilidad del conjunto completo de
variables, reduciendo la dimensión de los datos. Las ponderaciones utilizadas para formar los componentes
principales revelan las contribuciones relativas de las variables originales a los nuevos componentes
principales.
PCA fue el primero propuesto por Karl Pearson. En lo que quizás fue el primer artículo sobre
aprendizaje no supervisado, Pearson reconoció que en muchos problemas hay variabilidad en
las variables predictoras, por lo que desarrolló el PCA como una técnica para modelar esta
variabilidad. El PCA puede verse como la versión no supervisada del análisis discriminante
lineal; ver“Análisis discriminante” en la página 201.
Un ejemplo simple
Para dos variables, X1 y X2, hay dos componentes principales ZI (yo = 1 o 2):
Los pesos wI, 1, wI, 2 se conocen como el componente cargas. Estos transforman el
variables originales en los componentes principales. El primer componente principal,Z1,
es la combinación lineal que mejor explica la variación total. El segundo director
componente, Z2, es ortogonal al primero y explica la mayor parte posible de la
variación restante. (Si hubiera componentes adicionales, cada uno adicional sería
ortogonal a los demás.)
Cargas:
Comp.1 Comp.2
CVX -0,747 0,665
XOM -0,665 -0,747
Comp.1 Comp.2
Cargas SS 1.0 1.0
Proporción Var 0,5 0,5
Var acumulada 0,5 1,0
piezas = PCA(n_componentes=2)
piezas.encajar(oil_px)
cargas = pd.Marco de datos(piezas.componentes_, columnas=oil_px.columnas)
cargas
Las ponderaciones de CVX y XOM para el primer componente principal son –0,747 y
- 0,665, y para el segundo componente principal son 0,665 y –0,747. ¿Cómo interpretar
esto? El primer componente principal es esencialmente un promedio de CVX y XOM, lo
que refleja la correlación entre las dos empresas de energía. El segundo componente
principal mide cuando los precios de las acciones de CVX y XOM divergen.
Es instructivo graficar los componentes principales con los datos. Aquí creamos una
visualización enR:
Figura 7-1. Los componentes principales de la rentabilidad de las acciones de Chevron (CVX) y
ExxonMobil (XOM)
Las líneas discontinuas muestran la dirección de los dos componentes principales: el primero está a lo
largo del eje largo de la elipse y el segundo a lo largo del eje corto. Puede ver que la mayor parte de la
variabilidad en los rendimientos de las dos acciones se explica por el primer componente principal.
Esto tiene sentido ya que los precios de las acciones de energía tienden a moverse como grupo.
3. PCA repite este proceso, utilizando las mismas variables con diferentes pesos, para crear
comió un segundo nuevo predictor, Z2. La ponderación se realiza de manera que Z1 y Z2 no están
correlacionados.
5. Elija retener tantos componentes como sean necesarios para dar cuenta de la mayor parte de la
variación.
6. El resultado hasta ahora es un conjunto de ponderaciones para cada componente. El paso final es
convertir los datos originales en nuevos puntajes de componentes principales aplicando las
ponderaciones a los valores originales. Estos nuevos puntajes se pueden usar luego como el conjunto
reducido de variables predictoras.
La naturaleza de los componentes principales a menudo revela información sobre la estructura de los
datos. Hay un par de pantallas de visualización estándar para ayudarlo a obtener información sobre
los componentes principales. Uno de esos métodos es ungráfico de sedimentación para visualizar la
importancia relativa de los componentes principales (el nombre deriva de la semejanza de la parcela
con una pendiente de pedregal; aquí, el eje y es el valor propio). La siguienteR
El código muestra un ejemplo para algunas de las principales empresas del S&P 500:
La información para crear un gráfico de carga a partir del scikit-learn el resultado está disponible en
varianza_explicada_. Aquí, lo convertimos en un pandas marco de datos y utilícelo para hacer un
gráfico de barras:
sp_pca = PCA()
sp_pca.encajar(top_sp)
Como se vio en Figura 7-2, la varianza del primer componente principal es bastante grande (como
suele ser el caso), pero los otros componentes principales principales son importantes.
Puede resultar especialmente revelador graficar los pesos de los componentes principales
superiores. Una forma de hacer esto enR es usar el recolectar función de la tidyr paquete en
conjunción con ggplot:
Biblioteca(tidyr)
cargas <- sp_pcaPScargas[,1:5]
cargasPSSímbolo <- nombres de fila(cargas)
cargas <- recolectar(cargas, 'Componente', 'Peso', -Símbolo)
ggplot(cargas, aes(X=Símbolo, y=Peso)) +
geom_bar(estadística='identidad') +
facet_grid(Componente ~ ., escamas='free_y')
Las cargas de los cinco componentes principales se muestran en Figura 7-3. Las cargas para el primer
componente principal tienen el mismo signo: esto es típico de los datos en los que todas las columnas
comparten un factor común (en este caso, la tendencia general del mercado de valores). El segundo
componente captura los cambios de precio de las acciones de energía en comparación con las otras
acciones. El tercer componente es principalmente un contraste en los movimientos de Apple y CostCo.
El cuarto componente contrasta los movimientos de Schlumberger (SLB) con las otras acciones de
energía. Finalmente, el quinto componente está dominado mayoritariamente por empresas
financieras.
Figura 7-3. Las cargas para los cinco componentes principales principales de la rentabilidad del precio de las acciones.
Análisis de correspondencia
PCA no se puede utilizar para datos categóricos; sin embargo, una técnica algo relacionada es
análisis de correspondencia. El objetivo es reconocer asociaciones entre categorías o entre
características categóricas. Las similitudes entre el análisis de correspondencia y el análisis de
componentes principales se encuentran principalmente bajo el capó: el álgebra matricial para el
escalado de dimensiones. El análisis de correspondencia se utiliza principalmente para el análisis
gráfico de datos categóricos de baja dimensión y no se utiliza de la misma forma que el PCA para la
reducción de dimensiones como paso preparatorio con big data.
La entrada puede verse como una tabla, con filas que representan una variable y columnas
otra, y las celdas representan recuentos de registros. La salida (después de algún álgebra
matricial) es unabiplot: Una gráfica de dispersión con ejes escalados (y con porcentajes que
indican cuánta varianza se explica por esa dimensión). El significado de las unidades en los ejes
no está conectado intuitivamente a los datos originales, y el valor principal del diagrama de
dispersión es ilustrar gráficamente las variables que están asociadas entre sí (por proximidad
en el diagrama). Ver por ejemplo,Figura 7-4, en el que las tareas del hogar se ordenan según si
se realizan de forma conjunta o individual (eje vertical), y si la responsabilidad principal es la
esposa o el esposo (eje horizontal). El análisis de correspondencia tiene muchas décadas, al
igual que el espíritu de este ejemplo, a juzgar por la asignación de tareas.
California = Príncipe.California(n_componentes=2)
• Los componentes principales son combinaciones lineales de las variables predictoras (solo
datos numéricos).
• Una técnica superficialmente similar para datos categóricos es el análisis de correspondencia, pero
no es útil en un contexto de big data.
Otras lecturas
Para obtener una descripción detallada del uso de la validación cruzada en los componentes
principales, consulte Rasmus Bro, K. Kjeldahl, AK Smilde y Henk AL Kiers, "Validación cruzada de
modelos de componentes: una mirada crítica a los métodos actuales", Química analítica y bioanalítica
390, no. 5 (2008).
Agrupación de K-medias
La agrupación en clústeres es una técnica para dividir los datos en diferentes grupos, donde los registros de
cada grupo son similares entre sí. Un objetivo de la agrupación en clústeres es identificar grupos de datos
significativos y significativos. Los grupos se pueden utilizar directamente, analizar con más profundidad o
pasar como una característica o un resultado a un modelo de clasificación o regresión predictiva.K-significa
fue el primer método de agrupamiento que se desarrolló; todavía se usa ampliamente, debido a su
popularidad a la relativa simplicidad del algoritmo y su capacidad para escalar a grandes conjuntos de datos.
Grupo
Un grupo de registros que son similares.
K
El número de clústeres.
Normalización
Un ejemplo simple
Empiece por considerar un conjunto de datos con norte registros y solo dos variables, X y y. Suponer
queremos dividir los datos en K = 4 racimos. Esto significa asignar cada registroXI, yI
a un racimo k. Dada una asignación de nortek registros para agrupar k, el centro del cúmulo
Xk, yk es la media de los puntos del clúster:
1
Xk = ∑ XI
nortek
I∈
Grupo k
1
ȳk= ∑ yI
nortek
I∈
Grupo k
SSk= ∑ XI - X k2+ yI - y 2 k
I∈
Grupo k
K-medias encuentra la asignación de registros que minimiza la suma de cuadrados dentro del
conglomerado en los cuatro conglomerados SS1 + SS2 + SS3 + SS4:
4
∑ SSk
k=1
Por ejemplo, supongamos que queremos dividir los rendimientos diarios de las acciones en cuatro grupos. K-
significa que la agrupación en clústeres se puede utilizar para separar los datos en las mejores agrupaciones. Tenga en cuenta
que los rendimientos diarios de las acciones se informan de una manera que, de hecho, está estandarizada, por lo que no es
necesario normalizar los datos. EnR, K-significa que la agrupación se puede realizar utilizando el
k significa función. Por ejemplo, lo siguiente encuentra cuatro grupos basados en dos variables: los
rendimientos diarios de las acciones de ExxonMobil (XOM) y Chevron (CVX):
La asignación de grupo para cada registro se devuelve como el grupo componente (R):
df['grupo'] = k significa.etiquetas_df.
cabeza()
Los primeros seis registros se asignan al clúster 1 o al clúster 2. También se devuelven las
medias de los clústeres (R):
Los clústeres 1 y 3 representan mercados "a la baja", mientras que los clústeres 2 y 4 representan "mercados
al alza".
Como el K-significa que el algoritmo utiliza puntos de partida aleatorios, los resultados pueden diferir
entre ejecuciones posteriores y diferentes implementaciones del método. En general, debe verificar
que las fluctuaciones no sean demasiado grandes.
En este ejemplo, con solo dos variables, es sencillo visualizar los clústeres y sus
medios:
ggplot(datos=df, aes(X=XOM, y=CVX, color=grupo, forma=grupo)) +
geom_point(alfa=.3) +
geom_point(datos=centros, aes(X=XOM, y=CVX), Talla=3, carrera=2)
La diagrama de dispersión marino La función facilita el color (matiz) y estiloestilo) los puntos
por una propiedad:
La trama resultante, que se muestra en Figura 7-5, muestra las asignaciones de grupos y las medias
de grupos. Tenga en cuenta queK-means asignará registros a grupos, incluso si esos grupos no están
bien separados (lo que puede ser útil si necesita dividir registros en grupos de manera óptima).
Algoritmo de K-medias
En general, K-Los medios se pueden aplicar a un conjunto de datos con pag variables X1, ..., Xpag. Si bien la
solución exacta para K-medios es computacionalmente muy difícil, los algoritmos heurísticos pro‐
vide una forma eficiente de calcular una solución localmente óptima.
El algoritmo comienza con una especificación del usuario. K y un conjunto inicial de medias de clúster
y luego itera los siguientes pasos:
1. Asigne cada registro a la media del conglomerado más cercana medida por la distancia al cuadrado.
Para la primera iteración, debe especificar un conjunto inicial de medias de clúster. Por lo general,
esto se hace asignando aleatoriamente cada registro a uno de losK grupos y luego encontrar los
medios de esos grupos.
Dado que no se garantiza que este algoritmo encuentre la mejor solución posible, se recomienda
ejecutar el algoritmo varias veces utilizando diferentes muestras aleatorias para inicializar el
algoritmo. Cuando se utiliza más de un conjunto de iteraciones, elK-significa que el resultado viene
dado por la iteración que tiene la suma de cuadrados más baja dentro del clúster.
syms <- C( 'AAPL', 'MSFT', 'CSCO', 'INTC', 'CVX', 'XOM', 'SLB', 'POLICÍA',
'JPM', 'WFC', 'USB', 'AXP', 'WMT', 'TGT', 'HD', 'COSTO')
df <- sp500_px[row.names(sp500_px) > = '2011-01-01', syms]
km <- k significa(df, centros=5, nstart=10)
Una parte importante del análisis de conglomerados puede involucrar la interpretación de los
conglomerados. Los dos resultados más importantes dek significa son los tamaños de los conglomerados y
las medias del conglomerado. Para el ejemplo de la subsección anterior, los tamaños de los clústeres
resultantes vienen dados por esteR mando:
kmPSTalla
[1] 106 186 285 288 266
En Pitón, podemos usar el colecciones Contador class de la biblioteca estándar para obtener
esta información. Debido a las diferencias en la implementación y la aleatoriedad
inherente del algoritmo, los resultados variarán:
Los tamaños de los conglomerados están relativamente equilibrados. Los conglomerados desequilibrados pueden
ser el resultado de valores atípicos distantes o de grupos de registros muy distintos del resto de los datos; ambos
pueden justificar una mayor inspección.
El código para crear esta visualización en Pitón es similar a lo que usamos para PCA:
La trama resultante se muestra en Figura 7-6 y revela la naturaleza de cada grupo. Por ejemplo, los
grupos 4 y 5 corresponden a días en los que el mercado está a la baja y al alza, respectivamente. Los
clústeres 2 y 3 se caracterizan por días de mercado alcista para las acciones de consumo y días de
mercado a la baja para las acciones de energía, respectivamente. Por último, el grupo 1 captura los
días en los que las existencias de energía subieron y las de los consumidores bajaron.
Un enfoque común, llamado método del codo, es identificar cuándo el conjunto de conglomerados
explica "la mayor parte" de la varianza en los datos. Agregar nuevos grupos más allá de este conjunto
contribuye relativamente poco en la varianza explicada. El codo es el punto donde la varianza
acumulada explicada se aplana después de subir abruptamente, de ahí el nombre del método.
Figura 7-7 muestra el porcentaje acumulado de varianza explicado para los datos
predeterminados para el número de conglomerados que van de 2 a 15. ¿Dónde está el codo en
este ejemplo? No hay un candidato obvio, ya que el aumento incremental de la varianza
explicado cae gradualmente. Esto es bastante típico en los datos que no tienen grupos bien
definidos. Este es quizás un inconveniente del método del codo, pero revela la naturaleza de los
datos.
En R, la k significa La función no proporciona un solo comando para aplicar el método del codo,
pero se puede aplicar fácilmente desde la salida de k significa como se muestra aquí:
inercia = []
por n_clusters en distancia(2, 14):
k significa = KMeans(n_clusters=n_clusters, estado_aleatorio=0).encajar(top_sp)
inercia.adjuntar(k significa.inercia_ / n_clusters)
Al evaluar cuántos conglomerados retener, quizás la prueba más importante sea la siguiente: ¿qué
probabilidad hay de que los conglomerados se repliquen en nuevos datos? ¿Los grupos son
interpretables y se relacionan con una característica general de los datos o simplemente reflejan una
instancia específica? Puede evaluar esto, en parte, mediante validación cruzada; ver“Validación
cruzada” en la página 155.
En general, no existe una regla única que guíe de manera confiable cuántos clústeres
producir.
Ideas claves
Agrupación jerárquica
Agrupación jerárquica es una alternativa a K-significa que pueden producir clústeres muy
diferentes. La agrupación jerárquica permite al usuario visualizar el efecto de especificar
diferentes números de agrupaciones. Es más sensible a la hora de descubrir grupos o registros
distantes o aberrantes. La agrupación jerárquica también se presta a una visualización gráfica
intuitiva, lo que facilita la interpretación de las agrupaciones.
Dendrograma
Una representación visual de los registros y la jerarquía de los clústeres a los que
pertenecen.
Distancia
Una medida de lo cerca que uno registro es a otro.
Disimilitud
Una medida de lo cerca que uno grupo es a otro.
Un ejemplo simple
La agrupación jerárquica funciona en un conjunto de datos con norte registros y pag variables y se basa en
dos bloques de construcción básicos:
• Una métrica de distancia Dyo, j para medir la distancia entre dos registros I y j.
• Una métrica de disimilitud DA, B para medir la diferencia entre dos grupos A y
B basado en las distancias Dyo, j entre los miembros de cada grupo.
Para aplicaciones que involucran datos numéricos, la opción más importante es la métrica de
disimilaridad. La agrupación jerárquica comienza estableciendo cada registro como su propio grupo y
se repite para combinar los grupos menos diferentes.
En R, la hclust La función se puede utilizar para realizar agrupaciones jerárquicas. Una gran diferencia
ferencia con hclust versus k significa es que opera en las distancias por pares Dyo, j
en lugar de los datos en sí. Puede calcularlos usando eldist función. Para examen-
Por ejemplo, lo siguiente aplica la agrupación jerárquica a los rendimientos de las acciones para un conjunto de
empresas:
syms1 <- C('GOOGL', 'AMZN', 'AAPL', 'MSFT', 'CSCO', 'INTC', 'CVX', 'XOM', 'SLB',
'POLICÍA', 'JPM', 'WFC', 'USB', 'AXP', 'WMT', 'TGT', 'HD', 'COSTO')
# take transpose: para agrupar empresas, necesitamos las acciones a lo largo de las filas
df <- t(sp500_px[row.names(sp500_px) > = '2011-01-01', syms1])
D <- dist(df)
hcl <- hclust(D)
Z = enlace(df, método='completo')
El dendrograma
La agrupación jerárquica se presta a una visualización gráfica natural como un árbol, conocido
como dendrograma. El nombre proviene de las palabras griegas dendroárbol) y grama
(dibujo). EnR, puede producir esto fácilmente usando el gráfico mando:
gráfico(hcl)
El resultado se muestra en Figura 7-8 (tenga en cuenta que ahora estamos trazando
empresas que son similares entre sí, no días). Las hojas del árbol corresponden a los
registros. La longitud de la rama en el árbol indica el grado de disimilitud entre los grupos
correspondientes. Los rendimientos de Google y Amazon son bastante diferentes entre sí
y los rendimientos de las otras acciones. Las acciones de petróleo (SLB, CVX, XOM, COP)
están en su propio grupo, Apple (AAPL) lo está por sí mismo, y el resto son similares entre
sí.
cutree(hcl, k=4)
GOOGL AMZN AAPL MSFT CSCO INTC CVX XOM SLB POLICÍA JPM WFC
123333 4 4 4 4 3 3
COSTE USB AXP WMT TGT HD
333333
El número de clústeres a extraer se establece en 4, y puede ver que Google y Amazon pertenecen
cada uno a su propio clúster. Todas las reservas de petróleo pertenecen a otro grupo. Las poblaciones
restantes están en el cuarto grupo.
El algoritmo aglomerativo
El algoritmo principal para la agrupación jerárquica es el aglomerante algoritmo, que fusiona
de forma iterativa clústeres similares. El algoritmo de aglomeración comienza con cada registro
que constituye su propio grupo de registro único y luego crea grupos cada vez más grandes. El
primer paso es calcular las distancias entre todos los pares de registros.
Por cada par de registros X1, X2, ..., Xpag y y1, y2, ..., ypag , medimos la distancia
entre los dos registros, Dx, y, usando una métrica de distancia (ver "Métricas de distancia" en la página
241). Por ejemplo, podemos usar la distancia euclidiana:
2 +⋯ + Xpag - ypag 2
dx, y = X1 - y 12 + X2 - y2
Pasamos ahora a la distancia entre grupos. Considere dos gruposA y B, cada uno con un dis‐
tintivo conjunto de registros, A = a1, a2, ..., ametro y B = b1, B2, ..., Bq. Podemos medir la
diferencia entre los grupos DA, B utilizando las distancias entre las mem‐
bers de A y los miembros de B.
Esto define la disimilitud como la mayor diferencia entre todos los pares.
1. Cree un conjunto inicial de agrupaciones con cada agrupación que consta de un solo registro para todos
los registros de los datos.
3. Fusionar los dos clústeres Ck y Cℓ que son menos diferentes según lo medido por
corriente continuak, Cℓ.
Medidas de disimilitud
Hay cuatro medidas comunes de disimilitud: vinculación completa, vinculación simple,
vinculación promedio, y varianza mínima. Estas (más otras medidas) están respaldadas
por la mayoría del software de agrupamiento jerárquico, incluido hclust y enlace. El método
de vinculación completo definido anteriormente tiende a producir agrupaciones con
miembros similares. El método de enlace único es la distancia mínima entre los registros
en dos grupos:
Figura 7-9 aplica la agrupación jerárquica utilizando las cuatro medidas para los rendimientos de las
acciones de ExxonMobil y Chevron. Para cada medida, se retienen cuatro grupos.
Los resultados son sorprendentemente diferentes: la medida de vinculación única asigna casi
todos los puntos a un solo grupo. Excepto por el método de varianza mínima (R: Ward.D;
Pitón: pabellón), todas las medidas terminan con al menos un grupo con solo unos pocos
puntos periféricos. El mtodo de varianza mnima es muy similar alK-significa racimo;
Comparar conFigura 7-5.
Ideas claves
• Progresivamente, los clústeres se unen a los clústeres cercanos hasta que todos los registros pertenecen a
un solo clúster (el algoritmo de aglomeración).
• Las distancias entre grupos se calculan de diferentes formas, todas basándose en el conjunto de todas las
distancias entre registros.
ces σ2,1 σ2,2 ..., σ2 pag y covarianzas σyo, j para todos los pares de variables I ≠ j. Con las variables
colocada a lo largo de las filas y duplicada a lo largo de las columnas, la matriz se ve así:
Tenga en cuenta que la matriz de covarianza es simétrica alrededor de la diagonal desde la parte superior izquierda a
inferior derecha. Desdeσyo, j = σ Ji, solo hay pag × pag - 1/2 términos de covarianza. En total, la
matriz de covarianza tienepag × pag - 1/2 + pag parámetros. La distribución se denota
por:
Figura 7-10 muestra los contornos de probabilidad para una distribución normal multivariante
para dos variables X y Y (el contorno de probabilidad 0,5, por ejemplo, contiene el 50% de la
distribución).
11
Σ=
12
Mezclas de normales
La idea clave detrás de la agrupación en clústeres basada en modelos es que se supone que cada registro se
distribuye como uno de los K distribuciones normales multivariadas, donde K es el numero de
R tiene un paquete muy rico para la agrupación en clústeres basada en modelos llamado mclust, originalmente
desarrollado por Chris Fraley y Adrian Raftery. Con este paquete, podemos aplicar la agrupación en clústeres basada
en modelos a los datos de devolución de existencias que analizamos previamente utilizandoK-medios y agrupamiento
jerárquico:
>Biblioteca(mclust)
>df <- sp500_px[row.names(sp500_px) > = '2011-01-01', C('XOM', 'CVX')]
>mcl <- Mclust(df)
>resumen(mcl)
Mclust VEE (elipsoidal, igual forma y orientación) modelo con 2 componentes:
Tabla de agrupamiento:
12
963 168
Si ejecuta este código, notará que el cálculo lleva mucho más tiempo que otros
procedimientos. Extraer las asignaciones de clúster mediante elpredecir
función, podemos visualizar los clusters:
XOM CVX
XOM 1.046318 1.066860
CVX 1.066860 1.915799
impresión(mclust.medio_)
impresión('Covarianzas ')
impresión(mclust.covarianzas_)
Las distribuciones tienen medias y correlaciones similares, pero la segunda distribución tiene
varianzas y covarianzas mucho mayores. Debido a la aleatoriedad del algoritmo, los resultados
pueden variar ligeramente entre diferentes ejecuciones.
Los racimos de mclust pueden parecer sorprendentes, pero de hecho, ilustran la naturaleza estadística del
método. El objetivo de la agrupación en clústeres basada en modelos es encontrar el conjunto de
distribuciones normales multivariadas que mejor se ajuste. Los datos de stock parecen tener una forma de
aspecto normal: vea los contornos deFigura 7-10. De hecho, sin embargo, los rendimientos de las acciones
tienen una distribución de cola más larga que una distribución normal. Para manejar esto,mclust ajusta una
distribución a la mayor parte de los datos, pero luego ajusta una segunda distribución con una varianza
mayor.
Tenga en cuenta que, en la mayoría de los casos, el BIC suele minimizarse. Los
autores de lamclust El paquete decidió definir BIC para tener el signo opuesto para
facilitar la interpretación de los gráficos.
Esta gráfica es similar a la gráfica de codo que se usa para identificar el número de conglomerados
para elegir. K-significa, excepto que el valor que se traza es BIC en lugar del porcentaje de varianza
explicado (ver Figura 7-7). Una gran diferencia es que, en lugar de una línea,mclust
muestra 14 líneas diferentes! Esto es porquemclust en realidad, se ajusta a 14 modelos diferentes para
cada tamaño de clúster y, en última instancia, elige el modelo que mejor se ajusta. Mezcla gaussiana
implementa menos enfoques, por lo que el número de líneas será solo cuatro.
Por que mclust ¿Se ajustan a tantos modelos para determinar el mejor conjunto de normas
multivariadas? Es porque hay diferentes formas de parametrizar la matriz de covarianza.Σ para
ajustar un modelo. En su mayor parte, no necesita preocuparse por los detalles de los modelos
y simplemente puede usar el modelo elegido pormclust. En este ejemplo, de acuerdo con BIC,
tres modelos diferentes (llamados VEE, VEV y VVE) dan el mejor ajuste usando dos
componentes.
Las técnicas de agrupación en clústeres basadas en modelos tienen algunas limitaciones. Los
métodos requieren una suposición subyacente de un modelo para los datos, y los resultados del
conglomerado dependen en gran medida de esa suposición. Los requisitos de cálculo son más altos
incluso que la agrupación jerárquica, lo que dificulta la ampliación a grandes datos. Finalmente, el
algoritmo es más sofisticado y menos accesible que el de otros métodos.
• Se supone que los conglomerados se derivan de diferentes procesos de generación de datos con diferentes
distribuciones de probabilidad.
• El método elige el modelo (y el número asociado de conglomerados) que se ajusta bien a los
datos sin utilizar demasiados parámetros (es decir, sobreajuste).
Otras lecturas
Para obtener más detalles sobre la agrupación en clústeres basada en modelos, consulte la mclust y Mezcla Gaussiana
documentación.
Escalada
Aplastando o expandiendo datos, generalmente para traer múltiples variables a la misma escala.
Normalización
Un método de escalado: restar la media y dividir por la desviación
estándar.
Sinónimo
Estandarización
La distancia de Gower
Un algoritmo de escala aplicado a datos categóricos y numéricos mixtos para llevar todas las
variables a un rango de 0 a 1.
Por ejemplo, con los datos de préstamos personales, las variables tienen unidades y magnitudes muy
diferentes. Algunas variables tienen valores relativamente pequeños (p. Ej., Número de años empleados),
mientras que otras tienen valores muy grandes (p. Ej., Monto del préstamo en dólares). Si el
Los datos categóricos pueden plantear un problema especial para algunos procedimientos de agrupación. Al igual que con
K-Vecinos más cercanos, las variables de factor desordenado generalmente se convierten en un conjunto de
variables binarias (0/1) usando una codificación en caliente (ver “Un codificador activo” en la página 242). No
solo es probable que las variables binarias estén en una escala diferente de otros datos, sino que el hecho de
que las variables binarias tengan solo dos valores puede resultar problemático con técnicas como PCA yK-
medio.
df = valores predeterminados[columnas]
Las variables anual_inc y revol_bal dominan los conglomerados, y los conglomerados tienen
tamaños muy diferentes. El grupo 1 tiene solo 52 miembros con ingresos comparativamente
altos y saldo de crédito renovable.
z=x-X
s
Vea lo que sucede con los clústeres cuando k significa se aplica a los datos normalizados:
Los tamaños de los conglomerados están más equilibrados y los conglomerados no están dominados por
anual_inc y revol_bal, revelando una estructura más interesante en los datos. Tenga en cuenta
que los centros se reescalan a las unidades originales en el código anterior. Si los hubiéramos
dejado sin escalar, los valores resultantes estarían en términos dez-puntajes y, por lo tanto,
sería menos interpretable.
Incluso en los casos en que las variables se miden en la misma escala y reflejan con precisión la importancia
relativa (por ejemplo, el movimiento de los precios de las acciones), a veces puede ser útil cambiar la escala
de las variables.
Supongamos que agregamos Google (GOOGL) y Amazon (AMZN) al análisis en “Interpretación de los
componentes principales” en la página 289. Vemos como se hace esto enR debajo:
syms <- C('GOOGL', 'AMZN', 'AAPL', 'MSFT', 'CSCO', 'INTC', 'CVX', 'XOM',
'SLB', 'POLICÍA', 'JPM', 'WFC', 'USB', 'AXP', 'WMT', 'TGT', 'HD', 'COSTO')
top_sp1 <- sp500_px[row.names(sp500_px) > = '2005-01-01', syms]
sp_pca1 <- princomp(top_sp1)
gráfico de sedimentación(sp_pca1)
sp_pca1 = PCA()
sp_pca1.encajar(top_sp1)
El gráfico de pantalla muestra las variaciones de los componentes principales principales. En este
caso, el diagrama de pantalla enFigura 7-13 revela que las variaciones del primer y segundo
componentes son mucho mayores que las de los demás. Esto a menudo indica que una o dos
variables dominan las cargas. Este es, de hecho, el caso en este ejemplo:
redondo(sp_pca1PScargas[,1:2], 3)
Comp.1 Comp.2
GOOGL 0,781 0,609
AMZN 0,593 -0,792
AAPL 0,078 0,004
MSFT 0,029 0,002
CSCO 0.017 -0.001
INTC 0.020 -0.001
CVX 0.068 -0.021
XOM 0.053 -0.005
...
Los dos primeros componentes principales están dominados casi por completo por GOOGL y
AMZN. Esto se debe a que los movimientos del precio de las acciones de GOOGL y AMZN
dominan la variabilidad.
Figura 7-13. Un diagrama de pantalla para un PCA de las principales acciones del S&P 500, incluidos
GOOGL y AMZN
La idea básica detrás de la distancia de Gower es aplicar una métrica de distancia diferente a
cada variable según el tipo de datos:
1. Calcule la distancia Dyo, j para todos los pares de variables I y j para cada registro.
3. Sume las distancias escaladas por pares entre variables juntas, usando una media
simple o ponderada, para crear la matriz de distancias.
Para ilustrar la distancia de Gower, tome algunas filas de los datos del préstamo en R:
Biblioteca(grupo)
margarita(X, métrico='gower')
Disimilitudes :
1 2 3 4
2 0,6220479
3 0,6863877 0,8143398
4 0,6329040 0,7608561 0,4307083
5 0.3772789 0.5389727 0.3091088 0.5056250
En el momento de escribir este artículo, la distancia de Gower no está disponible en ninguno de los
paquetes populares de Python. Sin embargo, se están realizando actividades para incluirlo enscikit-
learn. Actualizaremos el código fuente adjunto una vez que se publique la implementación.
Todas las distancias están entre 0 y 1. El par de registros con la mayor distancia es 2 y 3:
ninguno tiene los mismos valores para casa y propósito, y tienen niveles muy diferentes de
dtideuda-ingresos) y pago_inc_ratio. Los registros 3 y 5 tienen la distancia más pequeña
porque comparten los mismos valores para casa y propósito.
Puede pasar la matriz de distancias de Gower calculada a partir de margarita a hclust para la
agrupación jerárquica (ver "Agrupación jerárquica" en la página 304):
Este subárbol consta en su totalidad de propietarios con un propósito de préstamo etiquetado como
"consolidación_deuda". Si bien la separación estricta no es cierta para todos los subárboles, esto ilustra que
las variables de categoría tienden a agruparse en los conglomerados.
Figura 7-14. Un dendrograma dehclust aplicado a una muestra de datos de incumplimiento de préstamos con
tipos de variables mixtas
K-medias y PCA son las más apropiadas para variables continuas. Para conjuntos de datos más
pequeños, es mejor utilizar la agrupación jerárquica con la distancia de Gower. En principio, no hay
ninguna razón por la queK-los medios no se pueden aplicar a datos binarios o categóricos. Por lo
general, utilizaría la representación de "un codificador activo" (consulte“Un codificador activo” en la
página 242) para convertir los datos categóricos en valores numéricos. En la práctica, sin embargo, el
uso deK-medios y PCA con datos binarios pueden resultar difíciles.
Si el estándar z-se utilizan puntuaciones, las variables binarias dominarán la definición de los conglomerados.
Esto se debe a que las variables 0/1 toman solo dos valores yK-Los medios pueden obtener una pequeña
suma de cuadrados dentro del conglomerado asignando todos los registros con un 0 o 1 a un solo
conglomerado. Por ejemplo, apliquek significa prestar datos predeterminados, incluidas variables de factores
casa y pub_rec_zero, mostrado aquí en R:
En Pitón:
columnas = ['dti', 'pago_inc_ratio', 'casa_', 'pub_rec_zero']
df = pd.get_dummies(valores predeterminados[columnas])
Los cuatro grupos principales son esencialmente sustitutos de los diferentes niveles de las variables de
factor. Para evitar este comportamiento, puede escalar las variables binarias para que tengan una varianza
menor que otras variables. Alternativamente, para conjuntos de datos muy grandes, puede aplicar la
agrupación en clústeres a diferentes subconjuntos de datos tomando valores categóricos específicos. Por
ejemplo, podría aplicar la agrupación por separado a los préstamos otorgados a alguien que tiene una
hipoteca, es propietario de una vivienda o alquila.
• Las variables medidas en diferentes escalas deben transformarse a escalas similares para que su
impacto en los algoritmos no esté determinado principalmente por su escala.
Resumen
Para la reducción dimensional de datos numéricos, las herramientas principales son el análisis de componentes
principales o K-significa agrupamiento. Ambos requieren atención al escalado adecuado de los datos para garantizar
una reducción significativa de los datos.
Para la agrupación en clústeres con datos muy estructurados en los que los clústeres están bien separados,
es probable que todos los métodos produzcan un resultado similar. Cada método ofrece su propia ventaja.
K-significa escala a datos muy grandes y se entiende fácilmente. La agrupación jerárquica se puede
aplicar a tipos de datos mixtos (numéricos y categóricos) y se presta a una visualización intuitiva (el
dendrograma). El agrupamiento basado en modelos se basa en la teoría estadística y proporciona un
enfoque más riguroso, en contraposición a los métodos heurísticos. Sin embargo, para datos muy
grandes,K-medios es el método principal utilizado.
Con datos ruidosos, como los datos de préstamos y acciones (y gran parte de los datos a los que se
enfrentará un científico de datos), la elección es más clara. K-Los medios, la agrupación jerárquica y,
especialmente, la agrupación basada en modelos producen soluciones muy diferentes. ¿Cómo debe
proceder un científico de datos? Desafortunadamente, no existe una regla general simple para guiar la
elección. En última instancia, el método utilizado dependerá del tamaño de los datos y el objetivo de la
aplicación.
327
[R-base-2015] Equipo R Core. “R: Un lenguaje y un entorno para la competencia estadística
poniendo ". Fundación R para la Computación Estadística. 2015.https://www.r-project.org.
[Salsburg-2001] Salsburg, David. The Lady Tasting Tea: cómo revolucionaron las estadísticas
La ciencia en el siglo XX. Nueva York: WH Freeman, 2001.
[nacida en el mar] Waskom, Michael. "Seaborn: Visualización de datos estadísticos". 2015.https: //
seaborn.pydata.org.
[Trellis-Graphics] Becker, Richard A., William S. Cleveland, Ming-Jen Shyu y Ste‐
phen P. Kaluzny. "Un recorrido por los gráficos Trellis". 15 de abril de 1996.https://oreil.ly/
LVnOV.
[Tukey-1962] Tukey, JohnW. "El futuro del análisis de datos".Los Anales de las Matemáticas
Estadísticas ical 33, no. 1 (1962): 1–67.https://oreil.ly/qrYNW.
[Tukey-1977] Tukey, John W. Análisis exploratorio de datos. Reading, Mass .: Addison-
Wesley, 1977.
[Tukey-1987] Tukey, John W. Las obras completas de John W. Tukey. Vol. 4,Filosofía
and Principles of Data Analysis: 1965-1986, editado por Lyle V. Jones. Boca Raton, Fla .:
Chapman & Hall / CRC Press, 1987.
[Zhang-Wang-2007] Zhang, Qi y Wei Wang. "Un algoritmo rápido para aproximaciones
Cuantiles en flujos de datos de alta velocidad ". XIX Conferencia Internacional sobre Gestión
de Bases de Datos Científicas y Estadísticas (SSDBM 2007). Piscataway, NJ: IEEE, 2007.
También disponible en https://oreil.ly/qShjk.
328 | Bibliografía
Índice
A B
Pruebas A / B, 88-93 b-spline (spline base), 190
beneficios de usar un grupo de control, 90 eliminación hacia atrás, 157, 159
algoritmo épsilon-codicioso para, 133 selección hacia atrás, 159
ejemplos de, 88 harpillera, 64, 96, 238, 260
hipótesis en, 93 impulsar versus, 270
importancia de obtener permisos, 92 algoritmos bandidos, 132
bandidos multibrazo versus, 134 (ver también bandidos multibrazo)
tradicional, defecto de, 91 gráficos de barras, 27
precisión, 220 histogramas y, 29
Adaboost, 270 Enfoque bayesiano en el muestreo de Thompson,
aumento del algoritmo, 271 134
R cuadrado ajustado, 154 Clasificación bayesiana, 197
ajuste de p-valores, 113 (ver también el algoritmo ingenuo de Bayes)
algoritmo aglomerativo, 308 Criterios de información bayesiana (BIC), 157,
AIC (Criterios de información de Akaike), 157, 315 315-317
AICc, 157 distribución beta, 134
toda la regresión de subconjuntos, 157 parcialidad, 50
329
bins, en tablas de frecuencia e histogramas, 22 escala (ver escala y variación categórica
biplot 292 ables)
análisis bivariado, 36 causalidad, regresión y, 149
teoría del cisne negro, 73 teorema del límite central, 57, 60
estudios ciegos, 91 Distribución t de Student y, 77
árboles potenciados, 249, 260 tendencia central (ver estimaciones de ubicación)
impulsando 238, 270-282 variación de probabilidad, 104
versus ensacado, 270 distribución de chi-cuadrado, 80, 127
aumento del algoritmo, 271 estadística de chi-cuadrado, 124, 125
hiperparámetros y validación cruzada, prueba de chi-cuadrado, 124-131
279-281 Prueba exacta de Fisher, 128-130
regularización, evitando el sobreajuste con, relevancia para la ciencia de datos, 130
274-279 enfoque de remuestreo, 124
Software XGBoost, 272-274 teoría estadística, 127
oreja, 60, 61-sesenta y cinco pureza de clase, 254, 254
algoritmo para remuestreo bootstrap del clasificación, 195-236
significar, 62 análisis discriminante, 201-207
pruebas de arranque y permutación, 102 Matriz de covarianza, 202
generación de intervalo de confianza, 66, 162-163 Discriminante lineal de Fisher, 203
en remuestreo, 96 ejemplo simple, 204-207
remuestreo versus arranque, sesenta y cinco evaluar modelos, 219-230
muestreo de variables en par‐ Métrica AUC, 226-228
posicionamiento 261 matriz de confusión, 221-222
error estándar y, 61 elevar, 228
330 | Índice
(ver también modelos de árbol) La distancia de Cook, 180
media de conglomerados, 294, 295, 300 variables predictoras correlacionadas, 170
Cargas de PCA versus, 302 correlación, 30-36
agrupamiento, 283 ejemplo, correlación entre los retornos de ETF,
variables categóricas que plantean problemas en, 32
319 conceptos clave, 35
jerárquico, 304-310 términos clave para, 30
racimos 294
coeficiente de determinación, 154
coeficientes
D
df (grados de libertad), 117
intervalos de confianza y, 162
(ver también grados de libertad)
en regresión logística, 213
análisis de datos, 1
en regresión lineal múltiple, 152 (ver también análisis exploratorio de datos)
en regresión lineal simple, 143 distribución de datos, 19-27, 57
problemas de arranque en frío, utilizando la agrupación en clústeres para, 284
gráficos de densidad y estimaciones, 24-27
método de vinculación completa, 308, 309
tabla de frecuencias e histograma, 22-24
la probabilidad condicional, 197
percentiles y diagramas de caja, 20-21
condicionando variables, 43
distribución muestral versus, 58
intervalos de confianza, 161
marcos de datos, 4
algoritmo para el intervalo de confianza de bootstrap,
histogramas para, 23
66 e índices, 6
aplicación a la ciencia de datos, 68
marco de datos típico, 5
nivel de confianza, 68 generación de datos, 230, 233
intervalos de predicción versus, 163
calidad de los datos, 48
variables de confusión, 170, 172, 172-173 tamaño de la muestra versus, 52
matriz de confusión, 220, 221-222
Ciencia de los datos
tablas de contingencia, 36
Pruebas A / B en, 91
resumiendo dos variables categóricas, 39 multiplicidad y, 115
Datos continuos, 2
valores p y, 109
parcelas de contorno, 36
pruebas de permutación, valor de, 102
usar con agrupamiento hexagonal, 36-39
relevancia de las pruebas de chi-cuadrado, 130
codificación de contraste, 167
estadística t y, 155
grupo de control, 88
valor de la heterocedasticidad para, 183
beneficios de usar, 90
espionaje de datos, 54
Índice | 331
tipos de datos estudios doble ciego, 91
términos clave para, 2 reducción de muestreo, 231
332 | Índice
F Encuesta Gallup, 49
selección de características
usar para escalar variables categóricas, 322
Índice | 333
hipótesis nula, 94 ejemplo, predecir el incumplimiento del préstamo, 239-241
I Tau de Kendall, 34
estimaciones de densidad de kernel, 19, 24
reglas if-then-else (modelos de árbol), 250
(ver también diagramas de
Estrategias de datos desequilibrados para la clasificación.
densidad) KNN (ver K-Vecinos más
modelos 230-236, 241
cercanos) nudos, 187, 190
clasificación basada en costos, 234
generación de datos, 233
curtosis, 24
explorando las predicciones, 234-235
sobremuestreo y ponderación hacia arriba / hacia abajo, 232 L
impureza, 250 regresión de lazo, 159, 278
medición, 254, 257 Asignación de Dirichlet latente, 202
métodos de validación en la muestra, 159 hoja, 250
variables independientes, 142, 143 regresión de mínimos cuadrados, 143, 148, 278
(ver también variables predictoras) Legendre, Adrien-Marie, 149
índices, marcos de datos y, 6 nivel de confianza, 68
variables indicadoras, 163 aprovechar
K mejorado, 270
modelo lineal generalizado (GLM), 210
K (en agrupación de K-medias), 294, 302
problemas de multicolinealidad causados por uno
K (en K-Vecinos más cercanos), 230, 239, 249
codificación en caliente, 243
validación cruzada de k veces, 155
Agrupación de K-medias, 294-304
múltiple, 150-161
aplicando a datos sin normalización, 319 evaluar el modelo, 153
validación cruzada, 155
aplicando a datos normalizados, 320
ejemplo, estimar el valor de las casas,
interpretando los clusters, 299-302
Algoritmo de K-medias, 298
151-152
selección de modelos y regresión escalonada,
seleccionando el número de clústeres, 302
ejemplo simple, 295 156-159
regresión ponderada, 159-161
usar con datos binarios, 325
predicción versus explicación, 149
K-Vecinos más cercanos, 237, 238-249
sencillo, 141-150
datos categóricos y, 319
valores ajustados y residuales, 146
eligiendo K, 246
mínimos cuadrados, 148
métricas de distancia, 241
334 | Índice
ecuación de regresión, 143-146 fórmula para calcular, 15
Encuesta Literary Digest de 1936, 49 mediana, 8, 10
cargas, 285, 285 desviación absoluta mediana de la mediana
media del grupo versus, 302 (ENOJADO), 14, dieciséis
trazado de los principales componentes principales, 290 pruebas de detección médica, falsos positivos y, 222
con signos negativos, 288 métrica, 9
ubicación, estimaciones de, 7-13 métrica de varianza mínima, 309
función log-odds (ver función logit) modo, 27
log-odds ratio y odds ratio, 214 ejemplos en datos categóricos, 29
regresión lineal logística, 234 agrupación en clústeres basada en modelos, 311-318
norte
METRO N (on) refiriéndose al total de registros, 9
aprendizaje automático, 237 n o n - 1, dividiendo por una fórmula de varianza, 15
(ver también aprendizaje automático estadístico; super‐ n o n - 1, dividiendo entre en varianza o estándar
aprendizaje visual; aprendizaje no supervisado) fórmula de desviación, 116
riesgo de sobreajuste, mitigación,113 n o tamaño de la muestra, 117
Índice | 335
normalización, 71, 243, 318 PAG
(ver también estandarización) valores p, 103-110, 121
en estadística, frente a la normalización de la base de datos, 243 ajuste de, 113
escalar las variables, 319-320 alfa, 107
hipótesis nula, 93, 94, 104 distribución de chi-cuadrado y, 127
en las pruebas de tasa de clics para titulares web, 125 controversia sobre el uso de, 107
usando hipótesis alternativas con, 95 ciencia de datos y, 109
Datos numéricos, 2 significado práctico y, 109
reducción de dimensión de, 326 estadística t y, 154
explorar la relación entre dos números errores tipo 1 y tipo 2, 109
variables, 36-39 comparaciones por pares, 118, 119
agrupados por variable categórica, explorando, parcelas residuales parciales, 176, 185
41 para regresión spline, 191
variables numéricas en regresión logística, 217
conversión de variables factoriales a, en regresión no linealidad y, 187
sion 163 particiones en árboles, 249, 258
convertir variables de factor ordenadas a, 169 bosques aleatorios, 261
Distancia de Mahalanobis, 242 algoritmo de particionamiento recursivo, 252-254
PCA (ver análisis de componentes principales)
O Residuos de Pearson, 125
representación de objetos (datos espaciales), 6 Prueba de chi-cuadrado de Pearson, 124
una codificación en caliente, 164, 165, 243, 319 estimaciones basadas en, 17
regresión de mínimos cuadrados ordinarios (MCO), 148, estimando p-valores de, 106
182 exhaustivo y bootstrap, 102
estimación del error fuera de la bolsa, 262 valor para la ciencia de datos, 102
336 | Índice
potencia y tamaño de la muestra, 135-139 estandarización en K-Vecinos más cercanos,
cálculo, componentes en, 137 243
energía, 135 estadística t y, 155
tamaño de la muestra, 136 utilizado dos veces en KNN, 247
significación práctica versus significación estadística usando más de dos en discriminante lineal
cance, 109 análisis, 207
precisión, 220, 223 componentes principales, 285
curva de recuperación de precisión (PR), 226 análisis de componentes principales, 284-294, 325
valores predichos, 146 análisis de conglomerados versus, 302
R
KNN como primera etapa para, 247, 249
aprendizaje automático frente a estadísticas, 238
200 parcialidad, 50
Índice | 337
subconjunto aleatorio de variables (en bosque aleatorio), selección de modelos y regresión escalonada,
261 156-159
aleatorización, 88 regresión ponderada, 159-161
aleatoriedad, subestimación y mala interpretación regresión polinomial y spline, 187-193
preting 93 modelos aditivos generalizados, 192-193
distancia, 14, dieciséis polinomio, 188
registros de clasificación, algoritmo ingenuo de Bayes, 200 splines, 189
problema de clase raro, 223 predicción con, 161-163
recordar, 223 intervalos de confianza y predicción,
(ver también sensibilidad) 161-163
compensación con especificidad, 224 peligros de la extrapolación, 161
Curva de características operativas del receptor (ver Regresión lineal simple, 141-150
Curva ROC) valores ajustados y residuales, 146
registros, 5, 142 mínimos cuadrados, 148
comparación con la regresión lineal, 214-216 cambio de escala de variables, métodos distintos de z-
significados del término, 149 puntuaciones, 246
regresión lineal múltiple, 150-161 error estándar residual (RSE), 150, 153
evaluar el modelo, 153 suma residual de cuadrados (RSS), 148, 278
validación cruzada, 155 derechos residuales de autor, 142
ejemplo, estimar el valor de las casas, análisis de, en regresión logística, 217
151-152 en regresión lineal múltiple, 151
338 | Índice
en regresión lineal simple, 146 distribución muestral, 57-61
respuesta, 6, 142, 143 teorema del límite central, 60
aislar la relación entre el predictor distribución de datos versus, 58
variable y, 185 Error estándar, 60
regresión de la cresta, 159, 278 variabilidad muestral, 57
RMSE (ver error cuadrático medio) escalada, 318
robusto, 8 variables de escala y categóricas, 318-326
estimaciones robustas de correlación, 33 variables categóricas y la distancia de Gower,
estimaciones sólidas de ubicación, 10-13 322
ejemplo, estimaciones de ubicación de la población variables dominantes, 321-322
y tasas de homicidio, 12 problemas con la agrupación de datos mixtos, 325
mediana, 10 escalar las variables, 319-320
valores atípicos y, 11 suavizadores de diagramas de dispersión, 185
Índice | 339
SQL (lenguaje de consulta estructurado), 4 sobreajuste, evitando con regularización,
regla de la raíz cuadrada de n, 60 274-279
SS (ver suma de cuadrados) Software XGBoost, 272-274
desviación estándar, 14 K-Vecinos más cercanos, 238-249
matriz de covarianza y, 203 métricas de distancia, 241
en pruebas A / B, 90 ejemplo, predecir el incumplimiento del préstamo,
340 | Índice
grupo de tratamiento, 88 interpretar los componentes principales,
modelos de árboles, 175, 234, 249-259 289-292
ventajas de, 250 ejemplo simple, 285-288
conjunto, bosque aleatorio y árboles potenciados, variables de escala y categóricas, 318-326
260 variables categóricas y la distribución de Gower
cómo se usan los árboles, 258 tance, 322
medir la homogeneidad o impureza, 254 variables dominantes, 321-322
predecir un valor continuo, 257 problemas con la agrupación de datos mixtos,
algoritmo de particionamiento recursivo, 252-254 325
ejemplo simple, 250 escalar las variables, 319-320
detener el crecimiento de los árboles, 256 ponderación arriba / abajo, 230, 232
Gráficos enrejados, 45 edificación, 229
media recortada, 8
fórmula para, 9
HSD de Tukey (diferencia de significancia honesta),
V
variabilidad, estimaciones de, 13-19
114 ejemplo, tasas de homicidios por población estatal,
Tukey, JohnWilder, 1 18
ANOVA bidireccional, 123
terminología clave, 13
pruebas bidireccionales, 93, 95
percentiles, dieciséis
errores tipo 1, 103, 109, 113
desviación estándar y estimaciones relacionadas,
errores tipo 2, 103, 109
14-dieciséis
Índice | 341
ejemplo de adherencia de la web, 98-102, 118 X
Distribución de Weibull, 85 XGBoost, 272-274
media ponderada, 8 hiperparámetros, 281
fórmula para, 10 usar la regularización para evitar el sobreajuste,
mediana ponderada, 8, 11 274-279
regresión ponderada, 151, 159-161
ponderación
peso hacia arriba y hacia abajo, 232
Z
puntuaciones z, 69, 71, 203, 230, 239
usar para cambiar la función de pérdida en la clasificación
conversión de datos a distribución normal
ción, 233
y, 72
pesos de los componentes principales (ver carga‐
en estandarización de datos para KNN, 243
ings)
usar para escalar variables, 319
bigotes (en diagramas de caja), 21
gana 132
suma de cuadrados dentro del conglomerado (SS), 295
342 | Índice
Sobre los autores
Peter Bruce fundó y creció el Instituto de Educación en Estadística en Statistics.com, que ahora ofrece
alrededor de cien cursos en estadística, aproximadamente un tercio de los cuales están dirigidos al
científico de datos. Al contratar a los mejores autores como instructores y forjar una estrategia de
marketing para llegar a científicos de datos profesionales, Peter ha desarrollado tanto una visión
amplia del mercado objetivo como su propia experiencia para alcanzarlo.
Andrew Bruce tiene más de 30 años de experiencia en estadística y ciencia de datos en la academia,
el gobierno y las empresas. Tiene un doctorado en estadística de la Universidad de Washington y ha
publicado numerosos artículos en revistas especializadas. Ha desarrollado soluciones basadas en
estadísticas para una amplia gama de problemas que enfrentan una variedad de industrias, desde
firmas financieras establecidas hasta nuevas empresas de Internet, y ofrece una comprensión
profunda de la práctica de la ciencia de datos.
Peter Gedeck tiene más de 30 años de experiencia en informática científica y ciencia de datos.
Después de 20 años como químico computacional en Novartis, ahora trabaja como científico de
datos senior en Collaborative Drug Discovery. Se especializa en el desarrollo de algoritmos de
aprendizaje automático para predecir propiedades biológicas y fisicoquímicas de candidatos a
fármacos. Coautor deMinería de datos para análisis empresarial, obtuvo un doctorado en
química de la Universidad de Erlangen-Nürnberg en Alemania y estudió matemáticas en la
Fernuniversität Hagen, Alemania.
Colofón
El animal en la portada de Estadísticas prácticas para científicos de datos es un cangrejo de orilla
rayadoPachygrapsus crassipes), también conocido como cangrejo de orilla rayado. Se encuentra a lo
largo de las costas y playas del Océano Pacífico en América del Norte, América Central, Corea y Japón.
Estos crustáceos viven debajo de rocas, en charcas de marea y dentro de grietas. Pasan
aproximadamente la mitad de su tiempo en tierra y periódicamente regresan al agua para mojar sus
branquias.
El cangrejo de orilla rayado recibe su nombre de las rayas verdes de su caparazón marrón-negro. Tiene
garras rojas y patas moradas, que también tienen un patrón de rayas o moteado. El cangrejo generalmente
crece hasta alcanzar un tamaño de 3-5 centímetros; las hembras son un poco más pequeñas. Sus ojos están
en tallos flexibles que pueden rotar para darles un campo de visión completo mientras caminan.
Los cangrejos son omnívoros, se alimentan principalmente de algas, pero también de moluscos,
gusanos, hongos, animales muertos y otros crustáceos (según lo que esté disponible). Mudan muchas
veces a medida que crecen hasta la edad adulta, tomando agua para expandirse y romper su vieja
cáscara. Una vez logrado esto, pasan varias horas difíciles liberándose y luego deben esconderse
hasta que la nueva cáscara se endurezca.
Muchos de los animales de las portadas de O'Reilly están en peligro; todos ellos son importantes para el
mundo.
© 2019 O'Reilly Media, Inc. O'Reilly es una marca comercial registrada de O'Reilly Media, Inc. | 175