, . . : X Y
CV^2(X/Y) = CV^2(X*Y) = CV^2(X) + CV^2(Y)
CV
- (sd(X)/mean(X)
), CV^2
- Var/mean^2
.
Var(Y/X)/(m(Y/X))^2 = Var(X)/m(X)^2 + Var(Y)/m(Y)^2
sd(Y/X) = sqrt[ Var(X)*m(Y/X)^2/m(X)^2 + Var(Y)*m(Y/X)^2/m(Y)^2 ]
.
set.seed(101)
y <- rnorm(1000,mean=5)
x <- rnorm(1000,mean=10)
myx <- mean(y/x)
sqrt(var(x)*myx^2/mean(x)^2 + var(y)*myx^2/mean(y)^2)
sd(y/x)
, CV Y 1 - , , , , ( SD, , , .)
me.x <- 4; sd.x <- 1
me.y <- 5; sd.y <- 4
myx <- me.y/me.x - 0/me.x^2 + sd.x*me.y/me.x^3
x <- rnorm(1e4,me.x,sd.x); y <- rnorm(1e4,me.y,sd.y)
c(myx,mean(y/x))
sdyx <- sqrt(sd.x^2*myx^2/me.x^2 + sd.y^2*myx^2/me.y^2)
c(sdyx,sd(y/x))
rvals <- replicate(1000,
sd(rnorm(1e4,me.y,sd.y)/rnorm(1e4,me.x,sd.x)))
hist(log(rvals),col="gray",breaks=100)
abline(v=log(sdyx),col="red",lwd=2)
min(rvals)

. - Y/X Y/X (.. m (Y/X) = mY/mX), , , , ( ...)
mvec <- c(x = me.x, y = me.y)
V <- diag(c(sd.x, sd.y)^2)
car::deltaMethod(mvec, "y/x", V)
library(emdbook)
sqrt(deltavar(y/x,meanval=mvec,Sigma=V)) ## 1.047691
sqrt(sd.x^2*(me.y/me.x)^2/me.x^2 + sd.y^2*(me.y/me.x)^2/me.y^2)
, @SeverinPappadeux gratio(mx,my,sx,sy)
. (gratio(0,0,1,1)
) 0 ( NA
/divergent), /std dev . , OP (gratio(5,4,4,1)
), value = 1.352176, sd = NA, . , (gratio(10,5,1,1)
), value = 0.5051581, sd = 0,1141726.
, , , ( Math StackOverflow CrossValidated?)