Saltar al contenido
Cosas Tecnológicas

Tipos de distribuciones de probabilidad que todo experto en ciencia de datos debería conocer

Tipos de distribuciones de probabilidad que todo experto en ciencia de datos debería conocer

La ciencia de datos se ha convertido en uno de los campos interdisciplinarios más populares. Utiliza métodos científicos, métodos, algoritmos y operaciones para obtener hechos y conocimientos a partir de conjuntos de datos estructurados, semiestructurados y no estructurados. La organización utiliza estos datos y conocimientos recopilados para una producción eficiente, el crecimiento empresarial y la previsión de las necesidades de los usuarios. La distribución de probabilidad juega un papel importante en la realización de análisis de datos, equipando el modelo de entrenamiento con un conjunto de datos. En este artículo, aprenderá sobre los tipos de distribuciones de probabilidad, variables aleatorias, distribuciones discretas y distribuciones continuas. 

¿Qué es una distribución de probabilidad? 

La distribución de probabilidad es un método estadístico que determina todos los valores y posibilidades posibles que una variable aleatoria puede pasar dentro de un cierto rango. Este rango de valores tendrá un límite inferior y un límite superior, que llamamos valores mínimos y máximos posibles. 

Los diversos factores sobre los que se extraen los valores son la desviación estándar, la media (o media), la asimetría y la curtosis. Todos estos también juegan un papel importante en la ciencia de datos. Podemos utilizar distribuciones de probabilidad en campos como la física, la ingeniería, las finanzas, el análisis de datos y el aprendizaje automático. 

El significado de la distribución de probabilidad en la ciencia de datos

Hasta cierto punto, la mayoría de las operaciones de ciencia de datos y aprendizaje automático se basan en varios supuestos sobre la probabilidad de los datos. La distribución de probabilidad permite a los analistas de datos expertos identificar y comprender patrones de grandes conjuntos de datos; es decir, de lo contrario, variables y valores completamente aleatorios. Por lo tanto, hace que la distribución de probabilidad sea un conjunto de herramientas para resumir grandes conjuntos de datos. Las funciones de densidad y las técnicas de distribución también pueden ayudar a mapear los datos, lo que permite a los analistas de datos visualizar los datos y extraer significado. 

Propiedades generales de la distribución de probabilidad

La distribución de probabilidad determina la probabilidad de cualquier resultado. La expresión matemática toma un valor específico de x y muestra la probabilidad de una variable aleatoria con p (x). Algunas propiedades generales de la distribución de probabilidad son: 

  1. La suma de todas las probabilidades para cualquier valor posible es igual a 1. 
  2. En una distribución de probabilidad, la probabilidad de encontrar cualquier valor o rango de valores en particular debe estar entre 0 y 1. 
  3. La distribución de probabilidad nos dice la dispersión de los valores de las variables aleatorias. Por tanto, el tipo de variable también ayuda a determinar el tipo de distribución de probabilidad.

Tipos de datos comunes

Antes de comenzar a explicar directamente las diferentes distribuciones de probabilidad, comprendamos primero los diferentes tipos de distribuciones de probabilidad o las principales categorías de distribuciones de probabilidad. Los analistas de datos y los ingenieros de datos deben manejar una amplia gama de datos, como texto, números, imágenes, audio, voz, etc. Cada uno de ellos tiene un método de representación y análisis específico. Los datos de la distribución de probabilidad pueden ser discretos o continuos. Los datos numéricos, en particular, adoptan una de dos formas. 

  • Datos discretos: En el caso de que los resultados de los datos permanezcan fijos, adoptan valores específicos. Por ejemplo, el resultado de lanzar dos dados o el número de rondas en un juego T-20. En el primer caso, el resultado está entre 2 y 12. En el segundo caso, el evento será menor a 20. Los diferentes tipos de distribuciones discretas que utilizan datos discretos son: 
    • Distribución binomial 
    • Distribución hipergeométrica 
    • Distribución geométrica 
    • Distribución de peces 
    • Distribución binomial negativa 
    • Distribución multinomial  
  • Datos continuos: Puede obtener cualquier valor sin restricción o restricción. Ejemplos: peso, altura, cualquier valor de función trigonométrica, edad, etc. Los diferentes tipos de distribuciones continuas que utilizan datos continuos son: 
    • Distribución beta 
    • Distribución de Cauchy 
    • distribución del índice 
    • Distribución gamma 
    • Logística 
    • Distribución de Weibull 

