Utilisation de Mathematica en probabilités et statistiques

REMARQUES.
1) Si nécessaire, consultez d'abord l' initiation à Mathematica .
2) Double-cliquez sur une barre verticale se terminant par une demi-flèche pour voir les cellules qu'elle cache.

Chargement des packages appropriés:

Needs["Statistics`Master`"]

Needs["Graphics`Master`"]"http://www.dms.umontreal.ca/~giroux/documents/initiation6.nb"

Statistiques descriptives

donnees=Table[Floor[100 RandomReal[]],{60}]

{Mean[donnees],Mean[donnees]//N}

{Variance[donnees],Variance[donnees]//N}

Histogram[donnees]

autresDonnees=Table[{5 RandomReal[],10 RandomReal[]+5},{20}]

ListPlot[autresDonnees,PlotStyle->PointSize[0.02`]]

Correlation[Table[autresDonnees[[i]][[1]],{i,20}],Table[autresDonnees[[i]][[2]],{i,20}]]

Calcul des probabilités

Les probabilités du jeu de poker

Remarque : Les commandes Binomial[n,k]  et  Multinomial[k,n-k] sont équivalentes.

Le nombre de mains de poker possibles est

Binomial[52,5]

Probabilité d'une paire  ( P(AABCD) )

p[1] = Multinomial[1,3,9]Binomial[4,2]((Binomial[4,1])^3)/ Binomial[52,5]

p[1]//N

Probabilité d'un brelan ( P(AAABC) )

p[2] =  Multinomial[1,2,10]Binomial[4,3]((Binomial[4,1])^2)/ Binomial[52,5]

p[2]//N

Probabilité d'un carré ( P(AAAAB) )

p[3]= Multinomial[1,1,11]Binomial[4,4]Binomial[4,1]/ Binomial[52,5]

p[3]//N

Probabilité de deux paires ( P(AABBC) )

p[4] =  Multinomial[2,1,10]((Binomial[4,2])^2)Binomial[4,1]/ Binomial[52,5]

p[4]//N

Probabilité d'une full ( P(AAABB) )

p[5] =  Multinomial[1,1,11]Binomial[4,3]Binomial[4,2]/ Binomial[52,5]

p[5]//N

Probabilité d'une straight flush

p[6] =10 Binomial[4,1] / Binomial[52,5]

p[6]//N

Probabilité d'une straight

p[7] = (10 ((Binomial[4,1])^5) - 10 Binomial[4,1])/Binomial[52,5]

p[7]//N

Probabilité d'une flush

p[8] = (Binomial[13,5]Binomial[4,1]- 10 Binomial[4,1] )/  Binomial[52,5]

p[8]//N

Probabilité d'une main «vide»

p[9] = (Binomial[13,5] ((Binomial[4,1])^5)- 10 ((Binomial[4,1])^5)- Binomial[13,5]Binomial[4,1] + 10 Binomial[4,1])/Binomial[52,5]

p[9] //N

Vérification

(∑_(i=1)^9)p[i]

probabilites = Table[p[i],{i,1,9}]//N;

noms = { "paire", "brelan", "carré", "deux paires", "full", "straight flush", "straight", "flush", "rien"};

probas =Table[{probabilites[[i]],noms[[i]]},{i,1,9}];

Sort[probas]//TableForm

La distribution binomiale

Fonction de masse

PDF[BinomialDistribution[20,0.4],8]

BarChart[Table[PDF[BinomialDistribution[20,0.4`],k+1],{k,0,20}]]

Fonction de répartition

CDF[BinomialDistribution[20,0.4],8]

