Re: Solve for parameters of a
- To: mathgroup at smc.vnet.net
- Subject: [mg122957] Re: Solve for parameters of a
- From: Barrie Stokes <Barrie.Stokes at newcastle.edu.au>
- Date: Fri, 18 Nov 2011 06:23:58 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201111151050.FAA23783@smc.vnet.net>
I still like my animated Plot3D with the Opacity[0.5] plane. Go on, put that with your fancy matching coloured red variance and matching blue mean and your ViewPoint report, and you can have the pot!
Barrie
>>> On 18/11/2011 at 11:21 am, in message <op.v438ldxutgfoz2 at bobbys-imac.local>,
DrMajorBob <btreat1 at austin.rr.com> wrote:
> I'll meet that and raise you this:
>
> X = TruncatedDistribution[{0, \[Infinity]},
> NormalDistribution[\[Mu], \[Sigma]]];
> {mean, var} = FullSimplify@Through[{Mean, Variance}@X];
>
> Manipulate[p = {3.3532, .2242, .3637};
> Column@{Row@{Style["variance = ", FontFamily -> "Arial",
> FontSize -> 11.5, Red],
> Style[ToString@height, FontFamily -> "Arial", FontSize -> 11.5],
> Style[" = mean ", FontFamily -> "Arial", FontSize -> 11.5,
> Blue]}, Show[{ContourPlot[
> mean == height, {\[Mu], 0.01, 3}, {\[Sigma], 0.01, 3},
> ContourStyle -> {Red}, ImageSize -> 350],
> ContourPlot[var == height, {\[Mu], 0.01, 3}, {\[Sigma], 0.01, 3},
> ContourStyle -> {Blue}]}, FrameLabel -> {"\[Mu]", "\[Sigma]"}],
> Plot3D[{mean, var, 1}, {\[Mu], 0.01, 3}, {\[Sigma], 0.01, 3},
> PlotStyle -> {Blue, Green, {Opacity[0.5], Gray}},
> ImageSize -> 350, ViewPoint -> Dynamic[p]],
> ViewPoint -> Dynamic[p]}, {{height, 1}, 0.1, 3, 0.001}]
>
> Bobby
>
> On Thu, 17 Nov 2011 17:23:10 -0600, Barrie Stokes
> <Barrie.Stokes at newcastle.edu.au> wrote:
>
>> Hi Bobby
>>
>> Very nice. My final mod of your mod of ...
>>
>> Manipulate[
>> Column@{Style[
>> "mean equals variance equals " <>
>> ToString[height], FontFamily -> "Arial", FontSize -> 11.5],
>> Show[{ContourPlot[
>> mean == height, {\[Mu], 0.01, 3}, {\[Sigma], 0.01, 3},
>> ContourStyle -> {Red}, ImageSize -> 350],
>> ContourPlot[var == height, {\[Mu], 0.01, 3}, {\[Sigma], 0.01, 3},
>> ContourStyle -> {Blue}]},
>> FrameLabel -> {"\[Mu]", "\[Sigma]"}],
>> Plot3D[{mean, var, height}, {\[Mu], 0.01, 3}, {\[Sigma],
>> 0.01, 3},
>> PlotStyle -> {Blue, Green, {Opacity[0.5], Gray}},
>> ImageSize -> 350]}, {{height, 1},
>> 0.1, 3, 0.001}]
>>
>>
>> Best,
>>
>> Barrie
>>
>>>>> On 18/11/2011 at 6:19 am, in message
>>>>> <op.v43um9zhtgfoz2 at bobbys-imac.local>,
>> DrMajorBob <btreat1 at austin.rr.com> wrote:
>>> Try this:
>>>
>>> X = TruncatedDistribution[{0, \[Infinity]},
>>> NormalDistribution[\[Mu], \[Sigma]]];
>>> {mean, var} = FullSimplify@Through[{Mean, Variance}@X];
>>>
>>> Manipulate[
>>> p = {3.3532, .2242, .3637};
>>> Column@{Style[
>>> "mean can equal variance if contours intersect at height = " <>
>>> ToString[height], FontFamily -> "Arial", FontSize -> 11.5],
>>> Show[{ContourPlot[
>>> mean == height, {\[Mu], 0.01, 3}, {\[Sigma], 0.01, 3},
>>> ContourStyle -> {Red}, ImageSize -> 350],
>>> ContourPlot[var == height, {\[Mu], 0.01, 3}, {\[Sigma], 0.01, 3},
>>> ContourStyle -> {Blue}]}, FrameLabel -> {"\[Mu]", "\[Sigma]"}],
>>> Plot3D[{mean, var, 1}, {\[Mu], 0.01, 3}, {\[Sigma], 0.01, 3},
>>> PlotStyle -> {Blue, Green, Gray}, ImageSize -> 350,
>>> ViewPoint -> Dynamic[p]], ViewPoint -> Dynamic[p]}, {{height, 1},
>>> 0.1, 3, 0.001}]
>>>
>>> I think the contour at 2 only adds confusion.
>>>
>>> Bobby
>>>
>>> On Thu, 17 Nov 2011 05:03:57 -0600, Barrie Stokes
>>> <Barrie.Stokes at newcastle.edu.au> wrote:
>>>
>>>> Andrzej , Bobby
>>>>
>>>> Speaking of nice graphics:
>>>>
>>>> If you combine Bobby's mods to my ContourPlot ...
>>>>
>>>> X = TruncatedDistribution[{0, \[Infinity]},
>>>> NormalDistribution[\[Mu], \[Sigma]]];
>>>> {mean, var} = FullSimplify@Through[{Mean, Variance}@X];
>>>> Manipulate[
>>>> Column@{Style[ "contour height is " <> ToString[ height],
>>>> FontFamily -> "Arial", FontSize -> 11.5 ],
>>>> Show[{ContourPlot[
>>>> mean == height, {\[Mu], 0.01, 3}, {\[Sigma], 0.01, 3},
>>>> ContourStyle -> {Red}, ImageSize -> 350],
>>>> ContourPlot[var == height, {\[Mu], 0.01, 3}, {\[Sigma], 0.01, 3},
>>>> ContourStyle -> {Blue}]},
>>>> FrameLabel -> {"\[Mu]", "\[Sigma]"}]}, {{height, 1}, 0.1, 3,
>>>> 0.001}]
>>>>
>>>> with these plots from Andrzej's code (rotate both plots to reveal the
>>>> "underside") ...
>>>>
>>>> X = TruncatedDistribution[{0, \[Infinity]},
>>>> NormalDistribution[\[Mu], \[Sigma]]];
>>>> m = Mean[X];
>>>> v = Variance[X];
>>>>
>>>> and then ...
>>>>
>>>> Plot3D[{m, v, 1}, {\[Mu], 0.01, 3}, {\[Sigma], 0.01, 3},
>>>> PlotStyle -> {Blue, Green, Gray}]
>>>>
>>>> and ...
>>>>
>>>> Plot3D[{m, v, 2}, {\[Mu], 0.01, 3}, {\[Sigma], 0.01, 3},
>>>> PlotStyle -> {Blue, Green, Gray}]
>>>>
>>>> the difference between height=1 and height=2 is clearly revealed.
>>>>
>>>> Cheers
>>>>
>>>> Barrie
>>>>
>>>>
>>>>
>>>>
>>>>>>> On 16/11/2011 at 8:46 pm, in message
>>>>>>> <201111160946.EAA06190 at smc.vnet.net>,
>>>> Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote:
>>>>
>>>>> On 15 Nov 2011, at 11:50, paul wrote:
>>>>>
>>>>>> I'm trying to solve the following problem:
>>>>>> X = TruncatedDistribution[{0, \[Infinity]},
>>>>>> NormalDistribution[\[Mu], \[Sigma]]]
>>>>>> Solve[Mean[X] == 1 && Variance[X] == 1, {\[Mu], \[Sigma]}, Reals]
>>>>>>
>>>>>> I get an error message: "This system cannot be solved with the
>>>>>> methods
>>>>>> available to Solve." It doesn't help if I replace Solve with NSolve.
>>>>>>
>>>>>> In case I've made a mistake in defining the problem, I should say
>>>>>> that
>>>>>> I'm looking for the parameters of a normal distribution so that, if
>>>>>> the normal is truncated on the left at zero, the result will be a
>>>>>> truncated distribution whose mean and variance are both 1. It seems
>>>>>> to
>>>>>> me Mathematica should be able to solve this, at least numerically.
>>>>>>
>>>>>> Many thanks for any suggestions.
>>>>>>
>>>>>>
>>>>>
>>>>> Your first mistake is to use functions (Solve and NSolve) which are
>>>>> not
>>>>> intended for such purposes at all. NSolve can only solve (numerically)
>>>>> polynomial equations and systems of such. Your equations are certainly
>>>>> not of
>>>>> this kind. Solve (in version 8) can also solve certain univariate
>>>>> transcendental equations but not systems of such. So again, there is
>>>>> no
>>>>> point
>>>>> at all of trying either of these functions on your system.
>>>>>
>>>>> The only function that might work is FindRoot. However, before one
>>>>> even
>>>>> starts, one has to have some reason for believing such a solution
>>>>> exists.
>>>>> Now, looking at the graphs below, I see no such reason. So do you have
>>>>> one?
>>>>>
>>>>> X = TruncatedDistribution[{0, \[Infinity]},
>>>>> NormalDistribution[\[Mu], \[Sigma]]];
>>>>>
>>>>> m = Mean[X];
>>>>>
>>>>> v = Variance[X];
>>>>>
>>>>> Plot3D[{m, v, 1}, {\[Mu], 0.1, 2}, {\[Sigma], 0.1, 2},
>>>>> PlotStyle -> {Blue, Green, Black}]
>>>>>
>>>>> Andrzej Kozlowski
>>>>
>>>>
>>>
>
- References:
- Solve for parameters of a truncated normal distribution
- From: paul <paulvonhippel@yahoo.com>
- Solve for parameters of a truncated normal distribution