Engee documentation

Robust Statistics

trim(x::AbstractVector; prop=0.0, count=0)

Return an iterator of all elements of x that omits either count or proportion prop of the highest and lowest elements.

The number of trimmed elements could be smaller than specified if several elements equal the lower or upper bound.

To compute the trimmed mean of x use mean(trim(x)); to compute the variance use trimvar(x) (see trimvar).

Example

julia> collect(trim([5,2,4,3,1], prop=0.2))
3-element Array{Int64,1}:
 2
 4
 3
trim!(x::AbstractVector; prop=0.0, count=0)

A variant of trim that modifies x in place.

winsor(x::AbstractVector; prop=0.0, count=0)

Return an iterator of all elements of x that replaces either count or proportion prop of the highest elements with the previous-highest element and an equal number of the lowest elements with the next-lowest element.

The number of replaced elements could be smaller than specified if several elements equal the lower or upper bound.

To compute the Winsorized mean of x use mean(winsor(x)).

Example

julia> collect(winsor([5,2,3,4,1], prop=0.2))
5-element Array{Int64,1}:
 4
 2
 3
 4
 2
winsor!(x::AbstractVector; prop=0.0, count=0)

A variant of winsor that modifies vector x in place.

trimvar(x; prop=0.0, count=0)

Compute the variance of the trimmed mean of x. This function uses the Winsorized variance, as described in Wilcox (2010).