Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

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

Search the Archive

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