Documentation

CentralTendencyEngine
in package

FinalYes

CentralTendencyEngine - robust central tendency estimators.

Quantile references: Hyndman & Fan (1996). Huber M-estimator reference: Peter Huber (1964).

Table of Contents

Constants

DEFAULT_HUBER_K  = 1.345
DEFAULT_HUBER_MAX_ITERATIONS  = 50
DEFAULT_HUBER_TOLERANCE  = 0.001
DEFAULT_QUANTILE_TYPE  = 7
DEFAULT_TRIM_PERCENTAGE  = 0.1

Methods

huberMean()  : float
Compute the Huber M-estimator for location.
trimmedMean()  : float
Compute the trimmed mean by removing a percentage from each tail.
winsorizedMean()  : float
Compute the winsorized mean using quantile cut points.
mad()  : float
mean()  : float
normalizeData()  : array<string|int, mixed>
validateTrimPercentage()  : void

Constants

Methods

huberMean()

Compute the Huber M-estimator for location.

public static huberMean(array<string|int, mixed> $data[, float $k = self::DEFAULT_HUBER_K ][, int $maxIterations = self::DEFAULT_HUBER_MAX_ITERATIONS ][, float $tolerance = self::DEFAULT_HUBER_TOLERANCE ][, bool $alreadySorted = false ]) : float

Reference: Peter Huber (1964) M-estimator of location.

Parameters
$data : array<string|int, mixed>
$k : float = self::DEFAULT_HUBER_K
$maxIterations : int = self::DEFAULT_HUBER_MAX_ITERATIONS
$tolerance : float = self::DEFAULT_HUBER_TOLERANCE
$alreadySorted : bool = false
Return values
float

trimmedMean()

Compute the trimmed mean by removing a percentage from each tail.

public static trimmedMean(array<string|int, mixed> $data[, float $trimPercentage = self::DEFAULT_TRIM_PERCENTAGE ][, bool $alreadySorted = false ]) : float

Reference: Hyndman & Fan (1996) quantile definitions (used for tail logic).

Parameters
$data : array<string|int, mixed>
$trimPercentage : float = self::DEFAULT_TRIM_PERCENTAGE
$alreadySorted : bool = false
Return values
float

winsorizedMean()

Compute the winsorized mean using quantile cut points.

public static winsorizedMean(array<string|int, mixed> $data[, float $trimPercentage = self::DEFAULT_TRIM_PERCENTAGE ][, int $type = self::DEFAULT_QUANTILE_TYPE ][, bool $alreadySorted = false ]) : float

Reference: Hyndman & Fan (1996) quantile definitions.

Parameters
$data : array<string|int, mixed>
$trimPercentage : float = self::DEFAULT_TRIM_PERCENTAGE
$type : int = self::DEFAULT_QUANTILE_TYPE
$alreadySorted : bool = false
Return values
float

mad()

private static mad(array<string|int, mixed> $sorted, float $median) : float
Parameters
$sorted : array<string|int, mixed>
$median : float
Return values
float

mean()

private static mean(array<string|int, mixed> $data) : float
Parameters
$data : array<string|int, mixed>
Return values
float

normalizeData()

private static normalizeData(array<string|int, mixed> $data, bool $alreadySorted) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>
$alreadySorted : bool
Return values
array<string|int, mixed>

validateTrimPercentage()

private static validateTrimPercentage(float $trimPercentage) : void
Parameters
$trimPercentage : float

        
On this page

Search results