quelqu'un saurait-il comment utiliser la fonction loi.poisson de excel dans
access. Dans l'historique du groupe, un seul message sans réponse datant de
l'an 2000 figure.
rappel de la fonction loi.poisson: Cette fonction sert à obtenir le
coéficient de poisson afin comparer une donnée à la moyenne d'un ensemble de
données
par exemple: il survient au cours des 4 dernières années 10, 15, 12, et 14
évènements quelquonques soit 12,75 en moyenne. Cette année, 16 évènements
surviennent. Est-ce significatif? avec poisson=0.21 ça l'est !
De plus, puisque la table des données est une liste cummulative des cas,
j'ai à produire des tableaux croisés avant de calculer la valeur poisson.
Certains tableaux croisé seront donc ventillés en fonction des autres
variable de ma table (age, sexe, ...)
Finalement pour ceux qui conaissent, le logiciel gratuit EPI-INFO offert par
le CDC d'Atlanta aux USA proposent une série de DLL qu'il me semble possible
de récupérer en VBA. Qu'en pensez-vous
Salut Eric, avec quelques recherches théoriques et explications, je comprend maintenant un peu mieux l'utilisation de cette loi.
Par contre, je ne comprends pas pourquoi ton collegue passe en 1er argument l'espérance et en plus retranche 1 dans la fonction d'Excel. Ca demande des eclaircissements.
Il ne le fait pas, j'avais mal compris. L'espérance est correctement placée en 2eme argument. Et pour les 2 soustractions (k-1 et 1-loi.poisson(x,y,z), voici leur explication:
la formule Pr(X = k) peut aussi s'écrire =loi.poisson(k , esp , vrai) - loi.poisson(k-1 , esp , vrai)
On peut aussi remplacer la Pr(X <= k) par =loi.poisson(1 , esp ,faux) + loi.poisson(2 , esp , faux) + ... + loi.poisson(k , esp , faux)
J'imagine que tu savais tous ça mais on (surtout moi) s'était mal compris.
A+
Salut Eric,
avec quelques recherches théoriques et explications, je comprend maintenant un
peu mieux l'utilisation de cette loi.
Par contre, je ne comprends pas pourquoi ton collegue passe en 1er
argument l'espérance et en plus retranche 1 dans la fonction d'Excel. Ca
demande des eclaircissements.
Il ne le fait pas, j'avais mal compris. L'espérance est correctement placée en
2eme argument. Et pour les 2 soustractions (k-1 et 1-loi.poisson(x,y,z), voici
leur explication:
Salut Eric, avec quelques recherches théoriques et explications, je comprend maintenant un peu mieux l'utilisation de cette loi.
Par contre, je ne comprends pas pourquoi ton collegue passe en 1er argument l'espérance et en plus retranche 1 dans la fonction d'Excel. Ca demande des eclaircissements.
Il ne le fait pas, j'avais mal compris. L'espérance est correctement placée en 2eme argument. Et pour les 2 soustractions (k-1 et 1-loi.poisson(x,y,z), voici leur explication:
la formule Pr(X = k) peut aussi s'écrire =loi.poisson(k , esp , vrai) - loi.poisson(k-1 , esp , vrai)
On peut aussi remplacer la Pr(X <= k) par =loi.poisson(1 , esp ,faux) + loi.poisson(2 , esp , faux) + ... + loi.poisson(k , esp , faux)
J'imagine que tu savais tous ça mais on (surtout moi) s'était mal compris.
A+
Eric
Bonjour Ma Dalton
C'était clair chez moi pour Pr{X<=k} et Pr{X>k}=1-Pr{X<=k}
Bon j'ai modifié un peu les fonctions pour respecter l'ordre des arguments de la fonction loi.poisson d'Excel.
je te redonne donc les fonctions:
La fonction fnLoi_Poisson() te permet donc de calculer Pr{X=k} ou Pr{X<=k} comme la fonction equivalente d'Excel Loi.Poisson. Elle appelle la fonction fnPrPoisson() en lui passant les arguments.
Tu copies ces fonctions dans un module standard nommé modLoiProba et après il te suffira au moment opportun d'appeler la fonction fnLoi_Poisson(arg1,arg2,arg3).
Function fnLoi_Poisson(lngNbEvenement As Long, dblEsperance As Double, bCumulatif As Boolean) as Double 'Pr{X=k} ou Pr{X<=k} suivant que le 3ème argument est True ou False If Not bCumulatif Then fnLoi_Poisson = fnPrPoisson(lngNbEvenement, dblEsperance) Else Dim lngX As Long, dblCumul As Double For lngX = 0 To lngNbEvenement dblCumul = dblCumul + fnPrPoisson(lngX, dblEsperance) Next lngX fnLoi_Poisson = dblCumul End If End Function
Function fnPrPoisson(lngLaValeur As Long, dblEsperance As Double) As Double 'Pr{X=k} fnPrPoisson = Exp(-dblEsperance) * dblEsperance ^ lngLaValeur / fnFactoriel(lngLaValeur) End Function
et la fonction de calcul de factoriel.
Function fnFactoriel(lngUneValeur As Long) As Double Dim lngUneValeur2 As Long If lngUneValeur < 0 Then Exit Function If lngUneValeur = 0 Then fnFactoriel = 1 Else lngUneValeur2 = lngUneValeur - 1 fnFactoriel = lngUneValeur * fnFactoriel(lngUneValeur2) End If End Function
Avec ca tu peux traiter tous les cas que tu as mentionnés
Bonne réception A+ Eric
"Ma Dalton" écrivait news::
Salut Eric, avec quelques recherches théoriques et explications, je comprend maintenant un peu mieux l'utilisation de cette loi.
Par contre, je ne comprends pas pourquoi ton collegue passe en 1er argument l'espérance et en plus retranche 1 dans la fonction d'Excel. Ca demande des eclaircissements.
Il ne le fait pas, j'avais mal compris. L'espérance est correctement placée en 2eme argument. Et pour les 2 soustractions (k-1 et 1-loi.poisson(x,y,z), voici leur explication:
la formule Pr(X = k) peut aussi s'écrire =loi.poisson(k , esp , vrai) - loi.poisson(k-1 , esp , vrai)
On peut aussi remplacer la Pr(X <= k) par =loi.poisson(1 , esp ,faux) + loi.poisson(2 , esp , faux) + ... + loi.poisson(k , esp , faux)
J'imagine que tu savais tous ça mais on (surtout moi) s'était mal compris.
A+
Bonjour Ma Dalton
C'était clair chez moi pour Pr{X<=k} et Pr{X>k}=1-Pr{X<=k}
Bon j'ai modifié un peu les fonctions pour respecter l'ordre des
arguments de la fonction loi.poisson d'Excel.
je te redonne donc les fonctions:
La fonction fnLoi_Poisson() te permet donc de calculer Pr{X=k} ou
Pr{X<=k} comme la fonction equivalente d'Excel Loi.Poisson. Elle appelle
la fonction fnPrPoisson() en lui passant les arguments.
Tu copies ces fonctions dans un module standard nommé modLoiProba et
après il te suffira au moment opportun d'appeler la fonction
fnLoi_Poisson(arg1,arg2,arg3).
Function fnLoi_Poisson(lngNbEvenement As Long, dblEsperance As Double,
bCumulatif As Boolean) as Double
'Pr{X=k} ou Pr{X<=k} suivant que le 3ème argument est True ou False
If Not bCumulatif Then
fnLoi_Poisson = fnPrPoisson(lngNbEvenement, dblEsperance)
Else
Dim lngX As Long, dblCumul As Double
For lngX = 0 To lngNbEvenement
dblCumul = dblCumul + fnPrPoisson(lngX, dblEsperance)
Next lngX
fnLoi_Poisson = dblCumul
End If
End Function
Function fnPrPoisson(lngLaValeur As Long, dblEsperance As Double) As
Double 'Pr{X=k}
fnPrPoisson = Exp(-dblEsperance) * dblEsperance ^ lngLaValeur /
fnFactoriel(lngLaValeur)
End Function
et la fonction de calcul de factoriel.
Function fnFactoriel(lngUneValeur As Long) As Double
Dim lngUneValeur2 As Long
If lngUneValeur < 0 Then Exit Function
If lngUneValeur = 0 Then
fnFactoriel = 1
Else
lngUneValeur2 = lngUneValeur - 1
fnFactoriel = lngUneValeur * fnFactoriel(lngUneValeur2)
End If
End Function
Avec ca tu peux traiter tous les cas que tu as mentionnés
Bonne réception
A+
Eric
"Ma Dalton" <Rantanplan@farwest.net> écrivait
news:OTapF7HfEHA.2916@TK2MSFTNGP12.phx.gbl:
Salut Eric,
avec quelques recherches théoriques et explications, je comprend
maintenant un peu mieux l'utilisation de cette loi.
Par contre, je ne comprends pas pourquoi ton collegue passe en 1er
argument l'espérance et en plus retranche 1 dans la fonction d'Excel.
Ca demande des eclaircissements.
Il ne le fait pas, j'avais mal compris. L'espérance est correctement
placée en 2eme argument. Et pour les 2 soustractions (k-1 et
1-loi.poisson(x,y,z), voici leur explication:
C'était clair chez moi pour Pr{X<=k} et Pr{X>k}=1-Pr{X<=k}
Bon j'ai modifié un peu les fonctions pour respecter l'ordre des arguments de la fonction loi.poisson d'Excel.
je te redonne donc les fonctions:
La fonction fnLoi_Poisson() te permet donc de calculer Pr{X=k} ou Pr{X<=k} comme la fonction equivalente d'Excel Loi.Poisson. Elle appelle la fonction fnPrPoisson() en lui passant les arguments.
Tu copies ces fonctions dans un module standard nommé modLoiProba et après il te suffira au moment opportun d'appeler la fonction fnLoi_Poisson(arg1,arg2,arg3).
Function fnLoi_Poisson(lngNbEvenement As Long, dblEsperance As Double, bCumulatif As Boolean) as Double 'Pr{X=k} ou Pr{X<=k} suivant que le 3ème argument est True ou False If Not bCumulatif Then fnLoi_Poisson = fnPrPoisson(lngNbEvenement, dblEsperance) Else Dim lngX As Long, dblCumul As Double For lngX = 0 To lngNbEvenement dblCumul = dblCumul + fnPrPoisson(lngX, dblEsperance) Next lngX fnLoi_Poisson = dblCumul End If End Function
Function fnPrPoisson(lngLaValeur As Long, dblEsperance As Double) As Double 'Pr{X=k} fnPrPoisson = Exp(-dblEsperance) * dblEsperance ^ lngLaValeur / fnFactoriel(lngLaValeur) End Function
et la fonction de calcul de factoriel.
Function fnFactoriel(lngUneValeur As Long) As Double Dim lngUneValeur2 As Long If lngUneValeur < 0 Then Exit Function If lngUneValeur = 0 Then fnFactoriel = 1 Else lngUneValeur2 = lngUneValeur - 1 fnFactoriel = lngUneValeur * fnFactoriel(lngUneValeur2) End If End Function
Avec ca tu peux traiter tous les cas que tu as mentionnés
Bonne réception A+ Eric
"Ma Dalton" écrivait news::
Salut Eric, avec quelques recherches théoriques et explications, je comprend maintenant un peu mieux l'utilisation de cette loi.
Par contre, je ne comprends pas pourquoi ton collegue passe en 1er argument l'espérance et en plus retranche 1 dans la fonction d'Excel. Ca demande des eclaircissements.
Il ne le fait pas, j'avais mal compris. L'espérance est correctement placée en 2eme argument. Et pour les 2 soustractions (k-1 et 1-loi.poisson(x,y,z), voici leur explication: