RobustStats
in package
implements
StatsInterface, ExportableInterface
uses
DataProcessorTrait, ExportableTrait
Table of Contents
Interfaces
Constants
- TYPE_1 = 1
- TYPE_2 = 2
- TYPE_3 = 3
- TYPE_4 = 4
- TYPE_5 = 5
- TYPE_6 = 6
- TYPE_7 = 7
- TYPE_8 = 8
- TYPE_9 = 9
- TYPE_R_DEFAULT = 7
Methods
- getCoefficientOfVariation() : float
- getConfidenceIntervals() : array<string|int, mixed>
- getDeviation() : float
- getHuberMean() : float
- Huber M-estimator for robust location.
- getIqr() : float
- getMad() : float
- getMean() : float
- getMedian() : float
- getOutliers() : array<string|int, mixed>
- getRobustCv() : float
- getRobustDeviation() : float
- getRobustVariance() : float
- getSummary() : array<string|int, mixed>
- getTrimmedMean() : float
- Trimmed mean by removing a percentage from each tail.
- getVariance() : float
- Contract implementation: returns the robust variance (S* squared).
- getWinsorizedMean() : float
- Winsorized mean using quantile cut points.
- toCsv() : string
- Export the statistical summary to CSV.
- toJson() : string
- Export the statistical summary to JSON.
- calculateConfidenceIntervals() : array<string|int, mixed>
- calculateIqr() : float
- calculateMad() : float
- calculateMean() : float
- calculateRobustCv() : float
- calculateRobustDeviation() : float
- collectOutliers() : array<string|int, mixed>
- detectOutliers() : array<string|int, mixed>
- prepareData() : array<string|int, mixed>
- validateData() : array<string|int, mixed>
Constants
TYPE_1
public
mixed
TYPE_1
= 1
TYPE_2
public
mixed
TYPE_2
= 2
TYPE_3
public
mixed
TYPE_3
= 3
TYPE_4
public
mixed
TYPE_4
= 4
TYPE_5
public
mixed
TYPE_5
= 5
TYPE_6
public
mixed
TYPE_6
= 6
TYPE_7
public
mixed
TYPE_7
= 7
TYPE_8
public
mixed
TYPE_8
= 8
TYPE_9
public
mixed
TYPE_9
= 9
TYPE_R_DEFAULT
public
mixed
TYPE_R_DEFAULT
= 7
Methods
getCoefficientOfVariation()
public
getCoefficientOfVariation(array<string|int, mixed> $data) : float
Parameters
- $data : array<string|int, mixed>
Return values
floatgetConfidenceIntervals()
public
getConfidenceIntervals(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
Return values
array<string|int, mixed>getDeviation()
public
getDeviation(array<string|int, mixed> $data) : float
Parameters
- $data : array<string|int, mixed>
Return values
floatgetHuberMean()
Huber M-estimator for robust location.
public
getHuberMean(array<string|int, mixed> $data[, float $k = CentralTendencyEngine::DEFAULT_HUBER_K ][, int $maxIterations = CentralTendencyEngine::DEFAULT_HUBER_MAX_ITERATIONS ][, float $tolerance = CentralTendencyEngine::DEFAULT_HUBER_TOLERANCE ]) : float
Reference: Peter Huber (1964).
Parameters
- $data : array<string|int, mixed>
- $k : float = CentralTendencyEngine::DEFAULT_HUBER_K
- $maxIterations : int = CentralTendencyEngine::DEFAULT_HUBER_MAX_ITERATIONS
- $tolerance : float = CentralTendencyEngine::DEFAULT_HUBER_TOLERANCE
Return values
floatgetIqr()
public
getIqr(array<string|int, mixed> $data[, int $type = self::TYPE_R_DEFAULT ]) : float
Parameters
- $data : array<string|int, mixed>
- $type : int = self::TYPE_R_DEFAULT
Return values
floatgetMad()
public
getMad(array<string|int, mixed> $data) : float
Parameters
- $data : array<string|int, mixed>
Return values
floatgetMean()
public
getMean(array<string|int, mixed> $data) : float
Parameters
- $data : array<string|int, mixed>
Return values
floatgetMedian()
public
getMedian(array<string|int, mixed> $data) : float
Parameters
- $data : array<string|int, mixed>
Return values
floatgetOutliers()
public
getOutliers(array<string|int, mixed> $data[, int $type = self::TYPE_R_DEFAULT ]) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
- $type : int = self::TYPE_R_DEFAULT
Return values
array<string|int, mixed>getRobustCv()
public
getRobustCv(array<string|int, mixed> $data) : float
Parameters
- $data : array<string|int, mixed>
Return values
floatgetRobustDeviation()
public
getRobustDeviation(array<string|int, mixed> $data) : float
Parameters
- $data : array<string|int, mixed>
Return values
floatgetRobustVariance()
public
getRobustVariance(array<string|int, mixed> $data) : float
Parameters
- $data : array<string|int, mixed>
Return values
floatgetSummary()
public
getSummary(array<string|int, mixed> $data[, bool $sort = true ][, int $decimals = 2 ]) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
- $sort : bool = true
- $decimals : int = 2
Return values
array<string|int, mixed>getTrimmedMean()
Trimmed mean by removing a percentage from each tail.
public
getTrimmedMean(array<string|int, mixed> $data[, float $trimPercentage = CentralTendencyEngine::DEFAULT_TRIM_PERCENTAGE ]) : float
Reference: Hyndman & Fan (1996) quantile definitions.
Parameters
- $data : array<string|int, mixed>
- $trimPercentage : float = CentralTendencyEngine::DEFAULT_TRIM_PERCENTAGE
Return values
floatgetVariance()
Contract implementation: returns the robust variance (S* squared).
public
getVariance(array<string|int, mixed> $data) : float
Parameters
- $data : array<string|int, mixed>
Return values
floatgetWinsorizedMean()
Winsorized mean using quantile cut points.
public
getWinsorizedMean(array<string|int, mixed> $data[, float $trimPercentage = CentralTendencyEngine::DEFAULT_TRIM_PERCENTAGE ][, int $type = self::TYPE_R_DEFAULT ]) : float
Reference: Hyndman & Fan (1996) quantile definitions.
Parameters
- $data : array<string|int, mixed>
- $trimPercentage : float = CentralTendencyEngine::DEFAULT_TRIM_PERCENTAGE
- $type : int = self::TYPE_R_DEFAULT
Return values
floattoCsv()
Export the statistical summary to CSV.
public
toCsv(array<string|int, mixed> $data[, string $delimiter = "," ]) : string
Parameters
- $data : array<string|int, mixed>
- $delimiter : string = ","
Return values
string —CSV content (Header + Values)
toJson()
Export the statistical summary to JSON.
public
toJson(array<string|int, mixed> $data[, int $options = JSON_PRETTY_PRINT ]) : string
Parameters
- $data : array<string|int, mixed>
- $options : int = JSON_PRETTY_PRINT
Return values
stringcalculateConfidenceIntervals()
private
calculateConfidenceIntervals(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
Return values
array<string|int, mixed>calculateIqr()
private
calculateIqr(array<string|int, mixed> $data[, int $type = self::TYPE_R_DEFAULT ]) : float
Parameters
- $data : array<string|int, mixed>
- $type : int = self::TYPE_R_DEFAULT
Return values
floatcalculateMad()
private
calculateMad(array<string|int, mixed> $data) : float
Parameters
- $data : array<string|int, mixed>
Return values
floatcalculateMean()
private
calculateMean(array<string|int, mixed> $data) : float
Parameters
- $data : array<string|int, mixed>
Return values
floatcalculateRobustCv()
private
calculateRobustCv(array<string|int, mixed> $data) : float
Parameters
- $data : array<string|int, mixed>
Return values
floatcalculateRobustDeviation()
private
calculateRobustDeviation(array<string|int, mixed> $data) : float
Parameters
- $data : array<string|int, mixed>
Return values
floatcollectOutliers()
private
collectOutliers(array<string|int, mixed> $data, float $q1, float $q3, float $iqr) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
- $q1 : float
- $q3 : float
- $iqr : float
Return values
array<string|int, mixed>detectOutliers()
private
detectOutliers(array<string|int, mixed> $data[, int $type = self::TYPE_R_DEFAULT ]) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
- $type : int = self::TYPE_R_DEFAULT
Return values
array<string|int, mixed>prepareData()
private
prepareData(array<string|int, mixed> $data[, bool $sort = true ][, bool $alreadyProcessed = false ][, bool $alreadySorted = false ]) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
- $sort : bool = true
- $alreadyProcessed : bool = false
- $alreadySorted : bool = false
Return values
array<string|int, mixed>validateData()
private
validateData(array<string|int, mixed> $data[, bool $alreadyProcessed = false ]) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
- $alreadyProcessed : bool = false