Compte Rendu: Probabilité et Statistique
Nom: Doudech Prenom: Ahmed Amine Classe: LSI-A2-01
TP N°1:
Nous allons utiliser matplotlib pour tracer nos fonctions pour importer les modules
matplotlib et numpy, nous écrivons ces deux lignes de code :
1. import [Link] as plt
2. import numpy as np
pour tracer une fonction, vous pouvez utiliser [Link]()
1. x = [Link]([1, 2, 4, 5])
2. y = [Link]([1, 2, 3, 4])
3. [Link](figsize=(8, 5))
4. [Link](x,x**2, lw=3, marker="o", color='red', ls="dotted", label="courbe 1")
5. [Link](y, [Link](y) , lw=3, marker="o", color="green", label="courbe 2")
6. [Link](loc="upper left")
7. [Link]("Statistics of students joining ISSATSo")
8. [Link]("Years")
9. [Link]("Students")
10.
11. [Link]("stiisat")
12.
13. [Link]()
14.
On peut utiliser les attributs :
- lw : pour modifier l'épaisseur du trait
- marker : pour changer le marqueur du point de traçage
- color : pour changer la couleur du trait
- ls ou linestyle : pour changer le style du trait de traçage
- label : donner une étiquette à chaque courbe
- savefig : pour sauvegarder l’image de resultat
1
Exercice 1 :
Le tableau présente le prix des ordinateurs Lenovo et dell durant les cinq derniere
années :
1. import [Link] as plt
2.
3. annee = [2015, 2016, 2017, 2018, 2019, 2020]
4. lenovo = [1000, 1050, 1120, 1200, 1300, 1400]
5. dell = [1040, 1100, 1190, 1220, 1340, 1500]
6.
7. [Link](annee, lenovo, color="red", label="lenovo")
8. [Link](annee, dell, color="green", label="dell")
9. [Link](loc="upper left")
10. [Link]("Prix des ordinateurs")
11. [Link]("Les Années")
12. [Link]("L'évolution des prix des ordinateurs durant les cinq derniéres années")
13. [Link]("Lenovo-vs-Dell")
14. [Link]()
2
Exercice 2 :
1. import [Link] as plt
2. import numpy as np
3. sangammes = [Link](["O", "A", "B", "AB", "Total"])
4. effectifs = [Link]([5, 10, 4, 6, 25])
5.
6. [Link](sangammes, effectifs, color="blue")
7. [Link]("La repartition des groupes sanguines des eleves")
8. [Link]("Groupes sanguines")
9. [Link]("Effectives")
10. [Link]("repart-sang")
11. [Link]()
3
Exercice 3:
1. import [Link] as plt
2. import numpy as np
3.
4. Labels = ["Action", "Aventure", "Sport", "Strategie", "Jeu de role"]
5. Colors = ["yellowgreen", "gold", "lightskyblue", "lightcoral", "blue"]
6. Telechargement = [Link]([1400, 600, 506, 1608, 730])
7.
8. [Link](Telechargement, labels=Labels, colors=Colors, autopct="%1.1f")
9. [Link]()
10. [Link]("La repsentation des telechargement de jeux par genre")
11. [Link]()
Représenter ces données sur un histogramme en découpent l'axe des absc en train
intervalles selon le taux de de 60 à 100 et de 120 à 151
4
TP N°2 : Utilisation de module random
Ont peut utiliser random pour générer des valeur aléatoires, on a les fonctions
randint et randrange :
randint(x, y) : retourne un entier entre x et y, avec y inclus
randrange(x, y) : retourne un entier entre x et y, avec y exclus
1. import random
2. x = [Link](1, 10); # variable x appartient à l’intervalle I=[1, 10]
3. y = [Link](10); # variable y appartient à l’intervalle I=[1, 10
5. print(x)
6. print(y)
random(): Retourne un nombre aléatoire compris entre 0 (inclus) et 1 (exclus)
uniform(x, y) : Retourne un nombre aléatoire compris entre 1 (inclus) et 10 (inclus)
1. x = [Link]()
2. print(x)
3. y = [Link](1, 10)
4. print(y)
On peut utiliser [Link](x) pour trouver la plus grande valeur entière inférieur ou
égale à un nombre donné x.
1. import math
2. [Link](y)
Exemple: Ecrire la partie entière d'un nombre aléatoire dans l'intervalle [0, 16]
Méthode 1 : Méthode 2 :
1. import random 1. import random
2. [Link](0, 16) 2. import math
3. [Link]([Link](0, 17))
Application des méthodes de module random sur les listes :
1. a = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
2.
3. print([Link](a))
4. [Link](a) # shuffles the list
5. print(a)
6. print([Link](a))
7.
8. b = [Link](a, 5) # a random sample from the list a
9. print(b)
5
choice(a): retourne un element aleatoire de la liste a
shuffle(a): modifie la liste directement et mélange aléatoirement les éléments de la
liste a
sample(a, n) : retourne une nouvelle liste contenant n éléments choisis de manière
aléatoire parmi les éléments de la liste a sans remplacement
Definition d’une fonction uniforme :
1. import random
2. import math
3. def uniforme(a, b):
4. return (a + [Link]([Link]() * ((b - a) + 1)))
Traçage d’une fonction uniforme:
1. import [Link] as plt
2.
3. a = 1
4. b = 6
5. n = b - a + 1
6.
7. x = list(range(a, b + 1))
8. y = [1 / n for _ in x]
9.
10. [Link](x,y, ".", marker="x") # "." means there's no curve in the plot (only points)
11.
12. [Link]()
6
Traçage de distribution de la loi binomiale:
1. import [Link] as plt
2. import math
3.
4. def binomfdp(n, p, k):
5. c = [Link](n)/[Link](k)*[Link](n-k)
6. x = c* p ** k * (1-p) **(n-k)
7. return x
8.
9. def binomfep(n, p, k):
10. s = binomfdp(n, p, 0)
11. for i in range(k):
12. s = s + binomfdp(n, p, i + 1)
13. return s
14. # Paramètres de la loi binomiale
15. n = 20 # Nombre d'essais
16. p = 0.5 # Probabilité
17.
18. # Calcul des probabilités pour chaque valeur de la variable aléatoire
19. x = [i for i in range(1, n+1)]
20. y = [binomfdp(n, p, k) for k in range(1, n + 1)]
21. # Tracer la loi binomiale
22. [Link](x, y, label='Loi binomiale (n=20, p=0.5)', alpha=0.7)
23. [Link]('Distribution de la loi binomiale')
24. [Link]('Valeurs de la variable aléatoire')
25. [Link]('Probabilité')
26. [Link]()
27. [Link](True)
28. [Link]()
7
TP N°3:
Distribution binomiale pour n= 10, p=0.5
1. from math import factorial
2. import [Link] as plt
3. import random as rd
4. import numpy as np
5. import math
6. from math import factorial
7.
8. def binomfdp(n, p, k):
9. c = factorial(n) / (factorial(k) * factorial(n - k))
10. probability = c * (p ** k) * ((1 - p) ** (n - k))
11. return probability
12.
13. def binomfrp(n, p, k):
14. o = binomfdp(n, p, 0)
15. for i in range(k):
16. o += binomfdp(n, p, i + 1)
17. return o
18.
19. n = 10
20. p = 0.5
21. k = n
22.
23. x = [Link](0, k + 1)
24. binomial_pmf = [binomfdp(n, p, i) for i in x]
25.
26. [Link](x, binomial_pmf, color="red")
27.
28. [Link]('Number of Successes')
29. [Link]('Probability')
30. [Link](f'Binomial Distribution (n={n}, p={p})')
31. [Link]()
8
Distribution loi de poisson :
1. from functools import partial
2. import math
3. import [Link] as plt
4.
5. def poisson_pmf(k, lambda_parameter):
6. return (lambda_parameter**k * [Link](-lambda_parameter)) / [Link](k)
7.
8. l= 5
9.
10. x = [i for i in range(20)]
11.
12. poisson_pmf1 = [poisson_pmf(i, l) for i in x]
13.
14. [Link](x, poisson_pmf1, color='red', label=f'Poisson λ={l}')
15. [Link]('Poisson Distribution')
16. [Link]('X')
17. [Link]('Probability')
18. [Link]()
19. [Link]()