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:'?662207 > fupdate:('?662207 > '?662208 > '?662207) > ftransf:('?662207 > '?662209) > source:seq<'?662208> > seq<'?662209>
Type parameters: '?662207, '?662208, '?662209 
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:('?662182 [] > '?662183) > fupdate:('?662183 > '?662182 > '?662182 > '?662183) > ftransf:('?662183 > float) > source:seq<'?662182> > seq<float>
Type parameters: '?662182, '?662183 
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<'?662227,'?662228> > OptionalValue<'?662228> []
Type parameters: '?662227, '?662228 
Returns all values of a series as an array of 
varianceSums(s)
Signature: s:Sums > float

Calculate variance from 