[Accueil du site. ] _ [Lycée] _ [GAFAM et comment y échapper.] _ [Sur Gnumeric]
Il s'agit de réaliser des calculs de statistiques de niveau terminale.
Gnumeric a été choisi à cause de sa réputation d'être particulièrement adapté à ce domaine.
Sur un tableau de n=38 valeurs, générées aléatoirement, on veut apprendre à calculer les grandeurs habituelles.
Ces calculs seront fait en utilisant les fonctions intégrées de Gnumeric, d'une part, et par un calcul détaillé utilisant les possibilités des tableurs et les formules de définition des grandeurs, d'autre part.
Ce calcul n'offre pas de difficulté.
On utilise d'une part la fonction :
=average(valeur1 : valeur38),
d'autre part avec la fonction
=sum(valeur1 : valeur38)
la formule bien connue : Moyenne = (somme des valeurs)/(n). avec ici n=38.
N.B.0 : le séparateur pour indiquer l'ensemble des valeurs de la première à la dernière est comme souvent, le double point :.
N.B.1 : j'ai essayé d'utiliser MathML, mais cela ne fonctionne pas dans les navigateurs Falkon et lynx.
Je craignait donc que cela soit moins accéssible pour les mal-voyants et les gnous furieux.
Essai avec MathML, qui ne fonctionne bien que dans Firefox :
À l'avenir je vais tenter d'utiliser la bibliothèque MinMathJS écrite par Eric Leydet:
http://progmath.free.fr/minmathjs/index.html
http://eleydet.free.fr/mmjs_formule.zip
Là aussi, 2 calculs,
d'une part la fonction intégrée :
=var(valeur1 : valeur38),
d'autre par l'application pas-à-pas de la définition, à savoir :
la moyenne des carrés des écarts à la moyenne (wikipedia)
Pour cela un calcul pas à pas, par colonnes à été effectué.
On utilisera d'une part la fonction :
=stdev(valeur1 : valeur38)
d'autre part simplement la racine carrée de la variance préalablement calculée.
Tout d'abord, une première colonne avec la valeur de l'indice i est générée très basiquement par un copié collé verticale de la formule
[=i+1]
de haut en bas, la première case étant remplie par la valeur 1.
Cette première colonne ne sert pas vraiment dans les calculs.
La seconde colonne, avec les valeurs de xi est générée par la fonction de production de valeurs pseudo aléatoires rand() (sans argument) de gnumeric.
= rand()*2 + 1
On devine que la moyenne sera proche de 2.
Dans une colonne voisine on calcule l'écart à la moyenne pour chaque ligne, donc pour chaque valeur de xi
puis dans une quatrième colonne on calcule le carré de la valeur précédente avec la fonction :
= power(xi,2).
Oui. Nous avançons prudement, étape par étape.
Cela donne ce tableau.
| i | xi | (Moyenne-xi) | au carré | |
|---|---|---|---|---|
| 1 | 1,05134178718216 | 1,03585046885657 | 1,07298619383038 | |
| 2 | 2,09439314499355 | -0,00720088895481963 | 5,18528017396433E-05 | |
| 3 | 2,1777828947957 | -0,0905906387569702 | 0,00820666383039586 | |
| 4 | 1,23129240569815 | 0,855899850340584 | 0,732564553813035 | |
| 5 | 2,07033666686674 | 0,016855589171993 | 0,000284110886335009 | |
| 6 | 2,25192367510261 | -0,164731419063879 | 0,0271364404267993 | |
| 7 | 2,876041701818 | -0,788849445779264 | 0,622283448106251 | |
| 8 | 2,79969549165133 | -0,712503235612595 | 0,507660860758417 | |
| 9 | 2,26307805248688 | -0,175885796448148 | 0,0309358133921992 | |
| 10 | 1,59815334417621 | 0,489038911862521 | 0,239159057315678 | |
| 11 | 2,5855763642713 | -0,498384108232568 | 0,248386719338772 | |
| 12 | 1,10458500253161 | 0,982607253507124 | 0,965517014644813 | |
| 13 | 2,4527635901429 | -0,365571334104164 | 0,133642400318698 | |
| 14 | 2,46583060909696 | -0,378638353058227 | 0,143367002406647 | |
| 15 | 2,64871715918448 | -0,56152490314574 | 0,315310216852833 | |
| 16 | 2,52757553171466 | -0,440383275675922 | 0,193937429495055 | |
| 17 | 2,91011714464862 | -0,822924888609883 | 0,677205372293589 | |
| 18 | 1,87040732361212 | 0,216784932426616 | 0,0469957069272124 | |
| 19 | 1,01289646589569 | 1,07429579014305 | 1,15411144471908 | |
| 20 | 2,72670000589001 | -0,639507749851276 | 0,408970162119843 | |
| 21 | 2,02882870610634 | 0,0583635499323942 | 0,00340630396071107 | |
| 22 | 1,02492329954121 | 1,06226895649752 | 1,12841533593833 | |
| 23 | 1,79404208975735 | 0,293150166281382 | 0,0859370199908019 | |
| 24 | 1,38013766558412 | 0,707054590454613 | 0,499926193882941 | |
| 25 | 2,59746576017292 | -0,510273504134182 | 0,260379049021377 | |
| 26 | 2,52920255914262 | -0,442010303103888 | 0,195373108049991 | |
| 27 | 2,05314290110202 | 0,0340493549367156 | 0,00115935857160644 | |
| 28 | 2,79350973423918 | -0,706317478200448 | 0,49888438001144 | |
| 29 | 1,65379573030416 | 0,433396525734579 | 0,187832548518804 | |
| 30 | 2,21035884630705 | -0,123166590268317 | 0,0151700089583234 | |
| 31 | 1,71765091195712 | 0,369541344081612 | 0,136560804985645 | |
| 32 | 2,40368853960762 | -0,316496283568881 | 0,100169897512914 | |
| 33 | 1,22970730849455 | 0,857484947544187 | 0,735280435264857 | |
| 34 | 2,42928356053291 | -0,342091304494178 | 0,117026460610528 | |
| 35 | 2,1140907003127 | -0,0268984442739639 | 0,000723526304359543 | |
| 36 | 2,86115160936014 | -0,773959353321401 | 0,599013080593681 | |
| 37 | 1,59880325126666 | 0,48838900477207 | 0,238523819982253 | |
| 38 | 2,17431419392354 | -0,0871219378848047 | 0,00759023206080377 |
C'est là qu'apparait une bizarerie subtile.
Le calcul à la main à partir des formules donne :
| i | Moyenne | _ | _ | Variance |
|---|---|---|---|---|
| _ | somme des valeurs/38 | _ | _ | moyenne de la colonne des carrés |
| _ | 2,0871922560387346 | _ | _ | 0,3247390533815036 |
N.B.2 : On retrouve les mêmes valeurs en exploitant la fonction average (moyenne).
Puis pour obtenir l'écart type, il suffit de faire la racine carrée de la variance.
=sqrt(variance), ce qui donne σ= 0,5698588012670364.
Mais l'utilisation des fonctions
=var(valeur1 : valeur38) (variance) et
=stdev(valeur1 : valeur38) (écart type), ne donne pas les mêmes résultats !
Par ces fonctions directes on a :
| Variance | Écart type |
|---|---|
| =var(valeur1 : valeur38) | =stdev(valeur1 : valeur38) |
| 0,3335157845539767 | 0,5775082549660885 |
Ce sont des valeurs légèrement supérieures, donc résultats d'une division par un dénominateur inférieur à 38.
Une vérification rapide permet de constater que pour les fonctions intégrées, le dénominateur utilisé est 37, soit n-1 dans les formules.
En passant par le menu [Statistiques]
puis [Statistiques descriptives],
et de nouveau [Statistiques descriptives],
on dévoile une fenètre qui déclenche le calcul de l'ensemble des grandeurs statistiques communément demandées.


