StatsInternal
Namespace: Deedle
Nested types and modules
Type  Description 
Moments 
Represents the moments as calculated during online processing
( 
Sums 
When calculating moments, this record is used to keep track of the
count ( 
Functions and values
Function or value  Description 
applyExpandingMomentsTransform(...)
Signature: proj:(Moments > float) > series:Series<'K,'V> > Series<'K,float>
Type parameters: 'K, 'V 
Given a series, calculates expanding moments (using online 
applyMovingSumsTransform(...)
Signature: moment:int > winSize:int > proj:(Sums > float) > series:Series<'K,'V> > Series<'K,float>
Type parameters: 'K, 'V 
Apply moving window transformation based on 
applySeriesProj proj series
Signature: proj:(seq<float opt> > float []) > series:Series<'K,float> > Series<'K,float>
Type parameters: 'K 
Apply transformation on series elements. The projection function 
expandingWindowFn(...)
Signature: initState:'?663164 > fupdate:('?663164 > '?663165 > '?663164) > ftransf:('?663164 > '?663166) > source:seq<'?663165> > seq<'?663166>
Type parameters: '?663164, '?663165, '?663166 
Helper for expanding window calculations Parameters

initSumsDense moment init
Signature: moment:int > init:float [] > Sums

Given an initial array of values, calculate the initial 
initSumsSparse moment init
Signature: moment:int > init:'V opt [] > Sums
Type parameters: 'V 
Pick only available values from the input array and call 
kurtSums(s)
Signature: s:Sums > float

Calculate kurtosis from 
movingMinMaxHelper winSize cmp s
Signature: winSize:int > cmp:(float > float > bool) > s:seq<OptionalValue<float>> > float []

O(n) moving min/max calculator Keeps doubleended queue of values sorted acording to the specified order, such that the front is the min/max value. During the iteration, new value is added to the end (and all values that are greater/smaller than the new value are removed before it is appended). 
movingWindowFn(...)
Signature: winSize:int > finit:('?663139 [] > '?663140) > fupdate:('?663140 > '?663139 > '?663139 > '?663140) > ftransf:('?663140 > float) > source:seq<'?663139> > seq<float>
Type parameters: '?663139, '?663140 
Helper for moving window calculations (adopted from Parameters

quickSelectInplace n arr
Signature: n:int > arr:float [] > float

Returns the nth smallest element from the specified array. (QuickSelect implementation based on: http://en.wikipedia.org/wiki/Quickselect) 
skewSums(s)
Signature: s:Sums > float

Calculate skewness from 
toFloat(arg00)
Signature: arg00:obj > float


trySeriesExtreme f series
Signature: f:('V > 'V > 'V) > series:Series<'K,'V> > 'V option
Type parameters: 'V, 'K 
Calculates minimum or maximum using the specified function 'f' Returns None when there are no values or Some. 
updateMoments state x
Signature: state:Moments > x:float > Moments

Updates the moments using the Knuth/Welford algorithm for online stats updating (See: http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm) 
updateMomentsSparse state curr
Signature: state:Moments > curr:float opt > Moments

Updates the moments using 
updateSumsDense moment state curr outg
Signature: moment:int > state:Sums > curr:float > outg:float > Sums

Given an existing 
updateSumsSparse moment state curr outg
Signature: moment:int > state:Sums > curr:float opt > outg:float opt > Sums

Update 
valuesAllOpt(series)
Signature: series:Series<'?663184,'?663185> > OptionalValue<'?663185> []
Type parameters: '?663184, '?663185 
Returns all values of a series as an array of 
varianceSums(s)
Signature: s:Sums > float

Calculate variance from 