类 MannWhitneyUTest

java.lang.Object
org.hipparchus.stat.inference.MannWhitneyUTest

public class MannWhitneyUTest extends Object
Mann-Whitney U检验的实现。

此实现中使用的定义和计算公式遵循文章中的内容:Mann-Whitney U检验

一般来说,结果对应于(并已经经过测试)R中的wilcox.test函数,其中exact在两个API中的含义相同,CORRECT在此实现中始终为真。例如,wilcox.test(x, y, alternative = "two.sided", mu = 0, paired = FALSE, exact = FALSE correct = TRUE)将返回与mannWhitneyUTest(x, y, false)相同的p值。R对于wilcox.test(x, y...)和wilcox.test(y, x...)返回的W值的最小值应等于mannWhitneyU(x, y...)。

  • 构造器概要

    构造器
    构造器
    说明
    创建一个测试实例,其中NaN保留在原位,而绑定的值得到适用等级的平均值。
    MannWhitneyUTest(NaNStrategy nanStrategy, TiesStrategy tiesStrategy)
    使用给定的NaN和绑定策略创建一个测试实例。
  • 方法概要

    修饰符和类型
    方法
    说明
    double
    mannWhitneyU(double[] x, double[] y)
    计算比较两个独立样本的均值的Mann-Whitney U统计量。
    double
    mannWhitneyUTest(double[] x, double[] y)
    返回与Mann-Whitney U检验比较两个独立样本均值相关的渐近观察显著水平p值
    double
    mannWhitneyUTest(double[] x, double[] y, boolean exact)
    返回与Mann-Whitney U检验比较两个独立样本均值相关的渐近观察显著水平p值

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造器详细资料

    • MannWhitneyUTest

      public MannWhitneyUTest()
      创建一个测试实例,其中NaN保留在原位,而绑定的值得到适用等级的平均值。
    • MannWhitneyUTest

      public MannWhitneyUTest(NaNStrategy nanStrategy, TiesStrategy tiesStrategy)
      使用给定的NaN和绑定策略创建一个测试实例。
      参数:
      nanStrategy - 指定应该用于Double.NaN的策略
      tiesStrategy - 指定应该用于绑定的策略
  • 方法详细资料

    • mannWhitneyU

      public double mannWhitneyU(double[] x, double[] y) throws MathIllegalArgumentException, NullArgumentException
      计算比较两个独立样本的均值的Mann-Whitney U统计量。

      此统计量可用于执行Mann-Whitney U检验,评估两个独立样本是否具有相等的均值的零假设。

      设Xi表示第一个样本的第i个个体,Yj表示第二个样本的第j个个体。请注意,样本可以具有不同的长度。

      前提条件

      • 两个样本中的所有观测值是独立的。
      • 观测值至少是有序的(连续值也是有序的)。
      参数:
      x - 第一个样本
      y - 第二个样本
      返回:
      Mann-Whitney U统计量(Ux和Uy的最小值)
      抛出:
      NullArgumentException - 如果xynull
      MathIllegalArgumentException - 如果xy的长度为零。
    • mannWhitneyUTest

      public double mannWhitneyUTest(double[] x, double[] y) throws MathIllegalArgumentException, NullArgumentException
      返回与Mann-Whitney U检验比较两个独立样本均值相关的渐近观察显著水平p值

      设Xi表示第一个样本的第i个个体,Yj表示第二个样本的第j个个体。

      前提条件

      • 两个样本中的所有观测值是独立的。
      • 观测值至少是有序的。

      如果数据中没有绑定值,并且两个样本都很小(在组合数据集中有50个值或更少),则执行精确测试;否则,测试使用正态近似(带有连续性校正)。

      如果组合数据集包含绑定值,则在正态近似中使用的方差将使用上述参考中的公式进行偏差调整。

      参数:
      x - 第一个样本
      y - 第二个样本
      返回:
      近似的双侧p值
      抛出:
      NullArgumentException - 如果xynull
      MathIllegalArgumentException - 如果xy的长度为零
    • mannWhitneyUTest

      public double mannWhitneyUTest(double[] x, double[] y, boolean exact) throws MathIllegalArgumentException, NullArgumentException
      返回与Mann-Whitney U检验比较两个独立样本均值相关的渐近观察显著水平p值

      设Xi表示第一个样本的第i个个体,Yj表示第二个样本的第j个个体。

      前提条件

      • 两个样本中的所有观测值是独立的。
      • 观测值至少是有序的。

      如果exacttrue,则报告的p值是精确的,使用U统计量的精确分布计算。在这种情况下的计算需要存储量大约为两个样本大小的乘积,因此不应用于大样本。

      如果exactfalse,则使用正态近似来估计p值。

      如果组合数据集包含绑定值且exacttrue,则会抛出MathIllegalArgumentException。如果exactfalse且数据中存在绑定值,则在正态近似中用于计算近似p值的方差将使用上述参考中的公式进行偏差调整。

      参数:
      x - 第一个样本
      y - 第二个样本
      exact - true表示精确计算p值,false表示使用正态近似
      返回:
      近似的双侧p值
      抛出:
      NullArgumentException - 如果xynull
      MathIllegalArgumentException - 如果xy的长度为零,或者如果exacttrue且数据中存在绑定值