elephant.spade.pattern_set_reduction¶
-
elephant.spade.
pattern_set_reduction
(concepts, ns_signatures, winlen, spectrum, h_subset_filtering=0, k_superset_filtering=0, l_covered_spikes=0, min_spikes=2, min_occ=2)[source]¶ Takes a list concepts and performs pattern set reduction (PSR).
PSR determines which patterns in concepts_psf are statistically significant given any other pattern, on the basis of the pattern size and occurrence count (“support”). Only significant patterns are retained. The significance of a pattern A is evaluated through its signature , where is the size and - the support of A, by either of:
- subset filtering: any pattern B is discarded if concepts contains a superset A of B such that
- superset filtering: any pattern A is discarded if concepts contains a subset B of A such that
- covered-spikes criterion: for any two patterns A, B with , B is discarded if , A is discarded otherwise;
- combined filtering: combines the three procedures above: takes a list concepts (see output psf function) and performs combined filtering based on the signature (z, c) of each pattern, where z is the pattern size and c the pattern support.
For any two patterns A and B in concepts_psf such that , check:
- , and
- .
Then:
- if 1) and not 2): discard B
- if 2) and not 1): discard A
- if 1) and 2): discard B if
- , otherwise discard A
- if neither 1) nor 2): keep both patterns
Assumptions/Approximations:
- a pair of concepts cannot cause one another to be rejected
- if two concepts overlap more than min_occ times, one of them can account for all occurrences of the other one if it passes the filtering
Parameters: - conceptslist
List of concepts, each consisting in its intent and extent
- ns_signatureslist
A list of non-significant pattern signatures (z, c)
- winlenint
The size (number of bins) of the sliding window used for the analysis. The maximal length of a pattern (delay between first and last spike) is then given by winlen*bin_size.
- spectrum{‘#’, ‘3d#’}
Define the signature of the patterns.
- ‘#’: pattern spectrum using the as signature the pair:
(number of spikes, number of occurrences)
- ‘3d#’: pattern spectrum using the as signature the triplets:
(number of spikes, number of occurrence, difference between last and first spike of the pattern)
- h_subset_filteringint, optional
Correction parameter for subset filtering Default: 0
- k_superset_filteringint, optional
Correction parameter for superset filtering Default: 0
- l_covered_spikesint, optional
Correction parameter for covered-spikes criterion Default: 0
- min_spikesint, optional
Minimum pattern size Default: 2
- min_occint, optional
Minimum number of pattern occurrences Default: 2
Returns: - tuple
A tuple containing the elements of the input argument that are significant according to combined filtering.