Sign in Join
Wiki copytemporary

Functions for descriptive statistics/fr: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-La statistique descriptive a pour but de caractériser des données empirique à l'aide de paramètres sommatifs (et aussi avec des tables et des graphiques).
2-
3-## Contents
4-
5- * 1 Fonctions standard définies dans l'unité math
6- * 2 Fonctions standard défines dans d'autres unités
7- * 3 Fonctions personnalisées
8- * 3.1 Médiane
9- * 3.2 Erreur type
10- * 3.3 Coefficient de variation
1+La statistique descriptive a pour but de caractériser des données empirique à l'aide de paramètres sommatifs (et aussi avec des tables et des graphiques).
112
123## Fonctions standard définies dans l'unité math
134
14-L'unité [math](<http://lazarus-ccr.sourceforge.net/docs/rtl/math/index.html> "doc:rtl/math/index.html") de la [[RTL/fr|RTL]] fournit une pléthore de routines pour la statistique descriptive.
5+L'unité [[doc:rtl/math/index.html|math]] de la [[RTL/fr|RTL]] fournit une pléthore de routines pour la statistique descriptive.
156
16- * `[mean](<http://lazarus-ccr.sourceforge.net/docs/rtl/math/mean.html> "doc:rtl/math/mean.html")` : Retourne la valeur moyenne d'un tableau.
17- * `[ stddev](<http://lazarus-ccr.sourceforge.net/docs/rtl/math/stddev.html> "doc:rtl/math/stddev.html")` : Retourne l'écart moyen type (échantillon) d'un tableau.
18- * `[ popnstddev](<http://lazarus-ccr.sourceforge.net/docs/rtl/math/popnstddev.html> "doc:rtl/math/popnstddev.html")` : Retourne l'écart moyen type (population) d'un tableau.
19- * `[ meanandstddev](<http://lazarus-ccr.sourceforge.net/docs/rtl/math/meanandstddev.html> "doc:rtl/math/meanandstddev.html")` : Retourne la moyenne et l'écart moyen type d'un tableau.
20- * `[ momentskewkurtosis](<http://lazarus-ccr.sourceforge.net/docs/rtl/math/momentskewkurtosis.html> "doc:rtl/math/momentskewkurtosis.html")` : Retourne le 4 permiers moments d'un tableau.
21- * `[ variance](<http://lazarus-ccr.sourceforge.net/docs/rtl/math/variance.html> "doc:rtl/math/variance.html")` : Retourne la variance (échantillon) d'un tableau.
22- * `[ popnvariance](<http://lazarus-ccr.sourceforge.net/docs/rtl/math/popnvariance.html> "doc:rtl/math/popnvariance.html")` : Retourne la variance (population) d'un tableau.
23- * `[ totalvariance](<http://lazarus-ccr.sourceforge.net/docs/rtl/math/totalvariance.html> "doc:rtl/math/totalvariance.html")` : Retourne la variance d'un tableau.
24- * `[ sumofsquares](<http://lazarus-ccr.sourceforge.net/docs/rtl/math/sumofsquares.html> "doc:rtl/math/sumofsquares.html")` : Retourne la somme des carrés d'un tableau.
25- * `[ sum](<http://lazarus-ccr.sourceforge.net/docs/rtl/math/sum.html> "doc:rtl/math/sum.html")` : Retourne la somme des valeurs d'un tableau.
26- * `[ sumsandsquares](<http://lazarus-ccr.sourceforge.net/docs/rtl/math/sumsandsquares.html> "doc:rtl/math/sumsandsquares.html")` : Retourne la somme et la somme des carrés des valeurs d'un tableau.
7+- [[doc:rtl/math/mean.html|mean]] : Retourne la valeur moyenne d'un tableau.
8+- [[doc:rtl/math/stddev.html|stddev]] : Retourne l'écart moyen type (échantillon) d'un tableau.
9+- [[doc:rtl/math/popnstddev.html|popnstddev]] : Retourne l'écart moyen type (population) d'un tableau.
10+- [[doc:rtl/math/meanandstddev.html|meanandstddev]] : Retourne la moyenne et l'écart moyen type d'un tableau.
11+- [[doc:rtl/math/momentskewkurtosis.html|momentskewkurtosis]] : Retourne le 4 permiers moments d'un tableau.
12+- [[doc:rtl/math/variance.html|variance]] : Retourne la variance (échantillon) d'un tableau.
13+- [[doc:rtl/math/popnvariance.html|popnvariance]] : Retourne la variance (population) d'un tableau.
14+- [[doc:rtl/math/totalvariance.html|totalvariance]] : Retourne la variance d'un tableau.
15+- [[doc:rtl/math/sumofsquares.html|sumofsquares]] : Retourne la somme des carrés d'un tableau.
16+- [[doc:rtl/math/sum.html|sum]] : Retourne la somme des valeurs d'un tableau.
17+- [[doc:rtl/math/sumsandsquares.html|sumsandsquares]] : Retourne la somme et la somme des carrés des valeurs d'un tableau.
2718
28-Ces fonctions attendent un tableau de taille prédéfinie (p.ex. `array[1..100] of float`) ou un tableau ouvert à base 0 (p.ex. `array of extended`) avec l'appel sous-jacent à la procédure `[ SetLength](<http://lazarus-ccr.sourceforge.net/docs/rtl/system/setlength.html> "doc:rtl/system/setlength.html")`.
19+Ces fonctions attendent un tableau de taille prédéfinie (p.ex. `array[1..100] of float`) ou un tableau ouvert à base 0 (p.ex. `array of extended`) avec l'appel sous-jacent à la procédure [[doc:rtl/system/setlength.html|SetLength]].
2920
3021## Fonctions standard défines dans d'autres unités
3122
32- * [ length](<http://lazarus-ccr.sourceforge.net/docs/rtl/system/length.html> "doc:rtl/system/length.html") : Donne la longueur d'un tableau.
23+- [[doc:rtl/system/length.html|length]] : Donne la longueur d'un tableau.
3324
3425## Fonctions personnalisées
3526
36-Certaines fonctions ne sont pas définies dans la RTL. La section ci-dessous donne du code source de certaines mesures communément utilisées dans la centralité et la dispersion. Si ce n'est pas spécifié autrement, le code est fourni sous licence BSD. Ensemble avec les autres codes statistiques utiles
27+Certaines fonctions ne sont pas définies dans la RTL. La section ci-dessous donne du code source de certaines mesures communément utilisées dans la centralité et la dispersion. Si ce n'est pas spécifié autrement, le code est fourni sous licence BSD. Ensemble avec les autres codes statistiques utiles
3728
38-Avec d'autres codes statistiques utiles, des versions étendues et rigoureusement testées de ces fonctions sont également disponibles dans le projet [QUANTUM SALIS](<http://quantum-salis.sf.net/>).
29+Avec d'autres codes statistiques utiles, des versions étendues et rigoureusement testées de ces fonctions sont également disponibles dans le projet [QUANTUM SALIS](http://quantum-salis.sf.net/).
3930
4031### Médiane
4132
42-Le terme _médiane_ dénote les quantile de 50% d'un échantillon, i.e. la valeur séparant la moitié la plus élevée d'une donnée de la moitié la moins élevée. Elle peut être calculée avec :
43-```
33+Le terme *médiane* dénote les quantile de 50% d'un échantillon, i.e. la valeur séparant la moitié la plus élevée d'une donnée de la moitié la moins élevée. Elle peut être calculée avec :
34+
35+``` pascal
4436type
45- TExtArray = array of Extended;
46-
47- function SortExtArray(const data: TExtArray): TExtArray;
48- { Based on Shell Sort - avoiding recursion allows for sorting of very
49- large arrays, too }
50- var
51- data2: TExtArray;
52- arrayLength, i, j, k: longint;
53- h: extended;
37+ TExtArray = array of Extended;
38+
39+function SortExtArray(const data: TExtArray): TExtArray;
40+{ Based on Shell Sort - avoiding recursion allows for sorting of very
41+ large arrays, too }
42+var
43+ data2: TExtArray;
44+ arrayLength, i, j, k: longint;
45+ h: extended;
46+begin
47+ arrayLength := high(data);
48+ data2 := copy(data, 0, arrayLength + 1);
49+ k := arrayLength div 2;
50+ while k > 0 do
51+ begin
52+ for i := 0 to arrayLength - k do
5453 begin
55- arrayLength := high(data);
56- data2 := copy(data, 0, arrayLength + 1);
57- k := arrayLength div 2;
58- while k > 0 do
54+ j := i;
55+ while (j >= 0) and (data2[j] > data2[j + k]) do
5956 begin
60- for i := 0 to arrayLength - k do
61- begin
62- j := i;
63- while (j >= 0) and (data2[j] > data2[j + k]) do
64- begin
65- h := data2[j];
66- data2[j] := data2[j + k];
67- data2[j + k] := h;
68- if j > k then
69- dec(j, k)
70- else
71- j := 0;
72- end;
73- end;
74- k := k div 2
57+ h := data2[j];
58+ data2[j] := data2[j + k];
59+ data2[j + k] := h;
60+ if j > k then
61+ dec(j, k)
62+ else
63+ j := 0;
7564 end;
76- result := data2;
77- end;
78-
79- function median(const data: TExtArray): extended;
80- var
81- centralElement: integer;
82- sortedData: TExtArray;
83- begin
84- sortedData := SortExtArray(data);
85- centralElement := length(sortedData) div 2;
86- if odd(length(sortedData)) then
87- result := sortedData[centralElement]
88- else
89- result := (sortedData[centralElement - 1] + sortedData[centralElement]) / 2;
9065 end;
66+ k := k div 2
67+ end;
68+ result := data2;
69+end;
70+
71+function median(const data: TExtArray): extended;
72+var
73+ centralElement: integer;
74+ sortedData: TExtArray;
75+begin
76+ sortedData := SortExtArray(data);
77+ centralElement := length(sortedData) div 2;
78+ if odd(length(sortedData)) then
79+ result := sortedData[centralElement]
80+ else
81+ result := (sortedData[centralElement - 1] + sortedData[centralElement]) / 2;
82+end;
9183```
9284
93-Bien sûr, la fonction **SortExtArray** peut être remplacée par un autre algorithme de tri, p.ex. QuickSort. Le tri Shell présente ici l'avantage de pouvoir trier des vecteurs même très larges sur des machines ayant peu de mémoire (bien qu'avec une vitesse plus réduite que le tri QuickSort).
85+Bien sûr, la fonction **SortExtArray** peut être remplacée par un autre algorithme de tri, p.ex. QuickSort. Le tri Shell présente ici l'avantage de pouvoir trier des vecteurs même très larges sur des machines ayant peu de mémoire (bien qu'avec une vitesse plus réduite que le tri QuickSort).
9486
9587### Erreur type
9688
97-L'erreur type de la moyenne (SEM en anglais) est la mesure qui estime avec quelle précision la vraie moyenne de la population peut être connue.
89+L'erreur type de la moyenne (SEM en anglais) est la mesure qui estime avec quelle précision la vraie moyenne de la population peut être connue.
9890
99-Le calcul de l'erreur type est simple :
100-```
101-function sem(const data: array of Extended): real;
102- begin
103- sem := stddev(data) / sqrt(length(data));
104- end;
91+Le calcul de l'erreur type est simple :
92+
93+``` pascal
94+ function sem(const data: array of Extended): real;
95+ begin
96+ sem := stddev(data) / sqrt(length(data));
97+ end;
10598```
10699
107100### Coefficient de variation
108101
109-Le coefficient de variation, aussi connu comme l'écart type realtif, est une mesure de la dispersionqui est normalisée par rapport à la moyenne des données.
102+Le coefficient de variation, aussi connu comme l'écart type realtif, est une mesure de la dispersionqui est normalisée par rapport à la moyenne des données.
110103
111-Il peut être calculé avec :
112-```
104+Il peut être calculé avec :
105+
106+``` pascal
113107function cv(const data: array of Extended): extended;
114- { calculates the coefficient of variation (CV or CoV) of a vector of extended }
115- begin
116- result := stddev(data) / mean(data);
117- end;
108+{ calculates the coefficient of variation (CV or CoV) of a vector of extended }
109+begin
110+ result := stddev(data) / mean(data);
111+end;
118112```
119113
120114---
121-*From the Free Pascal wiki, page "Functions for descriptive statistics/fr", as the Internet Archive kept it on 2023-03-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
115+*From the Free Pascal wiki, page "Functions for descriptive statistics/fr", as it stood on 2020-02-16 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history