Explicación del tipo de distribución de probabilidad

A continuación, se muestran algunos tipos populares de distribuciones de probabilidad que utilizan los profesionales de la ciencia de datos. (Utilice Jupyter Notebook para probar todos los códigos) 

  • Distribución normal: También se le llama distribución gaussiana. Es uno de los tipos de distribución continua más simples. La distribución de probabilidad es simétrica alrededor de su valor medio. También muestra que los datos que están cerca del promedio a menudo aparecen en comparación con datos que están lejos del promedio.Aquí, media = 0, varianza = limitada

Aquí, puede ver que el 0 en el medio es una distribución normal con diferentes valores de media y varianza. 

Este es un ejemplo del código utilizado para mostrar la distribución normal: 

from scipy.stats import norm 
import matplotlib.pyplot as mpl 
import numpy as np 
def normalDist() -> None: 
    fig, ax = mpl.subplots(1, 1) 
    mean, var, skew, kurt = norm.stats(moments = 'mvsk') 
    x = np.linspace(norm.ppf(0.01),  norm.ppf(0.99), 100) 
    ax.plot(x, norm.pdf(x), 
        'r-', lw = 5, alpha = 0.6, label = 'norm pdf') 
    ax.plot(x, norm.cdf(x), 
        'b-', lw = 5, alpha = 0.6, label = 'norm cdf') 
    vals = norm.ppf([0.001, 0.5, 0.999]) 
    np.allclose([0.001, 0.5, 0.999], norm.cdf(vals)) 
    r = norm.rvs(size = 1000) 
    ax.hist(r, normed = True, histtype = 'stepfilled', alpha = 0.2) 
    ax.legend(loc = 'best', frameon = False) 
    mpl.show() 
normalDist()

Producción: 

  • Distribución de Bernoulli:Es el tipo más simple de distribución de probabilidad. Este es un caso especial de la distribución binomial, donde n = 1. Esto significa que la distribución binomial requiere ‘n’ ensayos, donde n> 1 y la distribución de Bernoulli requiere solo un ensayo.  

La función de masa de probabilidad de la distribución de Bernoulli es: 

Donde p = probabilidad de éxito, q = probabilidad de fracaso

Este es un ejemplo de código que muestra el uso de la distribución de Bernoulli: 

from scipy.stats import bernoulli 
import seaborn as sb 
 
def bernoulliDist(): 
    data_bern = bernoulli.rvs(size=1200, p = 0.7) 
    ax = sb.distplot( 
        data_bern,  
        kde = True,  
        color = 'g',  
        hist_kws = 'alpha' : 1, 
        kde_kws = 'color': 'y', 'lw': 3, 'label': 'KDE') 
    ax.set(xlabel = 'Bernouli Values', ylabel = 'Frequency Distribution') 
bernoulliDist() 

Producción:

  • Distribución continua y uniforme: En esta distribución continua, todos los resultados son igualmente posibles; como resultado, cada variable tiene la misma probabilidad de acierto. Esta distribución de probabilidad simétrica tiene variables aleatorias igualmente espaciadas con una probabilidad de 1 / (ba).

Aquí hay un ejemplo de código que muestra el uso de la distribución uniforme: 

from numpy import random 
import matplotlib.pyplot as mpl 
import seaborn as sb 
def uniformDist(): 
    sb.distplot(random.uniform(size = 1200), hist = True) 
    mpl.show() 

uniformDist() 

Producción: 

  • Distribución lognormal:La distribución logarítmica normal es otra distribución continua de valores logarítmicos que forma una distribución normal. Podemos convertir la distribución logarítmica normal en una distribución normal.

Este es un ejemplo de código que muestra el uso de la distribución lognormal

import matplotlib.pyplot as mpl 
def lognormalDist(): 
    muu, sig = 3, 1 
    s = np.random.lognormal(muu, sig, 1000) 
    cnt, bins, ignored = mpl.hist(s, 80, normed = True, align ='mid', color = 'y') 
    x = np.linspace(min(bins), max(bins), 10000) 
    calc = (np.exp( -(np.log(x) - muu) **2 / (2 * sig**2)) 
           / (x * sig * np.sqrt(2 * np.pi))) 
    mpl.plot(x, calc, linewidth = 2.5, color = 'g') 
    mpl.axis('tight') 
    mpl.show() 
