MATH_EgaliteMoyennes [Statistiques]
Par Teddy Linet (Math4D v1)
Nouvelle recherche
Si (Faux)
` MATH_EgaliteMoyennes [Teddy LINET 12/2002]
` ---------------------------------------------
` ATTENTION : Nécessite MATH_LoiNormale
` ---------------------------------------------
` Dans sa 1ère écriture :
` Permet de comparer une moyenne expérimentale à une valeur donnée
` Dans sa 2e écriture
` Permet de comparer deux moyennes expérimentales
`
` Renvoie p, le risque que ses 2 valeurs soient différentes
` Si p est supérieur au seuil de signification (habituellement 5%) on peut
` considerer que les moyennes sont différentes (rejet de l'hypothèse Ho);
` Sinon, on ne peut rien conclure
`
` ATTENTION : ceci ne correspond pas à la conduite habituelle
` en statistiques (d'abord test, puis calcul de p si z est dans l'intervalle
` de confiance); Mais le résultat est en fait équivalent
` ---------------------------------------------
` Rappels mathématiques :
` Le test d'égalité d'une moyenne expérimentale à une valeur donnée
` Ce test permet de vérifier si la moyenne expérimentale x coincide avec une
` valeur donnée muh (réelle)
` Le paramètre à évaluer est donc le suivant :
` x-muh
` z =-------------------
` Sqr(s^2/n)
`ou s représente la variance et n le nombre d'élément
` Pour comparer 2 moyennes expérimentales (xa et xb) le paramètre à évaluer est d
` xa - xb
` z=---------------------------
` ( sa^2 sb^2 )
` Sqr(----- + ----- )
` ( na nb )
` Les conditions sont : n >= 30
` ---------------------------------------------
` Deux écritures :
`
` MATH_EgaliteMoyennes (MoyenneObs;VarianceObs;NbElements;MoyenneVraie)
` MoyenneObs (Réel) : Moyenne Observée dans la série
` VarianceObs (Réel) : Variance Observée dans la série
` NbElements (Réel) : Nombre d'éléments de la série
` MoyenneVraie (Réel) : Valeur à comparer
` Renvoie $O (Réel) représentant p le risque que ses 2 valeurs soient différente
`
` MATH_EgaliteMoyennes (MoyenneA;VarianceA;NbElementsA;MoyenneB;
` VarianceB;NbElementsB)
` MoyenneA (Réel) : Moyenne Observée dans la série A
` VarianceA (Réel) : Variance Observée dans la série A
` NbElementsA (Réel) : Nombre d'éléments de la série A
` MoyenneB (Réel) : Moyenne Observée dans la série B
` VarianceB (Réel) : Variance Observée dans la série B
` NbElementsB (Réel) : Nombre d'éléments de la série B
` ---------------------------------------------
` MATHERROR
` 0 -> Pas d'erreur
` -1 -> n <= 0
` -2 -> variance nulle
` +1 -> Conditions non remplies (nA< 30 ou nB < 30)
` +2 -> Ecart-type négatif (mis à positif) ou nul
` +3 -> n n'est pas un entier (arrondi)
` ---------------------------------------------
` EXEMPLES
`
Fin de si
C_REEL($0;$p_F;$1;$vMoyenneObs_F;$vMoyenneA_F;$2;$vVarianceObs_F;$vVarianceA_F)
C_REEL($3;$vNbElementsObs_F;$vNbElementsA_F;$4;$vMoyenneVraie_F;$vMoyenneB_F)
C_REEL($5;$vVarianceB_F;$6;$vNbElementsB_F;$z_F;$VarTravail_F)
C_ENTIER LONG($vMathError_L;MATHERROR)
$vMathError_L:=0
$p_F:=0 ` par défaut
Si (Nombre de parametres#6) `Cas ou il s'agit de la comparaison avec une moyenne vraie
$vMoyenneObs_F:=$1
$vVarianceObs_F:=$2
$vNbElementsObs_F:=$3
$vMoyenneVraie_F:=$4
` Matherror n'est pas tout de suite calculée
` Car elle pourrait être parasitée par LoiNormale
Au cas ou
: ($vNbElementsObs_F<=1) ` Sinon division par zéro
$vMathError_L:=-1
: ($vVarianceObs_F=0) ` Sinon division par zéro
$vMathError_L:=-2
Sinon ` Erreurs corrigeables (du moins important au plus important)
` On n'utilise pas un "au cas où" car les modifications peuvent être multiples
Si (($vNbElementsObs_F-Ent($vNbElementsObs_F))#0) ` Pas un entier
$vMathError_L:=3
$vNbElementsObs_F:=Arrondi($vNbElementsObs_F;0) ` Arrondi
Fin de si
Si ($vVarianceObs_F<0)
$vMathError_L:=2
$vVarianceObs_F:=Abs($vVarianceObs_F) ` Valeur absolue
Fin de si
Si ($vNbElementsObs_F<30) ` Conditions non remplies
$vMathError_L:=1
Fin de si
Fin de cas
Si ($vMathError_L>=0) ` Pas de drame => on continue
$z_F:=$vMoyenneObs_F-$vMoyenneVraie_F
$VarTravail_F:=Racine carree($vVarianceObs_F/$vNbElementsObs_F)
$z_F:=$z_F/$VarTravail_F ` Calcul du paramètre
` Logiquement on vérifie que le paramètre est bien dans l'intervalle de pari
$p_F:=1-(MATH_LoiNormale ($z_F;"P")*2) ` Puis on cacul p
Fin de si
Sinon ` Cas ou il s'agit de la comparaison entre 2 moyennes observées
$vMoyenneA_F:=$1
$vVarianceA_F:=$2
$vNbElementsA_F:=$3
$vMoyenneB_F:=$4
$vVarianceB_F:=$5
$vNbElementsB_F:=$6
Au cas ou
: (($vNbElementsA_F<=1) | ($vNbElementsB_F<=1)) ` Sinon division par zéro
$vMathError_L:=-1
: (($vVarianceA_F=0) | ($vVarianceB_F=0)) ` Sinon division par zéro
$vMathError_L:=-2
Sinon ` Erreurs corrigeables (du moins important au plus important)
Si (($vNbElementsA_F-Ent($vNbElementsA_F))#0) ` Pas un entier
$vMathError_L:=3
$vNbElementsA_F:=Arrondi($vNbElementsA_F;0) ` Arrondi
Fin de si
Si (($vNbElementsB_F-Ent($vNbElementsB_F))#0) ` Pas un entier
$vMathError_L:=3
$vNbElementsB_F:=Arrondi($vNbElementsB_F;0) ` Arrondi
Fin de si
Si ($vVarianceA_F<0)
$vMathError_L:=2
$vVarianceA_F:=Abs($vVarianceA_F) ` Valeur absolue
Fin de si
Si ($vVarianceB_F<0)
$vMathError_L:=2
$vVarianceB_F:=Abs($vVarianceB_F) ` Valeur absolue
Fin de si
Si (($vNbElementsA_F<30) | ($vNbElementsB_F<30))
$vMathError_L:=1
Fin de si
Fin de cas
Si ($vMathError_L>=0) ` Pas de drame => on continue
$z_F:=$vMoyenneA_F-$vMoyenneB_F
$VarTravail_F:=Racine carree(($vVarianceA_F/$vNbElementsA_F)+($vVarianceB_F/$vNbElementsB_F))
$z_F:=$z_F/$VarTravail_F
` Logiquement on vérifie que le paramètre est bien dans l'intervalle de pari
$p_F:=1-(MATH_LoiNormale ($z_F;"P")*2) ` Puis on cacul p
Fin de si
Fin de si
$0:=$p_F ` Enfin, on renvoie la valeur calculée
MATHERROR:=$vMathError_L ` Puis on renvoie le matherror de cette fonction