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
- References:
- Solve for parameters of a truncated normal distribution
- From: paul <paulvonhippel@yahoo.com>
- Solve for parameters of a truncated normal distribution