Package org.hipparchus.stat.ranking
Class NaturalRanking
java.lang.Object
org.hipparchus.stat.ranking.NaturalRanking
- All Implemented Interfaces:
RankingAlgorithm
Ranking based on the natural ordering on doubles.
NaNs are treated according to the configured NaNStrategy
and ties
are handled using the selected TiesStrategy
.
Configuration settings are supplied in optional constructor arguments.
Defaults are NaNStrategy.FAILED
and TiesStrategy.AVERAGE
,
respectively. When using TiesStrategy.RANDOM
, a
RandomGenerator
may be supplied as a constructor argument.
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) |
-
Field Summary
Modifier and TypeFieldDescriptionstatic final NaNStrategy
default NaN strategystatic final TiesStrategy
default ties strategy -
Constructor Summary
ConstructorDescriptionCreate a NaturalRanking with default strategies for handling ties and NaNs.NaturalRanking
(RandomGenerator randomGenerator) Create a NaturalRanking with TiesStrategy.RANDOM and the given RandomGenerator as the source of random data.NaturalRanking
(NaNStrategy nanStrategy) Create a NaturalRanking with the given NaNStrategy.NaturalRanking
(NaNStrategy nanStrategy, RandomGenerator randomGenerator) Create a NaturalRanking with the given NaNStrategy, TiesStrategy.RANDOM and the given source of random data.NaturalRanking
(NaNStrategy nanStrategy, TiesStrategy tiesStrategy) Create a NaturalRanking with the given NaNStrategy and TiesStrategy.NaturalRanking
(TiesStrategy tiesStrategy) Create a NaturalRanking with the given TiesStrategy. -
Method Summary
Modifier and TypeMethodDescriptionReturn the NaNStrategyReturn the TiesStrategydouble[]
rank
(double[] data) Rankdata
using the natural ordering on Doubles, with NaN values handled according tonanStrategy
and ties resolved usingtiesStrategy.
-
Field Details
-
DEFAULT_NAN_STRATEGY
default NaN strategy -
DEFAULT_TIES_STRATEGY
default ties strategy
-
-
Constructor Details
-
NaturalRanking
public NaturalRanking()Create a NaturalRanking with default strategies for handling ties and NaNs. -
NaturalRanking
Create a NaturalRanking with the given TiesStrategy.- Parameters:
tiesStrategy
- the TiesStrategy to use
-
NaturalRanking
Create a NaturalRanking with the given NaNStrategy.- Parameters:
nanStrategy
- the NaNStrategy to use
-
NaturalRanking
Create a NaturalRanking with the given NaNStrategy and TiesStrategy.- Parameters:
nanStrategy
- NaNStrategy to usetiesStrategy
- TiesStrategy to use
-
NaturalRanking
Create a NaturalRanking with TiesStrategy.RANDOM and the given RandomGenerator as the source of random data.- Parameters:
randomGenerator
- source of random data
-
NaturalRanking
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 Details
-
getNanStrategy
Return the NaNStrategy- Returns:
- returns the NaNStrategy
-
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:
MathIllegalArgumentException
- if the selectedNaNStrategy
isFAILED
and aDouble.NaN
is encountered in the input data
-