|
[Date Index]
[Thread Index]
[Author Index]
Re: Solve for parameters of a truncated normal distribution
- To: mathgroup at smc.vnet.net
- Subject: [mg122924] Re: Solve for parameters of a truncated normal distribution
- From: "Dr. Wolfgang Hintze" <weh at snafu.de>
- Date: Wed, 16 Nov 2011 04:46:25 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j9tga2$n91$1@smc.vnet.net>
"paul" <paulvonhippel at yahoo.com> schrieb im Newsbeitrag
news:j9tga2$n91$1 at smc.vnet.net...
> 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.
>
>
Writing down the problem in explicit form I find a solution
mu = 0, sigma = 2 Sqrt[2/Pi]
But I don't know if there are more.
Here we dive into the details:
<< "Statistics`ContinuousDistributions`"
X = NormalDistribution[\[Mu], \[Sigma]]
NormalDistribution[\[Mu], \[Sigma]]
Mean[X]
\[Mu]
Variance[X]
\[Sigma]^2
PDF[X, x]
1/(E^((x - \[Mu])^2/(2*\[Sigma]^2))*(Sqrt[2*Pi]*\[Sigma]))
(* Y is the truncated distribution *)
Y = (1/2)*PDF[X, x]
1/(E^((x - \[Mu])^2/(2*\[Sigma]^2))*(2*Sqrt[2*Pi]*\[Sigma]))
(* the first few moments of Y *)
m0 = Integrate[Y, {x, 0, Infinity}, Assumptions -> {\[Sigma] > 0, \[Mu]
> 0}]
(1/4)*(1 + Erf[\[Mu]/(Sqrt[2]*\[Sigma])])
m1 = Integrate[x*Y, {x, 0, Infinity}, Assumptions -> {\[Sigma] > 0,
\[Mu] > 0}]/m0
(\[Mu] + (Sqrt[2/Pi]*\[Sigma])/E^(\[Mu]^2/(2*\[Sigma]^2)) +
\[Mu]*Erf[\[Mu]/(Sqrt[2]*\[Sigma])])/
(1 + Erf[\[Mu]/(Sqrt[2]*\[Sigma])])
m2 = Integrate[x^2*Y, {x, 0, Infinity}, Assumptions -> {\[Sigma] > 0,
\[Mu] > 0}]/m0
(4*((\[Mu]*\[Sigma])/(E^(\[Mu]^2/(2*\[Sigma]^2))*(2*Sqrt[2*Pi])) +
(1/4)*(\[Mu]^2 + \[Sigma]^2)*
(1 + Erf[\[Mu]/(Sqrt[2]*\[Sigma])])))/
(1 + Erf[\[Mu]/(Sqrt[2]*\[Sigma])])
s2 = Simplify[m2 - m1^2]
(\[Sigma]*((-E^(-(\[Mu]^2/(2*\[Sigma]^2))))*Sqrt[2/Pi]*\[Mu] +
\[Sigma] -
(2*\[Sigma])/(E^(\[Mu]^2/\[Sigma]^2)*Pi) +
((-E^(-(\[Mu]^2/(2*\[Sigma]^2))))*Sqrt[2/Pi]*\[Mu] + 2*\[Sigma])*
Erf[\[Mu]/(Sqrt[2]*\[Sigma])] +
\[Sigma]*Erf[\[Mu]/(Sqrt[2]*\[Sigma])]^2))/
(1 + Erf[\[Mu]/(Sqrt[2]*\[Sigma])])^2
(* solving with Solve or NSolve does not lead to a result *)
NSolve[m1 == 1 && s2 == 1, {\[Mu], \[Sigma]}]
$Aborted
(* now setting mu -> 0 *)
(m1 /. \[Mu] -> 0) == 1
Sqrt[2/Pi]*\[Sigma] == 1
(s2 /. \[Mu] -> 0) == 1
\[Sigma]*(\[Sigma] - (2*\[Sigma])/Pi) == 1
(* ... and solving for sigma gives the result *)
Solve[Sqrt[2/Pi]*\[Sigma] == 1 && \[Sigma]*(\[Sigma] - (2*\[Sigma])/Pi)
==
1]
{{\[Sigma] -> 2*Sqrt[2/Pi]}}
(* The case mu != 0 can be studied graphically plotting the two
quantities m1 and s2 versus sigma *)
(* I could not find a point of intersection at m1 == s2 == 1 *)
Regards,
Wolfgang
Prev by Date:
Re: Solve for parameters of a truncated normal distribution
Next by Date:
Help needed - Mathematica code
Previous by thread:
Re: Solve for parameters of a truncated normal distribution
Next by thread:
Re: Solve for parameters of a truncated normal distribution
|