Vous êtes un professionnel et vous avez besoin d'une formation ?
RAG (Retrieval-Augmented Generation)et Fine Tuning d'un LLM
Voir le programme détaillé
Module « scipy.special »
Signature de la fonction stdtr
def stdtr(*args, **kwargs)
Description
help(scipy.special.stdtr)
stdtr(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature])
stdtr(df, t, out=None)
Student t distribution cumulative distribution function
Returns the integral:
.. math::
\frac{\Gamma((df+1)/2)}{\sqrt{\pi df} \Gamma(df/2)}
\int_{-\infty}^t (1+x^2/df)^{-(df+1)/2}\, dx
Parameters
----------
df : array_like
Degrees of freedom
t : array_like
Upper bound of the integral
out : ndarray, optional
Optional output array for the function results
Returns
-------
scalar or ndarray
Value of the Student t CDF at t
See Also
--------
stdtridf : inverse of stdtr with respect to `df`
stdtrit : inverse of stdtr with respect to `t`
scipy.stats.t : student t distribution
Notes
-----
The student t distribution is also available as `scipy.stats.t`.
Calling `stdtr` directly can improve performance compared to the
``cdf`` method of `scipy.stats.t` (see last example below).
Examples
--------
Calculate the function for ``df=3`` at ``t=1``.
>>> import numpy as np
>>> from scipy.special import stdtr
>>> import matplotlib.pyplot as plt
>>> stdtr(3, 1)
0.8044988905221148
Plot the function for three different degrees of freedom.
>>> x = np.linspace(-10, 10, 1000)
>>> fig, ax = plt.subplots()
>>> parameters = [(1, "solid"), (3, "dashed"), (10, "dotted")]
>>> for (df, linestyle) in parameters:
... ax.plot(x, stdtr(df, x), ls=linestyle, label=f"$df={df}$")
>>> ax.legend()
>>> ax.set_title("Student t distribution cumulative distribution function")
>>> plt.show()
The function can be computed for several degrees of freedom at the same
time by providing a NumPy array or list for `df`:
>>> stdtr([1, 2, 3], 1)
array([0.75 , 0.78867513, 0.80449889])
It is possible to calculate the function at several points for several
different degrees of freedom simultaneously by providing arrays for `df`
and `t` with shapes compatible for broadcasting. Compute `stdtr` at
4 points for 3 degrees of freedom resulting in an array of shape 3x4.
>>> dfs = np.array([[1], [2], [3]])
>>> t = np.array([2, 4, 6, 8])
>>> dfs.shape, t.shape
((3, 1), (4,))
>>> stdtr(dfs, t)
array([[0.85241638, 0.92202087, 0.94743154, 0.96041658],
[0.90824829, 0.97140452, 0.98666426, 0.99236596],
[0.93033702, 0.98599577, 0.99536364, 0.99796171]])
The t distribution is also available as `scipy.stats.t`. Calling `stdtr`
directly can be much faster than calling the ``cdf`` method of
`scipy.stats.t`. To get the same results, one must use the following
parametrization: ``scipy.stats.t(df).cdf(x) = stdtr(df, x)``.
>>> from scipy.stats import t
>>> df, x = 3, 1
>>> stdtr_result = stdtr(df, x) # this can be faster than below
>>> stats_result = t(df).cdf(x)
>>> stats_result == stdtr_result # test that results are equal
True
Vous êtes un professionnel et vous avez besoin d'une formation ?
Deep Learning avec Python
et Keras et Tensorflow
Voir le programme détaillé
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :