<jupyter_start><jupyter_text>ESMA 3016 <NAME> Lab15: Distribucion Normal o Gaussiana<jupyter_code>from scipy.stats  import norm,probplot
import numpy as np
import matplotlib.pyplot as plt
from math import sqrt,factorial,pi
%matplotlib inline
x=np.arange(-3.5,3.5,.1)
plt.plot(x, norm.pdf(x), 'k-', lw=1, label=' Curva Gaussiana')
plt.legend(loc='best', frameon=False)
#Area debajo de la normal estandar a la izquierda de x=1.5
norm.cdf(1.5,0,1)
#Area entre x=-2.25 y x=3.17
norm.cdf(3.17)-norm.cdf(-2.25)
#Area mas alla de x=.55
1-norm.cdf(.55)
#Calculo de cuantiles(percentiles) para la normal estandar
#el 20% inferior
norm.ppf(.2)
#el 10% superior
norm.ppf(.9)
#Verificando que el area de la mitad de la curva normal es .5
def halfnormal(x,k):
     #x es el punto hasta donde se calcula el area desde el centro,x>0
     #k+1 es el numero de terminos que se usan de la serie exponencial para aproximar el area 
     normal_5=0
     for i in range(k):
         normal_5+=((-1)**i)*(x)**(2*i+1)/((2**i)*(2*i+1)*factorial(i))
     return(normal_5/sqrt(2*pi))
halfnormal(3.3,15)
#***************************************************************************
#simulando una muestra de 10000 valores de una normal estandar
a=norm.rvs(size=10000)
#Haciendo un histograma de los datos pero de tal manera que el area total sea 1
#Comparando graficamente el histograma con la curva normal
x=np.arange(-3.5,3.5,.01)
fig, ax = plt.subplots(1, 1)
ax.hist(a, bins=25,normed = True,alpha=.5)
ax.plot(x, norm.pdf(x), 'k-', lw=1, label='Densidad Gaussiana')
ax.legend(loc='best', frameon=False)
#Estimando la media y varianza de una normal
np.mean(a)
np.var(a)
#ejemplo de aplicacion
#Los promedio academicos de los egresados de uan universidad se distribuyen normalmente con media 
#mu=2.5 y desviacion estandar sigma=.5
#a) cual es la probabilidad de que un egresado se haya graduado con un un gpa menor que 3.0
norm.cdf(3.0,2.5,.5)
#b) cual es la probabildiad de que un egresado se haya graduado con un gpa de mas de 3.?
1-norm.cdf(3.5,2.5,.5)
#c) cual es la probabilidad de que un egresado se haya graduado con un gpa mayor de 2.0 pero menor de 3.3
norm.cdf(3.3,2.5,.5)-norm.cdf(2.0,2.5,.5)
#d) A los egresados que tengan un GPA que caen el el 1% superior se le dara un premio cual es el gpa minimo
#para obtener un premio?
norm.ppf(.99,2.5,.5) 
#cotejando normalidad de una muestra usando un plot de normalidad
muestra=norm.rvs(size=200)
res=probplot(muestra,plot=plt)
plt.show()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1525830997196636, 'fraction_numerical': 0.048858630356427714, 'mean_word_length': 4.7162471395881, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 7, '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': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '389365', 'license': 'MIT', 'n_tokens_mistral': 1045, 'n_tokens_neox': 982, 'n_words': 315, 'path': 'notebooks/Lab15.ipynb', 'repo_name': 'brianreyes3/PyLabs-Analisis-de-Datos', 'size': '2502'}