-
Notifications
You must be signed in to change notification settings - Fork 6
Description
To support temporal compression/expansion, we could add in multiple copies of W (and/or a new M matrix, as in this issue) that have been re-sampled along the "L" axis to different temporal scales. Implementation ideas:
- Specify a set of vector positive real-value scaling parameters, S, as an additional parameter
- For each value of L, stack a series of new copies of W next to itself (along the "K" axis) that are each re-scaled (along L) according to the each value of S
- Also add K*len(S) new rows to H so that each new "copy" of W can have its own timecourse
Another idea would be to have different smoothing kernel lengths for different copies of W. Not sure what the pros/cons are. It seems like the first idea (adding an S parameter) would be able to be easily integrated into the current approach (by simply augmenting W and H), whereas I'm not totally certain how to implement the different kernel length idea (maybe it'd involve modifying the regularization term XS?).
The hope would be to support repeated structure that happens at different timescales in different repetitions, but that still looks otherwise similar across repetitions.