Gemiddelde afwijking bij verdeling

Continue & discrete verdelingen, toevalsveranderlijken, betrouwbaarheidsintervallen, correlaties.
Plaats reactie
VictorG
Nieuw lid
Nieuw lid
Berichten: 2
Lid geworden op: 23 sep 2011, 20:48

Gemiddelde afwijking bij verdeling

Bericht door VictorG » 23 sep 2011, 21:04

Stel, je hebt N bakjes en M ballen. Je verdeelt de ballen willekeurig over de bakjes, dat wil zeggen, elke bal heeft een 1/N kans om in bakje i te komen. Het gemiddelde aantal ballen in een bakje is dus M/N.

Mijn vraag is nu: wat is de te verwachten gemiddelde afwijking van dit gemiddelde?

Een voorbeeld, zodat het precies helder is wat ik bedoel. Stel, N = 10, M = 1000, en de bakjes bevatten 80, 86, 90, 95, 99, 101, 105, 110, 116 en 118 ballen. Dan is de gemiddelde afwijking van het gemiddelde (20 + 14 + 10 + 5 + 1 + 1 + 5 + 10 + 16 + 18) / 10 = 10. Mijn vraag is wat de te verwachten gemiddelde afwijking is.

Mijn eerste gedachte was dat je, in ieder geval voor M>>N, een enkel bakje kan zien als een binomiale verdeling met M trials die kans 1/N hebben om te lukken. Voor de binomiale verdeling kan je wel een formule voor de Mean Average Deviation vinden.

Nu zou ik ook voor gevallen dat niet M>>N graag het antwoord weten; maar bovendien kan je de bakjes waarschijnlijk niet als van elkaar onafhankelijke binomiale verdelingen zien. Immers, een grote afwijking van het gemiddelde in het ene bakje correleert met grote afwijkingen van het gemiddelde in andere bakjes.

Kan iemand mij hierbij helpen?

arie
Moderator
Moderator
Berichten: 3920
Lid geworden op: 09 mei 2008, 09:19

Re: Gemiddelde afwijking bij verdeling

Bericht door arie » 27 sep 2011, 08:33

Zie http://mathworld.wolfram.com/MeanDeviation.html:
De M.D. voor de binomial distribution is:



Waarbij de floor-functie is op x (afkappen van getallen naar de grootste gehele waarde kleiner of gelijk aan x, bv: floor(3.82) = 3)

Voor je voorbeeld, met
- N=1000 ballen
- en 10 bakken, waardoor p = 1/10 = 0.1
kom je uit op:
MD =

Deze formule geldt ook als het aantal bakken en/of het aantal ballen klein is.
Het bewijs hiervoor zou je in de literatuur terug moeten kunnen vinden.

Als je kan programmeren en snel wat waarden wilt controleren kan dit met onderstaand Pari/GP programma:

Code: Selecteer alles

\\----------------------------------------
\\ bepaal de gemiddelde afwijking
\\ voor M ballen in N geindexeerde bakken
\\ M>=0, N>=1
\\----------------------------------------

gemafw(N,M)={

\\toon uitgangswaarden:
print("N = aantal bakken = ",N);
print("M = aantal ballen = ",M);
G=1.0*M/N;
print("gemiddelde = ",G);

\\definieer de 2 vectoren:
afwsom=vector(M);
aantal=vector(M);

\\initieer de 2 vectoren met waarden voor 1 bak:
for(i=1,M,
  afwsom[i]=abs(i-G);
  aantal[i]=1;
  );

\\bepaal de 2 vectoren voor 2..N bakken:
for(j=2,N,
  forstep(i=M,1,-1,
    \\niets in de laatste bak: update afwsom[i]:
    afwsom[i]+=aantal[i]*G;
    \\alle i in de laatste bak: update afwsom[i] en aantal[i]:
    afwsom[i]+=(j-1)*G+abs(i-G);
    aantal[i]+=1;
    \\(i-k) ballen in de laatste bak:
    for(k=1,i-1,
      b=binomial(i,k);
      afwsom[i]+=b*(afwsom[k]+aantal[k]*abs(i-k-G));
      aantal[i]+=b*aantal[k];
      );
    );
  );

\\toon resultaat:
print("--------------------------------------------");
print("gemiddelde afwijking van het gemiddelde:");
r=afwsom[M]/(aantal[M]*N);
print(r, " (calculated)");

\\bereken M.D. voor de binomial distribution:
p=1.0/N;
x=floor(M*p);
md=2*(1-p)^(M-x)*p^(x+1)*(x+1)*binomial(M,x+1);
print(md, " (binomial MD)");
}


\\MAIN:
{
gemafw(3,8);
}
Bijvoorbeeld:
Het resultaat voor 3 bakken en 8 ballen is:
1.092516384697454656302392928 (calculated)
1.092516384697454656302392928 (binomial MD)

VictorG
Nieuw lid
Nieuw lid
Berichten: 2
Lid geworden op: 23 sep 2011, 20:48

Re: Gemiddelde afwijking bij verdeling

Bericht door VictorG » 27 sep 2011, 23:01

Geweldig, dank je!

Plaats reactie