i += 1 return S2, X, i if __name__ == "__main__": """ Calcular la varianza del estimador N̄ correspondiente a 1000 ejecuciones de la simulación y dar una estimación de e mediante un intervalo de confianza de 95%. """ ITER = 1000 S2, X, n = experiment(ITER) # La varianza del estimador en este caso es S**2 / N variance = S2 / n print("Varianza del estimador: {}".format(variance)) print("Media muestral: {}".format(X)) print("Varianza {}".format(S2)) # ===================================================================== # # Intervalo de confianza # X(barra) = 1.96 * (S / sqrt(N)) cons = 1.96 S = sqrt(S2) a, b = interval(X, cons, S, n) print("Estimación de e mediante un intervalo") print("Intervalo: [{}, {}] Confianza: 95\n".format(a, b)) print("Todos los intervalos:") INTERVALS = all_interval(X, S, n)
n += 1 return(n) def experiment(Iter): sample, var = [M()], 0 mean_old = sample[0] for n in range(1, Iter + 1): sample.append(M()) mean_new = mean_old + (sample[n] - mean_old) / (n + 1) var = (1 - 1 / n) * var + (n + 1) * ((mean_new - mean_old) ** 2) mean_old = mean_new return(mean_new, var, n) if __name__ == '__main__': """ Enunciado: Utilizando la función 'M' para estimar e mediante 1000 ejecuciones de una simulación. Calcular la varianza del estimador y dar una estimación de e mediante un intervalo de confianza de 95%. """ Iter = 1000 mean, var, n = experiment(Iter) print("Varianza del estimador es: {}".format(var / n)) print("Varianza muestral es: {}".format(var)) print("\nEstimación de 'e': {}".format(mean)) interval(mean, var, n)