Teniendo en cuenta las observaciones de los comentarios, supongo que algo como lo siguiente es lo que está buscando:
import numpy as np
import matplotlib.pyplot as plt
def plot_exponential_density(mu, xmax, fmt, label):
x = np.arange(0, xmax, 0.1)
y = 1/mu * np.exp(-x/mu)
plt.plot(x, y, fmt, label=label)
def sample_and_plot(N, color):
# first sample N valus
samples = np.zeros((N,1))
for i in range(0,N):
samples[i] = np.random.exponential()
# determine the mean
mu = np.mean(samples)
print("N = %d ==> mu = %f" % (N, mu))
# plot a histogram of the samples
(n, bins) = np.histogram(samples, bins=int(np.sqrt(N)), density=True)
plt.step(bins[:-1], n, color=color, label="samples N = %d" % N)
xmax = max(bins)
# plot the density according to the estimated mean
plot_exponential_density(mu, xmax, color + "--", label="estimated density N = %d" % N)
return xmax
# sample 100 values, draw a histogram, and the density according to
# the estimated mean
xmax1 = sample_and_plot(100, 'r')
# do the same for 1000 samples
xmax2 = sample_and_plot(10000, 'b')
# finally plot the true density
plot_exponential_density(1, max(xmax1, xmax2), 'k', "true density")
# add a legend
plt.legend()
# and show the plot
plt.show()
Solía 100 y 10.000 muestras, ya que con 1.000 muestras de la estimación ya es bastante bueno Pero aún con solo 100 muestras, estoy algo sorprendido de cuán buena es la estimación de la media y, por lo tanto, de la densidad. Dado solo el histograma sin el conocimiento de que las muestras se extraen de una distribución exponencial, no estoy seguro de reconocer una distribución exponencial aquí ...
No creo entender. Tienes dos MLE. Eso es dos números. No hay mucha información que pueda obtener con un gráfico en lugar de solo mirar los números en sí. Alternativamente, puede calcular los MLE para un conjunto de tamaños de muestra y tamaño de diagrama frente a MLE. Luego, compáralo con el valor real. * Esto * podría ser mejor. – Avaris
Perdón por la confusión. Quiero trazar algo como esto: http://nipy.sourceforge.net/nitime/_images/ar_est_2vars_01.png. Quiero mostrar la densidad verdadera y mis versiones estimadas. –
Todavía hay confusión, pero creo que se trata de las matemáticas. Se supone que MLE te da una estimación para una * variable individual *, no una densidad. Pero para una distribución exponencial, puede usar la estimación de la media para obtener una * densidad estimada *, ya que existe una relación directa entre la media y el parámetro de densidad. ¿Es esto lo que estabas buscando? – Avaris