jax.scipy.stats.sem#
- jax.scipy.stats.sem(a, axis=0, ddof=1, nan_policy='propagate', *, keepdims=False)[source]#
Compute the standard error of the mean.
JAX implementation of
scipy.stats.sem()
.- Parameters:
a (ArrayLike) – arraylike
axis (int | None) – optional integer. If not specified, the input array is flattened.
ddof (int) – integer, default=1. The degrees of freedom in the SEM computation.
nan_policy (str) – str, default=”propagate”. JAX supports only “propagate” and “omit”.
keepdims (bool) – bool, default=False. If true, reduced axes are left in the result with size 1.
- Returns:
array
- Return type:
Examples
>>> x = jnp.array([2, 4, 1, 1, 3, 4, 4, 2, 3]) >>> with jnp.printoptions(precision=2, suppress=True): ... jax.scipy.stats.sem(x) Array(0.41, dtype=float32)
For multi dimensional arrays,
sem
computes standard error of mean alongaxis=0
:>>> x1 = jnp.array([[1, 2, 1, 3, 2, 1], ... [3, 1, 3, 2, 1, 3], ... [1, 2, 2, 3, 1, 2]]) >>> with jnp.printoptions(precision=2, suppress=True): ... jax.scipy.stats.sem(x1) Array([0.67, 0.33, 0.58, 0.33, 0.33, 0.58], dtype=float32)
If
axis=1
, standard error of mean will be computed alongaxis 1
.>>> with jnp.printoptions(precision=2, suppress=True): ... jax.scipy.stats.sem(x1, axis=1) Array([0.33, 0.4 , 0.31], dtype=float32)
If
axis=None
, standard error of mean will be computed along all the axes.>>> with jnp.printoptions(precision=2, suppress=True): ... jax.scipy.stats.sem(x1, axis=None) Array(0.2, dtype=float32)
By default,
sem
reduces the dimension of the result. To keep the dimensions same as that of the input array, the argumentkeepdims
must be set toTrue
.>>> with jnp.printoptions(precision=2, suppress=True): ... jax.scipy.stats.sem(x1, axis=1, keepdims=True) Array([[0.33], [0.4 ], [0.31]], dtype=float32)
Since, by default,
nan_policy='propagate'
,sem
propagates thenan
values in the result.>>> nan = jnp.nan >>> x2 = jnp.array([[1, 2, 3, nan, 4, 2], ... [4, 5, 4, 3, nan, 1], ... [7, nan, 8, 7, 9, nan]]) >>> with jnp.printoptions(precision=2, suppress=True): ... jax.scipy.stats.sem(x2) Array([1.73, nan, 1.53, nan, nan, nan], dtype=float32)
If
nan_policy='omit`
,sem
omits thenan
values and computes the error for the remainging values along the specified axis.>>> with jnp.printoptions(precision=2, suppress=True): ... jax.scipy.stats.sem(x2, nan_policy='omit') Array([1.73, 1.5 , 1.53, 2. , 2.5 , 0.5 ], dtype=float32)