Approximations based on the noncentral F or beta distribution#

Multiple correlation coefficient (Lee and Gurland)#

ctx.fisher_r2_lee_mu3_cdf(x)#

where ctx is fpm, mpm, ipm, dec, gmp or apm.

Lee [429] suggests the following approximation, based on the noncentral \(F\) distribution:

\[F_{R^2}(x;n_1,n_2,\rho^2) \thickapprox F_{F'}\left(y; \nu, n_2, \lambda\right),\]

where \(\gamma=1/(1-\rho^2), \quad A_j=(n_1+n_2) (\gamma^{\:j}-1) + n_1, \quad j=1,2,3\),

\(G = (A_2 - \sqrt{A_2^2 -A_1 A_3})/A_1, \quad \lambda=\rho^2 \gamma \sqrt{\gamma (n_1+n_2) n_2}/G^2 , \quad \nu= (A_2/G^2)- 2\lambda, \quad y= x/(1-x) \times n_2/(\nu \cdot G)\),

and \(F_{F'}\left(\cdot; \nu, n_2, \lambda\right)\) denotes the CDF of the noncentral \(F\) distribution with \(\nu\) and \(n_2\) degrees of freedom and noncentrality parameter \(\lambda\)

An example (CDF):

>>> from mpfunlab import fpm, mpm
>>> mpm.dps = 40; x = 12; nu = 10; nc = 30
>>> dx = dec.hotelling_t2_ind_chi2_cdf(x, nu, nc); mx = mpm.hotelling_t2_ind_chi2_cdf(x, nu, nc)
>>> ix = ipm.hotelling_t2_ind_chi2_cdf(x, nu, nc); fx = fpm.hotelling_t2_ind_chi2_cdf(x, nu, nc)
>>> gx = gmp.hotelling_t2_ind_chi2_cdf(x, nu, nc); ax = apm.hotelling_t2_ind_chi2_cdf(x, nu, nc)
>>> mpm.show([dx, mx, ix, fx, gx, ax])
dec:  3.113877423416836055714616090074444149943E-1
mpm:  3.113877423416836055714616090074444149943e-1
ipm:  3.113877423416836055714616090074444149944e-1 (4.147e-38%)
fpm:  3.11387742341684E-01
gmp:  3.113877423416836055714616090074444149943E-01
ipm:  3.113877423416836055714616090074444149943e-1 (4.055e-38%)

Noncentral Wilks’ Lambda under the GLM alternative#

ctx.wilks_lambda_glm_mu2_cdf(x)#

where ctx is fpm, mpm, ipm, dec, gmp or apm.

See also: O'Brien and Shieh [448], Kulp and Nagarsenker [423]

An example (CDF):

>>> from mpfunlab import fpm, mpm
>>> mpm.dps = 40; x = 12; nu = 10; nc = 30
>>> dx = dec.wilks_lambda_glm_mu2_cdf(x, nu, nc); mx = mpm.wilks_lambda_glm_mu2_cdf(x, nu, nc)
>>> ix = ipm.wilks_lambda_glm_mu2_cdf(x, nu, nc); fx = fpm.wilks_lambda_glm_mu2_cdf(x, nu, nc)
>>> gx = gmp.wilks_lambda_glm_mu2_cdf(x, nu, nc); ax = apm.wilks_lambda_glm_mu2_cdf(x, nu, nc)
>>> mpm.show([dx, mx, ix, fx, gx, ax])
dec:  3.113877423416836055714616090074444149943E-1
mpm:  3.113877423416836055714616090074444149943e-1
ipm:  3.113877423416836055714616090074444149944e-1 (4.147e-38%)
fpm:  3.11387742341684E-01
gmp:  3.113877423416836055714616090074444149943E-01
ipm:  3.113877423416836055714616090074444149943e-1 (4.055e-38%)

Noncentral Wilks’ Lambda under the independence alternative#

ctx.wilks_lambda_ind_mu2_cdf(x)#

where ctx is fpm, mpm, ipm, dec, gmp or apm.

See also: O'Brien and Shieh [448], Kulp and Nagarsenker [423]

An example (CDF):

>>> from mpfunlab import fpm, mpm
>>> mpm.dps = 40; x = 12; nu = 10; nc = 30
>>> dx = dec.wilks_lambda_ind_mu2_cdf(x, nu, nc); mx = mpm.wilks_lambda_ind_mu2_cdf(x, nu, nc)
>>> ix = ipm.wilks_lambda_ind_mu2_cdf(x, nu, nc); fx = fpm.wilks_lambda_ind_mu2_cdf(x, nu, nc)
>>> gx = gmp.wilks_lambda_ind_mu2_cdf(x, nu, nc); ax = apm.wilks_lambda_ind_mu2_cdf(x, nu, nc)
>>> mpm.show([dx, mx, ix, fx, gx, ax])
dec:  3.113877423416836055714616090074444149943E-1
mpm:  3.113877423416836055714616090074444149943e-1
ipm:  3.113877423416836055714616090074444149944e-1 (4.147e-38%)
fpm:  3.11387742341684E-01
gmp:  3.113877423416836055714616090074444149943E-01
ipm:  3.113877423416836055714616090074444149943e-1 (4.055e-38%)

Noncentral Hotelling’s T under the GLM alternative#

ctx.hotelling_t2_glm_mu2_cdf(x)#

where ctx is fpm, mpm, ipm, dec, gmp or apm.

See also: O'Brien and Shieh [448]

An example (CDF):

>>> from mpfunlab import fpm, mpm
>>> mpm.dps = 40; x = 12; nu = 10; nc = 30
>>> dx = dec.hotelling_t2_glm_mu2_cdf(x, nu, nc); mx = mpm.hotelling_t2_glm_mu2_cdf(x, nu, nc)
>>> ix = ipm.hotelling_t2_glm_mu2_cdf(x, nu, nc); fx = fpm.hotelling_t2_glm_mu2_cdf(x, nu, nc)
>>> gx = gmp.hotelling_t2_glm_mu2_cdf(x, nu, nc); ax = apm.hotelling_t2_glm_mu2_cdf(x, nu, nc)
>>> mpm.show([dx, mx, ix, fx, gx, ax])
dec:  3.113877423416836055714616090074444149943E-1
mpm:  3.113877423416836055714616090074444149943e-1
ipm:  3.113877423416836055714616090074444149944e-1 (4.147e-38%)
fpm:  3.11387742341684E-01
gmp:  3.113877423416836055714616090074444149943E-01
ipm:  3.113877423416836055714616090074444149943e-1 (4.055e-38%)

Noncentral Hotelling’s T under the independence alternative#

ctx.hotelling_t2_ind_mu2_cdf(x)#

where ctx is fpm, mpm, ipm, dec, gmp or apm.

See also: O'Brien and Shieh [448]

An example (CDF):

>>> from mpfunlab import fpm, mpm
>>> mpm.dps = 40; x = 12; nu = 10; nc = 30
>>> dx = dec.hotelling_t2_ind_mu2_cdf(x, nu, nc); mx = mpm.hotelling_t2_ind_mu2_cdf(x, nu, nc)
>>> ix = ipm.hotelling_t2_ind_mu2_cdf(x, nu, nc); fx = fpm.hotelling_t2_ind_mu2_cdf(x, nu, nc)
>>> gx = gmp.hotelling_t2_ind_mu2_cdf(x, nu, nc); ax = apm.hotelling_t2_ind_mu2_cdf(x, nu, nc)
>>> mpm.show([dx, mx, ix, fx, gx, ax])
dec:  3.113877423416836055714616090074444149943E-1
mpm:  3.113877423416836055714616090074444149943e-1
ipm:  3.113877423416836055714616090074444149944e-1 (4.147e-38%)
fpm:  3.11387742341684E-01
gmp:  3.113877423416836055714616090074444149943E-01
ipm:  3.113877423416836055714616090074444149943e-1 (4.055e-38%)

Noncentral Pillai’s V under the GLM alternative#

ctx.pillai_v_glm_mu2_cdf(x)#

where ctx is fpm, mpm, ipm, dec, gmp or apm.

See also: O'Brien and Shieh [448]

An example (CDF):

>>> from mpfunlab import fpm, mpm
>>> mpm.dps = 40; x = 12; nu = 10; nc = 30
>>> dx = dec.pillai_v_glm_mu2_cdf(x, nu, nc); mx = mpm.pillai_v_glm_mu2_cdf(x, nu, nc)
>>> ix = ipm.pillai_v_glm_mu2_cdf(x, nu, nc); fx = fpm.pillai_v_glm_mu2_cdf(x, nu, nc)
>>> gx = gmp.pillai_v_glm_mu2_cdf(x, nu, nc); ax = apm.pillai_v_glm_mu2_cdf(x, nu, nc)
>>> mpm.show([dx, mx, ix, fx, gx, ax])
dec:  3.113877423416836055714616090074444149943E-1
mpm:  3.113877423416836055714616090074444149943e-1
ipm:  3.113877423416836055714616090074444149944e-1 (4.147e-38%)
fpm:  3.11387742341684E-01
gmp:  3.113877423416836055714616090074444149943E-01
ipm:  3.113877423416836055714616090074444149943e-1 (4.055e-38%)

Noncentral Pillai’s V under the independence alternative#

ctx.pillai_v_ind_mu2_cdf(x)#

where ctx is fpm, mpm, ipm, dec, gmp or apm.

See also: O'Brien and Shieh [448]

An example (CDF):

>>> from mpfunlab import fpm, mpm
>>> mpm.dps = 40; x = 12; nu = 10; nc = 30
>>> dx = dec.pillai_v_ind_mu2_cdf(x, nu, nc); mx = mpm.pillai_v_ind_mu2_cdf(x, nu, nc)
>>> ix = ipm.pillai_v_ind_mu2_cdf(x, nu, nc); fx = fpm.pillai_v_ind_mu2_cdf(x, nu, nc)
>>> gx = gmp.pillai_v_ind_mu2_cdf(x, nu, nc); ax = apm.pillai_v_ind_mu2_cdf(x, nu, nc)
>>> mpm.show([dx, mx, ix, fx, gx, ax])
dec:  3.113877423416836055714616090074444149943E-1
mpm:  3.113877423416836055714616090074444149943e-1
ipm:  3.113877423416836055714616090074444149944e-1 (4.147e-38%)
fpm:  3.11387742341684E-01
gmp:  3.113877423416836055714616090074444149943E-01
ipm:  3.113877423416836055714616090074444149943e-1 (4.055e-38%)

Noncentral Roy’s largest root under the GLM alternative#

ctx.roy_glm_mu2_cdf(x)#

where ctx is fpm, mpm, ipm, dec, gmp or apm.

See Muirhead and Chikuse [441].

Let \(l_1 \ge l_2 \ge \cdots \ge l_m > 0\) be the latent roots of \(S_1S_2^{-1}. Let `\Omega = \Sigma^{-1} M' M\), and \(\omega_i\) are the latent roots of \(\Omega\). An upper bound for the distribution function of \(l_1\) is given by

\[P(l_1 \le x) \le \prod_{i=1}^m (F_{n1,n2}(\omega_i) \le x)\]

and a lower bound for the distribution function of \(l_m\) is given by

\[P(l_m \le x) \ge \prod_{i=1}^m (F_{n1,n2}(\omega_i) \ge x)\]

where \(F_{n1,n2}(\omega_i)\) denotes a random variable having the noncentral F distribution on n1 and n2 degrees of freedom and noncentrality parameter \(\omega_i\).

Muirhead,R.J.; Chikuse,Y. (1975): Approximations for the distributions of the extreme latent roots of three matrices. Ann. Inst. Statist. Math., 27, 473-478

An example (CDF):

>>> from mpfunlab import fpm, mpm
>>> mpm.dps = 40; x = 12; nu = 10; nc = 30
>>> dx = dec.roy_glm_mu2_cdf(x, nu, nc); mx = mpm.roy_glm_mu2_cdf(x, nu, nc)
>>> ix = ipm.roy_glm_mu2_cdf(x, nu, nc); fx = fpm.roy_glm_mu2_cdf(x, nu, nc)
>>> gx = gmp.roy_glm_mu2_cdf(x, nu, nc); ax = apm.roy_glm_mu2_cdf(x, nu, nc)
>>> mpm.show([dx, mx, ix, fx, gx, ax])
dec:  3.113877423416836055714616090074444149943E-1
mpm:  3.113877423416836055714616090074444149943e-1
ipm:  3.113877423416836055714616090074444149944e-1 (4.147e-38%)
fpm:  3.11387742341684E-01
gmp:  3.113877423416836055714616090074444149943E-01
ipm:  3.113877423416836055714616090074444149943e-1 (4.055e-38%)

Noncentral Roy’s largest root under the independence alternative#

ctx.roy_ind_mu2_cdf(x)#

where ctx is fpm, mpm, ipm, dec, gmp or apm.

See Muirhead and Chikuse [441].

Let \(l_1 \ge l_2 \ge \cdots \ge l_m > 0\) be the latent roots of \(S_1S_2^{-1}. Let `\Omega = \Sigma^{-1} M' M\), and \(\omega_i\) are the latent roots of \(\Omega\). An upper bound for the distribution function of \(l_1\) is given by

\[P(l_1 \le x) \le \prod_{i=1}^m (F_{n1,n2}(\omega_i) \le x)\]

and a lower bound for the distribution function of \(l_m\) is given by

\[P(l_m \le x) \ge \prod_{i=1}^m (F_{n1,n2}(\omega_i) \ge x)\]

where \(F_{n1,n2}(\omega_i)\) denotes a random variable having the noncentral F distribution on n1 and n2 degrees of freedom and noncentrality parameter \(\omega_i\).

Muirhead,R.J.; Chikuse,Y. (1975): Approximations for the distributions of the extreme latent roots of three matrices. Ann. Inst. Statist. Math., 27, 473-478

An example (CDF):

>>> from mpfunlab import fpm, mpm
>>> mpm.dps = 40; x = 12; nu = 10; nc = 30
>>> dx = dec.roy_ind_mu2_cdf(x, nu, nc); mx = mpm.roy_ind_mu2_cdf(x, nu, nc)
>>> ix = ipm.roy_ind_mu2_cdf(x, nu, nc); fx = fpm.roy_ind_mu2_cdf(x, nu, nc)
>>> gx = gmp.roy_ind_mu2_cdf(x, nu, nc); ax = apm.roy_ind_mu2_cdf(x, nu, nc)
>>> mpm.show([dx, mx, ix, fx, gx, ax])
dec:  3.113877423416836055714616090074444149943E-1
mpm:  3.113877423416836055714616090074444149943e-1
ipm:  3.113877423416836055714616090074444149944e-1 (4.147e-38%)
fpm:  3.11387742341684E-01
gmp:  3.113877423416836055714616090074444149943E-01
ipm:  3.113877423416836055714616090074444149943e-1 (4.055e-38%)