<jupyter_start><jupyter_text>ESMA 3016 <NAME> Lab14: Distribuciones Continuas  Distribucion Uniforme y su aplicacion a simulacion. Distribucion Exponencial<jupyter_code>from scipy.stats  import uniform,expon
from scipy.integrate import quad
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
#El valor de la funcion de densidad uniforme (0,1) en el punto .1
uniform.pdf(.1) 
#La probabilidad acumulada de la Uniforme (0,1) hasta .1
uniform.cdf(.1)
#La probabilidad de una Uniforme entre .4 y .5 es
uniform.cdf(.5)-uniform.cdf(.4)
#Simulando 10,000 uniformes (0,1) y haciendo su histograma
plt.hist(uniform.rvs(0,1,10000),normed=True)
#Distribucion Uniforme en un intervalo (a,b)=(2,10)
#Hay que usar los parametros loc=a y scale=b-a
#Hallando la funcion de densidad de la uniforme U(2,10) en el punto x=2.5
uniform.pdf(2.5,loc=2,scale=8)
#Hallando la probabilidad acumulada de la U(2,10) hasta el valor x=6. O sea P(X<6)
uniform.cdf(6,loc=2,scale=8)
#Hallando el percentil correspondiente a una probabilidad de .9
uniform.ppf(.9,loc=2,scale=8)
#**********************************************************
#Generando al azar n valores de una bernoulli con parametro p
#*********************************************************
def bernoulli(p,m):
    x=[0]*m
    for i in range(m):
        if uniform.rvs(0,1,1)<p:
            x[i]=1 
    return x
bernoulli(.3,10)
#************************************************************
#Generando al azar m valores de una binomial con parametros n y p
#************************************************************
#La suma de n Bernoulli's da una binomial(n,p)
def rbinomial(p,n,m):
    x=[0]*m
    for i in range(m): 
        y=0
        for j in range(n):
            y+=sum(bernoulli(p,1))
        x[i]=y    
    return x
rbinomial(.5,6,10)
#***************************************************************************
#simulando una muestra de 200 tiempos de espera en un banco
#se esta considerando que el tiempo de espera promedio es 10 minutos
#los tiempos estan dados en minutos
#******************************************************************************* 
tiempos=expon.rvs(scale=10,size=200)
#Generando un histograma de los datos pero de tal manera que el area total sea 1
x=np.arange(0,100,.5)
#Haciendo una comparacion grafica
fig, ax = plt.subplots(1, 1)
ax.hist(tiempos, normed = True,alpha=.7)
ax.plot(x, expon.pdf(x,scale=10), 'k-', lw=1, label='densidad exponencial')
ax.legend(loc='best', frameon=False)
#Cual es la probabilidad de que se tenga que esperar mas de 15 minutos para ser atendido?
#Area bajo la curva mas alla de 15
def integrando(x):
    return np.exp(-x/10)/10
quad(integrando,15,np.Inf)<jupyter_output><empty_output><jupyter_text>El primer valor es el resultado de la integral y el segundo es el error del resultado<jupyter_code>#Cual es la probabilidad de que se tenga que esperar mas de 15 minutos para ser atendido?
#Area bajo la curva mas alla de 15
#Haciendolo por complemento=1-area hasta 15 y usando la densidad exponencial
1-expon.cdf(15,scale=10)
#Estimando la probabilidad
probest=len(tiempos[tiempos>15])/float(200)
probest<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.21557454890788225, 'fraction_numerical': 0.03798670465337132, 'mean_word_length': 5.383838383838384, 'pattern_counts': {'":': 0, '<': 12, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '134089', 'license': 'MIT', 'n_tokens_mistral': 1179, 'n_tokens_neox': 1075, 'n_words': 343, 'path': 'notebooks/Lab14.ipynb', 'repo_name': 'brianreyes3/PyLabs-Analisis-de-Datos', 'size': '3164'}