BarChart[Table[CDF[BinomialDistribution[20,0.4`],k+1],{k,0,20}]]

Calcul d'espérances mathématiques

{Mean[BinomialDistribution[20,(1/3)]],Variance[BinomialDistribution[20,(1/3)]]}

ExpectedValue[((#)^3)&,BinomialDistribution[20,(1/3)]]

Simulation

Table[Random[BinomialDistribution[20,(1/3)]],{10}]

L'approximation de Poisson : B(n, p) ≈ P( np )

Show[{BarChart[Table[PDF[BinomialDistribution[20,0.1`],k+1],{k,0,12}],DisplayFunction->Identity],Plot[((2^x)/((E^2) x!)),{x,0,12},PlotStyle->Thickness[0.01`],DisplayFunction->Identity]},DisplayFunction->$DisplayFunction]

La distribution normale

Fonction de densité de probabilité

norma=Plot[PDF[NormalDistribution[0,1],x],{x,-3.5`,3.5`},PlotRange->All,PlotStyle->Thickness[0.01`]]

Fonction de répartition

norma=Plot[CDF[NormalDistribution[0,1],x],{x,-3.5`,3.5`},PlotRange->All,PlotStyle->Thickness[0.01`]]

Un exemple. 
La durée de vie des puces produites par un certain manufacturier est distribuée normalement avec μ = 4,4 X (10^6) heures et σ = 3 X (10^5) heures.  
a) Si un fabricant d'ordinateurs désire qu'au moins 90% des puces qu'il utilise durent au moins 4,0 X (10^6) heures, devrait-il faire affaire avec ce manufacturier ? 
b) Quelle est la probabilité que, sur un lot de 100 puces, au moins 4 durent moins de 3,8 X (10^6) heures ?

Solution.
a) Soit   X  la durée de vie d'une puce. La probabilité que X > 4,0 X (10^6) est

1-PDF[NormalDistribution[4.4 (10^6),3 (10^5)],4 (10^6)]

et la réponse est oui.

b) Le nombre N  de puces ayant une durée de vie inférieure à 3,8 (10^6) heures suit une loi binomiale de paramètres n = 100 et  p = 1,8 X (10^(-7)) car

PDF[NormalDistribution[4.4 (10^6),3 (10^5)],3.8 (10^6)]

La probabilité que N > 3 est

1-PDF[BinomialDistribution[100,1.8 (10^(-7))],3]

Statistiques déductives

Le théorème central limite

Si  X  suit une loi binomiale de paramètres n = 100  et p = 1/2 , la variable

Y = ((X - n p)/(Sqrt[n p (1-p)]))

prend les valeurs  k =  -50/5, -49/5, -48/5, ... , 49/5, 50/5  avec probabilités (Subscript[p, k]) où

p[k_]:= PDF[BinomialDistribution[100,(1/2)],50+5 k]

GeneralizedBarChart[Table[{k,p[k],0.2`},{k,-4,4,(1/5)}],PlotRange->All]

Le théorème de DeMoivre-Laplace est le cas particulier du théorème central limite où les variables suivent une loi de Bernoulli. Il affirme donc que

(lim_(n -> ∞))(∑_(k = np + a (Sqrt[np(1-p)]))^(np + b (Sqrt[np(1-p)])))Binomial[n,k](p^k)(((1-p))^(n-k)) = (1/(Sqrt[2ℼ]))(∫_a^b)(e^(- (x^2)/2))dx .

