Studentized Range Distribution#
This distribution has two shape parameters, \(k>1\) and \(\nu>0\), and the support is \(x \geq 0\).
\begin{eqnarray*}
f(x; k, \nu) = \frac{k(k-1)\nu^{\nu/2}}{\Gamma(\nu/2)2^{\nu/2-1}}
\int_{0}^{\infty} \int_{-\infty}^{\infty} s^{\nu} e^{-\nu s^2/2} \phi(z) \phi(sx + z)
[\Phi(sx + z) - \Phi(z)]^{k-2} \,dz \,ds
\end{eqnarray*}
\begin{eqnarray*}
F(q; k, \nu) = \frac{k\nu^{\nu/2}}{\Gamma(\nu/2)2^{\nu/2-1}}
\int_{0}^{\infty} \int_{-\infty}^{\infty} s^{\nu-1} e^{-\nu s^2/2} \phi(z)
[\Phi(sq + z) - \Phi(z)]^{k-1} \,dz \,ds
\end{eqnarray*}
Note: \(\phi(z)\) and \(\Phi(z)\) represent the normal PDF and normal CDF, respectively.
When \(\nu\) exceeds 100,000, the asymptopic approximation of \(F(x; k, \nu=\infty)\) is used:
\begin{eqnarray*}
F(x; k, \nu=\infty) = k \int_{-\infty}^{\infty} \phi(z)
[\Phi(x + z) - \Phi(z)]^{k-1} \,dz
\end{eqnarray*}
Implementation: scipy.stats.studentized_range