from scipy.stats import norm
from matplotlib import pylab as plt
import numpy as np
import pandas as pd
import seaborn as sns
Apéndice A — Estadística
El objetivo de este apéndice es complementar la información de algunos procedimientos estadísticos usados en el curso.
Paquetes usados
A.1 Error estándar
El error estándar está definido como
A.1.1 Media
Una de las estadísticas donde si se puede calcular analíticamente
El error estándar de
donde
donde
A.1.2 Ejemplo: Media
El siguiente ejemplo complementa la información al presentar el error estándar de la media cuando los datos vienen de una distribución Gausiana. Suponiendo que se tiene
Continuado con el ejemplo, se simula la generación de esta población de norm
(que implementa una distribución Gausiana) para que se simule scale
de norm
corresponde a la desviación estándar
= norm(loc=1, scale=2) p1
Usando p1
se simulan 500 poblaciones de 1000 elementos cada una, y para cada una de esas poblaciones se calcula su media. La primera linea crea la muestra D
.
= p1.rvs(size=(500, 1000))
D = [x.mean() for x in D] mu
El error estándar es la desviación estándar de mu
, el cual se puede calcular con la siguiente instrucción. se
tiene un valor de
= np.std(mu) se
Para complementar la información se presenta el histograma de mu
donde se puede observar la distribución de estimar la media de una población.
= sns.histplot(mu) fig
A.1.3 Ejemplo: Coeficientes OLS
El error estándar de los coeficientes estimados con mínimos cuadrados se puede calcular de la siguiente forma. El primer paso es utilizar la siguiente identidad
donde
quedando la varianza como
donde
Por lo tanto el error estándar es:
A.2 Bootstrap
Existen ocasiones donde no se cuenta con una ecuación cerrada para
Bootstrap es un procedimiento que permite calcular el error estándar. Suponiendo que se la estadística se calcula mediante la realización de
El Bootstrap simula la distribución
A.2.1 Ejemplo
Utilizando los datos generados en la Sección A.1.2 se puede calcular el error estándar de la mediana. El primer paso es tener el conjunto D
, por simplicidad se toma el primero como se muestra a continuación.
= D[0] D_mediana
La variable D_mediana
tiene la muestra S
contiene los índices para realizar las S
y en cada operación se calcula la mediana. Es decir, en cada iteración se está calculando un B
y ese valor corresponde a error estándar de la mediana.
= np.random.randint(D_mediana.shape[0],
S =(500, D_mediana.shape[0]))
size= [np.median(D_mediana[s]) for s in S]
B = np.std(B) se
se
tiene un valor de
Considerando que se generaron D
se puede visualizar el histograma de las medianas calculadas con D
y aquellas obtenidas con Bootstrap. Se guardan estos dos valores en un DataFrame
para posteriormente graficar el histograma, como se muestra en el siguiente código y en la Figura A.1.