Show[{GeneralizedBarChart[Table[{k,CDF[BinomialDistribution[100,(1/2)],50+5 k],0.2`},{k,-4,4,(1/5)}],PlotRange->All,DisplayFunction->Identity],Plot[CDF[NormalDistribution[0,1],x],{x,-4,4},PlotRange->All,PlotStyle->Thickness[0.01`],DisplayFunction->Identity]},DisplayFunction->$DisplayFunction]

Intervalles de confiance

Intervalles de confiance pour la moyenne d'une population normale

MeanCI[{5,8.5,12,15,7,9,7.5,6.5,10.5},KnownVariance->4]

MeanCI[{5,8.5,12,15,7,9,7.5,6.5,10.5},KnownVariance->4,ConfidenceLevel->0.99]

MeanCI[{5,8.5,12,15,7,9,7.5,6.5,10.5}]

MeanCI[{5,8.5,12,15,7,9,7.5,6.5,10.5},ConfidenceLevel->0.90]

NormalCI[74.6,(11.3/(Sqrt[81])),ConfidenceLevel->0.90]

Intervalles de confiance pour la variance d'une population normale

VarianceCI[{.123,.133,.124,.125,.126,.128,.120,.124,.130,.126}]

VarianceCI[{.123,.133,.124,.125,.126,.128,.120,.124,.130,.126},ConfidenceLevel->0.90]

Intervalles de confiance pour la différence des moyennes de populations normales

MeanDifferenceCI[{36,44,41,53,38,36,34,54,52,37,51,44,35,44},{52,64,38,68,66,52,60,44,48,46,70,62},KnownVariance->{40,100}]

MeanDifferenceCI[{140,136,138,150,152,144,132,142,150,154,136,142},{144,132,136,140,128,150,130,134,130,146,128,131,137,135},EqualVariances->True,ConfidenceLevel->0.90]

Tests d'hypothèses

Hypothèses sur la moyenne d'une population normale

MeanTest[{210,195,197.4,199,198,202,196,195.5},200,KnownStandardDeviation->5,SignificanceLevel->0.05]

MeanTest[{210,195,197.4,199,198,202,196,195.5},200,KnownStandardDeviation->5,SignificanceLevel->0.10]

MeanTest[{72,68.1,69.2,72.8,71.2,72.2,70.8,74,66,70.3,70.4,76,72.5,74,71.8,69.6,75.6,70.6,76.2,77},70,KnownStandardDeviation->3,TwoSided->True,FullReport-> True]

MeanTest[{72,68.1,69.2,72.8,71.2,72.2,70.8,74,66,70.3,70.4,76,72.5,74,71.8,69.6,75.6,70.6,76.2,77},70,KnownStandardDeviation->3,TwoSided->True,SignificanceLevel->0.01]

MeanTest[{237,242,232,242,248,230,244,243,254,262,234,220,225,236,232,218,228,240},240,SignificanceLevel->0.05]

Hypothèses sur la différence des moyennes de populations normales

MeanDifferenceTest[{6.24,6.31,6.28,6.30,6.25,6.26,6.24,6.29,6.22,6.28},{6.27,6.25,6.33,6.27,6.24,6.31,6.28,6.29,6.34,6.27},0,KnownVariance->{.05,.05},SignificanceLevel->0.05]

MeanDifferenceTest[{6.24,6.31,6.28,6.30,6.25,6.26,6.24,6.29,6.22,6.28},{6.27,6.25,6.33,6.27,6.24,6.31,6.28,6.29,6.34,6.27},0,EqualVariances->True,SignificanceLevel->0.05]

Hypothèses sur la variance d'une population normale

VarianceTest[{5.728,5.722,5.727,5.718,5.723,5.731,5.719,5.724,5.726,5.722},0.16,FullReport->True]

La régression linéaire

nouvellesDonnees={{5,7.4},{6,9.3},{7,10.6},{10,15.4},{12,18.1},{15,22.2},{18,24.1},{20,24.8}};

droite=Fit[nouvellesDonnees,{1,x},x]

Show[{ListPlot[nouvellesDonnees,PlotStyle->{PointSize[0.02`],RGBColor[0,0,1]},DisplayFunction->Identity],Plot[droite,{x,3,23},DisplayFunction->Identity]},DisplayFunction->$DisplayFunction]

parabole=Fit[nouvellesDonnees,{1,x,(x^2)},x]

Show[{ListPlot[nouvellesDonnees,PlotStyle->{PointSize[0.02`],RGBColor[0,0,1]},DisplayFunction->Identity],Plot[parabole,{x,3,23},DisplayFunction->Identity]},DisplayFunction->$DisplayFunction]