Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: st: Standard error of a ratio of two random variables


From   "Feiveson, Alan H. (JSC-SK311)" <[email protected]>
To   <[email protected]>
Subject   RE: st: Standard error of a ratio of two random variables
Date   Tue, 13 Jan 2009 10:29:10 -0600

Even if the mean of the denominator is not zero, the variance doesn't
exist becaue you still have to integrate "through" zero, since the
normal has support over the whole real line. In fact, I don't think even
the mean exists -  

Al Feiveson

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Stas
Kolenikov
Sent: Tuesday, January 13, 2009 9:56 AM
To: [email protected]
Subject: Re: st: Standard error of a ratio of two random variables

The variance of the ratio of two normals does not exist if the
denominator has a mean of zero. Then yes we get a Cauchy distribution
with all the ugly properties. If the mean is not zero, you are not
dividing by zero very often, although I don't really know whether that
distribution of that ratio is generally known.

Back to Sergiy's question -- to gauge the differences between the
variance estimation methods, you can also try -svy, jackknife- and see
what it produces; the differences on -sysuse auto- dataset should be
somewhere in the fourth or fifth decimal point. But I think Austin
nailed down the analytical problem with an extra `rho'.

Of course you are shooting sparrows with a cannon -- you probably
could've achieved anything you needed using -nlcom-.

On 1/13/09, Feiveson, Alan H. (JSC-SK311) <[email protected]>
wrote:
> It should also be noted that this delta method is just an 
> approximation
>  - so it is not surprising that it might disagree with a simulaiton by

> 10% or more. Also, technically the variance of a ratio of two normally

> distributed random variables doesn't even exist! Therefore even a  
> simulation, if carried out long enough would produce arbitarily high  
> "SE" values. The saving grace is that if the variance of the 
> denominator  is much smaller than the mean, we can "get away" with 
> these  approximations for practical usage.
>
>  Al Feiveson
>
>
>  -----Original Message-----
>  From: [email protected]
>  [mailto:[email protected]] On Behalf Of Jeph 
> Herrin
>  Sent: Tuesday, January 13, 2009 7:11 AM
>  To: [email protected]
>  Subject: Re: st: Standard error of a ratio of two random variables
>
>
>  For what it's worth, a simulation may give the most accurate answer:
>
>    quietly ci X
>    local mux=r(mean)
>    local sex=r(se)
>    quietly ci Y
>    local muy=r(mean)
>    local sey=r(se)
>    corr X Y
>    local rho=r(rho)
>    matrix b= (`mux' \ `muy')
>    matrix V= (1, `rho' \ `rho', 1)
>    matrix sd =(`sex' \ `sey')
>
>    clear
>    set obs 100000
>    drawnorm X Y, means(b) corr(V) sds(sd)
>    gen ratio=X/Y
>    sum ratio
>
>  The SD of the variable -ratio- should be the SE of X/Y.
>
>  Jeph
>
>
>
>
>  Sergiy Radyakin wrote:
>  > Dear All,
>  >
>  >    I need to find a standard error of Z a ratio of two random
>  > variables X and Y: Z=X/Y, where the means and SEs for X and Y are  
> > known, as well as their corr coefficient. (In my particular case X 
> and
>
>  > Y are numbers of people that have such and such characteristics). I

> am
>
>  > using delta-method according to [
>  > http://www.math.umt.edu/patterson/549/Delta.pdf ] (see page 2(38)).

> I  > then use svy:ratio to check my results and they don't match.  I 
> wonder
>
>  > if I am doing something wrong, or is it any kind of 
> precision-related  > problem (the difference is about 7%, i.e. 1.7959 
> vs. 1.6795), or is my
>
>  > check simply wrong and not applicable in this case.
>  >
>  >    I would appreciate if someone could look into the code and let
me
>  > know why the results are different.
>  >
>  > Thank you,
>  >     Sergiy Radyakin
>  >
>  > Below is a do file that one can Ctrl+C/Ctrl+V to Stata's command
line:
>  >
>  > **** BEGIN OF RV_RATIO.DO ****
>  > sysuse auto, clear
>  > generate byte www=1
>  > svyset [pw=www]
>  >
>  > capture program drop st_error_of_ratio program define  > 
> st_error_of_ratio, rclass
>  >       syntax varlist(min=2 max=2)
>  >       svy: mean `varlist'
>  >       matrix B=e(b)
>  >       local mux=B[1,1]
>  >       local muy=B[1,2]
>  >       matrix V=e(V)
>  >       local sigma2x=V[1,1]
>  >       local sigma2y=V[2,2]
>  >       local sigmax_sigmay=V[1,2]
>  >              svyset
>  >       corr `varlist' [aw`=r(wexp)']
>  >       local rho=r(rho)
>  >       return scalar se = sqrt((`mux')^2*`sigma2y'/(`muy')^4 +
>  > `sigma2x'/(`muy')^2 - 2*`mux'/(`muy')^3*`rho'*`sigmax_sigmay')
>  > end
>  >       st_error_of_ratio price length
>  >              display as text "Estimated SE=" as result r(se)
>  >       svy: ratio price / length
>  > **** END OF RV_RATIO.DO ****
>  > *
>  > *   For searches and help try:
>  > *   http://www.stata.com/help.cgi?search
>  > *   http://www.stata.com/support/statalist/faq
>  > *   http://www.ats.ucla.edu/stat/stata/
>  >
>  *
>  *   For searches and help try:
>  *   http://www.stata.com/help.cgi?search
>  *   http://www.stata.com/support/statalist/faq
>  *   http://www.ats.ucla.edu/stat/stata/
>
>  *
>  *   For searches and help try:
>  *   http://www.stata.com/help.cgi?search
>  *   http://www.stata.com/support/statalist/faq
>  *   http://www.ats.ucla.edu/stat/stata/
>


--
Stas Kolenikov, also found at http://stas.kolenikov.name Small print: I
use this email account for mailing lists only.
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index