This function calculates a k_cont x k_pois
intermediate matrix of correlations for the k_cont
continuous and
k_pois
Poisson variables. It extends the methods of Demirtas et al. (2012, 10.1002/sim.5362) and
Barbiero & Ferrari (2015, 10.1002/asmb.2072) by:
1) including non-normal continuous and count variables
2) allowing the continuous variables to be generated via Fleishman's third-order or Headrick's fifth-order transformation, and
3) since the count variables are treated as ordinal, using the point-polyserial and polyserial correlations to calculate the
intermediate correlations (similar to findintercorr_cont_cat
).
Here, the intermediate correlation between Z1 and Z2 (where Z1
is the standard normal variable transformed using Headrick's fifth-order or Fleishman's third-order method to produce a
continuous variable Y1, and Z2 is the standard normal variable used to generate a Poisson variable via the inverse cdf method)
is calculated by dividing the target correlation by a correction factor. The correction factor is the product of the
point-polyserial correlation between Y2 and Z2 (described in Olsson et al., 1982, 10.1007/BF02294164)
and the power method correlation (described in Headrick & Kowalchuk, 2007, 10.1080/10629360600605065) between Y1 and Z1.
After the maximum support value has been found using
max_count_support
, the point-polyserial correlation is given by:
$$\rho_{y2,z2} = (1/\sigma_{y2})\sum_{j = 1}^{r-1} \phi(\tau_{j})(y2_{j+1} - y2_{j})$$ where
$$\phi(\tau) = (2\pi)^{-1/2}*exp(-\tau^2/2)$$ Here, \(y_{j}\) is the j-th support
value and \(\tau_{j}\) is \(\Phi^{-1}(\sum_{i=1}^{j} Pr(Y = y_{i}))\). The power method correlation is given by:
$$\rho_{y1,z1} = c1 + 3c3 + 15c5$$, where c5 = 0 if method
= "Fleishman". The function is used in
findintercorr2
and rcorrvar2
.
This function would not ordinarily be called by the user.
findintercorr_cont_pois2(method, constants, rho_cont_pois, pois_marg,
pois_support)
the method used to generate the k_cont
continuous variables. "Fleishman" uses Fleishman's third-order polynomial transformation
and "Polynomial" uses Headrick's fifth-order transformation.
a matrix with k_cont
rows, each a vector of constants c0, c1, c2, c3 (if method
= "Fleishman") or
c0, c1, c2, c3, c4, c5 (if method
= "Polynomial"), like that returned by find_constants
a k_cont x k_pois
matrix of target correlations among continuous and Poisson variables
a list of length equal to k_pois
; the i-th element is a vector of the cumulative
probabilities defining the marginal distribution of the i-th variable;
if the variable can take r values, the vector will contain r - 1 probabilities (the r-th is assumed to be 1);
this is created within findintercorr2
and rcorrvar2
a list of length equal to k_pois
; the i-th element is a vector of containing the r
ordered support values, with a minimum of 0 and maximum determined via max_count_support
a k_cont x k_pois
matrix whose rows represent the k_cont
continuous variables and columns represent the
k_pois
Poisson variables
Please see additional references in findintercorr_cont_cat
.
Barbiero A & Ferrari PA (2015). Simulation of correlated Poisson variables. Applied Stochastic Models in Business and Industry, 31: 669-80. 10.1002/asmb.2072.