Skip to content

Distribución Muestral

Published: at 12:00 AM

Simulación de la distribución de muestreo

Construimos una simulación de la distribución de muestreo, siguiendo el ejemplo del libro de Contento (aunque aquí en Python, no en R).

Ojo: recuerde que los bloques de la estructrua for requieren que las instrucciones tengan la misma sangría y estén en el mismo bloque de código. Y se recomienda agrupar instrucciones que tengan funcionalidad similar por bloques.

Incluimos las librerías e iniciamos la semilla del generador:

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(3)

Ingresamos los parámetros, tanto de la distribución que vamos a estudiar, como nn, tamaño de muestras y kk, número de muestras.

miu = 10
sigma = 3

n = 3
k = 4

Generamos arreglos donde guardar promedios X\overline{X} y muestras Xi{X_i}

promedios = np.zeros(k)
mat = np.zeros((k,n))  # Arreglo de k vectores cada uno de tamaño n

Aquí recomendamos imprimir las variables promedios y mat, para que veámos cómo es su estructura. ¡hágalo!

El bloque que genera las muestras, calcula los promedios y los guarda es el siguiente:

for i in range(k):
    muestra = np.random.normal(miu,sigma,n)
    mat[i] = muestra
    promedios[i] = np.mean(muestra)

De nuevo, imprima las variables promediosy mat para que vea cómo se llenaron.

Ahora, vuelva atrás en su código y cambie los valores de n y k a 25 y 100 respectivamente. Los valores anteriores eran de prueba, para revisar cómo estaba guardando los datos. Con los nuevos valores de ny k, vuelva a correr el código.

Para generar una figura de los histogramas de tres muestras:

plt.figure()
plt.title("tres muestras")
plt.hist(mat[k-3],alpha=0.7,label='muestra '+str(k-3)+ ' $\overline{X}=$ '+str(round(promedios[k-3],3)))
plt.hist(mat[k-2],alpha=0.7,label='muestra '+str(k-2)+ ' $\overline{X}=$ '+str(round(promedios[k-2],3)))
plt.hist(mat[k-1],alpha=0.7,label='muestra '+str(k-1)+ ' $\overline{X}=$ '+str(round(promedios[k-1],3)))
plt.legend()
plt.xlabel(r'''$x_i$''')
plt.ylabel(r'''$N(X)$''')

Histograma de tres muestras de la distribución de muestreo de la que venimos trabajando. El eje x tiene valores de 4 a 16. En verde está la muestra 99, en naranja la muestra 98 y en azul la muestra 97. En el inserto aparece el valor de sus promedios, que  son respectivamente 9.993, 10.58 y 9.971

Podemos también generar un histograma de los promedios, llamado distribución de muestreo del promedio.

plt.figure()
plt.hist(promedios,color='r')
plt.title("Distribución de  Muestreo")
plt.xlabel(r'''$\overline{x}$''')

Histograma de la distribución de muestreo del promedio. Los valores van de 8.5 a 10.5, con un máximo cerca a 10

También podemos imprimir los valores

print("el promedio es " + str(np.mean(promedios)))
print("la desviación estándar es " + str(np.std(promedios)))

Taller en clase

Haremos los ejercicios de la página 243 del libro de Contento.


Previous Post
Distribución Muestral
Next Post
Taller Intervalos