Re: Bug with ProbabilityDistribution
- To: mathgroup at smc.vnet.net
- Subject: [mg132580] Re: Bug with ProbabilityDistribution
- From: CHARLES GILLINGHAM <cgillingham1 at me.com>
- Date: Mon, 14 Apr 2014 05:26:30 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
- References: <20140409081446.CA0646A01@smc.vnet.net>
Found a case where with PiecewiseExpand does not help. Evaluate this: Piecewise[{{2/3, X == 1 && Y == 1}, {0, X != 0 || Y != 1}}, 1/3]; PiecewiseExpand[%]; ProbabilityDistribution[%, {X, 0, 1, 1}, {Y, 0, 1, 1}]; PDF[%][{1, 0}] and you get: Undefined. MORE: This is interesting =97 study this example. On line 5, we have two Mathematica expressions for which SameQ is True, and yet substituting a few symbols produces DIFFERENT results. How is that even possible? What is happening here? Piecewise[{{2/3, X == 1 && Y == 1}, {0, X != 0 || Y != 1}}, 1/3]; PiecewiseExpand[%]; ProbabilityDistribution[%, {X, 0, 1, 1}, {Y, 0, 1, 1}]; PDF[%][{pX, pY}]; {%, PiecewiseExpand[%]}; %[[1]] === %[[2]] %% /. {pX -> 1, pY -> 0} On Apr 10, 2014, at 12:08 AM, CHARLES GILLINGHAM <cgillingham1 at me.com> wrote: > Thanks for the work around. Still seems to me this is a bug. > > On Apr 9, 2014, at 6:18 AM, Bob Hanlon <hanlonr357 at gmail.com> wrote: > >> Works as expected if you simplify the Piecewise (PiecewiseExpand) or let the Piecewise default handle the cases where the value is zero. Note that PDF[d][{x1,x2}] can be entered simply as PDF[d,{x1,x2}] >> >> d = ProbabilityDistribution[ >> Piecewise[{ >> {0, x1 == 1 && x2 == 1}, >> {1/2, x1 == 1 && x2 == 0}, >> {0, x1 == 0 && x2 == 1}, >> {1/2, x1 == 0 && x2 == 0}}] // >> PiecewiseExpand, >> {x1, 0, 1, 1}, {x2, 0, 1, 1}]; >> >> t1 = Table[ >> {x1, x2, PDF[d, {x1, x2}], PDF[d][{x1, x2}]}, >> {x1, 0, 1}, {x2, 0, 1}] // >> Flatten[#, 1] & >> >> {{0, 0, 1/2, 1/2}, {0, 1, 0, 0}, {1, 0, 1/2, 1/2}, >> {1, 1, 0, 0}} >> >> d = ProbabilityDistribution[ >> Piecewise[{ >> {1/2, x1 == 1 && x2 == 0}, >> {1/2, x1 == 0 && x2 == 0}}], >> {x1, 0, 1, 1}, {x2, 0, 1, 1}]; >> >> t2 = Table[ >> {x1, x2, PDF[d, {x1, x2}], PDF[d][{x1, x2}]}, >> {x1, 0, 1}, {x2, 0, 1}] // >> Flatten[#, 1] & >> >> {{0, 0, 1/2, 1/2}, {0, 1, 0, 0}, {1, 0, 1/2, 1/2}, >> {1, 1, 0, 0}} >> >> t1 == t2 >> >> True >> >> >> Bob Hanlon >> >> >> >> On Wed, Apr 9, 2014 at 4:14 AM, CHARLES GILLINGHAM <cgillingham1 at me.com> wrote: >> Evaluate this: >> >> ProbabilityDistribution[ >> Piecewise[{{0, x1 == 1 && x2 == 1}, {1/2, x1 == 1 && x2 == 0}, {0, x1 == 0 && x2 == 1}, {1/2, x1 == 0 && x2 == 0}}], >> {x1, 0, 1, 1}, {x2, 0, 1, 1} >> ] >> PDF[%][{1, 1}] >> >> And you get: >> >> Undefined >> >> But the probability is obviously 0 >> >> Is there something I am misunderstanding about how simple Boolean probability distributions should be set up? >> >> Thanks. >> >> >> >> >> >
- References:
- Bug with ProbabilityDistribution
- From: CHARLES GILLINGHAM <cgillingham1@me.com>
- Bug with ProbabilityDistribution