Documentation ¶
Overview ¶
Package analytics implements a library for the manipulation of x/y data series.
Index ¶
- Constants
- func Extrapolate(params FitParameters, x float64) float64
- type FitParameters
- type Series
- func (ts *Series) Add(x float64, y float64)
- func (ts *Series) Append(toAdd *Series) *Series
- func (ts *Series) ApplyOffset(x float64, y float64) *Series
- func (ts *Series) Clear()
- func (ts *Series) CoefficientOfDetermination(pred *Series) float64
- func (ts *Series) CommonChannelIndex(periodLength float64, numberOfPeriods int) *Series
- func (ts *Series) Ema(period int) *Series
- func (ts *Series) FitExponential() (params FitParameters)
- func (ts *Series) FitGaussianParabolic() (params []FitParameters)
- func (ts *Series) FitLinear() (params FitParameters)
- func (ts *Series) FitLinearThroughOrigin() (params FitParameters)
- func (ts *Series) FitLoess(bandwidth float64) (points *Series)
- func (ts *Series) FitLogarithmic() (params FitParameters)
- func (ts *Series) FitPolynomial(order int) (params FitParameters)
- func (ts *Series) FitPower() (params FitParameters)
- func (ts *Series) From(time float64) *Series
- func (ts *Series) ITrend(alpha float64) (itrendSeries *Series)
- func (ts *Series) Last(n int) *Series
- func (ts *Series) Lwma(period int) *Series
- func (ts *Series) Ma(period int) *Series
- func (ts *Series) MapReduce(mapFunction func(*Series) (float64, float64), ...) *Series
- func (ts *Series) MeanDev() float64
- func (ts *Series) Point(ordinal int) (x float64, y float64)
- func (ts *Series) Quantize(grid int) *Series
- func (ts *Series) RecentTrends(n int) []*Series
- func (ts *Series) Save(name string)
- func (ts *Series) SavePlot(path string, name string)
- func (ts *Series) SearchX(value float64) int
- func (ts *Series) Set(ordinal int, value float64)
- func (ts *Series) SetCap(n int)
- func (ts *Series) Slice(start int, end int) *Series
- func (ts *Series) Smoother(period int) *Series
- func (ts *Series) StDev() float64
- func (ts *Series) StandardError(pred [][]float64) float64
- func (ts *Series) ToArrays() (x []float64, y []float64)
- func (ts *Series) ToValues(length int, offset int) (x []float64, y []float64)
- func (ts *Series) TrendChanges() *Series
- func (ts *Series) UpdateStats()
- func (ts *Series) Use(x []float64, y []float64)
Constants ¶
const ( FitTypeLinear = iota FitTypeLinearThroughOrigin FitTypeLogarithmic FitTypePower FitTypeExponential FitTypePolynomial FitTypeGaussian FitTypeParabolic )
Variables ¶
This section is empty.
Functions ¶
func Extrapolate ¶
func Extrapolate(params FitParameters, x float64) float64
Types ¶
type FitParameters ¶
type FitParameters struct {
// contains filtered or unexported fields
}
type Series ¶
type Series struct { Max float64 Min float64 Mean float64 Len int // contains filtered or unexported fields }
func NewSeries ¶
func NewSeries() *Series
Create a new series, and initialize it with a blank backing store
func NewSeriesFrom ¶
Create a new series from a slice of float64 slices
func (*Series) ApplyOffset ¶
Shifts a dataset on the x and y axes
func (*Series) Clear ¶
func (ts *Series) Clear()
Clears the series, and initializes it with a blank backing store
func (*Series) CoefficientOfDetermination ¶
func (*Series) CommonChannelIndex ¶
func (*Series) FitExponential ¶
func (ts *Series) FitExponential() (params FitParameters)
func (*Series) FitGaussianParabolic ¶
func (ts *Series) FitGaussianParabolic() (params []FitParameters)
func (*Series) FitLinear ¶
func (ts *Series) FitLinear() (params FitParameters)
*
- N * Σ(XY) - Σ(X)
- intercept = ---------------------
- N * Σ(X^2) - Σ(X)^2 *
- correlation = N * Σ(XY) - Σ(X) * Σ (Y) / √ ( N * Σ(X^2) - Σ(X) ) * ( N * Σ(Y^2) - Σ(Y)^2 ) ) ) *
func (*Series) FitLinearThroughOrigin ¶
func (ts *Series) FitLinearThroughOrigin() (params FitParameters)
func (*Series) FitLogarithmic ¶
func (ts *Series) FitLogarithmic() (params FitParameters)
func (*Series) FitPolynomial ¶
func (ts *Series) FitPolynomial(order int) (params FitParameters)
func (*Series) FitPower ¶
func (ts *Series) FitPower() (params FitParameters)
func (*Series) MapReduce ¶
func (ts *Series) MapReduce(mapFunction func(*Series) (float64, float64), reduceFunction func([]float64, []float64) *Series, periodLength float64, numberOfPeriods int) *Series
Applies two functions. The map function recieves a series representing a period, and returns a []float64. The reduce function takes the aggregated results and translates them into a series.
func (*Series) Set ¶
Set a value at the ordinal position in the series. Altering values that are outside the max/min of the existing data will cause the statistics for min, mean and max to be recalculated.