On Commence par:
import random
import matplotlib.pyplot as plt
=> Voila
def Xn(t,n):
x=0
for j in t :
x=x+j
return x/n
=> Voila
def On(t,n,xn):
tita = 0
for i in t :
tita=tita+(i-xn)**2
return tita/n
=> Voila
def creat_alea_table(n):
t=[]
for i in range(n+1):
t.append(random.uniform(0, 1))
return t
n=[1000,10000,100000,1000000]
titatable=[]
xn=[]
for i in n :
t=creat_alea_table(i)
xn.append(Xn(t,i))
titatable.append(On(t,i,Xn(t,i)))
plt.plot(n,titatable, 'r*')
plt.plot(n,xn, 'b*')
plt.show()
for i in range(len(n)):
print ('les valeur aleatoire {} leur moyenne{} et leur variance {}'.format(n[i],xn[i],titatable[i]))
les valeur aleatoire 1000 leur moyenne0.5020069986063366 et leur variance 0.08636524097756378 les valeur aleatoire 10000 leur moyenne0.5011334872206992 et leur variance 0.08363417782574396 les valeur aleatoire 100000 leur moyenne0.49958061880102583 et leur variance 0.08380244584709111 les valeur aleatoire 1000000 leur moyenne0.499996466232293 et leur variance 0.08332147014692759
le nombre de variable ne sont pas inclus dans la moyenne ou dans la variance
import numpy as np
def creat_alea_table(n,lamda):
t=np.random.exponential(1/lamda,n)
return t
print(Xn(t,10000))
49.999646623229296
xn=[[]]*4
titatable=[[]]*4
from ipykernel import kernelapp as app
lamda=[10,100,1000,10000]
for i in range(4):
for j in range(4):
t=creat_alea_table(n[i],lamda[j])
x=Xn(t,n[i])
xn[i].append([x])
titatable[i].append([On(t,n[i],x)])
plt.subplot(2,2,1)
plt.plot(lamda[j],titatable[i][j],'ro')
plt.subplot(2,2,2)
plt.plot(lamda[j],x,'bo')
plt.show()
<ipython-input-10-0cee7dfdedf0>:13: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance. plt.subplot(2,2,1) <ipython-input-10-0cee7dfdedf0>:15: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance. plt.subplot(2,2,2)
Dans la distribution discrete on observe que la valeur de lamda inclu dans la calcule de moyenne et de variance
def creat_alea_table(n):
return np.random.randint(0,n+1,n)
print(creat_alea_table(5))
[5 3 3 4 3]
plt.style.use('seaborn-deep')
xn=[]
tita=[]
for i in n:
t=creat_alea_table(i)
x=Xn(t,i)
xn.append(x)
tita.append(On(t,i,x))
plt.subplot(2,2,1)
plt.plot(n,tita,'r*')
plt.subplot(2,2,2)
plt.plot(n,xn,'b*')
for i in range(len(n)):
print('les valeur {} leur moyenne {} leur variance {}'.format(n[i],xn[i],tita[i]))
<ipython-input-3-311631902cbf>:4: RuntimeWarning: overflow encountered in long_scalars x=x+j
les valeur 1000 leur moyenne 492.613 leur variance 86556.01523099998 les valeur 10000 leur moyenne 5002.6861 leur variance 8168267.898366751 les valeur 100000 leur moyenne 6982.87175 leur variance 2678233164.182701 les valeur 1000000 leur moyenne -2142.779629 leur variance 335902710489.4809
Dans la distribution discrete uniforme on observe que la plupart de moyenne implique plus dans les deux valeur moyenne et variance
def creat_tabe(n):
x=[]
t=np.random.uniform(0, 1,n)
for i in t:
if i<0.3:
x.append(0)
elif i<0.5:
x.append(2)
else:
x.append(6)
return x
xn=[]
tita=[]
for i in n:
t=creat_tabe(i)
x=Xn(t,i)
xn.append(x)
tita.append(On(t,i,x))
for i in range (len(n)):
print ('valeur aleatoire{} leur moyenne {} leur variance {}'.format ( n[i],xn[i],tita[i]))
valeur aleatoire1000 leur moyenne 3.284 leur variance 7.351344000000038 valeur aleatoire10000 leur moyenne 3.4 leur variance 7.225599999999773 valeur aleatoire100000 leur moyenne 3.40084 leur variance 7.241007294405245 valeur aleatoire1000000 leur moyenne 3.402022 leur variance 7.236650311469096
On observe que si on augmente la valeur aleatoire (de 1000 à 1000000) à chaque fois la moyenne presque le meme ( petit augmentation apres le vergule) et aussi la variance aussi pas de grand changement presque le meme( petit diminution apres le vergule)