ezmath_statistique.php
Ce fichier contient les fonctions de statistique descriptive.
Seules les séries quantitatives sont prises en compte (valeurs numériques).
Table of Contents
Functions
- serie_statistiques() : null|array<string|int, mixed>
- Renvoie, pour une série quantitative donnée, la liste des indicateurs de position, de dispersion et de forme.
- serie_mode() : null|array<string|int, mixed>
- Calcule le mode d'une série de valeurs.
- serie_moyenne() : null|float
- Calcule la moyenne arithmétique d'une série de valeurs.
- serie_moyenne_geometrique() : null|float
- Calcule la moyenne géométrique d'une série de valeurs.
- serie_moyenne_harmonique() : null|float
- Calcule la moyenne harmonique d'une série de valeurs.
- serie_moyenne_ponderee() : null|float
- Calcule la moyenne d'une série de valeurs pondérée par une liste de poids.
- serie_mediane() : null|float
- Calcule la médiane d'une série de valeurs.
- serie_centile() : null|float
- Calcule le p-ième centile d'une série de valeurs.
- serie_quantiles() : null|array<string|int, mixed>
- Calcule les quantiles d'une série de valeurs pour un ordre donné.
- serie_quartiles() : null|array<string|int, mixed>
- Calcule les quartiles d'une série de valeurs, c'est-à-dire les 3 quantiles d'ordre 4, nommés Q₁, Q₂ et Q₃.
- serie_etendue() : null|float
- Calcule l'étendue d'une série de valeurs.
- serie_interquartile() : null|float
- Calcule la distance interquartile.
- serie_variance() : null|float
- Calcule la variance d'une série de valeurs.
- serie_ecart_type() : null|float
- Calcule l'écart type d'une série de valeurs.
- serie_moment() : null|float
- Calcule le moment à l'origine ou centré d'ordre `p`, pour `p` supérieur à 1.
- serie_asymetrie_fisher() : null|float
- Calcule le coefficient d'asymétrie de Fisher à partir du moment centré d'ordre 3.
- serie_asymetrie_yule() : null|float
- Calcule le coefficient d'asymétrie de Yule à partir des quartiles.
- serie_asymetrie_pearson() : null|float
- Calcule le coefficient d'asymétrie de Pearson à partir de la médiane (asymétrie de médiane).
- serie_kurtosis_pearson() : null|float
- Calcule le coefficient d'aplatissement - kurtosis - de Pearson à partir du moment centré d'ordre 4.
- serie_kurtosis_fisher() : null|float
- Calcule le coefficient d'aplatissement - kurtosis - de Fisher qui normalise le coefficient d'aplatissement de Pearson.
- serie_autocorrelation_geary() : null|float
- Calcule l'indice de Geary qui mesure l'autocorrélation spatiale qui exprime la corrélation des observations adjacentes d'un même phénomène.
Functions
serie_statistiques()
Renvoie, pour une série quantitative donnée, la liste des indicateurs de position, de dispersion et de forme.
serie_statistiques(array<string|int, mixed> $serie[, bool $correction_bessel = false ]) : null|array<string|int, mixed>
L'indice de Geary n'est pas renvoyé (requiert des données autres que la série elle-même).
Parameters
- $serie : array<string|int, mixed>
-
Tableau représentant la série
- $correction_bessel : bool = false
-
Indique si la correction de Bessel doit être appliquée sur la variance et l'écart-type (défaut
false, aucune correction)
Return values
null|array<string|int, mixed> —Liste des indicateurs statistiques (position, dispersion et forme) ou null si erreur
(série vide). Chaque indicateur vaut null s'il n'est pas calculable sur la série fournie.
serie_mode()
Calcule le mode d'une série de valeurs.
serie_mode(array<string|int, mixed> $serie) : null|array<string|int, mixed>
Le mode est la valeur distincte correspondant à l’effectif le plus élevé. Il n'est pas nécessairement unique.
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
Return values
null|array<string|int, mixed> —Tableau des modes même si la série ne possède qu'un seul mode ou null si erreur (série vide).
serie_moyenne()
Calcule la moyenne arithmétique d'une série de valeurs.
serie_moyenne(array<string|int, mixed> $serie) : null|float
∑⟮xᵢ⟯ µ = ----- où xᵢ désigne la ième valeur de la série et n l'effectif de la série n
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
Return values
null|float —Valeur de la moyenne ou null si erreur (série vide).
serie_moyenne_geometrique()
Calcule la moyenne géométrique d'une série de valeurs.
serie_moyenne_geometrique(array<string|int, mixed> $serie) : null|float
La moyenne géométrique n'est définie que sur des valeurs positives ou nulles.
G = ⁿ√∏⟮xᵢ⟯ où xᵢ désigne la ième valeur de la série et n l'effectif de la série
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
Tags
Return values
null|float —Valeur de la moyenne ou null si erreur (série vide ou contenant une valeur négative).
serie_moyenne_harmonique()
Calcule la moyenne harmonique d'une série de valeurs.
serie_moyenne_harmonique(array<string|int, mixed> $serie) : null|float
n H = ------- où xᵢ désigne la ième valeur de la série et n l'effectif de la série ∑(1/xᵢ)
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
Return values
null|float —Valeur de la moyenne ou null si erreur (série vide, contenant une valeur nulle ou dont la
somme des inverses est nulle).
serie_moyenne_ponderee()
Calcule la moyenne d'une série de valeurs pondérée par une liste de poids.
serie_moyenne_ponderee(array<string|int, mixed> $serie, array<string|int, mixed> $poids) : null|float
∑⟮wᵢxᵢ⟯ P = ------ où xᵢ désigne la ième valeur de la série et wᵢ le ième poids ∑⟮wᵢ⟯
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
- $poids : array<string|int, mixed>
-
Tableau des poids de même taille que la série.
Return values
null|float —Valeur de la moyenne ou null si erreur (série vide ou liste de poids invalide).
serie_mediane()
Calcule la médiane d'une série de valeurs.
serie_mediane(array<string|int, mixed> $serie) : null|float
n+1
- si n est impair : M = --- ème valeur de la série 2 n n
- si n est pair : M = la moitié de la somme de la - ème et de la -+1 ème valeurs de la série 2 2.
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
Return values
null|float —Valeur de la médiane ou null si erreur (série vide).
serie_centile()
Calcule le p-ième centile d'une série de valeurs.
serie_centile(array<string|int, mixed> $serie, float $p) : null|float
La méthode utilisée correspond au type 6 de la fonction quantile() du langage R, recommandée par le NIST. p(n+1)
- Le rang k est calculé de la façon suivante : k = ------ 100
- La valeur k est ensuite séparée en deux valeurs, sa partie entière (e) et sa partie décimale (d).
Le centile est ensuite déterminé selon la règle suivante (avec xᵢ la ième valeur observée dans la série ordonnée) :
- si e = 0 alors le centile est v₁ (la première valeur observée)
- si e >= n alors le centile est vₙ (la dernière valeur observée)
- sinon le centile se calcule par interpolation linéaire et est égale à : vₑ + d*(vₑ₊₁ - vₑ).
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
- $p : float
-
Le centile à calculer, non nécessairement entier (ex: 33.33 pour le premier tercile).
Tags
Return values
null|float —Valeur du p-ième centile ou null si erreur (série vide)
serie_quantiles()
Calcule les quantiles d'une série de valeurs pour un ordre donné.
serie_quantiles(array<string|int, mixed> $serie, int $ordre) : null|array<string|int, mixed>
Les ordres les plus utilisés sont :
- 2 : médiane
- 4 : quartiles
- 5 : quintiles
- 10 : déciles
- 100 : centiles.
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
- $ordre : int
-
Valeur de l'ordre
Return values
null|array<string|int, mixed> —Tableau des ($ordre-1) quantiles pour l'ordre choisi ou null si erreur (série vide).
serie_quartiles()
Calcule les quartiles d'une série de valeurs, c'est-à-dire les 3 quantiles d'ordre 4, nommés Q₁, Q₂ et Q₃.
serie_quartiles(array<string|int, mixed> $serie) : null|array<string|int, mixed>
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
Return values
null|array<string|int, mixed> —Tableau des 3 quartiles ou null si erreur (série vide).
serie_etendue()
Calcule l'étendue d'une série de valeurs.
serie_etendue(array<string|int, mixed> $serie) : null|float
E = max(x) - min(x) où x est la variable représentée par la série de valeurs
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
Return values
null|float —Valeur de l'étendu de la série ou null si erreur (série vide).
serie_interquartile()
Calcule la distance interquartile.
serie_interquartile(array<string|int, mixed> $serie) : null|float
IQ = Q₃ - Q₁
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
Return values
null|float —Distance interquartile ou null si erreur (série vide)
serie_variance()
Calcule la variance d'une série de valeurs.
serie_variance(array<string|int, mixed> $serie[, bool $correction_bessel = false ]) : null|float
Le calcul dépend du contexte choisi, à savoir, de tenir compte ou pas de la correction de Bessel pour les
échantillons. Ce contexte se règle via le paramètre $correction_bessel (défaut false, aucune correction).
∑⟮xᵢ - μ⟯²
σ² = --------- où xᵢ désigne la ième valeur de la série, μ la moyenne arithmétique et ν les degrés de liberté ν qui coincide avec l'effectif de la série, n, ou avec n-1 (correction de Bessel)
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
- $correction_bessel : bool = false
-
Indique si la correction de Bessel doit être appliquée ou pas (défaut)
Return values
null|float —Variance (corrigée ou non) ou null si erreur (série vide ou réduite à un élément si Bessel)
serie_ecart_type()
Calcule l'écart type d'une série de valeurs.
serie_ecart_type(array<string|int, mixed> $serie[, bool $correction_bessel = false ]) : null|float
Le calcul dépend du contexte comme pour la variance.
σ = √⟮σ²⟯ où σ² désigne la variance corrigée ou non.
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
- $correction_bessel : bool = false
-
Indique si la correction de Bessel doit être appliquée ou pas (défaut)
Return values
null|float —Ecart type (corrigé ou non) ou null si erreur (série vide ou réduite à un élément si Bessel)
serie_moment()
Calcule le moment à l'origine ou centré d'ordre `p`, pour `p` supérieur à 1.
serie_moment(array<string|int, mixed> $serie, int $ordre[, null|bool $centre = true ]) : null|float
- Moment à l'origine : ∑⟮xᵢ⟯ᴾ m'ₚ = ------- où xᵢ désigne la ième valeur de la série et p l'ordre n
- Moment centré : ∑⟮xᵢ - µ⟯ᴾ m'ₚ = --------- où xᵢ désigne la ième valeur de la série, µ la moyenne arithmétique et p l'ordre n
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
- $ordre : int
-
Valeur de d'ordre du moment (puissance)
- $centre : null|bool = true
-
Indique si on veut le moment à l'origine ou le moment centré (défaut)
Tags
Return values
null|float —Moment centré ou pas d'ordre p ou null si erreur (série vide)
serie_asymetrie_fisher()
Calcule le coefficient d'asymétrie de Fisher à partir du moment centré d'ordre 3.
serie_asymetrie_fisher(array<string|int, mixed> $serie) : null|float
m₃ γ₁ = ---- où m₃ est le moment centré d'ordre 3 et σ l'écart type de la série de valeurs. σ³
L'interprétation du coefficient est le suivant:
- γ₁ = 0 pour une distribution symétrique,
- γ₁ > 0 pour une distribution asymétrique à gauche,
- γ₁ < 0 pour une distribution asymétrique à droite.
Parameters
- $serie : array<string|int, mixed>
Return values
null|floatserie_asymetrie_yule()
Calcule le coefficient d'asymétrie de Yule à partir des quartiles.
serie_asymetrie_yule(array<string|int, mixed> $serie) : null|float
(Q₃ + Q₁ - 2Q₂ ) Yₖ = ----------------- où Qᵢ désigne chacun des 3 quartiles. (Q₃ - Q₁)
L'interprétation est la même que pour le coefficient de Fisher sachant que -1 ≤ Yₖ ≤ 1.
Parameters
- $serie : array<string|int, mixed>
Return values
null|floatserie_asymetrie_pearson()
Calcule le coefficient d'asymétrie de Pearson à partir de la médiane (asymétrie de médiane).
serie_asymetrie_pearson(array<string|int, mixed> $serie) : null|float
3(µ - M) Sₖ = -------- où µ désigne la moyenne arithmétique, M la médiane et σ l'écart type. σ
L'interprétation est la même que pour le coefficient de Fisher sachant que -3 ≤ Sₖ ≤ 3.
Parameters
- $serie : array<string|int, mixed>
Return values
null|floatserie_kurtosis_pearson()
Calcule le coefficient d'aplatissement - kurtosis - de Pearson à partir du moment centré d'ordre 4.
serie_kurtosis_pearson(array<string|int, mixed> $serie) : null|float
m₄ β₂ = ---- où m₄ désigne le moment centré d'ordre 4 et σ l'écart type. σ⁴
Le coefficient β₂ >= 1 et oscille autour de 3 pour une distribution normale. C'est pourquoi on utilise souvent le coefficient de Fisher.
Parameters
- $serie : array<string|int, mixed>
Return values
null|floatserie_kurtosis_fisher()
Calcule le coefficient d'aplatissement - kurtosis - de Fisher qui normalise le coefficient d'aplatissement de Pearson.
serie_kurtosis_fisher(array<string|int, mixed> $serie) : null|float
γ₂ = β₂ - 3
L'interprétation du coefficient est le suivant:
- γ₂ = 0 kurtosis normale (mésokurtique), la distribution a une forme similaire à une distribution normale
- γ₂ > 0 kurtosis positif (leptokurtique), la distribution est plus concentrée au centre avec des queues épaisses
- γ₂ < 0 kurtosis négatif (platykurtique), la distribution est plus aplatie avec des queues fines
Parameters
- $serie : array<string|int, mixed>
Return values
null|floatserie_autocorrelation_geary()
Calcule l'indice de Geary qui mesure l'autocorrélation spatiale qui exprime la corrélation des observations adjacentes d'un même phénomène.
serie_autocorrelation_geary(array<string|int, mixed> $serie, array<string|int, mixed> $ponderation) : null|float
(N-1) ∑ ∑wᵢⱼ⟮xᵢ - xⱼ⟯² i j C = --------------------- où N désigne le nombre de valeurs de la série x, (wᵢⱼ) la matrice de pondération spatiale 2W∑⟮xᵢ - µ⟯² et W la somme des wᵢⱼ
La valeur de l'indice de Geary s'étend de 0 à 2 :
- = 1 : signifie qu'aucune autocorrélation spatiale n'est présente dans les mesures effectuées.
- < 1 : signifie une autocorrélation spatiale positive (valeurs similaires sont proches les unes des autres).
-
1 : signifie une autocorrélation spatiale négative (valeurs dissimilaires sont proches les unes des autres).
Parameters
- $serie : array<string|int, mixed>
-
Tableau des valeurs de la série.
- $ponderation : array<string|int, mixed>
-
Matrice de pondération spatiale
Return values
null|float —Indice ou null si erreur (série ou coordonnées vides ou incohérents, série constante ou pondération toute nulle)