MATH_IntervalleConfiance    [Statistiques]

Par Teddy Linet (Math4D v1)
Nouvelle recherche
Si (Faux)
   ` MATH_IntervalleConfiance [Teddy LINET 08/2002]
   ` ---------------------------------------------
   ` ATTENTION : Nécessite MATH_LoiNormale
   ` ---------------------------------------------
   ` Rappels mathématiques :
   ` Un intervalle de confiance d'une proportion (Po) ou d'une moyenne expérimentale
   ` (x) permet de donner l'intervalle ou la proportion VRAIE ou la moyenne VRAIE
   ` peut se trouver avec le risque alpha (habituellement 0,05)
   ` 
   ` Pour une proportion l'intervalle de confiance (IC) de niveau 1-alpha
   ` (ou au risque alpha) peut se calculer selon la formule :
   `                                                          Po(1-Po)
   ` IC = [pmin ; pmax] = Po +- Ualpha Sqr----------
   `                                                                n
   ` Les conditions sont :
   ` n x pmin >= 5 ET n x (1-pmax) >= 5
   `
   ` Pour une moyenne l'intervalle peut se calculer selon la formule
   `                             s
   ` IC = x +- Ualpha  -----
   `                           Sqr(n)
   ` Les conditions sont : n >= 30
   ` ---------------------------------------------
   ` Deux écritures :
   ` 
   ` MATH_IntervalleConfiance (TypeDeCalcul; Proportion; Alpha; NbIndividus)
   ` TypeDeCalcul (Entier) : 1 pour proportion, ou constante Confiance_Proportions
   ` Proportion (Réel) : Proportion expérimentale (Po)
   ` Alpha (Réel) : Risque alpha (habituellement 0,05)
   ` NbIndividus (Entier Long) : Nombre d'individus dans la série expérimentale
   ` Renvoie $O (Réel)  représentant la moitié de l'intervalle d'amplitude soit
   ` IC = [Proportion-$0 ; Proportion+$0]
   ` 
   ` MATH_IntervalleConfiance (TypeDeCalcul; Moyenne; Alpha; NbIndividus; EType)
   ` TypeDeCalcul (Entier) : 2 pour moyenne, ou constante Confiance_Moyenne
   ` Moyenne (Réel) : Moyenne expérimentale (x)
   ` Alpha (Réel) : Risque alpha (habituellement 0,05)
   ` NbIndividus (Entier Long) : Nombre d'individus dans la série expérimentale
   ` EType (Reel) : Ecart-type de la série
   ` Renvoie $O (Réel)  représentant la moitié de l'intervalle d'amplitude soit
   ` IC = [Moyenne-$0 ; Moyenne+$0]
   ` ---------------------------------------------
   ` MATHERROR
   ` 0 -> Pas d'erreur
   ` -1 -> n <= 0
   ` -2 -> Alpha n'est pas une proportion (pas entre 0 et 1)
   ` -3 -> Proportion impossible (pas entre 0 et 1)
   ` +1 -> Conditions non remplies
   ` +2 -> Ecart-type négatif (mis à positif) ou nul
   ` ---------------------------------------------
   ` EXEMPLES
   ` MATH_Moyennes (Confiance_Proportions ;0,1;0,05;100)
   ` Renvoie 0,06 et MATHERROR = 1 (car 100 x 0,4 = 4)
   ` 
Fin de si 

C_REEL($0;$2;$vProportion_F;$vMoyenne_F;$3;$vAlpha_F;$5;$EType_F)
C_ENTIER LONG($1;$vOptionCalcul_L)
C_ENTIER LONG($4;$vNbIndividus_L)
C_ENTIER LONG(MATHERROR)
$vOptionCalcul_L:=$1
$vProportion_F:=$2
$vMoyenne_F:=$2  ` La même chose, mais on améliore la lisibilité
$vAlpha_F:=$3
$vNbIndividus_L:=$4
Si (Nombre de parametres=5)
 $EType_F:=$5
Fin de si 
MATHERROR:=0  ` Pas d'erreur pour l'instant
$0:=0  ` Par défaut

Au cas ou 
 : ($vNbIndividus_L<1)  ` Gloups, pas d'individus
 MATHERROR:=-1
 : (($vAlpha_F<0) | ($vAlpha_F>1))  ` Alpha n'est pas une proportion
 MATHERROR:=-2
Fin de cas 

Si (MATHERROR=0)  ` Tout est bon
 
 Si ($vOptionCalcul_L=1)  ` Première partie, calcul en fonction des proportions
  Si (($vProportion_F>1) | ($vProportion_F<0))  ` Gloups, pas une proportion
   MATHERROR:=-3
  Fin de si 
  Si (MATHERROR=0)  ` Tout est bon
   $0:=$vProportion_F*(1-$vProportion_F)
   $0:=$0/$vNbIndividus_L
   $0:=Racine carree($0)
   $0:=MATH_LoiNormale ($vAlpha_F;"Z")*$0  ` Calcul réalisé
   Si ((($vNbIndividus_L*($vProportion_F-$0))<5) | (($vNbIndividus_L*(1-($vProportion_F+$0)))<5))
    MATHERROR:=1  ` Les conditions ne sont par remplies
   Fin de si 
  Fin de si 
 Sinon   ` Deuxième option, calcul en fonction d'une moyenne
  Au cas ou 
   : ($vNbIndividus_L<30)
   MATHERROR:=1  ` Les conditions ne sont par remplies
   : ($EType_F<=0)
   MATHERROR:=2  ` L'écart-type doit être positif (non nul pour la cohérence)
   $EType_F:=Abs($EType_F)
  Fin de cas 
  Si (MATHERROR>=0)  ` Tout est bon
   $0:=Racine carree($vNbIndividus_L)
   $0:=$EType_F/$0
   $0:=MATH_LoiNormale ($vAlpha_F;"Z")*$0
  Fin de si 
 Fin de si 
Fin de si