Copyright © 2017-2023 by Jeffrey Sarnoff <on github: JeffreySarnoff> |
---|
Data is conveyed either as a vector, a matrix of column vectors, or as some coordinated vectors.
With the covariance function, two vectors are processed within the current window like this
map(cov, window_over_seq1, window_over_seq2)
(the windows are identical)
Data may be obtained from other Tables.jl
compatible data structures
(e.g. dataframes, timeseries) and from similarly read compatible files
(e.g using CSV.read, either with a .csv file or, for example,
using CSV.jl and SQLite.jl together).
Windows move over the data. One may use unweighted windows or windows where a specific weight is associated with each position (index offset into the window). The weights are applied the same way with every window advance. Weights are multiplied 1-to-1 to scale the newly visible data now seen through the moving window.
We welcome contributors and celebrates PRs.
Our issue threads are available for wider use.
And we are on discourse
you are invited .. |
---|
Ask. Share insights. Write words that smile. |
- padding = nopadding (omit padding) [or use this value]
- atend = false (pad the start) [true, pad the end]
- as provided
- ≺ apply ≻(win_fn, win_width, seq)
- with weights
- ≺ apply ≻(win_fn, win_width, seq, weights)
- as provided
- ≺ apply ≻(win_fn, win_width, data_matrix)
- with shared weights
- ≺ apply ≻(win_fn, win_width, data_matrix, weights)
- with unique weights
- ≺ apply ≻(win_fn, win_width, data_matrix, weight_matrix)
(each data matrix column is independent -- use unary functions)
signature | ||
---|---|---|
multisequence | ≺ apply ≻(fn, width, rest ...) |
|
unweighted | rest | |
(seq1, seq2) | ||
(seq1, .., seqN) | ||
shared weights | rest | |
(seq1, seq2, weights) | ||
(seq1, .., seqN, weights) | ||
unique weights | rest | |
(seq1, seq2, [weights1, weights2]) | ||
(seq1, .., seqN, [weights1, .., weightsN]) | ||
(the maximum number of sequences, Nseq = 3)