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.