viraltux / Smoothers.jl

Collection of basic smoothers and smoothing related applications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Smoothers

The package Smoothers provides a collection of smoothing heuristics, models and smoothing related applications. The current available smoothers and applications are:

  • Henderson Moving Average Filter (hma)
  • Linear Time-invariant Difference Equation Filter — Matlab/Octave (filter)
  • Locally Estimated Scatterplot Smoothing (loess)
  • Seasonal and Trend decomposition based on Loess (stl)
  • Simple Moving Average (sma)

Quick Examples

using Smoothers, Plots

t = Array(LinRange(-pi,pi,100));
x = sin.(t) .+ 0.25*rand(length(t));

# Data
w = 21; sw = string(w)
plot(t,x,label="sin(t)+ϵ",linewidth=10,alpha=.3,
     xlabel = "t", ylabel = "x",
     title="Smoothers",legend=:bottomright)

# Henderson Moving Average Filter
plot!(t,hma(x,w), label ="hma(x,"*sw*")")

# Locally Estimated Scatterplot Smoothing
plot!(t,loess(t,x;q=w)(t), label ="loess(t,x;q="*sw*")(t)")

# Moving Average Filter with Matlab/Octave 'filter'
b = ones(w)/w; a = [1];
plot!(t,filter(b,a,x), label ="filter(1,[1/"*sw*",...],x)")

# Simple Moving Average
plot!(t, sma(x,w,true), label = "sma(x,"*sw*",true)")

References

  • [Cleveland et al. 1990] Cleveland, R. B.; Cleveland, W. S.; McRae, J. E.; and Terpenning, I. 1990. STL: A seasonal-trend decomposition procedure based on loess. Journal of Official Statistics 6(1):3–73.
  • Henderson, R. (1916). Note on graduation by adjusted average. Transactions of the Actuarial Society of America, 17:43-48. Australian Bureau of Statistics: What Are Henderson Moving Averages?
  • Octave Forge: filter function

Build Status Coverage

About

Collection of basic smoothers and smoothing related applications

License:MIT License


Languages

Language:Julia 100.0%