Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Regularidad estadística
Para que un modelo sea útil, se debe poder realizar predicciones del
comportamiento del sistema en el futuro, es decir debe tener un
comportamiento regular.
muestras = [1 1 1 1 1 2 1 2 2 2 2 0 0 0 0 0 2 1 2 2 0 2 0 2 1 2 1 2 2 0 2 0 1 2 0
22021111102121010120222102202021100210100
212011200010222000121100]
Algoritmo en Python
# INGRESO
# archivotxt=input('nombre del archivo.txt: ')
archivotxt = 'aleatoriosurna100.txt'
muestras = np.loadtxt(archivotxt)
# PROCEDIMIENTO
n=len(muestras)
# cuenta los únicos
unicos, cuenta = np.unique(muestras,
return_counts=True)
N = np.asarray((unicos, cuenta)).T # T transpuesta
# SALIDA
print('los eventos unicos: ', unicos)
print('la cuenta de unicos: ', cuenta)
print('Nk:')
print(N)
f_k(n)=\frac {N_k(n)}{n}
f
k
(n)=
n
N
k
(n)
f
k
(n)=p
k
# frecuencia relativa
fk= cuenta/n
fkn = np.asarray((unicos, fk)).T # T transpuesta
print(fkn)
[[ 0. 0.33]
[ 1. 0.31]
[ 2. 0.36]]
Tarea
Ejercicios
Gubner 1.1 p.18
Se lanza una moneda 100 veces, y se anota la frecuencia relativa de las caras
(0) y sellos (1). La experiencia nos indica que la frecuencia relativa debería
estar alrededor de 0.5. Realice el experimento simulado y compare los
resultados.
% matplotlib inline
# Simulador de lanza monedas [0,1]
# propuesta: edelros@espol.edu.ec
import numpy as np
import matplotlib.pyplot as plt
# INGRESO
intentos = 100
eventos = 2
# PROCEDIMIENTO
caramoneda = np.random.randint(eventos,
size=intentos)
unicos, cuenta = np.unique(caramoneda,
return_counts=True)
fk= cuenta/intentos
fkn = np.asarray((unicos, fk)).T # T transpuesta
# SALIDA
print(' caras de moneda: ')
print(caramoneda)
print('frecuencia relativa:')
print(fkn)
plt.plot(caramoneda,'o-')
plt.xlabel('intentos')
plt.ylabel('caramoneda')
plt.margins(0.1)
plt.show()
caras de moneda:
[0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0
0 1 1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 0
1 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1
1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 1 1 0 0 1 1 1]
frecuencia relativa:
[[ 0. 0.55]
[ 1. 0.45]]
Ejercicio
# INGRESO
experimentos = 1000
intentos = 100
eventos = 2
# PROCEDIMIENTO
s = np.arange(eventos)
# Un experimento
caramoneda = np.random.randint(eventos,
size=intentos)
n=len(caramoneda)
unicos, cuenta = np.unique(caramoneda,
return_counts=True)
# SALIDA - gráfica
# histograma - Gubner-pdf/p.19
for evento in s:
plt.plot(frunicos[evento]/100,frcuenta[evento],label
=str(evento))
plt.xlabel('frecuencia relativa')
plt.legend()
plt.show()
Tarea
Escriba sus observaciones en el ejercicio anterior, cambiando el numero de
intentos en el rango de [10, 100000].