Seja a variável aleatória com distribuição de probabilidade: $P(X=0)=0,2$; $P(X=1)=0,1$; $P(X=2)=0,3$; $P(X = 4) = 0,4$. Uma amostra com 100 observações é sorteada. Qual é a probabilidade de que a média amostral é maior do que 3? Calcule o valor teórico e compare com a simulação, conforme feito na aula.
x | P(X) |
---|---|
0 | 0,2 |
1 | 0,1 |
2 | 0,3 |
4 | 0,4 |
def esperanca(X,P):
E = 0
for i in range(0, len(X)):
E = E + X[i]*P[i]
return E
def variancia(X,P):
E = 0; E2 = 0
for i in range(0, len(X)):
E = E + X[i]*P[i]
E2 = E2 + (X[i]**2)*P[i]
V = E2-E**2
return V
X = [0, 1, 2, 4]
P = [0.2, 0.1, 0.3, 0.4]
E = esperanca(X, P)
V = variancia(X, P)
print("Esperança:", E, "Variância:",V)
Esperança: 2.3 Variância: 2.410000000000001
import scipy.stats as st
import numpy as np
mu = E
sigma = np.sqrt(V)
n = 100
x = 3
Z = (x - mu)/(sigma/np.sqrt(n))
pt = 1-st.norm.cdf(Z)
print('Probabilidade:',pt)
Probabilidade: 3.2552163833354797e-06
import matplotlib.pyplot as plt
n = 100
ns = 1000 #numero de simulacoes
vx = [] # armazena a media amostral
for s in range(0,ns):
A = np.random.choice(X, n, p=P)
vx.append(np.mean(A))
plt.figure(figsize=(8,6))
plt.hist(x=vx, bins='auto',color='#0504aa', alpha=0.7, rwidth=0.85, density = True)
plt.xlabel(r'$\bar{X}$', fontsize=20)
plt.ylabel(r'$P(\bar{X})$', fontsize=20)
plt.show(True)
print("Media das amostras:", np.mean(vx), "Media da população:", E)
Media das amostras: 2.30496 Media da população: 2.3
nmaior = 0
for i in range(0, len(vx)):
if(vx[i] > 3):
nmaior = nmaior + 1
nmaior = nmaior/len(vx)
print("Probabilidade de ser maior do que 3:", nmaior, "Valor teórico:", pt)
Probabilidade de ser maior do que 3: 0.0 Valor teórico: 3.2552163833354797e-06
* Os códigos presentes nesse documento foram retirados da Aula 5 do Professor Francisco, da disciplina de Estatística para Ciência de Dados.