Meta tags:
description= Aprende la distribución normal (gaussiana) en Python: PDF, CDF, puntuaciones Z, regla empírica, pruebas de normalidad y cuándo usar transformaciones…;
Headings (most frequently used words):
distribución, la, de, normal, datos, qué, con, pdf, cdf, puntuaciones, los, son, importa, función, cuándo, prueba, es, regla, empírica, 68, 95, 99, generar, usando, numpy, evaluar, scipy, estandarizar, comprobar, si, tienen, cuando, no, normales, transformación, logarítmica, por, en, el, aprendizaje, automático, resumen, densidad, probabilidad, acumulada, útiles, las, shapiro, wilk, normalidad,
Text of the page (most frequently used words):
python (58), distribución (48), #normal (42), los (40), una (38), datos (30), con (26), que (24), pdf (23), media (22), print (22), stats (21), para (20), estándar (18), copiar (18), valores (17), scipy (16), aprender (15), más (15), matplotlib (14), son (13), cdf (13), shapiro (13), las (13), sigma (13), sample (13), std (13), mysql (13), numpy (12), probabilidad (12), mongodb (12), valor (11), mean (11), elementos (11), por (10), puntuaciones (10), regla (10), desviaciones (10), rng (10), import (10), scale (10), qué (9), transformación (9), desviación (9), normalidad (9), loc (9), 180 (9), normales (8), empírica (8), norm (8), prueba (8), salida (8), size (8), listas (8), html (7), aproximadamente (7), random (7), default_rng (7), forma (7), puntuación (7), tuplas (7), logarítmica (6), características (6), campana (6), regresión (6), log (6), 000 (6), reject (6), normality (6), scores (6), heights (6), height (6), 100 (6), samples (6), within (6), expected (6), eliminar (6), métodos (6), w3docs (5), importa (5), aprendizaje (5), automático (5), tienen (5), muestras (5), dentro (5), está (5), como (5), muestra (5), tiene (5), incomes (5), seed (5), from (5), significa (5), dos (5), 160 (5), función (5), archivos (5), string (5), strings (5), crear (5), primeros (5), pasos (5), tutorial (5), variables (5), lista (5), formatter (5), color (5), todos (4), json (4), generator (4), cuando (4), evaluar (4), generar (4), dispersión (4), consulta (4), cómo (4), sesgo (4), usa (4), algoritmos (4), atípicos (4), curva (4), simétrica (4), cuándo (4), modelos (4), lineal (4), del (4), pruebas (4), conjunto (4), wilk (4), transform (4), skewness (4), cada (4), ver (4), 185 (4), densidad (4), números (4), data (4), diccionarios (4), acceder (4), code (3), encoder (3), editor (3), cuestionarios (3), ejercicios (3), php (3), javascript (3), css (3), comprobar (3), usando (3), capítulo (3), saber (3), centro (3), mediana (3), moda (3), hace (3), pero (3), detección (3), escalado (3), sobre (3), residuos (3), esto (3), intervalos (3), todas (3), casi (3), log_incomes (3), 1000 (3), gaussiana (3), skewed (3), cannot (3), else (3), p_s (3), p_n (3), igual (3), superior (3), comparar (3), encima (3), ddof (3), for (3), también (3), llamada (3), rango (3), probability (3), and (3), pico (3), resultados (3), max (3), min (3), abs (3), base (3), cadenas (3), recorrer (3), unir (3), tools (3), italiano (2), português (2), español (2), français (2), русский (2), deutsch (2), english (2), beautifier (2), diff (2), password (2), herramientas (2), try (2), java (2), git (2), libros (2), fragmentos (2), desde (2), resumen (2), estandarizar (2), this (2), page (2), diagrama (2), comparación (2), tipos (2), derecha (2), menudo (2), muchos (2), escala (2), común (2), encuentran (2), definida (2), asume (2), suposición (2), falla (2), evitar (2), allá (2), funciones (2), inicialización (2), pesos (2), distribuciones (2), redes (2), neuronales (2), análisis (2), aleatoria (2), independientemente (2), confianza (2), izquierda (2), sean (2), cero (2), 940 (2), after (2), before (2), p_after (2), sk_after (2), p_before (2), sk_before (2), skew (2), simulate (2), normally (2), distributed (2), ejemplo (2), resultado (2), solo (2), árboles (2), decisión (2), aleatorios (2), respecto (2), 730 (2), stat_s (2), skewed_sample (2), exponential (2), stat_n (2), normal_sample (2), hay (2), indica (2), aplicar (2), verifica (2), matemáticas (2), necesario (2), vecinos (2), cercanos (2), 183 (2), sitúa (2), manual (2), round (2), z_scipy (2), z_manual (2), the (2), standard (2), 171 (2), observaciones (2), p_range (2), p_above_185 (2), than (2), p_below_180 (2), prácticas (2), acumulada (2), 0540 (2), 2420 (2), x_values (2), porque (2), usar (2), cerca (2), parámetros (2), útil (2), fórmula (2), verificarla (2), handling (2), clases (2), limit (2), colección (2), delete (2), ordenar (2), cuadrícula (2), introducción (2), bucles (2), conjuntos (2), set (2), sets (2), cambiar (2), agregar (2), hash (2), 2026, derechos, reservados, hecho, desarrolladores, idioma, política, privacidad, contacto, acerca, empresa, práctica, tutoriales, ejemplos, gratuitos, web, 2014, next, previous, yes, was, helpful, amplia, uniforme, sesgada, multimodal, medir, probar, formalmente, recuerda, modernos, requieren, estandarizan, esenciales, probabilidades, establece, alrededor, comprender, dónde, esa, ayuda, errores, silenciosos, modelado, dominios, marcan, anomalías, familia, probabilísticos, colocan, utilizada, optimización, bayesiana, cuantificación, incertidumbre, procesos, gaussianos, esquemas, xavier, extraen, iniciales, desvanecimiento, explosión, gradientes, bien, ajustada, deben, ser, indican, mala, especificación, modelo, grande, original, sustenta, hipótesis, métricas, teorema, límite, central, aparece, partes, implícita, aplica, siempre, misma, tanto, entrenamiento, nuevos, momento, inferencia, cola, larga, hacia, cuadrada, reflexión, lugar, requiere, estrictamente, positivos, contienen, ceros, uno, consideraciones, importantes, tras, cae, sube, transformados, superan, fácilmente, stat_after, stat_before, lognormal, realistic, pattern, remedio, habitual, sesgados, ingresos, precios, viviendas, montos, transacciones, comprime, grandes, amplía, pequeños, suele, aproximarse, derivados, predicción, modela, explícitamente, característica, naive, bayes, gaussiano, clase, discriminante, lda, anova, correlación, pearson, estas, válidos, estadísticas, paramétricas, necesitan, basados, bosques, gradient, boosting, completamente, agnósticos, supera, facilidad, decisiva, 808, 984, distribution, devuelve, estadístico, suficiente, evidencia, rechazar, probablemente, inferior, antes, asuman, enfoques, comunes, hasta, inspección, visual, rápida, deseas, estudiante, lectura, ofrecen, justa, cosas, dispares, convertir, varianza, unitaria, llama, sensibles, magnitud, svm, aplicarlo, scikit, learn, standardscaler, estandarización, certeza, útiles, persona, altura, población, zscore, use, directly, deviation, calculate, manually, 179, 173, 164, 176, 168, array, permiten, diferentes, medias, unidades, originales, mide, cuántas, aleja, tercer, confirma, contiene, 6827, 0668, 8413, falling, between, being, taller, that, randomly, chosen, person, shorter, adult, 170, observación, extraída, aleatoriamente, sea, responder, preguntas, menor, máximo, obtener, integrar, 3989, relativa, alto, ocurrir, pasar, reproducibles, cualquiera, ejecute, mismo, código, obtiene, mismos, cual, esencial, depurar, compartir, interfaz, introducida, preferible, antigua, evita, estado, global, compartido, semilla, están, exactamente, finita, variación, natural, estimaciones, convergen, verdaderos, 138, len, generador, produce, aproximan, método, acepta, número, inmediatamente, examen, encuentra, 10000, siguiente, simula, tres, genuinamente, raros, 370, porcentaje, propiedades, esta, mano, encarga, ello, depende, únicamente, 2σ², dado, iguales, perfectamente, tan, ancha, estrecha, mayor, dispersa, lejos, donde, describe, aparezca, continua, hacer, calcular, interpretar, este, cubre, importante, estadística, comprenderla, profundidad, reconocer, sino, medirla, trabajar, ella, brinda, sólida, preparación, selección, interpretación, aprende, transformaciones, logarítmicas, peticiones, http, pytest, paquetes, entornos, virtuales, tooling, best, practices, threading, asyncio, concurrency, csv, sys, itertools, collections, lanzar, excepciones, error, library, sumar, invertir, duplicados, how, enumeraciones, abstractas, encapsulamiento, polimorfismo, dataclasses, static, classmethod, property, mágicos, advanced, oop, sentencia, match, enumerate, zip, map, comprensiones, gestores, contexto, recursión, closures, generadores, decoradores, args, kwargs, sugerencias, tipo, intermediate, actualización, find, insertar, join, update, drop, table, order, where, select, insert, tabla, auc, roc, validación, cruzada, agregación, bootstrap, means, categóricos, búsqueda, logística, agrupamiento, jerárquico, matriz, confusión, árbol, train, test, escalar, múltiple, polinomial, percentil, machine, learning, gráficos, pastel, histogramas, barras, subplot, etiquetas, líneas, marcadores, trazado, pyplot, django, pandas, modules, escribir, leer, manejo, file, formateo, entrada, usuario, except, pip, regex, fechas, módulos, ámbito, iteradores, herencia, objetos, arrays, lambda, while, operadores, booleanos, casting, comentarios, sintaxis, nombres, actualizar, desempaquetar, tupla, segmentación, home, anidados, modificar, iterar, comprensión, globales, formato, caracteres, escape, diccionario, concatenar, asignar, múltiples, añadir, iniciar, sesión, buscar, formatters, url, reverse, sha256, md5, length, calculator, colors, hsl, hex, mixer, converter, picker, general, cursos, guía,
Text of the page (random words):
sets recorrer tuplas modificar strings diccionarios anidados variables de salida python home listas de python conjuntos en python python strings tuplas en python variables en python eliminar elementos eliminar elementos de una lista eliminar elementos de un set métodos de conjuntos segmentación de cadenas ordenar listas métodos de string métodos de tupla desempaquetar tuplas actualizar tuplas nombres de variables introducción a python primeros pasos con python sintaxis de python comentarios en python variables en python tipos de datos en python números en python casting en python strings de python booleanos en python operadores de python listas de python tuplas de python diccionarios en python python if else bucles while en python bucles for en python funciones en python python lambda arrays en python clases y objetos en python herencia en python iteradores de python ámbito en python módulos de python fechas en python matemáticas en python python json python regex python pip python try except entrada de usuario en python formateo de cadenas en python file handling manejo de archivos en python leer archivos en python escribir crear archivos en python eliminar archivos en python python modules tutorial de numpy tutorial de pandas tutorial de scipy tutorial de django python matplotlib introducción a matplotlib primeros pasos con matplotlib matplotlib pyplot trazado con matplotlib marcadores de matplotlib líneas en matplotlib etiquetas en matplotlib cuadrícula de matplotlib subplot de matplotlib dispersión en matplotlib barras en matplotlib histogramas con matplotlib gráficos de pastel con matplotlib machine learning primeros pasos media mediana moda desviación estándar percentil distribución de datos distribución normal de datos diagrama de dispersión regresión lineal regresión polinomial regresión múltiple escalar train test árbol de decisión matriz de confusión agrupamiento jerárquico regresión logística búsqueda en cuadrícula datos categóricos k means agregación bootstrap validación cruzada curva auc roc k vecinos más cercanos python mysql primeros pasos con mysql mysql crear base de datos mysql crear tabla mysql insert mysql select mysql where mysql order by mysql delete mysql drop table mysql update mysql limit mysql join python mongodb primeros pasos con mongodb crear base de datos mongodb mongodb crear colección insertar en mongodb mongodb find consulta mongodb ordenar en mongodb mongodb delete eliminar colección en mongodb actualización en mongodb mongodb limit intermediate python f strings sugerencias de tipo args kwargs decoradores generadores closures recursión gestores de contexto comprensiones enumerate zip map sentencia match advanced oop métodos mágicos property static y classmethod dataclasses polimorfismo encapsulamiento clases abstractas enumeraciones python how to eliminar duplicados en listas invertir un string sumar dos números error handling and the standard library lanzar excepciones collections itertools os sys random archivos csv concurrency in python asyncio threading python tooling and best practices entornos virtuales paquetes pytest peticiones http distribución normal de datos aprende la distribución normal gaussiana en python pdf cdf puntuaciones z regla empírica pruebas de normalidad y cuándo usar transformaciones logarítmicas la distribución normal también llamada distribución gaussiana es la distribución de probabilidad más importante en estadística y aprendizaje automático comprenderla en profundidad no solo reconocer su forma de campana sino saber cómo medirla verificarla y trabajar con ella en python te brinda una base sólida para la preparación de datos la selección de modelos y la interpretación de resultados este capítulo cubre qué es la distribución normal y por qué importa su forma la regla empírica 68 95 99 7 y cómo verificarla generar datos con distribución normal usando numpy evaluar la función de densidad de probabilidad pdf y la función de distribución acumulada cdf con scipy calcular e interpretar puntuaciones z comprobar si los datos tienen distribución normal qué hacer cuando los datos no son normales qué es la distribución normal una distribución de probabilidad describe la probabilidad de que cada valor de un conjunto de datos aparezca la distribución normal es una distribución continua simétrica y en forma de campana definida por dos parámetros media μ el centro de la campana donde se sitúa el pico desviación estándar σ qué tan ancha o estrecha es la campana un σ mayor dispersa los valores más lejos del centro dado que la curva es simétrica respecto a la media la media la mediana y la moda son todas iguales en una distribución perfectamente normal la fórmula de la función de densidad de probabilidad es f x 1 σ 2π e x μ ² 2σ² copiar no es necesario aplicar esta fórmula a mano stats norm de scipy se encarga de ello pero es útil saber que la forma depende únicamente de μ y σ la regla empírica 68 95 99 7 una de las propiedades más prácticas de la distribución normal es la regla empírica también llamada regla 68 95 99 7 rango desde la media porcentaje de valores dentro de 1 desviación estándar 68 dentro de 2 desviaciones estándar 95 dentro de 3 desviaciones estándar 99 7 esto significa que en un conjunto de datos con distribución normal casi todos los valores se encuentran dentro de tres desviaciones estándar de la media los valores más allá de 3σ son genuinamente raros aproximadamente 1 de cada 370 observaciones el siguiente ejemplo simula 10 000 valores de una distribución normal estándar μ 0 σ 1 y verifica la regla import numpy as np rng np random default_rng seed 42 mu sigma 0 1 data rng normal loc mu scale sigma size 10000 w1 np mean np abs data mu 1 sigma 100 w2 np mean np abs data mu 2 sigma 100 w3 np mean np abs data mu 3 sigma 100 print f within 1 std w1 1f expected 68 print f within 2 std w2 1f expected 95 print f within 3 std w3 1f expected 99 7 copiar salida within 1 std 67 8 expected 68 within 2 std 95 4 expected 95 within 3 std 99 7 expected 99 7 copiar la regla empírica es inmediatamente útil si una puntuación de un examen está más de dos desviaciones estándar por encima de la media se encuentra en el 2 5 superior de todas las puntuaciones generar datos con distribución normal usando numpy el generador de números aleatorios de numpy produce muestras que aproximan una distribución normal el método rng normal acepta la media loc la desviación estándar scale y el número de muestras size import numpy as np rng np random default_rng seed 7 simulate iq scores mean 100 std 15 samples rng normal loc 100 scale 15 size 1000 print f sample mean samples mean 1f print f sample std samples std 1f print f min samples min 1f print f max samples max 1f print f sample size len samples copiar salida sample mean 98 9 sample std 14 1 min 51 2 max 138 6 sample size 1000 copiar la media y la desviación estándar de la muestra están cerca pero no exactamente de 100 y 15 porque una muestra finita tiene variación aleatoria natural con 10 000 muestras las estimaciones convergen más cerca de los parámetros verdaderos por qué usar una semilla pasar seed 7 a default_rng hace que los resultados sean reproducibles cualquiera que ejecute el mismo código obtiene los mismos números lo cual es esencial para depurar y compartir resultados la interfaz default_rng introducida en numpy 1 17 es preferible a la antigua np random normal porque evita el estado global compartido evaluar la pdf y la cdf con scipy función de densidad de probabilidad pdf la pdf indica la probabilidad relativa de un valor un valor de pdf más alto en x significa que x tiene más probabilidad de ocurrir para una distribución normal el pico está en la media from scipy import stats mu sigma 0 1 x_values 2 1 0 1 2 for x in x_values pdf stats norm pdf x loc mu scale sigma print f pdf x 2d pdf 4f copiar salida pdf 2 0 0540 pdf 1 0 2420 pdf 0 0 3989 pdf 1 0 2420 pdf 2 0 0540 copiar la pdf es simétrica pdf 1 es igual a pdf 1 y pdf 0 es el máximo el pico de la curva en campana el valor de la pdf en sí no es una probabilidad es una densidad para obtener una probabilidad hay que integrar la pdf en un rango que es lo que hace la cdf función de distribución acumulada cdf la cdf en un valor x da la probabilidad de que una observación extraída aleatoriamente sea menor o igual a x usa stats norm cdf para responder preguntas prácticas de probabilidad from scipy import stats mu sigma 170 10 adult heights in cm probability that a randomly chosen person is shorter than 180 cm p_below_180 stats norm cdf 180 loc mu scale sigma print f p height 180 cm p_below_180 4f probability of being taller than 185 cm p_above_185 1 stats norm cdf 185 loc mu scale sigma print f p height 185 cm p_above_185 4f probability of falling between 160 cm and 180 cm p_range stats norm cdf 180 loc mu scale sigma stats norm cdf 160 loc mu scale sigma print f p 160 height 180 cm p_range 4f copiar salida p height 180 cm 0 8413 p height 185 cm 0 0668 p 160 height 180 cm 0 6827 copiar el tercer resultado confirma la regla empírica el rango μ σ 160 180 cm contiene aproximadamente el 68 de las observaciones puntuaciones z estandarizar la distribución una puntuación z también llamada puntuación estándar mide cuántas desviaciones estándar se aleja un valor de la media z x μ σ copiar las puntuaciones z permiten comparar valores de distribuciones con diferentes medias y desviaciones estándar en una escala común una puntuación z de 2 0 significa que un valor está dos desviaciones estándar por encima de la media independientemente de las unidades originales import numpy as np from scipy import stats heights np array 171 3 168 7 176 4 171 0 164 6 173 6 183 0 179 5 calculate z scores manually mean heights mean std heights std ddof 1 ddof 1 for the sample standard deviation z_manual heights mean std print z scores manual np round z_manual 2 or use scipy directly z_scipy stats zscore heights ddof 1 print z scores scipy np round z_scipy 2 copiar salida z scores manual 0 37 0 81 0 49 0 42 1 5 0 01 1 59 1 01 z scores scipy 0 37 0 81 0 49 0 42 1 5 0 01 1 59 1 01 copiar una persona con una altura de 183 0 cm tiene una puntuación z de 1 59 lo que significa que está 1 59 desviaciones estándar por encima de la media en una distribución normal esto la sitúa aproximadamente en el 6 superior de la población cuándo son útiles las puntuaciones z detección de valores atípicos los valores con z 3 son casi con certeza valores atípicos en una distribución normal escalado de características convertir características a puntuaciones z media cero varianza unitaria se llama estandarización y es necesario para algoritmos sensibles a la magnitud de las características como svm y k vecinos más cercanos consulta el capítulo de escalado de características para ver cómo aplicarlo con standardscaler de scikit learn comparar cosas dispares si deseas comparar la puntuación de matemáticas de un estudiante media 70 desviación 10 con su puntuación de lectura media 50 desviación 5 las puntuaciones z ofrecen una comparación justa comprobar si los datos tienen distribución normal antes de aplicar algoritmos que asuman normalidad verifica la suposición los dos enfoques más comunes son la prueba de shapiro wilk para muestras de hasta 5 000 y una inspección visual rápida prueba de shapiro wilk la prueba de shapiro wilk devuelve un estadístico w y un valor p un valor p superior a 0 05 significa que no hay suficiente evidencia para rechazar la normalidad un valor p igual o inferior a 0 05 indica que los datos probablemente no son normales import numpy as np from scipy import stats rng np random default_rng seed 42 normally distributed sample normal_sample rng normal loc 0 scale 1 size 50 stat_n p_n stats shapiro normal_sample print f normal sample w stat_n 3f p p_n 3f if p_n 0 05 print cannot reject normality else print reject normality skewed sample exponential distribution skewed_sample rng exponential scale 1 size 50 stat_s p_s stats shapiro skewed_sample print f skewed sample w stat_s 3f p p_s 3f if p_s 0 05 print cannot reject normality else print reject normality copiar salida normal sample w 0 984 p 0 730 cannot reject normality skewed sample w 0 808 p 0 000 reject normality copiar la muestra normal supera la prueba con facilidad p 0 730 la muestra con sesgo falla de forma decisiva p 0 cuándo importa la prueba de normalidad no todos los algoritmos necesitan características con distribución normal los modelos basados en árboles árboles de decisión bosques aleatorios gradient boosting y las redes neuronales son completamente agnósticos respecto a la distribución la normalidad importa más para pruebas estadísticas paramétricas prueba t anova correlación de pearson los valores p de estas pruebas solo son válidos si los datos son aproximadamente normales análisis discriminante lineal lda asume que cada clase tiene distribución normal naive bayes gaussiano modela explícitamente cada característica como una distribución gaussiana intervalos de confianza e intervalos de predicción en regresión lineal derivados de la normalidad de los residuos cuando los datos no son normales transformación logarítmica un remedio habitual para los datos sesgados a la derecha por ejemplo ingresos precios de viviendas montos de transacciones es la transformación logarítmica que comprime los valores grandes y amplía los pequeños el resultado suele aproximarse a la normalidad import numpy as np from scipy import stats rng np random default_rng seed 7 simulate log normally distributed incomes a realistic pattern incomes rng lognormal mean 10 5 sigma 0 5 size 1000 log_incomes np log incomes sk_before stats skew incomes sk_after stats skew log_incomes stat_before p_before stats shapiro incomes 50 stat_after p_after stats shapiro log_incomes 50 print f before transform skewness sk_before 2f shapiro p p_before 3f print f after log transform skewness sk_after 2f shapiro p p_after 3f copiar salida before transform skewness 1 44 shapiro p 0 000 after log transform skewness 0 01 shapiro p 0 940 copiar tras la transformación logarítmica el sesgo cae de 1 44 a casi cero y el valor p de shapiro wilk sube de 0 000 a 0 940 los datos transformados superan fácilmente la prueba de normalidad consideraciones importantes la transformación logarítmica requiere que todos los valores sean estrictamente positivos si los datos contienen ceros usa np log x 1 transformación log más uno si los datos tienen un sesgo a la izquierda cola larga hacia la izquierda prueba una transformación cuadrada o de reflexión en su lugar aplica siempre la misma transformación tanto al conjunto de entrenamiento como a los nuevos datos en el momento de la inferencia por qué la distribución normal importa en el aprendizaje automático la distribución normal aparece en todas partes del aprendizaje automático a menudo de forma implícita teorema del límite central la media de una muestra aleatoria grande tiene distribución aproximadamente normal independientemente de la distribución original esto s...
|