类 NaturalRanking

java.lang.Object
org.hipparchus.stat.ranking.NaturalRanking
所有已实现的接口:
RankingAlgorithm

public class NaturalRanking extends Object implements RankingAlgorithm

基于双精度数的自然排序的排名。

NaN值根据配置的NaNStrategy处理,重复值使用选定的TiesStrategy处理。配置设置在可选的构造函数参数中提供。默认值分别为NaNStrategy.FAILEDTiesStrategy.AVERAGE。当使用TiesStrategy.RANDOM时,可以将RandomGenerator作为构造函数参数提供。

示例
输入数据: (20, 17, 30, 42.3, 17, 50, Double.NaN, Double.NEGATIVE_INFINITY, 17)
NaNStrategy TiesStrategy rank(data)
默认(NaN值最大) 默认(重复值平均) (5, 3, 6, 7, 3, 8, 9, 1, 3)
默认(NaN值最大) 最小 (5, 2, 6, 7, 2, 8, 9, 1, 2)
最小 默认(重复值平均) (6, 4, 7, 8, 4, 9, 1.5, 1.5, 4)
移除 顺序 (5, 2, 6, 7, 3, 8, 1, 4)
最小 最大 (6, 5, 7, 8, 5, 9, 2, 2, 5)
  • 字段详细资料

    • DEFAULT_NAN_STRATEGY

      public static final NaNStrategy DEFAULT_NAN_STRATEGY
      默认NaN策略
    • DEFAULT_TIES_STRATEGY

      public static final TiesStrategy DEFAULT_TIES_STRATEGY
      默认重复值策略
  • 构造器详细资料

    • NaturalRanking

      public NaturalRanking()
      使用默认策略创建一个NaturalRanking来处理重复值和NaN值。
    • NaturalRanking

      public NaturalRanking(TiesStrategy tiesStrategy)
      使用给定的TiesStrategy创建一个NaturalRanking。
      参数:
      tiesStrategy - 要使用的TiesStrategy
    • NaturalRanking

      public NaturalRanking(NaNStrategy nanStrategy)
      使用给定的NaNStrategy创建一个NaturalRanking。
      参数:
      nanStrategy - 要使用的NaNStrategy
    • NaturalRanking

      public NaturalRanking(NaNStrategy nanStrategy, TiesStrategy tiesStrategy)
      使用给定的NaNStrategy和TiesStrategy创建一个NaturalRanking。
      参数:
      nanStrategy - 要使用的NaNStrategy
      tiesStrategy - 要使用的TiesStrategy
    • NaturalRanking

      public NaturalRanking(RandomGenerator randomGenerator)
      使用TiesStrategy.RANDOM和给定的RandomGenerator作为随机数据源创建一个NaturalRanking。
      参数:
      randomGenerator - 随机数据源
    • NaturalRanking

      public NaturalRanking(NaNStrategy nanStrategy, RandomGenerator randomGenerator)
      使用给定的NaNStrategy、TiesStrategy.RANDOM和给定的随机数据源创建一个NaturalRanking。
      参数:
      nanStrategy - 要使用的NaNStrategy
      randomGenerator - 随机数据源
  • 方法详细资料

    • getNanStrategy

      public NaNStrategy getNanStrategy()
      返回NaNStrategy
      返回:
      返回NaNStrategy
    • getTiesStrategy

      public TiesStrategy getTiesStrategy()
      返回TiesStrategy
      返回:
      TiesStrategy
    • rank

      public double[] rank(double[] data)
      使用双精度数的自然排序对data进行排名,根据nanStrategy处理NaN值,并使用tiesStrategy解决重复值。
      指定者:
      rank 在接口中 RankingAlgorithm
      参数:
      data - 要进行排名的数组
      返回:
      排名数组
      抛出:
      MathIllegalArgumentException - 如果所选的NaNStrategyFAILED并且在输入数据中遇到Double.NaN