On retrouve les valeurs des fonctions var et stdev en 1/(n-1).
N.B.3 : Les fonction correspondantes de LibreOffice Calc var et ecartype donnent les mêmes résultats en 1/(n-1).
N.B.4 : Un peu de recherche dans certains livres de physique de préparation au bac donne effectivement des formules d'écart type sur (n-1) au lieu de n sans qu'aucune explication ne soit donnée.
Après enquête, il s'avère que les formules de variance et écart type en 1/n correspondent à l'analyse d'un tableau d'une population complète de valeurs, ce qui est bien dans un exercice de mathématique de lycée,
tandis que les formules en 1/(n-1) correspondent à l'étude d'un échantillonage de valeurs prélevées sur une population, ou un phénomène, donc par nature un tableau incomplet.
Des mathématiciens plus compétents que l'auteur de cette page en on décidé ainsi. Ils devaient avoir de bonnes raisons pour cela, que nous ne contesterons pas.
L'un d'entre eux fait quelques remarques : ici
Dans le tableur gnumeric, sur une population complète, il faut donc utiliser en lieu et place de var et stdev, les fonctions
varp et stdevp
dont le p final signifie bien qu'elles s'appliquent à des populations.
=rand()
sans argument.
=sum(valeur1 : valeurn)
=average(valeur1 : valeurn)
=power(a,b).
Met a à la puissance b => ab.
=sqrt(x). Donne x1/2
=varp(valeur1 : valeurn).
Formule en 1/n pour un tableau complet d'exercice de math.
=stdevp(valeur1 : valeurn).
Formule en 1/n pour un tableau complet.
Et aussi
=fact(n).
[Accueil du site. ] _ [Lycée] _ [GAFAM et commen y échapper.]
Page validée W3C