lognormalDist()

Producción: 

  • Distribución de Pareto:Es uno de los tipos más críticos de distribución continua. La distribución de Pareto es una distribución estadística sesgada que utiliza leyes de poder para describir el control de calidad, la ciencia, la sociedad, la geofísica, actuarial y muchos otros tipos de fenómenos observables. Esta distribución muestra una cola lenta o severamente deteriorada en el gráfico, con la mayoría de los datos al final.

Este es un ejemplo de código que muestra el uso de la distribución de Pareto—— 

import numpy as np 
from matplotlib import pyplot as plt 
from scipy.stats import pareto 
def paretoDist(): 
    xm = 1.5   
    alp = [2, 4, 6]  
    x = np.linspace(0, 4, 800) 
    output = np.array([pareto.pdf(x, scale = xm, b = a) for a in alp]) 
    plt.plot(x, output.T) 
    plt.show() 
paretoDist()

Producción:

  • distribución del índice:Es una distribución continua que se utiliza para determinar el tiempo transcurrido entre eventos (en un proceso de Poisson). Supongamos que tiene un modelo de distribución de Poisson que contiene el número de eventos que ocurrieron en un período de tiempo determinado. Podemos usar la distribución exponencial para modelar el tiempo entre cada nacimiento.

Este es un ejemplo de código que muestra el uso de la distribución de Pareto—— 

from numpy import random 
import matplotlib.pyplot as mpl 
import seaborn as sb 
def expDist(): 
    sb.distplot(random.exponential(size = 1200), hist = True) 
    mpl.show() 
 expDist()

Producción:

Tipos de distribución de probabilidad discreta 

Los entusiastas de la ciencia de datos deben comprender varios tipos de distribuciones de probabilidad discretas. Algunos de ellos son- 

  • Distribución binomial:Es una distribución discreta popular, que determina la probabilidad de éxito de x en “n” ensayos. En los casos en los que queramos extraer la probabilidad de éxito o fracaso de experimentos o investigaciones repetidos, podemos utilizar la distribución binomial. La distribución binomial contiene un número fijo de ensayos. Además, los eventos binomiales deben ser independientes y la probabilidad de obtener éxito o fracaso debe permanecer sin cambios. 

Este es un ejemplo de código que muestra el uso de la distribución binomial: 

from numpy import random 
import matplotlib.pyplot as mpl 
import seaborn as sb 
 
def binomialDist(): 
    sb.distplot(random.normal(loc = 50, scale = 6, size = 1200), hist = False, label = 'normal') 
    sb.distplot(random.binomial(n = 100, p = 0.6, size = 1200), hist = False, label = 'binomial') 
    plt.show() 
 
binomialDist() 

Producción:

  • Distribución geométrica:La distribución de probabilidad geométrica es uno de los tipos clave de distribución continua, se determina que tiene la probabilidad “p” yOcurrirá (ocurrirá) después de “n” ensayos de Bernoulli. Here’n ‘es una variable aleatoria discreta. En esta distribución, el experimento continúa hasta que encontramos éxito o fracaso. El experimento no depende del número de ensayos.

Este es un ejemplo de código que muestra el uso de la distribución geométrica: 

import matplotlib.pyplot as mpl 
def probability_to_occur_at(attempt, probability): 
    return (1-p)**(attempt - 1) * probability 
p = 0.3 
attempt = 4 
attempts_to_show = range(21)[1:] 
print('Possibility that this event will occur on the 7th try: ', probability_to_occur_at(attempt, p)) 
mpl.xlabel('Number of Trials') 
mpl.ylabel('Probability of the Event') 
barlist = mpl.bar(attempts_to_show, height=[probability_to_occur_at(x, p) for x in attempts_to_show], tick_label=attempts_to_show) 
barlist[attempt].set_color('g') 
mpl.show()

Producción:

  • Distribución de peces: La distribución de Poisson es un tipo popular de distribución discreta, que muestra la cantidad de veces que un evento puede ocurrir en un tiempo específico. Podemos obtener esto restringiendo la distribución de Bernoulli de 0 a infinito. Los analistas de datos suelen utilizar la distribución de Poisson para comprender los eventos independientes que ocurren a un ritmo constante dentro de un intervalo de tiempo determinado.

