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
FieldsModifier and TypeFieldDescriptionstatic final NaNStrategydefault NaN strategystatic final TiesStrategydefault ties strategy - 
Constructor Summary
ConstructorsConstructorDescriptionCreate 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) Rankdatausing the natural ordering on Doubles, with NaN values handled according tonanStrategyand 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) Rankdatausing the natural ordering on Doubles, with NaN values handled according tonanStrategyand ties resolved usingtiesStrategy.- Specified by:
 rankin interfaceRankingAlgorithm- Parameters:
 data- array to be ranked- Returns:
 - array of ranks
 - Throws:
 MathIllegalArgumentException- if the selectedNaNStrategyisFAILEDand aDouble.NaNis encountered in the input data
 
 -