Re: Solve for parameters of a truncated normal distribution

• To: mathgroup at smc.vnet.net
• Subject: [mg122932] Re: Solve for parameters of a truncated normal distribution
• From: Barrie Stokes <Barrie.Stokes at newcastle.edu.au>
• Date: Thu, 17 Nov 2011 06:03:57 -0500 (EST)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• References: <201111151050.FAA23783@smc.vnet.net>

```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

```

• Prev by Date: Re: easy way to switch between Table and ParallelTable
• Next by Date: Re: Solve for parameters of a truncated normal distribution
• Previous by thread: Re: Solve for parameters of a truncated normal distribution
• Next by thread: Re: Solve for parameters of a truncated normal