| 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)