Este es un ejemplo de código que muestra el uso de la distribución de Poisson 

from scipy.stats import poisson 
import seaborn as sb 
import numpy as np 
import matplotlib.pyplot as mpl 
def poissonDist():  
    mpl.figure(figsize = (10, 10)) 
    data_binom = poisson.rvs(mu = 3, size = 5000) 
    ax = sb.distplot(data_binom, kde=True, color = 'g',  
                    bins=np.arange(data_binom.min(), data_binom.max() + 1),  
                    kde_kws='color': 'y', 'lw': 4, 'label': 'KDE') 
    ax.set(xlabel = 'Poisson Distribution', ylabel='Data Frequency') 
    mpl.show()     
poissonDist()

Producción:

  • Distribución multinomial:La distribución multinomial es otro tipo popular de distribución de probabilidad discreta que calcula el resultado de eventos con dos o más variables. Más términos significan más de uno. La distribución binomial es un tipo especial de distribución multinomial con dos posibles resultados: verdadero / falso o positivo / negativo.

Este es un ejemplo de código que muestra el uso de múltiples distribuciones:

import numpy as np 
import matplotlib.pyplot as mpl 
np.random.seed(99)  
n = 12                     
pvalue = [0.3, 0.46, 0.22]    
s = [] 
p = []    
for size in np.logspace(2, 3): 
    outcomes = np.random.multinomial(n, pvalue, size=int(size)) 
 
    prob = sum((outcomes[:,0] == 7) & (outcomes[:,1] == 2) & (outcomes[:,2] == 3))/len(outcomes) 
    p.append(prob) 
    s.append(int(size)) 
fig1 = mpl.figure() 
mpl.plot(s, p, 'o-') 
mpl.plot(s, [0.0248]*len(s), '--r') 
mpl.grid() 
mpl.xlim(xmin = 0) 
mpl.xlabel('Number of Events') 
mpl.ylabel('Function p(X = K)') 

Producción:

  • Distribución binomial negativa: También es una distribución de probabilidad discreta de variables aleatorias con eventos binomiales negativos. También se llama distribución Pascal, donde la variable aleatoria nos dice el número de ensayos repetidos en un cierto número de experimentos. 

Este es un ejemplo de código que muestra el uso de una distribución binomial negativa:

import matplotlib.pyplot as mpl  
import numpy as np  
from scipy.stats import nbinom 
 
x = np.linspace(0, 6, 70)  
gr, kr = 0.3, 0.7       
g = nbinom.ppf(x, gr, kr)  
s = nbinom.pmf(x, gr, kr)  
mpl.plot(x, g, "*", x, s, "r--") 

Producción: 

Además de estos tipos de distribución mencionados, existen otros tipos de distribuciones de probabilidad que los profesionales de la ciencia de datos pueden utilizar para extraer conjuntos de datos fiables. En el siguiente tema, entenderemos algunas de las interrelaciones y relaciones entre varios tipos de distribuciones de probabilidad. 

La relación entre varias distribuciones de probabilidad: 

Sorprendentemente, los diferentes tipos de distribuciones de probabilidad están interrelacionados. En la figura siguiente, la línea punteada muestra la conexión limitada entre las dos familias de distribución, mientras que la línea continua muestra la relación exacta entre ellas en términos de conversión, variables, tipos, etc. 

en conclusión 

Las distribuciones de probabilidad son comunes entre los analistas de datos y los profesionales de la ciencia de datos porque se utilizan ampliamente. Hoy en día, las empresas y empresas emplean profesionales de la ciencia de datos en muchos campos, a saber, informática, salud, seguros, ingeniería e incluso ciencias sociales, donde la distribución de probabilidad se utiliza como herramienta básica para las aplicaciones. Es esencial para analistas de datos y científicos de datos. Comprende el núcleo de las estadísticas. Las distribuciones de probabilidad juegan un papel necesario en el análisis de datos y conjuntos de datos de cocción para entrenar algoritmos de manera efectiva. Si desea obtener más información sobre la ciencia de datos, especialmente las distribuciones de probabilidad y sus usos, consulte el curso completo de ciencia de datos de KnowledgeHut https://www.knowledgehut.com/data-science-courses.