Meer informatie
Wanneer cumulatief = WAAR, retourneert de functie POISSON(
x;
mu; cumulatief) de kans dat een willekeurige POISSON-variabele met gemiddelde
mu een waarde krijgt die kleiner is dan of gelijk is aan
x. Wanneer cumulatief = ONWAAR, retourneert POISSON de kans dat een dergelijke willekeurige variabele een waarde krijgt die exact gelijk is aan
x. De POISSON-verdeling wordt regelmatig gebruikt om het aantal instanties van bepaalde gebeurtenissen in model te brengen, zoals het aantal klanten dat in een wachtrijfaciliteit terechtkomt of het aantal gevonden fouten in een artikel. Omdat de POISSON-verdeling op deze manier wordt gebruikt, moet
x een niet-negatief geheel getal zijn.
Syntaxis
POISSON(x; mu; cumulatief)
Opmerking x is een niet-negatief geheel getal,
mu is een positief getal, maar niet per se een geheel getal, en cumulatief is een logische variabele die de waarde WAAR of ONWAAR kan hebben.
Voorbeeld van gebruik
Voertuigen arriveren op een kruispunt met een gemiddelde van 10 voertuigen per minuut. De verkeerslichtcyclus duurt 45 seconden. Wat is de verdeling van het aantal voertuigen dat per cyclus arriveert? Het gemiddelde aantal voertuigen is 10 * 0,75 = 7,5 omdat er gemiddeld 10 voertuigen per minuut arriveren, en 45 seconden is 0,75 minuten. Het werkelijke aantal voertuigen dat arriveert, volgt een Poisson-verdeling met een gemiddelde van 7,5.
Maak ter illustratie van de functie POISSON een leeg Excel-werkblad, kopieer de volgende tabel, selecteer
A1 in het lege Excel-werkblad en kies
Plakken in het menu
Bewerken zodat de cellen A1:C29 in het werkblad worden gevuld met de gegevens uit de volgende tabel.
gemiddelde, mu | 7.5 | |
aankomsten, x | P(exact x aankomsten) | P(x of minder aankomsten) |
0 | =POISSON(A3;$B$1;ONWAAR) | =POISSON(A3;$B$1;WAAR) |
1 | =POISSON(A4;$B$1;ONWAAR) | =POISSON(A4;$B$1;WAAR) |
2 | =POISSON(A5;$B$1;ONWAAR) | =POISSON(A5;$B$1;WAAR) |
3 | =POISSON(A6;$B$1;ONWAAR) | =POISSON(A6;$B$1;WAAR) |
4 | =POISSON(A7;$B$1;ONWAAR) | =POISSON(A7;$B$1;WAAR) |
5 | =POISSON(A8;$B$1;ONWAAR) | =POISSON(A8;$B$1;WAAR) |
6 | =POISSON(A9;$B$1;ONWAAR) | =POISSON(A9;$B$1;WAAR) |
7 | =POISSON(A10;$B$1;ONWAAR) | =POISSON(A10;$B$1;WAAR) |
8 | =POISSON(A11;$B$1;ONWAAR) | =POISSON(A11;$B$1;WAAR) |
9 | =POISSON(A12;$B$1;ONWAAR) | =POISSON(A12;$B$1;WAAR) |
10 | =POISSON(A13;$B$1;ONWAAR) | =POISSON(A13;$B$1;WAAR) |
11 | =POISSON(A14;$B$1;ONWAAR) | =POISSON(A14;$B$1;WAAR) |
12 | =POISSON(A15;$B$1;ONWAAR) | =POISSON(A15;$B$1;WAAR) |
13 | =POISSON(A16;$B$1;ONWAAR) | =POISSON(A16;$B$1;WAAR) |
14 | =POISSON(A17;$B$1;ONWAAR) | =POISSON(A17;$B$1;WAAR) |
15 | =POISSON(A18;$B$1;ONWAAR) | =POISSON(A18;$B$1;WAAR) |
16 | =POISSON(A19;$B$1;ONWAAR) | =POISSON(A19;$B$1;WAAR) |
17 | =POISSON(A20;$B$1;ONWAAR) | =POISSON(A20;$B$1;WAAR) |
18 | =POISSON(A21;$B$1;ONWAAR) | =POISSON(A21;$B$1;WAAR) |
19 | =POISSON(A22;$B$1;ONWAAR) | =POISSON(A22;$B$1;WAAR) |
20 | =POISSON(A23;$B$1;ONWAAR) | =POISSON(A23;$B$1;WAAR) |
21 | =POISSON(A24;$B$1;ONWAAR) | =POISSON(A24;$B$1;WAAR) |
22 | =POISSON(A25;$B$1;ONWAAR) | =POISSON(A25;$B$1;WAAR) |
| | |
=POISSON(1400;1500;WAAR) | 0,004744099 | |
=POISSON(133;200;WAAR) | 0,00000029439 | |
=POISSON(134;200;WAAR) | 0,000000445617 | |
Opmerking Nadat u deze tabel in het nieuwe Excel-werkblad hebt geplakt, klikt u op
Plakopties en vervolgens op
Aanpassen aan opmaak van bestemming. Terwijl het geplakte bereik nog steeds is geselecteerd, wijst u
Kolom aan in het menu
Opmaak en klikt u op
AutoAanpassen aan selectie. Misschien wilt u de cellen B3:C25 opmaken voor een consistente leesbaarheid, bijvoorbeeld als getallen met 7 decimalen. Misschien wilt u ook de cellen A27:B29 opmaken (bijvoorbeeld met de wetenschappelijke notatie met 5 decimalen).
De cellen B3:B10 tonen de toenemende kansen naarmate het aantal aankomsten toeneemt, maar het gemiddelde benadert en onder dat gemiddelde (7,5) blijft. De cellen B11:B25 tonen de afnemende kansen naarmate het aantal aankomsten toeneemt, hoger blijft dan het gemiddelde (7,5) en zich verder van het gemiddelde verwijdert. De cellen C3:C25 tonen cumulatieve kansen.
Het meest waarschijnlijke modale aantal aankomsten is 7. De modale waarde is altijd gelijk aan het gemiddelde als het gemiddelde een geheel getal is. Als het gemiddelde geen geheel getal is, zoals in dit voorbeeld, is de modale waarde ofwel het dichtstbijgelegen geheel getal dat lager is dan het gemiddelde of het dichtstbijgelegen geheel getal dat hoger is dan het gemiddelde.
De cellen A27:B29 tonen drie aanroepen van POISSON in kolom A en de correcte resultaten in kolom B. Als u met Excel 2003 werkt, komen beide kolommen overeen. Als u met een oudere versie van Excel werkt, komen de resultaten overeen, behalve in rij 29 waar cel A29 de waarde #NUM! bevat. Dit verklaart de fouten in oudere versies van Excel.
Resultaten in oudere versies van Excel
Zie opmerking 1. L. Knusel heeft exemplaren beschreven waarbij POISSON geen numeriek antwoord teruggeeft en in plaats daarvan #NUM! oplevert vanwege een numerieke overloop. Wanneer POISSON numerieke antwoorden teruggeeft, zijn ze correct.
Omdat de niet-cumulatieve POISSON(
x;
mu; onwaar) de volgende formule gebruikt:
treedt overloop op wanneer
mu^
x te groot is. Dit is niet het geval als
mu^
x < 10^290 (of
x*LOG10(
mu) < 290). FACT(
x) mag ook niet overlopen.
x <= 170 garandeert dit. In oudere versies van Excel wordt niet op deze voorwaarden gelet.
Opmerking 1 Knusel, L. "On the Accuracy of Statistical Distributions in Microsoft Excel 97",
Computational Statistics and Data Analysis (26) (1998): 375-377.
Resultaten in Excel 2003
Omdat Microsoft heeft onderzocht wanneer overloop tot gevolg heeft dat POISSON #NUM! retourneert en weet dat POISSON correct functioneert wanneer er geen overloop optreedt, hebben we een voorwaardelijke algoritme in Excel 2003 toegevoegd. De algoritme gebruikt POISSON-code uit oudere versies van Excel, de rekenkundige formule die we eerder in dit artikel hebben genoemd, waarbij
x*LOG10(
mu) < 290 en
x <= 170. Als
x*LOG10(
mu) >= 290 of
x > 170, implementeert Excel een alternatief plan dat verderop in dit artikel wordt beschreven. Het alternatieve plan berekent een ongeschaalde som van kansen van elke mogelijke geobserveerde waarde. Deze ongeschaalde som van kansen wordt later gebruikt voor schalingsdoeleinden. De algoritme berekent tevens een ongeschaalde waarde van de kans die u wilt dat POISSON retourneert. Tot slot wordt in dit plan de schalingsfactor gebruikt om een correcte POISSON-waarde te retourneren. De algoritme benut het feit dat de verhouding van opeenvolgende termen van de vorm EXP(-
x)*(
mu^
x)/
x! een eenvoudige vorm heeft. De algoritme werkt even gedetailleerd in de pseudocode die u in de volgende stappen vindt. Deze aanpak komt overeen met de methode die wordt gebruikt voor de functies BINOMIALE.VERD, CRIT.BINOM, HYPERGEO.VERD en NEG.BINOM.VERD.
Stap 0: Initialisatie. Stel TotalUnscaledProbability en UnscaledResult in op 0. Stel de constante EssentiallyZero in op een heel klein getal, bijvoorbeeld 10^(-12).
Stap 1: Rond
mu af naar het dichtstbijgelegen geheel getal,
m. Het meest waarschijnlijke aantal aankomsten is ofwel
m ofwel
m+1. EXP(-
x)*(
mu^
x)/
x! wordt kleiner naarmate
k afneemt van
m naar
m-1 naar
m-2, enzovoort. Bovendien neemt EXP(-
x)*(
mu^
x)/
x! af naarmate
k oploopt van
m+1 naar
m+2 naar
m+3, enzovoort.
TotalUnscaledProbability = TotalUnscaledProbability + 1;If (m == x) then UnscaledResult = UnscaledResult + 1;If (cumulatief && m < x) then UnscaledResult = UnscaledResult + 1;
Stap 2: Bereken de ongeschaalde kansen voor
k >
m:
PreviousValue = 1;Done = FALSE;k = m + 1;While (not Done && k <= n) { CurrentValue = PreviousValue * mu / k; TotalUnscaledProbability = TotalUnscaledProbability + CurrentValue; If (k == x) then UnscaledResult = UnscaledResult + CurrentValue; If (cumulatief && k < x) then UnscaledResult = UnscaledResult + CurrentValue; If (CurrentValue <= EssentiallyZero) then Done = TRUE; PreviousValue = CurrentValue; k = k+1; }end While;
Stap 3: Bereken de ongeschaalde kansen voor
k <
m:
PreviousValue = 1;Done = FALSE;k = m -1;While (not Done && k >= 0) { CurrentValue = PreviousValue * k+1 / mu; TotalUnscaledProbability = TotalUnscaledProbability + CurrentValue; If (k == x) then UnscaledResult = UnscaledResult + CurrentValue; If (cumulatief && k < x) then UnscaledResult = UnscaledResult + CurrentValue; If (CurrentValue <= EssentiallyZero) then Done = TRUE; PreviousValue = CurrentValue; k = k-1; }end While;
Stap 4: Combineer de ongeschaalde resultaten:
Retourneer UnscaledResult/TotalUnscaledProbability;
Hoewel deze methode alleen wordt gebruikt voor
x*LOG10(
mu) >= 290 of
x > 170, kunt u de volgende toevoegingen aan het Excel-werkblad gebruiken om de algoritme handmatig te helpen uitvoeren wanneer u POISSON(10; 7,5; WAAR) berekent (de kans van 10 of minder aankomsten wanneer het gemiddelde aantal aankomsten 7,5 is en het werkelijke geobserveerde aantal aankomsten een POISSON-verdeling volgt).
Kopieer de onderstaande tabel, selecteer cel
D1 in het Excel-werkblad dat u eerder hebt gemaakt en kies
Plakken in het menu
Bewerken zodat de cellen D1:D26 in het werkblad worden gevuld met de gegevens uit de volgende tabel.
|
|
=D4*(A3+1)/$B$1 |
=D5*(A4+1)/$B$1 |
=D6*(A5+1)/$B$1 |
=D7*(A6+1)/$B$1 |
=D8*(A7+1)/$B$1 |
=D9*(A8+1)/$B$1 |
=D10*(A9+1)/$B$1 |
1 |
=D10*$B$1/A11 |
=D11*$B$1/A12 |
=D12*$B$1/A13 |
=D13*$B$1/A14 |
=D14*$B$1/A15 |
=D15*$B$1/A16 |
=D16*$B$1/A17 |
=D17*$B$1/A18 |
=D18*$B$1/A19 |
=D19*$B$1/A20 |
=D20*$B$1/A21 |
=D21*$B$1/A22 |
=D22*$B$1/A23 |
=D23*$B$1/A24 |
=D24*$B$1/A25 |
=SOM(D3:D25) |
Kolom D bevat nu de ongeschaalde kansen. De 1 in cel D10 is het resultaat van stap 1 van de algoritme. Gegevens in de cellen D11, D12, ..., D25 worden in die volgorde berekend in stap 2 en gegevens in de cellen D9, D8, ..., D3 worden in die volgorde berekend in stap 3. De som van alle ongeschaalde kansen verschijnt in D26.
Typ de volgende formule in een willekeurige lege cel om de kans op 10 of minder aankomsten te berekenen:
Er kan een afrondingsfout optreden wanneer u dit resultaat vergelijkt met cel C13. Dit kan gebeuren omdat de tabel pas wordt uitgebreid naar veel meer rijen wanneer gegevens in kolom D veel kleiner worden. De som in cel D26 is dus een te lage schatting van de ware som van alle ongeschaalde kansen, waaronder de kansen die de tabel niet bevat.
In dit voorbeeld stopt EssentiallyZero de stappen 2 of 3 niet. Stel nu dat u POISSON(550; 600; WAAR) wilt evalueren. In het voorbeeld is dit het antwoord op de vraag 'Hoe groot is de kans op 550 of minder aankomsten in een uur?' omdat het gemiddelde aantal aankomsten in een uur 600 is wanneer het gemiddelde aantal aankomsten per minuut 10 is. Een willekeurige POISSON-waarde met
mu = 600 heeft een verdeling die wordt benaderd door de Normaal met gemiddelde 600 en standaarddeviatie SQRT(600) = 24,5. 845 is dus 10 standaarddeviaties hoger dan het gemiddelde en 355 is 10 standaarddeviaties lager dan het gemiddelde. Afhankelijk van uw instelling van EssentiallyZero, zal EssentiallyZero stap 2 stoppen voordat
k 845 bereikt en stap 3 stoppen voordat
k 355 bereikt.
Conclusies
Onnauwkeurigheden in oudere versies van Excel treden alleen op wanneer
mu en
x zo groot zijn dat
x*LOG10(
mu) >= 290 of FACT(
x) overloopt omdat
x > 170. In deze gevallen retourneert POISSON #NUM! in oudere versies van Excel omdat
mu^
x overloopt. Om dit probleem in Excel 2003 te verhelpen, hebben we de alternatieve algoritme geïmplementeerd die in dit artikel is beschreven, wanneer een dergelijke overloop zou optreden.
In oudere versies van Excel vertonen de functies BINOMIALE.VERD, CRIT.BINOM, HYPERGEO.VERD en NEG.BINOM.VERD dezelfde symptomen. In elk geval retourneren deze functies ofwel de correcte numerieke resultaten ofwel #NUM! of #DEEL/0!. Nogmaals, problemen treden op als gevolg van overloop of underflow. De situaties waarin deze problemen optreden, zijn eenvoudig te herkennen, en Excel 2003 implementeert een alternatief plan, bijvoorbeeld zoals dat voor POISSON, om correcte antwoorden te retourneren waar in oudere versies van Excel #NUM! wordt geretourneerd. Als u meer informatie wilt over POISSON klikt u in het menu
Help op
Microsoft Excel Help, typt u
poisson in het vak
Zoeken naar en klikt u op
Zoekactie starten.