Re: MultinormalDistribution Question

*To*: mathgroup at smc.vnet.net*Subject*: [mg120216] Re: MultinormalDistribution Question*From*: FranD <seacrofter001 at yahoo.com>*Date*: Wed, 13 Jul 2011 03:12:28 -0400 (EDT)

The output from the code below (with minor further simplification) shows that the distribution of y given x is Normal with mean: meany + rho (sy/sx) (x - meanx) and variance: (1 - rho^2) sy^2. ClearAll["Global`*"]; distx = NormalDistribution[meanx, sx]; pdfx = PDF[distx, {x}]; distxy = MultinormalDistribution[{meanx, meany}, {{sx^2, rho*sx*sy}, {rho*sx*sy, sy^2}}]; pdfxy = PDF[distxy, {x, y}]; PDFofYgivenX = (pdfxy/pdfx) // FullSimplify Out = {( E^((meany sx + rho sy (-meanx + x) - sx y)^2/( 2 (-1 + rho^2) sx^2 sy^2)) sx)/( Sqrt[2 \[Pi]] Sqrt[-(-1 + rho^2) sx^2 sy^2])} FranD ---- FranD wrote: ClearAll["Global`*"] dist = MultinormalDistribution[{meanx, meany}, {{sx^2, rho*sx*sy}, {rho*sx*sy, sy^2}}]; pdf = PDF[dist, {x, y}]; i = Integrate[pdf, {y, -Infinity, Infinity}]; iy = Integrate[y pdf, {y, -Infinity, Infinity}]; MeanOfyGivenx = m = (iy/i) m = meany + rho (sy/sx) (x - meanx); (* Out[1] below *) iyy = Integrate[(y - m)^2 pdf, {y, -Infinity, Infinity}]; VarianceOfyGivenx = v = (iyy/i) v = (1 - rho^2) sy^2; (* Out[2] below *) Out[1] = ConditionalExpression [(meany sx + rho sy (-meanx + x))/sx, Re[1/((-1 + rho^2) sy^2)] < 0] Out[2] = ConditionalExpression [-(-1 + rho^2) sy^2, Re[1/((-1 + rho^2) sy^2)] < 0] CAVEAT: Six minutes elapsed time to evaluate on my PC FranD ---- Ray Koopman wrote: The conditional mean of y given x is (x - mx)*r*sy/sx + my,and the conditional standard deviation is sy*Sqrt[1 - r^2],where mx & my are the marginal means, sx & sy are the marginal standard deviations,and r is the correlation. ---- Bob Hanlon wrote: Clear[x, y]; mean1 = 58/10; sigma1 = 2/10; mean2 = 53/10; sigma2 = 2/10; rho = 6/10; dist = MultinormalDistribution[{mean1, mean2}, {{sigma1^2, rho*sigma1*sigma2}, {rho*sigma1*sigma2, sigma2^2}}]; plot1 = Plot3D[PDF[dist, {x, y}], {x, mean1 - 3 sigma1, mean1 + 3 sigma1}, {y, mean2 - 3 sigma2, mean2 + 3 sigma2}, PlotRange -> All] m = Integrate[y*PDF[dist, {63/10, y}], {y, -Infinity, Infinity}] (14*Sqrt[2/Pi])/E^(25/8) m // N 0.490792 Alternatively, m == Expectation[y*DiracDelta[x - 63/10], Distributed[{x, y}, dist]] True s = Sqrt[Integrate[(y - m)^2*PDF[dist, {63/10, y}], {y, -Infinity, Infinity}]]; s // N 1.51329 Alternatively, s == N[Sqrt[Expectation[(y - m)^2*DiracDelta[x - 63/10], Distributed[{x, y}, dist]]]] True Bob Hanlon ---- Steve <s123 at epix.net> wrote: Hello, Can someone help me with this ? I have 2 normal distributions; dist1 describes x and dist2 describes y. Each are fully defined and are correlated to one another by the correlation coefficient. How can I detemine the mean and standard deviation of the expected normal distribution that is associated with a given x value from dist1 ? An example: mean1 = 5.8 sigma1 =0 .2 mean2 = 5.3 sigma2 = 0.2 Correlation Coefficient, rho = 0.6 Given an x value of 6.3 (from dist1) what is the corresponding mean and standard deviation of y ? I can view the combined density function from the following: Mu = {mean1, mean2} CapSigma = {{sigma1^2, rho*sigma1*sigma2} , {rho, rho*sigma1*sigma2} dist = MultinormalDistribution[Mu,CapSigma] pdf = PDF[dist,{x,y}] plot1 = Plot3D[pdf, {x,4,7},{y,4,7}, PlotRange->All] but can't see how to determine the mean and the standard deviation of y for a given value of x, like 6.3 Any help would be appreciated. Thanks, --Steve