jax.scipy.stats.sem#
- jax.scipy.stats.sem(a, axis=0, ddof=1, nan_policy='propagate', *, keepdims=False)[源代码]#
计算均值的标准误差。
JAX 对
scipy.stats.sem()的实现。- 参数:
- 返回:
array
- 返回类型:
示例
>>> 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)
对于多维数组,
sem沿axis=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)
如果
axis=1,则沿axis 1计算均值的标准误差。>>> with jnp.printoptions(precision=2, suppress=True): ... jax.scipy.stats.sem(x1, axis=1) Array([0.33, 0.4 , 0.31], dtype=float32)
如果
axis=None,则沿所有轴计算均值的标准误差。>>> with jnp.printoptions(precision=2, suppress=True): ... jax.scipy.stats.sem(x1, axis=None) Array(0.2, dtype=float32)
默认情况下,
sem会减小结果的维度。要使维度与输入数组相同,必须将参数keepdims设置为True。>>> 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)
由于默认情况下
nan_policy='propagate',sem会在结果中传播nan值。>>> nan = np.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)
如果
nan_policy='omit`,sem会忽略nan值,并沿指定轴计算剩余值的误差。>>> 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)