Input distributions to avoid negative costs (May 6, 2014)

Minimum value for distributions supported on a semi-infinite interval

Let's compute the minimum cost that can be generated with the new method. Let min(X(mu,sigma)) be the minimum value we can obtain when using the random variable X.

(sqrt(rhoR)*min(X(mu,sqrt(1-rhoC)*sigma))
    + sqrt(1-rhoR)*(sqrt(rhoC)*min(X(mu,sigma))
      + sqrt(1-rhoC)*min(X(mu,sigma)) + (1-sqrt(rhoC)-sqrt(1-rhoC))*mu)
    - (sqrt(rhoR)+sqrt(1-rhoR))*mu) / sqrt(1-rhoC*rhoR) + mu

In the case when min(X(mu,sigma)) = M for all sigma. This is the case for some asymmetric distributions like Gamma. With maxima:

assume(rhoR >= 0, rhoC >= 0, rhoR <= 1, rhoC <= 1, mu > 0);
declare(rhoR, constant);
declare(rhoC, constant);
declare(mu, constant);
eq : (sqrt(rhoR)*M + sqrt(1-rhoR)*(sqrt(rhoC)*M
      + sqrt(1-rhoC)*M + (1-sqrt(rhoC)-sqrt(1-rhoC))*mu)
    - (sqrt(rhoR)+sqrt(1-rhoR))*mu) / sqrt(1-rhoC*rhoR) + mu;
solve([eq], [M]);

M = mu * (1 - sqrt(1-rhoC*rhoR) / ((sqrt(1-rhoC)+sqrt(rhoC))*sqrt(1-rhoR)+sqrt(rhoR)))
rhoC <- seq(0, 1, length.out = 7)
for (rhoR in rhoC) print((1 - sqrt(1 - rhoC * rhoR)/((sqrt(1 - rhoC) + sqrt(rhoC)) * 
    sqrt(1 - rhoR) + sqrt(rhoR))))
## [1] 0.0000 0.2431 0.2826 0.2929 0.2826 0.2431 0.0000
## [1] 0.2431 0.3892 0.4218 0.4366 0.4390 0.4251 0.3090
## [1] 0.2826 0.4132 0.4504 0.4730 0.4859 0.4868 0.4142
## [1] 0.2929 0.4167 0.4607 0.4927 0.5176 0.5347 0.5000
## [1] 0.2826 0.4030 0.4560 0.5000 0.5403 0.5779 0.5858
## [1] 0.2431 0.3610 0.4265 0.4875 0.5501 0.6194 0.6910
## [1] 0.00000 0.08713 0.18350 0.29289 0.42265 0.59175 1.00000

Given the value, when rhoC = rhoR = 1, then M = mu which is the only impossible case.

This requires to adapt classic definitions for usual distributions. For any distribution, the mean and the standard deviation must also be fixed and two paramaters must be available:

Minimum value for symmetric distributions supported on a bounded interval

For uniform, the min depends on sigma:

min(X(mu,sigma)) = mu - K * sigma

Here, we want to know what are the acceptable values for sigma or for sigma/mu given that symmetric distributions have all a fixed K.

assume(rhoR >= 0, rhoC >= 0, rhoR <= 1, rhoC <= 1, mu > 0, K > 0);
declare(rhoR, constant);
declare(rhoC, constant);
declare(mu, constant);
declare(K, constant);
eq : (sqrt(rhoR)*(mu - sqrt(1-rhoC) * K * sigma)
    + sqrt(1-rhoR)*(sqrt(rhoC)*(mu - K * sigma)
      + sqrt(1-rhoC)*(mu - K * sigma) + (1-sqrt(rhoC)-sqrt(1-rhoC))*mu)
    - (sqrt(rhoR)+sqrt(1-rhoR))*mu) / sqrt(1-rhoC*rhoR) + mu;
solve([eq], [sigma]);

sigma/mu = sqrt(1 - rhoC * rhoR) / K / (sqrt(rhoR) * sqrt(1 - rhoC)
  + sqrt(1 - rhoR) * (sqrt(1 - rhoC) + sqrt(rhoC)))

For the uniform (resp. triangle) distribution, K=sqrt(12)/2 (resp. K=sqrt(6)).

rhoC <- seq(0, 1, length.out = 300)
K <- sqrt(12)/2
plot.ecdf(sort(sapply(rhoC, function(rhoR) return(sqrt(1 - rhoC * rhoR)/K/(sqrt(rhoR) * 
    sqrt(1 - rhoC) + sqrt(1 - rhoR) * (sqrt(1 - rhoC) + sqrt(rhoC)))))))

plot of chunk unnamed-chunk-2

K <- sqrt(6)
min(sapply(rhoC, function(rhoR) return(sqrt(1 - rhoC * rhoR)/K/(sqrt(rhoR) * 
    sqrt(1 - rhoC) + sqrt(1 - rhoR) * (sqrt(1 - rhoC) + sqrt(rhoC))))), na.rm = TRUE)
## [1] 0.2357

For uniform and triangle, the min and max values determined the mean and standard deviation. The coefficient of variation must only be lower than 0.23.