Distribución logística en NumPy

La distribución logística es una distribución de probabilidad continua que se utiliza en estadísticas y teoría de la probabilidad. Tiene dos parámetros principales: la media (μ) y la escala (s). La función de densidad de probabilidad (PDF) de la distribución logística se define de la siguiente manera:

f(x|μ, s) = (1 / s) * exp(-(x - μ) / s) / (1 + exp(-(x - μ) / s))^2

En esta lección, aprenderás a generar muestras aleatorias a partir de la distribución logística y a realizar algunas operaciones básicas con NumPy.


Importar NumPy

Primero, asegúrate de tener NumPy instalado e importa la biblioteca:

import numpy as np

Generar Muestras Aleatorias

Para generar muestras aleatorias a partir de la distribución logística, puedes usar la función numpy.random.logistic(). Esta función toma tres argumentos: la media (μ), la escala (s) y el tamaño de la muestra. Aquí hay un ejemplo:

# Definir los parámetros μ y s
      media = 0
      escala = 1

      # Generar una muestra de 1000 valores aleatorios
      muestras = np.random.logistic(media, escala, 1000)

En este ejemplo, estamos generando 1000 valores aleatorios a partir de una distribución logística con media 0 y escala 1.


Visualizar los Datos

Puedes utilizar bibliotecas como Matplotlib para visualizar los datos. Aquí hay un ejemplo simple:

import matplotlib.pyplot as plt

      # Crear un histograma de las muestras
      plt.hist(muestras, bins=30, density=True, alpha=0.6, color='b')

      # Añadir una línea para mostrar la PDF teórica
      x = np.linspace(min(muestras), max(muestras), 1000)
      pdf = (1 / escala) * np.exp(-(x - media) / escala) / (1 + np.exp(-(x - media) / escala))**2
      plt.plot(x, pdf, 'k-', linewidth=2)

      plt.xlabel('Valores')
      plt.ylabel('Densidad de Probabilidad')
      plt.title('Distribución Logística')
      plt.show()

Este código genera un histograma de las muestras aleatorias y superpone la función de densidad de probabilidad (PDF) teórica de la distribución logística.


Estadísticas Básicas

Puedes calcular estadísticas básicas, como la media y la desviación estándar, de las muestras:

media_muestras = np.mean(muestras)
      desviacion_estandar_muestras = np.std(muestras)

      print(f'Media de las muestras: {media_muestras}')
      print(f'Desviación estándar de las muestras: {desviacion_estandar_muestras}')

Esto te dará la media y la desviación estándar de las muestras generadas.