Message Boards Message Boards

0
|
5567 Views
|
4 Replies
|
0 Total Likes
View groups...
Share
Share this post:

A strange response from TransformedDistribution.

Posted 9 years ago
TransformedDistribution[x = Exp[u],  u \[Distributed] NormalDistribution[\[Mu], \[Sigma]]]

seems to work fine, producing

LogNormalDistribution[\[Mu], \[Sigma]] 

(correct). However I'd rather express mu and sigma in dB and also am interested in having power on the linear side, so wish to scale the argument and use a 10 base for the transformation. Like:

n2dB = 10 Log10[x]/Log[x] ; 
dB2n = 1/n2dB ;
TransformedDistribution[ x = 10^(u/10),   u \[Distributed]    NormalDistribution[ Subscript[\[Mu], dBm] dB2n ,  Subscript[\[Sigma], dBm] dB2n]]

Which returns without evaluation in the same form with u replaced by [FormalX]. Playing with the expression it appears to be the use of 10^ which is the root, replacing 10 with E functions - but is of course not what I want. Using E and adding Log[10] to the exponent doesn't work, Whereas using E and adding 2.3 to the exponent does...

I assume it's the same reason

Assuming [  u >> 0 ,   10^(u) ==  E[u  Log[10] ]  // FullSimplify ] 

doesn't simply return true.

POSTED BY: Paul Erickson
4 Replies
Posted 9 years ago

I think I understand your issue but I think you'd get more and better responses if you use the formatting tools provided. You can also use $\TeX$ commands (surrounding things between dollar signs) when a formula needs to be explicitly clear.

Update: You've now used the formatting tools. Thank you!

POSTED BY: Jim Baldwin
Posted 9 years ago

Is the "without evaluation" really a problem? For example, one can obtain results such as the mean and variance using that distribution:

n2dB = 10 Log10[x]/Log[x];
dB2n = 1/n2dB;
d = TransformedDistribution[x = 10^(u/10), u \[Distributed] NormalDistribution[\[Mu]dBm dB2n, \[Sigma]dBm dB2n]];
mean = Expectation[z, z \[Distributed] d]
(* E^(1/100 \[Mu]dBm Log[10]^2+(\[Sigma]dBm^2 Log[10]^4)/20000) *)
var = Expectation[z^2, z \[Distributed] d] - mean^2
(* E^((Log[10]^2 (100 \[Mu]dBm + \[Sigma]dBm^2 Log[10]^2))/5000) - 
    E^(1/50 \[Mu]dBm Log[10]^2 + (\[Sigma]dBm^2 Log[10]^4)/10000) *)
POSTED BY: Jim Baldwin

Well, it's a bit of a problem for me as I was trying to author a short paper on the derivation and usages of the lognormal power <==> normal in dB transform pair and being able to show their correspondence was the point.True, it's a bit overkill as the Normal -> LogNormal transform seems to reliably evaluated and LogNormal -> Normal evaluation with E^ just not with 10^ or Log[10] in the exponent. It's also a little strange that including a constant or variable it still evaluates, but include the particular constant Log[10] causes it to remain un-evaluated. I suspect that there is some command I'm missing that influences the order or treatment, but trying hold and various version of expand and simplify didn't work, but since I was guessing about why it didn't evaluate in the first place, wasn't likely that adding random commands would address the issue.

POSTED BY: Paul Erickson

Probably close this thread.

By replacing 10^x_ with E^(Hold[Log[10] x) and surrounding with ReleaseHold, it evaluates. ReleaseHold [ TransformedDistribution[ x = 10^(u /10 ), u [Distributed] NormalDistribution[ mu, sigma] ] ] //. {10^x_ :> E^( Hold[Log[10]] x) } ]

Of course, I'd still be interested in a good explanation as to why it works this way so as perhaps avoid the trial and error approach I used this time.

POSTED BY: Paul Erickson
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract