Approximations based on the normal distribution#
Non-central chi-squared distribution: cdf and sf (Penev)#
- ctx.chi2_nc_penev_cdf(x, nu, nc)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the cdf of the (non-)central chi-squared distribution.
[Penev2000` give the following first and second order Wiener germ approximation:
\[F_{\chi^2}\left(n, x; \lambda\right) \thickapprox \Phi \left(\text{sgn}(s) \sqrt{n(s-1)^2(1/(2s) + m- h(1-s)/s) - \log(A(s)) + 2B(s)/n} \right)\]\[\text{where } m = \lambda/n; \quad h(y) = \frac{(1-y) \log(1-y)+y- \tfrac{1}{2}y^2}{y^2} ; \quad s= \frac{\sqrt{1+4xm/n}-1}{2m}\]\[A(s) = \frac{1}{s} - \frac{2}{s} \cdot \frac{h(1-s)}{1+2ms}; \quad B(s) = \frac{(1+3m)^2}{9(1+2m)^3}\]where \(\Phi(\cdot)\) denotes the cdf of the normal distribution (see ).
An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.cdisn_penev(x, nu, nc); mx = mpm.cdisn_penev(x, nu, nc) >>> ix = ipm.cdisn_penev(x, nu, nc); fx = fpm.cdisn_penev(x, nu, nc) >>> gx = gmp.cdisn_penev(x, nu, nc); ax = apm.cdisn_penev(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%)
(Non-central) chi-squared distribution: qtf and isf (Canal)#
- ctx.chi2_nc_canal_qtf(LeftTail, RightTail, n)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the quantile of the (non-)central chi-squared distribution.
Let \(z_\alpha\) and \(\chi^2_{n,\alpha}\) be the \(\alpha\)-quantiles of the standard normal distribution and central chi-square distribution with \(n\) the degrees of freedom. For \(n=1\) and \(n=2\), the following closed form expressions can be used:
\[\chi^2_{1,\alpha} = z^2_{\alpha}, \quad \chi^2_{2,\alpha} = 2 \log(1 - \alpha)\]At the extreme left tail of the distribution, for small \(x\), the CDF of a \(\chi^2\) variable with \(n\) degrees of freedom can be approximated by the density of a \(\chi^2\) variable with \(n+2\) degrees of freedom:
\[F_{\chi^2}(n,x) \thickapprox 2 f_{\chi^2}(n+2,x).\]The density of a \(\chi^2\) variable with \(n+2\) degrees of freedom can be inverted in closed form using the Lambert \(W\) function, which leads to the following approximation:
\[\chi^2_{n,\alpha} \thickapprox f^{-1}_{\chi^2}(n+2,\alpha) = -2 W(t)/a , \quad \text{where}\]\[a=\frac{1}{(n+2)/2-1}, \quad k=\log(\Gamma((n+2)/2), \quad d=a-\log(1-\alpha)+k, \quad t=-a e^{p+d}\]This approximation is used for \(|t|<0.1\), and the Lambert \(W\) function is approximated as
\[W(x) \thickapprox x - x^2 + \tfrac{3}{2} x^3 - \tfrac{8}{3} x^4 - \tfrac{125}{24} x^5.\]Otherwise, the quantile is approximated by inverting a formula proposed by Canal [177]:
\[\chi^2_{n,\alpha} \thickapprox n\left( \frac{1}{2}+ \frac{t}{2}- \frac{3}{2t}\right)^6, \quad \text{where}\]\[t = \left({-5+2L + 2 \sqrt{13-5L+L^2}} \right)^{1/3} , \quad L = 6 \left(m + s \left(z_{\alpha} + a (z^2_{\alpha} - 1) - a^2 (2 z^3_{\alpha} - 5 z_{\alpha}) \right) \right)\]\[m = \frac{5}{6} - \frac{1}{9n} - \frac{7}{648n^2} - \frac{25}{2187n^3}, \quad s^2 = \frac{1}{18n} + \frac{1}{162n^2} - \frac{37}{11664n^3}, \quad a = \frac{1}{162 \sqrt{2n^3}} = \gamma_1/6.\]The noncentral quantile is approximated as
\[\chi^2_{n,\lambda,\alpha} \thickapprox (1+b) \chi^2_{n_1,\alpha} , \quad \text{where } n_1= \frac{(n+\lambda)^2}{n+2\lambda} , \quad b = \frac{\lambda}{n+\lambda}\]An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.chi2_nc_canal_qtf(x, nu, nc); mx = mpm.chi2_nc_canal_qtf(x, nu, nc) >>> ix = ipm.chi2_nc_canal_qtf(x, nu, nc); fx = fpm.chi2_nc_canal_qtf(x, nu, nc) >>> gx = gmp.chi2_nc_canal_qtf(x, nu, nc); ax = apm.chi2_nc_canal_qtf(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%)
Gamma distribution: qtf and isf (Canal)#
- ctx.gamma_canal_qtf(LeftTail, RightTail, a)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the quantile of the gamma distribution.
An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.gamma_canal_qtf(x, nu, nc); mx = mpm.gamma_canal_qtf(x, nu, nc) >>> ix = ipm.gamma_canal_qtf(x, nu, nc); fx = fpm.gamma_canal_qtf(x, nu, nc) >>> gx = gmp.gamma_canal_qtf(x, nu, nc); ax = apm.gamma_canal_qtf(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%)
F distribution: qtf and isf (Davis)#
- ctx.fisher_f_davis_qtf(LeftTail, RightTail, m, n)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the quantile of the F distribution.
An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.fisher_f_davis_qtf(x, nu, nc); mx = mpm.fisher_f_davis_qtf(x, nu, nc) >>> ix = ipm.fisher_f_davis_qtf(x, nu, nc); fx = fpm.fisher_f_davis_qtf(x, nu, nc) >>> gx = gmp.fisher_f_davis_qtf(x, nu, nc); ax = apm.fisher_f_davis_qtf(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%)
Beta distribution: qtf and isf (Davis)#
- ctx.beta_davis_qtf(LeftTail, RightTail, a, b)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the quantile of the beta distribution.
An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.beta_davis_qtf(x, nu, nc); mx = mpm.beta_davis_qtf(x, nu, nc) >>> ix = ipm.beta_davis_qtf(x, nu, nc); fx = fpm.beta_davis_qtf(x, nu, nc) >>> gx = gmp.beta_davis_qtf(x, nu, nc); ax = apm.beta_davis_qtf(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%)
Pearson’s rho distribution: pdf (Winterbottom)#
- ctx.pearson_rho_wb_pdf(x)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the pdf of Pearson’s rho distribution. See also Winterbottom [1605], Winterbottom [1606].
An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.pearson_rho_wb_pdf(x, nu, nc); mx = mpm.pearson_rho_wb_pdf(x, nu, nc) >>> ix = ipm.pearson_rho_wb_pdf(x, nu, nc); fx = fpm.pearson_rho_wb_pdf(x, nu, nc) >>> gx = gmp.pearson_rho_wb_pdf(x, nu, nc); ax = apm.pearson_rho_wb_pdf(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%)
Pearson’s rho distribution: cdf and sf (Winterbottom)#
- ctx.pearson_rho_wb_cdf(x)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the cdf of Pearson’s rho distribution. See also Winterbottom [1605], Winterbottom [1606].
An improved approximation has been found by inverting Winterbottom’s approximation for the confidence limits of \(\rho\):
\[F_R(N, r,\rho) \approx \Phi \left(\frac{k}{6} - \frac{2c}{k} - \frac{b}{3}\right), \quad \text{where} \quad m = N - 1,\]\[a = \frac{1}{12\sqrt{m^3}} + \frac{6 r^4 - 3r^2 + 2}{48\sqrt{m^5}}, \quad b = \frac{-r3}{6 a m^2}, \quad s=\frac{1}{a\sqrt{m}} + \frac{1+r^2}{4a\sqrt{m^3}} + \frac{11 r^4 - 2r^2 + 1}{32a\sqrt{m^5}}\]\[t = \frac{Z(r)-Z(\rho)}{a} + \frac{r}{2 a m} + \frac{5 r^3 + 9r}{24 a m^2}, \quad d=t+ \frac{bs}{3} - \frac{2b^3}{27}\]\[c = s-b^2/3, \quad p=\sqrt{|12c^3+81d^2|}, \quad k=(108d+12p)^{1/3}\]An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.pearson_rho_wb_cdf(x, nu, nc); mx = mpm.pearson_rho_wb_cdf(x, nu, nc) >>> ix = ipm.pearson_rho_wb_cdf(x, nu, nc); fx = fpm.pearson_rho_wb_cdf(x, nu, nc) >>> gx = gmp.pearson_rho_wb_cdf(x, nu, nc); ax = apm.pearson_rho_wb_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%)
Pearson’s rho distribution: qtf and isf (Winterbottom)#
- ctx.pearson_rho_wb_qtf(x)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the qtf of Pearson’s rho distribution. See also Winterbottom [1605], Winterbottom [1606].
Asymptotic expansions typically rely on the Fisher \(z\)-transform \(Z(a)= \text{atanh}(a)\) and its inverse \(Z^{-1}(a) = \tanh(a)\).
Let \(m = N - 1\) and let \(u_\alpha\) = \(\Phi^{-1}(\alpha)\) be the lower \(100\alpha\) percentage point of the standard normal distribution. An approximation to the \(100\alpha\) percentage point \(r_\alpha\) and the lower \(100(1-\alpha)\) confidence limit on \(\rho\), \(\rho_L\), is then obtained by \(r_\alpha \approx Z^{-1}(y_1)\) , where
\begin{eqnarray} y_1 & = & Z(\rho) + \frac{u_\alpha}{\sqrt{m}} + \frac{\rho}{2m} + \frac{u_\alpha^3+3(3-\rho^2)u_\alpha}{12\sqrt{m^3}} + \frac{4\rho^3 u_\alpha^2 + 15\rho-\rho^3}{24m^2} \\ && +\: \frac{u_\alpha^5+(-60\rho^4+30\rho^2+80)u_\alpha^3 + (45\rho^4-21\rho^2+375)u_\alpha}{480\sqrt{m^5}}, \quad \text{and} \nonumber \end{eqnarray}An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.pearson_rho_wb_qtf(x, nu, nc); mx = mpm.pearson_rho_wb_qtf(x, nu, nc) >>> ix = ipm.pearson_rho_wb_qtf(x, nu, nc); fx = fpm.pearson_rho_wb_qtf(x, nu, nc) >>> gx = gmp.pearson_rho_wb_qtf(x, nu, nc); ax = apm.pearson_rho_wb_qtf(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%)
Pearson’s rho distribution: confidence limit for \(\rho\) (Winterbottom)#
- ctx.pearson_rho_wb_cl(x)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the confidence interval (CI) for the noncentrality parameter \(\rho\) of Pearson’s rho distribution, as decribed in Winterbottom [1606].
We use the Fisher \(z\)-transform \(Z(a)= \text{atanh}(a)\) and its inverse \(Z^{-1}(a) = \tanh(a)\).
Let \(m = N - 1\) and let \(u_\alpha\) = \(\Phi^{-1}(\alpha)\) be the lower \(100\alpha\) percentage point of the standard normal distribution. An approximation to the \(100\alpha\) percentage point \(r_\alpha\) and the lower \(100(1-\alpha)\) confidence limit on \(\rho\), \(\rho_L\), is then obtained by \(\rho_L \approx Z^{-1}(y_2)\), where
\begin{eqnarray} y_2 & = & Z(r) + \frac{u_\alpha}{\sqrt{m}} - \frac{r}{2m} + \frac{u_\alpha^3+3(1+r^2)u_\alpha}{12\sqrt{m^3}} - \frac{4r^3 u_\alpha^2 + 5r^3+9r}{24m^2} \\ && +\: \frac{u_\alpha^5+(60r^4-30r^2+20)u_\alpha^3 + (165r^4+30r^2+15)u_\alpha}{480\sqrt{m^5}}. \nonumber \end{eqnarray}An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.pearson_rho_wb_cl(x, nu, nc); mx = mpm.pearson_rho_wb_cl(x, nu, nc) >>> ix = ipm.pearson_rho_wb_cl(x, nu, nc); fx = fpm.pearson_rho_wb_cl(x, nu, nc) >>> gx = gmp.pearson_rho_wb_cl(x, nu, nc); ax = apm.pearson_rho_wb_cl(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%)
Singly noncentral t: pdf (Broda)#
- ctx.student_t_nc_broda_pdf(x)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the pdf of the singly noncentral t distribution, as decribed in Witkovský [1612], using the approximation to the cdf of the singly noncentral t distribution as decribed Broda and Paolella [167].
\[f_{\text{StudentT}}\left(x, n, \delta\right) = \frac{n}{x} \left( F_{\text{StudentT}}\left(x \sqrt{(n+2)/n}, n+2, \delta\right) - F_{\text{StudentT}}\left(x, n, \delta\right) \right), \quad x \ne 0,\]\[f_{\text{StudentT}}\left(x, n, \delta\right) = \frac{\Gamma((n+1)/2)}{\sqrt{n \pi} \Gamma(n/2)} e^{- \frac{1}{2} \delta^2}\]An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.student_t_nc_broda_pdf(x, nu, nc); mx = mpm.student_t_nc_broda_pdf(x, nu, nc) >>> ix = ipm.student_t_nc_broda_pdf(x, nu, nc); fx = fpm.student_t_nc_broda_pdf(x, nu, nc) >>> gx = gmp.student_t_nc_broda_pdf(x, nu, nc); ax = apm.student_t_nc_broda_pdf(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%)
Singly noncentral t: cdf, sf (Broda)#
- ctx.student_t_nc_broda_cdf(x)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the cdf of the singly noncentral t distribution, as decribed in Broda and Paolella [167].
Singly noncentral t: A saddlepoint approximation based on the joint cumulant generating function of \((x_1, x_2)\), with \(x_1 \sim N(\mu, 1)\) and \(x_2 \sim \chi^2(n)\), is possible (see Broda (2007)), and takes the following form:
\[F_{t'}(x;n,\mu) = \Phi(w)+\phi(w)\left( \frac{1}{w} - \frac{d}{u} \right) + O(n^{-3/2}) , \quad \text{where}\]\[s = \left(\mu x + \sqrt{4n(x^2+n)+\mu^2 x^2}\right) / (2x^2+2n),\]\[t_1 = -\mu + x s, \quad t_2 = -x t_1 / (2 n s), \quad d = 1 / (t_1 s),\]\[u = \sqrt{(\mu x s + 2n ) / (2n)} / s, \quad w = \text{sgn} (x - \mu) \sqrt{-\mu t_1 - 2n \log(s)},\]and \(\Phi(\cdot)\) and \(\phi(\cdot)\) denote the cdf and pdf of the normal distribution, respectively.
For \(\mu = 0\), these equations simplify to
\[s = \sqrt{n / (x^2+n)}, \quad d = 1 / (x s), \quad u = 1 / s, \quad w = \text{sgn} (x) \sqrt{- 2n \log(s)},\]An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.student_t_nc_broda_cdf(x, nu, nc); mx = mpm.student_t_nc_broda_cdf(x, nu, nc) >>> ix = ipm.student_t_nc_broda_cdf(x, nu, nc); fx = fpm.student_t_nc_broda_cdf(x, nu, nc) >>> gx = gmp.student_t_nc_broda_cdf(x, nu, nc); ax = apm.student_t_nc_broda_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%)
Singly noncentral t: qtf, isf (Harley)#
- ctx.student_t_nc_harley_qtf(x)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the qtf of the singly noncentral t distribution, as decribed in Harley [380].
The qtf of the noncentral t-distribution can be approximated by the qtf of Pearson’s rho as follows: Let \(N=f+2\) and
\[\rho = \Re \left( \delta \sqrt{\frac{2}{2N-3 + \delta^2}} \right).\]Determine \(r_{\alpha;\rho;N} = r_{\alpha}\), using Winterbottom’s approximation. Calculate \(t_{\alpha;\delta;f} = t_{\alpha}\) as
\[t_{\alpha} = \Re \left(\frac{r_{\alpha}}{1-r_{\alpha}^2} \sqrt{\frac{2f(1-\rho^2)}{1-\rho^2}} \right)\]Note that in these equations both \(\rho\) and \(r_{\alpha}\) can assume values \(>1\). Luckily, Winterbottom’s approximation can handle this; we always take only the real part of the functions results to avoid issues with the branch cuts of the complex square root.
An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.student_t_nc_broda_qtf(x, nu, nc); mx = mpm.student_t_nc_broda_qtf(x, nu, nc) >>> ix = ipm.student_t_nc_broda_qtf(x, nu, nc); fx = fpm.student_t_nc_broda_qtf(x, nu, nc) >>> gx = gmp.student_t_nc_broda_qtf(x, nu, nc); ax = apm.student_t_nc_broda_qtf(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%)
Singly noncentral t: confidence limit for \(\delta\) (Akahira)#
- ctx.student_t_nc_akahira_cl(x)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the confidence interval (CI) for the noncentrality parameter of the singly noncentral t distribution, as decribed in Akahira et al. [6].
Let \(T\) be a statistic according to the non-central \(t\)-distribution with \(n\) degrees of freedom and a non-centrality parameter \(\delta\). Then the lower confidence limit \(\widehat{\delta}\) of level \(1-\alpha\) and the two-sided confidence interval \(( \underline{\delta},\overline{\delta})\) of the non-centrality parameter \(\delta\) of level \(1-\alpha\) are given by Akahira et al. [6]:
\[\widehat{\delta} = bT - z_\alpha \sqrt{k} + h T^3 (z_\alpha^2 - 1)/k,\]\[\underline{\delta} = bT - z_{\alpha/2} \sqrt{k} + h T^3 (z_{\alpha/2}^2 - 1)/k,\]\[\overline{\delta} = bT + z_{\alpha/2} \sqrt{k} - h T^3 (z_{\alpha/2}^2 - 1)/k,\]\[h=\frac{1}{24}\left(\frac{1}{n^2}+ \frac{1}{4n^3}\right) \quad b=\sqrt{\frac{2}{n}}\frac{\Gamma(\tfrac{1}{2} n+\tfrac{1}{2})}{\Gamma(\tfrac{1}{2} n)}\]where \(k=1+(1-b^2)T^2\), and \(z_\alpha\) denotes the \(\alpha\)-quantile of the normal distribution.
An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.student_t_nc_akahira_cl(x, nu, nc); mx = mpm.student_t_nc_akahira_cl(x, nu, nc) >>> ix = ipm.student_t_nc_akahira_cl(x, nu, nc); fx = fpm.student_t_nc_akahira_cl(x, nu, nc) >>> gx = gmp.student_t_nc_akahira_cl(x, nu, nc); ax = apm.student_t_nc_akahira_cl(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%)
Doubly noncentral t: cdf, sf (Broda)#
- ctx.student_t_nc2_broda_cdf(x)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the cdf of the doubly noncentral t distribution, as decribed in Broda and Paolella [167].
A saddlepoint approximation based on the joint cumulant generating function of \((x_1, x_2)\), with \(x_1 \sim N(\mu, 1)\) and \(x_2 \sim \chi^2(n, \theta)\), is possible (see Broda (2007)), and takes the following form:
\[F_{t''}(x;n;\mu,\theta) = \Phi(w)+\phi(w)\left( \frac{1}{w} - \frac{d}{u} \right) + O(n^{-3/2}) , \quad \text{where}\]\[a = x^4 + 2 n x^2 + n^2, \quad c_2 = (-2 x^3 \mu - 2 x n \mu)/a, \quad c_1 = (x^2 \mu^2 - n x^2 - n^2 - \theta n) / a, \quad c_0 = (x n \mu)/a,\]\[q= \tfrac{1}{3}c_1 - \tfrac{1}{9}c_2^2, \quad r= \tfrac{1}{6}(c_1c_2-3c_0)- \tfrac{1}{27}c_2^3,\]\[s = \sqrt{-4q} \cos \left(\tfrac{1}{3} \arccos\left(r/ \sqrt{-q^3}\right) \right) - \tfrac{1}{3} c_2,\]\[t_1 = -\mu + x s, t_2 = -x t_1 / (2 n s), \quad d = 1 / (t_1 s), \quad \nu = 1 / (1 - 2 t_2), \quad \alpha = \mu / \sqrt{1 + \theta / n)},\]\[u = \sqrt{(x^2 + 2 n t_2) (2 n \nu^2 + 4 \theta \nu^3) + 4 n^2 s^2} / (2 n s^2), \quad w = \text{sgn} (x - \alpha) \sqrt{-\mu t_1 - n \log(\nu) - 2 \theta \nu t_2},\]and \(\Phi(\cdot)\) and \(\phi(\cdot)\) denote the cdf and pdf of the normal distribution, respectively.
An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.student_t_nc2_broda_cdf(x, nu, nc); mx = mpm.student_t_nc2_broda_cdf(x, nu, nc) >>> ix = ipm.student_t_nc2_broda_cdf(x, nu, nc); fx = fpm.student_t_nc2_broda_cdf(x, nu, nc) >>> gx = gmp.student_t_nc2_broda_cdf(x, nu, nc); ax = apm.student_t_nc2_broda_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%)
Doubly noncentral t: qtf, isf (Broda)#
- ctx.student_t_nc2_broda_qtf(x)#
where
ctxisfpm,mpm,ipm,dec,gmporapm.Returns an approximation to the qtf of the doubly noncentral t distribution, as decribed in Broda and Paolella [167].
Broda_2007_WorkingPaper proposes the following approximation:
\[F_{t''}(t;n;\mu,\theta) \approx F_{t'}(t/c;f;\mu), \quad \text{where}\]\[f=\frac{7}{2} \left(-1+\sqrt{15-7g^2/h}\right)^{-1}, \quad c=\sqrt{h(1-2/f)}, \quad g=m_1/\sqrt{\mu^2/2}, h=m_2/(1+\mu^2),\]\[m_1 = \mu \binom{n}{2}^{1/2} \frac{\Gamma((n-1)/2)}{\Gamma(n/2)} {}_1F_1 \left(\frac{1}{2}, \frac{n}{2}, -\frac{\theta}{2} \right)\]\[m_2 = (1+\mu^2) \frac{n}{n-2} {}_1F_1 \left(\frac{2}{2}, \frac{n}{2}, -\frac{\theta}{2} \right)\]An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.student_t_nc2_broda_qtf(x, nu, nc); mx = mpm.student_t_nc2_broda_qtf(x, nu, nc) >>> ix = ipm.student_t_nc2_broda_qtf(x, nu, nc); fx = fpm.student_t_nc2_broda_qtf(x, nu, nc) >>> gx = gmp.student_t_nc2_broda_qtf(x, nu, nc); ax = apm.student_t_nc2_broda_qtf(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%)
Spearman’s rho, first 8 cumulants (David)#
- ctx.spearman_mu8(N)#
where
ctxisdec,mpm,fpm,gmporapm.Returns an approximation to the central distribution of Spearman’s \(\rho\), based on the first 8 moments.
Spearman’s \(\rho\) is calculated like Pearsons’s correlation coefficient, using the rank-transform on the \(x_i\) and \(y_i\). The exact test for \(H_0\) is the permutation test. Techniques for obtaining the exact distribution and approximations are given below
The first 8 cumulants are given by David et al. [206]
\[\kappa_2 = \frac{1}{n-1}\]\[\kappa_4 = \frac{-6(19n^2+5n-36)}{25n(n+1)(n-1)^3}\]\[\kappa_6 = \frac{48(583n^6+723n^5-2603n^4-2637n^3+4054n^2+2760n-1800)}{(245n^3(n-1)^5n1^3)}\]\begin{eqnarray} \kappa_8 & = &\frac{144(41939n^{10}-83709n^9+304254n^8+578442n^7-1012323n^6- 1690125n^5)}{875n^5 (n+1)^5 (n-1)^7} \quad \\ & + &\frac{144(1800776n^4+2358048n^3-1616688n^2- 1080567n+846720)}{875n^5 (n+1)^5 (n-1)^7} \nonumber \end{eqnarray}Note: See PermCumulants.SpearmanCum for further details.
An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.spearman_mu8(x, nu, nc); mx = mpm.spearman_mu8(x, nu, nc) >>> ix = ipm.spearman_mu8(x, nu, nc); fx = fpm.spearman_mu8(x, nu, nc) >>> gx = gmp.spearman_mu8(x, nu, nc); ax = apm.spearman_mu8(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%)
Mann-Whitney U distribution: general alternatives specified by rank order probabilities (Sundrum)#
- ctx.mannwhitney_nc_mu4(N)#
where
ctxisdec,mpm,fpm,gmporapm.Returns an approximation to the noncentral distribution of Mann-Whitney’s \(U\), based on the first 4 moments.
The first 4 moments under the alternative are given by Sundrum [536] (note that \(\kappa_4 = \mu_4 - 3\mu2^3\)):
\[\mu_1 = p\]\[\mu_2 = (p^2 + p - q - r)/mn + (q - p^2 )/n + (r - p^2 )/m + p^2\]\begin{eqnarray} \mu_3 & = & 6(p^3 + u - pq - pr)/mn + (2p^3 + s - 3pq)/n^2 + (2p^3 + t - 3pr)/m^2 \\ \nonumber & + & 3(3pq + 2(pr - u - p^3) + q - s - p^2)/mn^2 + 3(3pr + 2(pq - u - p^3) \\ \nonumber & + & r - t - p^2)/m^2n +(4p^3 + 3p^2 + p + 6u + 2(s + t) - 3(q + r)(1 + 2p))/m^2n^2 \nonumber \end{eqnarray}\begin{eqnarray} \mu_4 & = & 3(q - p^2)2/n^2 + 6(q - p^2)(r - p^2)/mn + 3(r - p^2)2/m^2 \\ \nonumber & + & (12qp^2 + a - 4sp - 3q^2 - 6p^4)/n^3 + (12rp^2 + b - 4tp - 3r2 - 6p^4)/m^3 \\ \nonumber & + & 6(7(rp^2 - p^4) + 12qp^2 + qp + 2(w-sp) - 3(q^2 + qr) - 8up - p^3)/mn^2 \\ \nonumber & + & (42qp^2 + 72rp^2 + 6rp+ 12x - 42p^4 - 18r2 - 18qr - 12tp - 48up - 6p^3)/m^2n \\ \nonumber & + & 6(6(p^4 - rp^2) + 3(q^2 - qp) - 12qp^2 + 4sp + 8up + 2(p^3 + qr - w) + s - a)/mn^3 \\ \nonumber & + & (36p^4 + 18r2 + 12qr - 72rp^2 - 36qp^2 + 24tp - 6b + 48up \\ \nonumber & - & 12x + 12p^3 - 18rp+ 6t)/m^3 n \\ \nonumber & + & (105p^4 + 42p^3 + 3p^2 + 33q^2 + 33r2 + 54qr - 174qp^2 - 174rp^2 - 42pq \\ \nonumber & - & 42pr + 36sp + 36tp + 192up - 36w - 36x + 6v + 36u)/ m^2n^2 \\ \nonumber & + & (132qp^2 + 108rp^2 - 66p^4 - 33q^2 - 36qr - 18r2 - 44sp - 24tp + 11a \\ \nonumber & - & 144up + 36w + 24x - 6v - 36p^3 - 36u - 7p^2 + 54pq + 36pr - 18s + 7q)/m^2n^3 \\ \nonumber & + & (132rp^2 + 108qp^2 - 66p^4 - 33r2 - 36qr - 18q^2 - 44tp - 24sp + 11b \\ \nonumber & - & 144up + 24w + 36x - 6v - 36p^3 - 36u - 7p^2 + 54pr + 36pq - 18t + 7r)/m^3n^2 \\ \nonumber & + & (6(3(q^2 + r2)- 12((q + r)p^2) + 4(p^3 + qr + sp + tp - w - x) - (a + b - v) + 16up \\ \nonumber & - & 6(p^4 + pq + pr + u) + 2(s + t)) - 7(q + r - p^2) + p)/ m^3n^3 \nonumber \end{eqnarray}The parameters \(p, q, r, s, t, v, u, a, b, w\) and \(x\) can be calculated from the following rank order probabilities:
\begin{eqnarray} p & = & P_{1,1}(0,0) \\ \nonumber q & = & P_{2,1}(0,0,1) \\ \nonumber r & = & P_{1,2}(0,1,1) \\ \nonumber s & = & P_{3,1}(0,0,0,1) \\ \nonumber t & = & P_{1,3}(0,1,1,1) \\ \nonumber v & = & P_{2,2}(0,0,1,1) \\ \nonumber u & = & v + (1/4) P_{2,2}(0,1,0,1) \\ \nonumber a & = & P_{4,1}(0,0,0,0,1) \\ \nonumber b & = & P_{1,4}(0,1,1,1,1) \\ \nonumber w & = & 2a + (2/3) P_{3,2}(0,0,1,0,1) + (1/6) P_{3,2}(0,1,0,0,1) \\ \nonumber x & = & 2b + (2/3) P_{2,3}(0,1,0,1,1) + (1/6) P_{2,3}(0,1,1,0,1) \\ \nonumber \end{eqnarray}The rank order probabilities which are required for the calculation of the first 4 moments can be estimated from the sample as follows: Let \(U_i\) be the number of \(Y`s in the sample greater than `X_{(i)}\), where \(X_{(i)}\) is the ith ordered values of the \(X\) amongst themselves. Then the probabilities are calculated according to the following scheme :
\[P_{1,1}(0,1) = \frac{1}{mn} \sum_{i=1}^m U_i\]\[P_{2,1}(0,0,1) = \frac{2}{mn(m-1)} \sum_{i=1}^m (i-1)U_i\]\[P_{3,1}(0,0,0,1) = \frac{3}{mn(m-1)(m-2)} \sum_{i=1}^m (i-1)(i-2)U_i\]\[P_{4,1}(0,0,0,0,1) = \frac{4}{mn(m-1)(m-2)(m-3)} \sum_{i=1}^m (i-1)(i-2)(i-3)U_i\]\[P_{1,2}(0,1,1) = \frac{1}{mn(n-1)} \sum_{i=1}^m U_i(U_i-1)\]\[P_{1,3}(0,1,1,1) = \frac{1}{mn(n-1)(n-2)} \sum_{i=1}^m U_i(U_i-1)(U_i-2)\]\[P_{1,4}(0,1,1,1,1) = \frac{1}{mn(n-1)(n-2)(n-3)} \sum_{i=1}^m U_i(U_i-1)(U_i-2)(U_i-3)\]\[P_{2,2}(0,0,1,1) = \frac{2}{mn(m-1)(n-1)} \sum_{i=1}^m (i-1)U_i(U_i-1)\]\[P_{3,2}(0,0,0,1,1) = \frac{3}{mn(m-1)(m-2)(n-1)} \sum_{i=1}^m (i-1)(i-2)U_i(U_i-1)\]\[P_{2,3}(0,0,1,1,1) = \frac{2}{mn(m-1)(n-1)(n-2)} \sum_{i=1}^m (i-1)U_i(U_i-1)(U_i-2)\]\[P_{2,2}(0,1,0,1) = \frac{4}{mn(m-1)(n-1)} \sum_{i=1}^m \sum_{j=i+1}^m (U_i - U_j) U_j\]\[P_{3,2}(0,0,1,0,1) = \frac{12}{mn(m-1)(m-2)(n-1)} \sum_{i=1}^m \sum_{j=i+1}^m (i-1)(U_i - U_j) U_j\]\[P_{3,2}(0,1,0,0,1) = \frac{12}{mn(m-1)(m-2)(n-1)} \sum_{i=1}^m \sum_{j=i+1}^m (i-j-1)(U_i - U_j) U_j\]\[P_{2,3}(0,1,0,1,1) = \frac{6}{mn(m-1)(n-1)(n-2)} \sum_{i=1}^m \sum_{j=i+1}^m (U_i - U_j) U_j (U_j-1)\]\[P_{2,3}(0,1,0,1,1) = \frac{6}{mn(m-1)(n-1)(n-2)} \sum_{i=1}^m \sum_{j=i+1}^m (U_i - U_j) U_j (U_j - 1)\]\[P_{2,3}(0,1,1,0,1) = \frac{6}{mn(m-1)(n-1)(n-2)} \sum_{i=1}^m \sum_{j=i+1}^m (U_i - U_j) (U_i - U_j - 1) U_j\]An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.mannwhitney_nc_mu4(x, nu, nc); mx = mpm.mannwhitney_nc_mu4(x, nu, nc) >>> ix = ipm.mannwhitney_nc_mu4(x, nu, nc); fx = fpm.mannwhitney_nc_mu4(x, nu, nc) >>> gx = gmp.mannwhitney_nc_mu4(x, nu, nc); ax = apm.mannwhitney_nc_mu4(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%)
First 4 moments of Kendalls \(\tau\) in the general case (Sundrum)#
- ctx.kendall_tau_nc_mu4(N)#
where
ctxisdec,mpm,fpm,gmporapm.Returns an approximation to the noncentral distribution of Kendall’s \(\tau\), based on the first 4 moments.
Consider \(k\) pairs of random variables \((x_1,y_1),\ldots,(x_k,y_k)\). Let \(r_1,\ldots,r_k\) be a permutaton of \(1,\ldots,k\) and let \(s_1,\ldots,s_k\) be its reciprocal. We define as in Snow [530].
\(P(r_1,\ldots,r_k)\) = Pr[if \(x\)’s are ranked in order, ranks of corresponding \(y\)’s are \(r_1,\ldots,r_k\)].
\(P(r_1,\ldots,r_k)\) = Pr[if \(y\)’s are ranked in order, ranks of corresponding \(x\)’s are \(s_1,\ldots,s_k\)].
Let \(H(t) = 1\) if \(t>0\) and \(H(t)=0\) otherwise. Then
\[P(r_1,\ldots,r_k) = k! P \left[ \prod_{i=2}^k H(x_i - x_{i-1}) H(y_{s_i} - y_{s_{i-1}}) \right] = k! P \left[ \prod_{i=2}^k H(y_i - y_{i-1}) H(x_{r_i} - x_{r_{i-1}}) \right]\]The rank order probabilities can then be estimated from the sample as
\[\hat{P}_{(12)} = \frac{1}{n(n-1)} \sum_{i \ne j} I\left[ (x_i-x_j)(y_i-y_j) > 0 \right]\]\[\hat{P}_{(123)} = \frac{1}{n(n-1)(n-2)} \sum_{i \ne j_1 \ne j_2} I\left[ (x_i-x_{j_1})(y_i-y_{j_1}) (x_i-x_{j_2})(y_i-y_{j_2}) > 0 \right]\]The first 4 moments of \(T_N\) are given as Sundrum [535]:
\[\mu_1 = p\]\[\mu_2 = 2 [p(1 - p) + 2(k - p^2)(n - 2)] / [n (n - 1)]\]\begin{eqnarray} \mu_3 & = & 4 [(t - 18kp + 10p^3) n^2 + (6k + 2u - 6p^2 - 5t + 72kp - 34p^3) n \\ \nonumber & + & (p + 9p^2 + 30p^3 - 12k - 4u + 6t - 72kp)] / [n (n - 1)]^2 \nonumber \end{eqnarray}\begin{eqnarray} \mu_4 & = & 8 [6(k - p^2)2 n^4 + (6kp + 2y - 6p^3 - 16tp - 84k2 + 270kp^2 - 108p4) n^3 \\ \nonumber & + & (1.5p^2 + 6t + 2b - 126kp - 24up - 18y + 75p^3 + 120tp + 426k2 - 1446kp^2 + 505.5p4) n^2 \\ \nonumber & + & (14k + 12u - 15.5p^2 - 30t - 10b + 444kp + 96up + 52y - 213p^3 - 296tp - 924k2 \\ \nonumber & + & 2988kp^2 - 943.5p4)n \\ \nonumber & + & (p - 28k - 24u + 21p^2 + 36t + 12b - 432kp - 96up - 48y + 180p^3 + 240tp + 720k2 \\ \nonumber & - & 2160kp^2 + 630p4)] / [n (n - 1)]^3 \nonumber \end{eqnarray}The parameters \(p, k, u, t, b, y\) can be calculated from the following rank order probabilities, writing \(P_{(1423)}\) for the probility that the ranks of the \(Y\) occur in this order when the \(X\) are sorted in ascending order:
\begin{eqnarray} p & = & P_{(12)} \\ \nonumber u & = & P_{(123)} \\ \nonumber k & = & P_{(123)} + \tfrac{1}{4}P_{(132)} \\ \nonumber t & = & 8(P_{(1234)} + P_{(1243))} + 6P_{(1342)} + 4P_{(1324)} + 2P_{(2143)} + P_{(2413)} + P_{(1432)} \\ \nonumber b & = & 15P_{(1234)} + 10P_{(1243)} + 5P_{(1324)} + 4P_{(1342)} + P_{(2143)} \\ \nonumber y & = & (160P_{(12453)} + 150(P_{(12435)} + P_{(12354))} + 125P_{(12345)} + 96P_{(21453)} + 90P_{(13254)} + 84P_{(13524)} \\ \nonumber &+& 80P_{(13425)} + 64P_{(13452)} + 45P_{(21354)} + 40P_{(12543)} + 32(P_{(23514)} + P_{(14352)} + P_{(13542)) } \\ \nonumber &+& 24P_{(21543)} + 22P_{(24153)} + 20P_{(14325)} + 18P_{(14523)} + 16P_{(25143)} + 12(P_{(24513)} + P_{(14532))} \\ \nonumber &+& 6(P_{(25314)} + P_{(15342))} + 4P_{(25413)} + 2(P_{(15432)} + P_{(35142)}))/5 \nonumber \end{eqnarray}When \((x_i,y_i)\), \(i=1,2,\ldots,k\), are normal variables with correlation \(\rho\), then closed form expressions exist for \(p, k\) and \(u\) (writing \(a = \arcsin\left(\rho\right)/\pi\) and \(b = 2\arcsin\left(\tfrac{1}{2}\rho\right)/\pi\):
\begin{eqnarray} p & = & \tfrac{1}{2} + a \\ \nonumber k & = & \tfrac{1}{4} (\tfrac{10}{9} + 4a + 4a^2 - b^2) \\ \nonumber u & = & \tfrac{3}{8} (\tfrac{4}{9} + 4a -2b + 4a^2 - b^2) \nonumber \end{eqnarray}The parameters \(t, b\) and \(y\) have to be evaluated by numerical intergration of the rank order probabilities
An example (CDF):
>>> from mpfunlab import fpm, mpm >>> mpm.dps = 40; x = 12; nu = 10; nc = 30 >>> dx = dec.kendall_tau_nc_mu4(x, nu, nc); mx = mpm.kendall_tau_nc_mu4(x, nu, nc) >>> ix = ipm.kendall_tau_nc_mu4(x, nu, nc); fx = fpm.kendall_tau_nc_mu4(x, nu, nc) >>> gx = gmp.kendall_tau_nc_mu4(x, nu, nc); ax = apm.kendall_tau_nc_mu4(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%)