Class NaturalRanking
- java.lang.Object
-
- org.apache.commons.math4.legacy.stat.ranking.NaturalRanking
-
- All Implemented Interfaces:
RankingAlgorithm
public class NaturalRanking extends Object implements RankingAlgorithm
Ranking based on the natural ordering on doubles.NaNs are treated according to the configured
NaNStrategy
and ties are handled using the selectedTiesStrategy
. Configuration settings are supplied in optional constructor arguments. Defaults areNaNStrategy.FAILED
andTiesStrategy.AVERAGE
, respectively. When usingTiesStrategy.RANDOM
, arandom generator
may be supplied as a constructor argument.Examples:
Examples Input data: (20, 17, 30, 42.3, 17, 50, Double.NaN, Double.NEGATIVE_INFINITY, 17) NaNStrategy TiesStrategy rank(data)
default (NaNs maximal) default (ties averaged) (5, 3, 6, 7, 3, 8, 9, 1, 3) default (NaNs maximal) MINIMUM (5, 2, 6, 7, 2, 8, 9, 1, 2) MINIMAL default (ties averaged) (6, 4, 7, 8, 4, 9, 1.5, 1.5, 4) REMOVED SEQUENTIAL (5, 2, 6, 7, 3, 8, 1, 4) MINIMAL MAXIMUM (6, 5, 7, 8, 5, 9, 2, 2, 5) - Since:
- 2.0
-
-
Field Summary
Fields Modifier and Type Field Description static NaNStrategy
DEFAULT_NAN_STRATEGY
default NaN strategy.static TiesStrategy
DEFAULT_TIES_STRATEGY
default ties strategy.
-
Constructor Summary
Constructors Constructor Description NaturalRanking()
Create a NaturalRanking with default strategies for handling ties and NaNs.NaturalRanking(NaNStrategy nanStrategy)
Create a NaturalRanking with the given NaNStrategy.NaturalRanking(NaNStrategy nanStrategy, TiesStrategy tiesStrategy)
Create a NaturalRanking with the given NaNStrategy and TiesStrategy.NaturalRanking(NaNStrategy nanStrategy, org.apache.commons.rng.UniformRandomProvider randomGenerator)
Create a NaturalRanking with the given NaNStrategy, TiesStrategy.RANDOM and the given source of random data.NaturalRanking(TiesStrategy tiesStrategy)
Create a NaturalRanking with the given TiesStrategy.NaturalRanking(org.apache.commons.rng.UniformRandomProvider randomGenerator)
Create a NaturalRanking with TiesStrategy.RANDOM and the given random generator as the source of random data.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NaNStrategy
getNanStrategy()
Return the NaNStrategy.TiesStrategy
getTiesStrategy()
Return the TiesStrategy.double[]
rank(double[] data)
Rankdata
using the natural ordering on Doubles, with NaN values handled according tonanStrategy
and ties resolved usingtiesStrategy.
-
-
-
Field Detail
-
DEFAULT_NAN_STRATEGY
public static final NaNStrategy DEFAULT_NAN_STRATEGY
default NaN strategy.
-
DEFAULT_TIES_STRATEGY
public static final TiesStrategy DEFAULT_TIES_STRATEGY
default ties strategy.
-
-
Constructor Detail
-
NaturalRanking
public NaturalRanking()
Create a NaturalRanking with default strategies for handling ties and NaNs.
-
NaturalRanking
public NaturalRanking(TiesStrategy tiesStrategy)
Create a NaturalRanking with the given TiesStrategy.- Parameters:
tiesStrategy
- the TiesStrategy to use
-
NaturalRanking
public NaturalRanking(NaNStrategy nanStrategy)
Create a NaturalRanking with the given NaNStrategy.- Parameters:
nanStrategy
- the NaNStrategy to use
-
NaturalRanking
public NaturalRanking(NaNStrategy nanStrategy, TiesStrategy tiesStrategy)
Create a NaturalRanking with the given NaNStrategy and TiesStrategy.- Parameters:
nanStrategy
- NaNStrategy to usetiesStrategy
- TiesStrategy to use
-
NaturalRanking
public NaturalRanking(org.apache.commons.rng.UniformRandomProvider randomGenerator)
Create a NaturalRanking with TiesStrategy.RANDOM and the given random generator as the source of random data.- Parameters:
randomGenerator
- source of random data
-
NaturalRanking
public NaturalRanking(NaNStrategy nanStrategy, org.apache.commons.rng.UniformRandomProvider randomGenerator)
Create a NaturalRanking with the given NaNStrategy, TiesStrategy.RANDOM and the given source of random data.- Parameters:
nanStrategy
- NaNStrategy to userandomGenerator
- source of random data
-
-
Method Detail
-
getNanStrategy
public NaNStrategy getNanStrategy()
Return the NaNStrategy.- Returns:
- returns the NaNStrategy
-
getTiesStrategy
public TiesStrategy getTiesStrategy()
Return the TiesStrategy.- Returns:
- the TiesStrategy
-
rank
public double[] rank(double[] data)
Rankdata
using the natural ordering on Doubles, with NaN values handled according tonanStrategy
and ties resolved usingtiesStrategy.
- Specified by:
rank
in interfaceRankingAlgorithm
- Parameters:
data
- array to be ranked- Returns:
- array of ranks
- Throws:
NotANumberException
- if the selectedNaNStrategy
isFAILED
and aDouble.NaN
is encountered in the input data
-
-