Re: Re: newbie is looking
- To: mathgroup at smc.vnet.net
- Subject: [mg50436] Re: [mg50411] Re: [mg50383] newbie is looking
- From: Tomas Garza <tgarza01 at prodigy.net.mx>
- Date: Fri, 3 Sep 2004 03:36:23 -0400 (EDT)
- References: <200409010549.BAA29848@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Quite right. However, implicit in the mapping of a List into the real line is the problem of order. If the mapping takes, say, the element {a, a} to 0, {a, b} to 1, and {a, c} to 2, etc., what would be the meaning of the probability that the result of the experiment takes a value less than or equal to 2? (Yes, I realize that once you define a fixed order in twocombs, such as that produced by Distribute, this would be interpreted as the probability of {{a, a}, {a, b}, {a,c}}. But this goes well above my head). Tomas Garza ----- Original Message ----- From: "DrBob" <drbob at bigfoot.com> To: mathgroup at smc.vnet.net Subject: [mg50436] Re: [mg50411] Re: [mg50383] newbie is looking for acustomDistributionfunction > More generally, any mapping of a finite measure space into the extended real line implies a measure on the Borel sets, giving rise to a distribution function. It isn't difficult to map the values of a List into the reals--to Range[Length[theList]], for instance. Given such an embedding, any probability measure on the original set implies a distribution function, and vice-versa. > > Anyway, the OP apparently wanted a sampling function, like Random[], which doesn't require computing a distribution function at all. He already knew (and described in his post) how to calculate relative frequencies. > > Bobby > > On Thu, 2 Sep 2004 04:34:45 -0400 (EDT), Tomas Garza <tgarza01 at prodigy.net.mx> wrote: > > >> From a formal point of view, a distribution function is defined on the > > reals. You can't, therefore, define it on lists of two, three, or more > > symbols. A frequency function, on the other hand, may be defined on any set > > of events. But, then, it is rather trivial for your problem: once you have > > your list distpro, just divide each value in the list by the sum of all the > > values, and that's it. Or, maybe, I misunderstood your question? > > > > Tomas Garza > > Mexico City > > ----- Original Message ----- > > From: "János" <janos.lobb at yale.edu> To: mathgroup at smc.vnet.net > > To: mathgroup at smc.vnet.net > > Subject: [mg50436] [mg50411] [mg50383] newbie is looking for a customDistribution function > > > > > >> Hi, > >> > >> I looked for it in the archives, but found none. I am looking for ways > >> to create a custom distribution, which I can call as a function. Here > >> is an example for illustration. Let's say I have a list created from a > >> 4 elements alphabet {a,b,c,d}: > >> > >> In[1]:= > >> lst={a,a,b,c,a,d,a,c,c,a} > >> > >> Out[1]= > >> {a,a,b,c,a,d,a,c,c,a} > >> > >> Distribute gives me - thanks David Park - all the two element > >> combinations of {a,b,c,d} > >> > >> In[11]:= > >> twocombs=Distribute[Table[{a,b,c,d},{2}],List] > >> > >> Out[11]= > >> {{a,a},{a,b},{a,c},{a,d},{b,a},{b,b},{b,c},{b,d},{c,a},{c,b},{c,c},{c,d} > >> ,{ > >> d,a},{d,b},{d,c},{d,d}} > >> > >> I can count the occurrence of an element of twocombs in lst with the > >> following function: > >> > >> occuranceCount[x_List] := Count[Partition[lst, 2, 1], x] > >> > >> Mapping this function over twocombs gives me the number of occurances > >> of elements of twocombs in lst: > >> > >> In[12]:= > >> distro=Map[occuranceCount,twocombs] > >> > >> Out[12]= > >> {1,1,1,1,0,0,1,0,2,0,1,0,1,0,0,0} > >> > >> It shows that for example {c,a} occurs twice, {d,a} occurs once and > >> {d,c} or {d,d} never occur. > >> > >> Now, I would like to create a distribution function called > >> twocombsLstDistribution which I could call and it would give me back > >> elements of twocombs with the probability as they occur in distro, that > >> is for on average I would get twice as much {c,a}s as {d,a}s and never > >> get {d.c} or {d,d}. > >> > >> How can I craft that ? > >> > >> /Of course I need it for an arbitrary but finite length string lst over > >> a fixed length alphabet {a,b,c,d,....} for k-length elements of kcombs, > >> and it has to be super fast :). My real lst is between 30,000 and > >> 70,000 element long over a four element alphabet and I am looking for k > >> between 5 and a few hundred. / > >> > >> Thanks ahead, > >> János > >> ------------------------------------------------- > >> People never lie so much as after a > >> hunt, during a war or before an election > >> - Otto von Bismarck - > >> > >> > > > > > > > > > > > > -- > DrBob at bigfoot.com > www.eclecticdreams.net >
- References:
- newbie is looking for a customDistribution function
- From: János <janos.lobb@yale.edu>
- newbie is looking for a customDistribution function