Distribución Rayleigh en NumPy

La Distribución Rayleigh es una distribución de probabilidad que se utiliza comúnmente en estadísticas y teoría de probabilidad para modelar valores de magnitud de variables aleatorias. Es especialmente útil en situaciones donde se tratan valores no negativos, como la amplitud de señales, la velocidad del viento, la intensidad de luz, entre otros.


Importar NumPy y Matplotlib

Importar NumPy y Matplotlib Primero, asegúrate de tener NumPy instalado. Si aún no lo tienes instalado, puedes hacerlo usando pip:

pip install numpy

Luego, importa NumPy y Matplotlib para generar gráficos.

import numpy as np
import matplotlib.pyplot as plt

Generar datos de la Distribución Rayleigh en NumPy

Para generar datos que sigan una Distribución Rayleigh en NumPy, puedes utilizar la función numpy.random.rayleigh. Esta función toma dos parámetros: la escala y el tamaño de la muestra. La escala (scale) es un parámetro que ajusta la forma de la distribución.

scale = 1.0  # Parámetro de escala
size = 1000  # Tamaño de la muestra

rayleigh_data = np.random.rayleigh(scale, size)

Visualizar la Distribución Rayleigh en NumPy

Puedes usar Matplotlib para crear un histograma que muestre la Distribución Rayleigh generada. Esto te dará una idea de la forma de la distribución.

plt.hist(rayleigh_data, bins=30, density=True, alpha=0.6, color='b', edgecolor='k')
plt.title('Distribución Rayleigh')
plt.xlabel('Valores')
plt.ylabel('Densidad de Probabilidad')
plt.show()

En este ejemplo, hemos utilizado 30 contenedores (bins=30) para crear el histograma. Ajusta este valor según tus necesidades.


Ajuste de la Distribución Rayleigh en NumPy

Si deseas ajustar una Distribución Rayleigh a tus datos observados, puedes usar SciPy, que proporciona herramientas para el ajuste de distribuciones. Por ejemplo, puedes usar scipy.stats.rayleigh.fit para estimar los parámetros de forma y escala.

from scipy.stats import rayleigh

shape, loc, scale = rayleigh.fit(rayleigh_data)
print(f"Parámetro de forma (shape): {shape}")
print(f"Parámetro de escala (scale): {scale}")

Este código ajusta una Distribución Rayleigh a los datos generados y devuelve los parámetros de forma y escala estimados.