MathGroup Archive 2001

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Fitting NormalDistribution to 2D List

  • To: mathgroup at smc.vnet.net
  • Subject: [mg31427] Re: [mg31424] Fitting NormalDistribution to 2D List
  • From: BobHanlon at aol.com
  • Date: Sat, 3 Nov 2001 18:25:04 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

In a message dated 2001/11/3 6:50:22 AM, post_12 at hotmail.com writes:

>I have saved the output of a
>lengthy simulation where I have "binned" the data as such:
>
>{{1,2},{2,8},{3,16},{4,7},{5,3}} 
>where the 1st number is the "bin" and the 2nd the number of
>occurences. Of course, the real data set has several thousand bins and
>occurences as high as 10^5. I would like to calculate a Mean and
>Standard Deviation of this data, however, the only way I could see to
>do it in Mathematica would be to "unroll" the list; i.e. print out 2
>1s in succession followed by 8 2s, 16 3s etc. How can I fit this 2
>dimensional list to a NormalDistribution?

Needs["Statistics`NormalDistribution`"];
Needs["Statistics`DescriptiveStatistics`"];

data={{1,2},{2,8},{3,16},{4,7},{5,3}};

unrolledData = Flatten[Table[#[[1]],{#[[2]]}]& /@data];

mu = Mean[unrolledData];

To find the mean without unrolling

mu==(Plus@@(Times@@#& /@ data))/(Plus@@data[[All,2]])

True

or

mu==Tr[Times@@#& /@ data]/Tr[data[[All,2]]]

True

or

mu==(Dot@@Transpose[data])/Tr[data[[All,2]]]

True

Selecting a method

binnedMean[data_] := Tr[Times@@#& /@ data]/Tr[data[[All,2]]];

m = binnedMean[data];

The StandardDeviationMLE of the data without "unrolling" is

s = Sqrt[binnedMean[{(#[[1]]-m)^2, #[[2]]}& /@ data]];

s == StandardDeviationMLE[unrolledData]

True

The distribution is

NormalDistribution[m, s]

NormalDistribution[109/36, 
  Sqrt[1259]/36]


Bob Hanlon
Chantilly, VA  USA


  • Prev by Date: Re: How big a problem can ConstrainedMax handle?
  • Next by Date: Re: Foldlist Question
  • Previous by thread: Fitting NormalDistribution to 2D List
  • Next by thread: Re: Fitting NormalDistribution to 2D List