Module: statistics
Statistical estimators.
Includes nodes implementing standard statistical estimators on sample data and other (mostly frequentist) statistical procedures.
All
Test whether the given data has all non-zero or True values along an axis.
The chosen axis will be removed from the data and replaced by a new one-element feature axis, unless force_feature_axis is set to False, in which case the original axis type will be retained, but reduce to a one-element axis. This node can also be used on a one-dimensional array or list, in which case you should uncheck the keep reduced axis
option to output a bool instead of a one-element list.
Version 1.0.1
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to take the statistic. This axis will drop out of the data and, if keep_axis is set, is replaced by a dummy one-element axis (usually of same type as before, although special cases apply for specific reduction nodes). One may also list a comma-separated list of axes here to reduce over multiple axes at a time. If this is left blank or set to None, then all axes will be reduced over; this can be used to obtain a single float value if keep_axis is also set to False.- verbose name: Act Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
axis_occurrence
Index of the occurrence of the axis of desired type. (0
is the first axis of the desired type,1
is the second,-1
is the last,-2
is the second-to-last, and so on).- verbose name: Axis Occurrence
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
keep_axis
Keep the axis that was reduced as a singleton axis in the data.- verbose name: Keep Reduced Axis
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
force_feature_axis
Always create a feature axis, even when the statistic is taken over an axis that could natively represent the reduced domain.- verbose name: Force Conversion To Feature Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Any
Test whether the given data has any non-zero or True value along an axis.
The chosen axis will be removed from the data and replaced by a new one-element feature axis, unless force_feature_axis is set to False, in which case the original axis type will be retained, but reduce to a one-element axis.
Version 1.0.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to take the statistic. This axis will drop out of the data and, if keep_axis is set, is replaced by a dummy one-element axis (usually of same type as before, although special cases apply for specific reduction nodes). One may also list a comma-separated list of axes here to reduce over multiple axes at a time. If this is left blank or set to None, then all axes will be reduced over; this can be used to obtain a single float value if keep_axis is also set to False.- verbose name: Act Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
axis_occurrence
Index of the occurrence of the axis of desired type. (0
is the first axis of the desired type,1
is the second,-1
is the last,-2
is the second-to-last, and so on).- verbose name: Axis Occurrence
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
keep_axis
Keep the axis that was reduced as a singleton axis in the data.- verbose name: Keep Reduced Axis
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
force_feature_axis
Always create a feature axis, even when the statistic is taken over an axis that could natively represent the reduced domain.- verbose name: Force Conversion To Feature Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Averages
Compute multiple averages in multiple sub-ranges along an axis of interest.
This node is usually used to reduce the dimensionality of some data by averaging neighboring values in some ranges of interest. The most common use cases are a) calculating averages in multiple short time slices on segmented data (i.e., after the Segmentation filter has been run) to extract event-related potential (ERP) features, and b) calculating averages in multiple frequency bands in the spectrum of some signal to extract frequency features. One can also use this node to average the signal in multiple channels, although this is a less common use case, and there are more suitable nodes for this (e.g., the Combine Channels node). The node can also be used to calculate other kind of aggregate statistics, such as the standard deviation, variance, or maximum. After processing, the previous axis is replaced by a new axis that has as many elements as there were averages to be computed along the old axis. To average over an entire segment of data, such as to average over trials after using the Segmentation node, use the Mean or GroupedMean nodes instead.
Version 1.2.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
axis
Axis along which to average. For instance, use time to compute time averages, frequency to compute spectral averages, or space to compute averages over multiple channels.- verbose name: Axis To Average Over
- default value: time
- port type: ComboPort
- value type: str (can be None)
-
windows
List of window edges. Each window is given as a pair of values in round brackets that has the start and end of the segment, and it must be formatted as in: [(0.1,0.2), (0.3,0.4), (0.5,1.0)] (spaces inserted for readability and can be omitted). Note that in most cases it is useful to not use indices, but instead values in some other unit of measurement as segment limits, e.g., seconds or Hz. See Unit for more information. It is also important to note that the segment ends one element before the end value (that is, the range is "half-open"). If applied to segmented data, these values are relative to the anchor point for each segment (such as an event marker).- verbose name: List Of Values To Average Over
- default value: []
- port type: ListPort
- value type: list (can be None)
-
unit
Unit in which the window edges are given. Depending on the type of axis, different units are applicable. For instance, if you want to extract time ranges from a time axis and give the values in seconds, you can set the unit to 'seconds'. Likewise, you can use Hz for the frequency axis.- verbose name: Unit Of Measurement
- default value: indices
- port type: EnumPort
- value type: str (can be None)
-
ignore_nans
If activated the channels containing nan values are ignored.- verbose name: Ignore Channels With Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
operation
Operation to perform on the data. The default is to compute the mean.- verbose name: Operation To Perform
- default value: mean
- port type: EnumPort
- value type: str (can be None)
-
annotate_ranges
Annotate new axis with information about ranges being averaged over. This may create an additional field in the axis.- verbose name: Annotate Ranges
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
CDF
Evaluate the cumulative distribution function for a given distribution with some fixed parameters element-wise.
Version 1.0.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
distribution
Type of distribution to use.- verbose name: Distribution
- default value: Normal
- port type: EnumPort
- value type: str (can be None)
-
location
Location parameter. The meaning depends on the type of distribution. For example, for the normal distribution this is the mean.- verbose name: Location
- default value: 0.0
- port type: FloatPort
- value type: float (can be None)
-
scale
Scale parameter. The meaning depends on the type of distribution. For example, for the normal distribution this is the standard deviation.- verbose name: Scale
- default value: 1.0
- port type: FloatPort
- value type: float (can be None)
-
shape1
First shape parameter. Only some distributions have shape parameters, and the meaning depends on the type of distribution.- verbose name: Shape1
- default value: None
- port type: FloatPort
- value type: float (can be None)
-
shape2
Second shape parameter. Only some distributions have shape parameters, and the meaning depends on the type of distribution.- verbose name: Shape2
- default value: None
- port type: FloatPort
- value type: float (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Centering
Produce zero-mean or 'centered' data by first calculating the mean of the data and then subtracting it.
Note that, if your data is segmented or otherwise comes in the form of multiple instances, you can decide whether the mean should be taken over the instances or over the time axis in each instance. You also can decide whether the mean should be updated on every chunk, or if it should only be updated on the calibration data (non-streaming chunks), and whether it should be recomputed on subsequent non-streaming chunks (e.g., subsequent test data).
Version 1.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
axis
Axis over which the statistic should be aggregated. For instance, if this is set to time, then the mean will be computed over time.- verbose name: Take Statistics Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
robust
Use robust estimator (median). Enabling this will make the node more robust to outlier elements, but if the data is clean, then the statistic will be somewhat less precise than it it could be.- verbose name: Use Robust Estimator
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
adapt_on_streaming
Adapt state parameters on streaming chunks. If this is False (the default), then this node will not adapt itself on streaming chunks, i.e., only on non-streaming chunks, such as imported calibration recordings. This is useful if the streaming chunks would be too short to meaningfully sadapt the parameters on and the calibration recording is sufficietly similar to the streaming data for it to be meaningful to adapt the state only on these data. Or if set to True, the node will simply adapt itself on every chunk it receives, whether it is streaming or not.- verbose name: Adapt On Streaming Chunks
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
initialize_once
Initialize (adapt state parameters) only once. If False, this node will recalibrate itself on any qualifying chunk (based on the setting of adapt on streaming chunks).- verbose name: Adapt Only Once
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Centroid
Compute a (typically robust) centroid of the given data points enumerated by an axis.
The chosen axis will be removed from the data and replaced by a new one-element feature axis. In the special case that the mean is taken over time, frequency, or instances, a dummy time/frequency/instance axis will be retained, unless this behavior is overriden using the force feature axis parameter. This node behaves similarly to the mean and is equivalent for the axial and euclidean estimators (which are included for completeness). In contrast, the robust estimators are best interpreted as a point that lies in the center of the provided input data points according to some measure and is therefore a multi-variate solution.
Version 1.0.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to take the statistic. This axis will drop out of the data and, if keep_axis is set, is replaced by a dummy one-element axis (usually of same type as before, although special cases apply for specific reduction nodes). One may also list a comma-separated list of axes here to reduce over multiple axes at a time. If this is left blank or set to None, then all axes will be reduced over; this can be used to obtain a single float value if keep_axis is also set to False.- verbose name: Act Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
axis_occurrence
Index of the occurrence of the axis of desired type. (0
is the first axis of the desired type,1
is the second,-1
is the last,-2
is the second-to-last, and so on).- verbose name: Axis Occurrence
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
keep_axis
Keep the axis that was reduced as a singleton axis in the data.- verbose name: Keep Reduced Axis
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
estimator
Type of estimator to use. The euclidean-mean the mean over the axis, which is also the point that minimizes the sum of squared distances to all data points (least-squares centroid); this is a non-robust estimator. The geometric_median estimates the point that minimizes the sum of (absolute) distances to the data points (aka l1 median), and is robust; however, similarly to the median, the value is determined by a small number of data points near the estimate, and may simply be the most central point. The huber_centroid can be viewed as a hybrid of euclidean mean and geometric median, and combines benefits of both (robust to outliers but leverges a large number of inliers to compute a point, aka high statistical efficiency). The axial estimators calculate each axis of the centroid separately and are therefore not rotationally invariant, and they may exhibit some other artifacts (e.g., centroids of covariance matrices do typically do not retain positive definiteness).- verbose name: Estimator
- default value: geometric_median
- port type: EnumPort
- value type: str (can be None)
-
clustered
Optionally indices of channels that comprise clusters. For use with a clustered huber estimator.- verbose name: Clustered
- default value: None
- port type: DictPort
- value type: dict (can be None)
-
cluster_fusion
How to tally the outlyingness of individual feature/channel clusters in a sample. Max will penalize data where even just a few feature clusters are bad, while sum will be relatively forgiving if only a few feature clusters are bad.- verbose name: Cluster Fusion
- default value: max
- port type: EnumPort
- value type: str (can be None)
-
trim_proportion
Proportion to trim for axial_trim_mean estimator. Applied to both the smallest and largest values in the data (along each axis).- verbose name: Trim Proportion
- default value: 0.1
- port type: FloatPort
- value type: float (can be None)
-
huber_cutoff
The number of (robust) standard deviations from the center at which to treat data poinst outliers. The default value yields 95% statistical efficiency if the data is a Gaussian contaminated by outliers.- verbose name: Huber Cutoff
- default value: 1.345
- port type: FloatPort
- value type: float (can be None)
-
ignore_nans
Ignore NaN values. This is not currently supported for all types of estimators (errors will be thrown).- verbose name: Ignore Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
backend
Compute backend to use. The cupy and torch backends can be as much as 10x faster on large problems if the system has a CUDA-capable GPU installed. Keep means to use whatever was used to create the incoming data.- verbose name: Backend
- default value: keep
- port type: EnumPort
- value type: str (can be None)
-
precision
Numeric precision to use. Can be reduced to save memory (e.g. if running on GPU). Only needed for the largest of problems, and only used by the geometric and huber centroids.- verbose name: Precision
- default value: keep
- port type: EnumPort
- value type: str (can be None)
-
relative_tolerance
Relative tolerance. Used by the geometric and huber estimators; if the estimate changed less than this relative to the current value, the stopping criterion is satisfied and the estimate is returned.- verbose name: Relative Tolerance
- default value: 1e-05
- port type: FloatPort
- value type: float (can be None)
-
median_cachekey
Optionally a cache key used to cache the result of the initial guess (median). Can be used for the iterative estimators (geometric median, huber) to start from a common seed. This is only useful for extremely large (multi-gigabyte) input data where the median takes a significant fraction of the compute time.- verbose name: Median Cachekey
- default value: None
- port type: StringPort
- value type: str (can be None)
-
max_iter
Maximum iterations. This only applies to the iterative procedures (e.g., huber, geometric median).- verbose name: Max Iter
- default value: 20
- port type: IntPort
- value type: int (can be None)
-
verbose
Verbose output.- verbose name: Verbose
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
force_feature_axis
Always create a feature axis, even when the statistic is taken over an axis that could natively represent the reduced domain.- verbose name: Force Conversion To Feature Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
CorrelationCoefficient
Compute the correlation coefficient between elements along a given axis, and average over another axis.
Version 1.0.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
avg_axis
Axis over which to compute correlation. After correlation, this axis will be removed from the data unless 'keep correlation axis' is checked..- verbose name: Axis Over Which The Correlation Is Computed
- default value: time
- port type: ComboPort
- value type: str (can be None)
-
cov_axis
Axis containing the independent variables between which correlation will be calculated. This axis will be duplicated in the data.- verbose name: Axis With Ivs To Correlate
- default value: space
- port type: ComboPort
- value type: str (can be None)
-
keep_avg_axis
Keep the axis over which correlation is computed. If enabled, the axis will be retained as a 1-element axis. This axis will be of the same type as the original axis if it was a time or frequency axis, and a generic axis otherwise.- verbose name: Keep Correlation Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
CorrelationFromCovariance
Convert a covariance matrix into a matrix of correlations.
Optionally apply significant thresholding to the values. Optionally can apply multiple comparison correction (Benjamani-Hochberg) for FDR, though this is not recommended for streaming data for performance reasons.
Version 1.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
cov_axis
Axis between whose elements the correlation coefficient is calculated. This axis appears duplicated in the data.- verbose name: Axis Over Which The Correlation Is Calculated
- default value: auto
- port type: EnumPort
- value type: str (can be None)
-
num_dof
Number of degrees of freedom. This is only needed if T-scores should be computed.- verbose name: Num Dof
- default value: 100
- port type: IntPort
- value type: int (can be None)
-
fix_roundoff_errors
Fix round-off errors. If enabled, some additional steps are performed that fix correlations that should be 1/-1 but are not. This can be disabled to increase performance.- verbose name: Fix Roundoff Errors
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
sig_test
Perform significance test. If given, the data will be tested for statistical significance, and correlations below the threshold will be set to 0.- verbose name: Significance Test
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
fdr_corr
Perform FDR correction on the significance test, using the standard Benjamini/Hochberg correction method. Not recommended with online data for performance reasons.- verbose name: Fdr Correction
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
alpha
Significance threshold. If given, a significance test will be performed.- verbose name: Significance Threshold
- default value: 0.05
- port type: FloatPort
- value type: float (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Covariance
Compute the covariance matrix between all elements of a given axis, and average over another axis.
The result will be a new data packet where the axis to average over is removed from the data, and the axis between whose elements the covariance was computed is duplicated. For instance, for a segmented multi-channel time series with time (samples), space (channels), and instance (segments) axes, after applying this node between space, and averaged over time, the result will be a new chunk with space, space, and instance axes.
Version 1.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
shrinkage
Shrinkage regularization parameter. This parameter (between 0 and 1) controls the amount of shrinkage regularization applied to the covariance matrix estimates. This can be useful when channels are linearly dependent, and in that case a small amount (e.g., 0.001) is enugh to prevent degenerate solutions. Larger values may be used to implement regularization in the context of a pipeline.- verbose name: Shrinkage Regularization Parameter
- default value: 0.0
- port type: FloatPort
- value type: float (can be None)
-
avg_axis
Axis to average over. After the average has been taken, this axis will drop out of the data.- verbose name: Average Over Axis
- default value: time
- port type: ComboPort
- value type: str (can be None)
-
cov_axis
Axis between whose elements the covariance should be calculated. This axis will be duplicated in the data.- verbose name: Calculate Between Elements Of Axis
- default value: space
- port type: ComboPort
- value type: str (can be None)
-
assume_zeromean
Assume that the data is already zero-mean. If so, the mean will not be subtracted by this node, which saves compute time. Data that has previously been high-pass filtered can often be treated as being zero-mean.- verbose name: Assume Zeromean
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
unbiased_estimate
Use unbiased estimator. If enabled, this will normalize by N-1 instead of N (making it the best unbiased estimate). If disabled, it will be the second moment matrix. Note that the difference is usually negligible except when trying to match other covariance implementations (e.g., MATLAB(tm)) exactly.- verbose name: Unbiased Estimate
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
backend
Compute backend to use. The cupy and torch backends can be faster on data with many channels (e.g., >500) and if the system has a CUDA-capable GPU installed. Keep means to use whatever was used to create the incoming data.- verbose name: Backend
- default value: keep
- port type: EnumPort
- value type: str (can be None)
-
precision
Numeric precision to use. Can be reduced to save memory (e.g. if running on GPU). Only needed for the largest of problems, and only used by the geometric and huber centroids.- verbose name: Precision
- default value: keep
- port type: EnumPort
- value type: str (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
CovarianceTaper
Compute a spatial taper matrix for covariance regularization.
This matrix can be multiplied elementwise with a given covariance (or correlation) matrix in order to better regularize spatial statistics of the data. This is typically only reelvant for data with very high channel counts (100s to 1000s), and/or covariance matrices calculated from very few samples.
Version 0.8.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to generate taper from.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
no_cross_hemispheric
Disallow correlation between channels on opposite hemispheres (left/right)- verbose name: No Cross Hemispheric
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
no_wavelength_corr
Disallow inter-wavelength correlation. More generally, this disallows correlation between channels that differ in the .units value in the data's space axis.- verbose name: No Wavelength Corr
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
length_falloff
For channels that have a source-detector length, the [min, max] length limits. Channels shorter than min will have a weight of 1, and channels longer than max will have a weight of 0.- verbose name: Length Falloff
- default value: None
- port type: ListPort
- value type: list (can be None)
-
max_distance
The maximum distance between channels beyond which correlation shall be zero. The falloff from zero to this radius is governed by the distance_falloff_curve parameter.- verbose name: Max Distance
- default value: None
- port type: FloatPort
- value type: float (can be None)
-
distance_falloff_curve
Type of curve for radial falloff to channel center (weight 1) to max_distance (weight 0). The curves follow the approximate shape of a linear, quadratic or cubic slope, but are modified to ensure positive definiteness of the taper kernel. The Gaussian does not fall off to zero at the given radius, while the others do.- verbose name: Distance Falloff Curve
- default value: linear
- port type: EnumPort
- value type: str (can be None)
-
length_falloff_curve
Type of curve for falloff with increasing channel length (between min and max length).- verbose name: Length Falloff Curve
- default value: linear
- port type: EnumPort
- value type: str (can be None)
-
distance_mode
Points on a channel between which the distance to another channel shall be measured. Mid is the typical choice and is the channel's position, or the midpoint between a channel's source and detector (e.g. for NIRS) positions. Optical-mid is the same midpoint but corrected towards the center of the montage based on the distance (this is more appropriate for multi-distance NIRS measurements). Src and dst are the channel's source and detector positions, respectively. Min is the approx. distance between the closest points on the two source-detector lines for the two channels, and Mean is the average between all pairs of points along the two lines. Mean-min is the average distance to the closest point on the respective other line. Note that the latter three do not lead to valid (positive-definite) taper matrices, and the resulting matrix will be patched to satisfy this requirement (this may result in a tradeoff in fidelity).- verbose name: Distance Mode
- default value: mid
- port type: EnumPort
- value type: str (can be None)
-
sanity_check
Check symmetry and positive definiteness of resulting matrix.- verbose name: Sanity Check
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
line_points
Number of points along the line between a channel's source and detector to consider. This is used for distance calculations.- verbose name: Line Points
- default value: 20
- port type: IntPort
- value type: int (can be None)
-
line_interval
Line interval to consider for line-based distance calculations. These are the [start,end] fractions along the line that limit the segment that shall be used for distances; e.g., [1/3, 2/3] will only use the middle third of a channel's line. This is because eg in NIRS, the superficial end segments of a channel measure may be of lesser interest.- verbose name: Line Interval
- default value: [0.25, 0.75]
- port type: ListPort
- value type: list (can be None)
-
length_unit
The unit in which the spatial limits (length, distance) are provided.- verbose name: Length Unit
- default value: mm
- port type: EnumPort
- value type: str (can be None)
-
depth_scale
Scaling of channel midpoint depth as a function of length. This determines how deep we estimate a NIRS channel to pass into the brain based on its length (e.g., 0.5 means that a 5cm channel is assumed to go 2.5cm deep).- verbose name: Depth Scale
- default value: 0.5
- port type: FloatPort
- value type: float (can be None)
-
eps
Small value to bias diagonal entries of matrix to ensure positive definiteness despite numerical errors.- verbose name: Eps
- default value: 1e-10
- port type: FloatPort
- value type: float (can be None)
-
verbose
Produce verbose output.- verbose name: Verbose
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
CumulativeAverage
Calculate the cumulative average of the data over time.
This node does not change the shape or axes of the signal, but each value will be replaced by the average of values up to that point. Note that this node maintains internal state. Also, this node assumes that the data has a time axis.
Version 1.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
axis
Axis over which the statistic should be aggregated. For instance, if this is set to time, then the mean will be computed over time.- verbose name: Take Statistics Along Axis
- default value: time
- port type: ComboPort
- value type: str (can be None)
-
ignore_nans
If enabled, nan values are skipped.- verbose name: Ignore Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
subtract
Subtract from data.- verbose name: Subtract From Data
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
update_for
Update for the first this many samples. After that the cumulative average will not be further updated.- verbose name: Update For
- default value: None
- port type: IntPort
- value type: int (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
CumulativeSum
Calculate the cumulative sum of the data over the specified axis.
This node does not change the shape or axes of the signal, but each value will be replaced by the sum of values up to that point. Therefore the last value along the axis (i.e., Time) will be the final sum of all previous values. If the Time or Instance axis is selected and data is streaming data, the sum will be cumulative across packets (in other words, the sum along all time points or instances received so far). If another axis is selected (i.e., Frequencies) with streaming data, the sum is computed for the current packet only (i.e., the sum across all Frequencies in the current packet). NaN values are ignored (treated as zero). If the packet contains another axis than the selected axis, a cumulative sum is computed separately for each element in that axis. (i.e., if Time is selected and the packet contains a Time and Space axis, the last time point for a given channel in the Space axis will contain the sum of values for that channel received so far.)
Version 1.0.1
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
axis
Calculate the cumulative sum over this axis.- verbose name: Axis
- default value: time
- port type: ComboPort
- value type: str (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
CurveLength
Compute the curve length of the data over a given axis.
The chosen axis will be removed from the data and replaced by a new one-element feature axis. In the special case that the curve length is taken over time, a dummy time axis will be retained, unless this behavior is overriden using the force feature axis parameter.
Version 1.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to take the statistic. This axis will drop out of the data and, if keep_axis is set, is replaced by a dummy one-element axis (usually of same type as before, although special cases apply for specific reduction nodes). One may also list a comma-separated list of axes here to reduce over multiple axes at a time. If this is left blank or set to None, then all axes will be reduced over; this can be used to obtain a single float value if keep_axis is also set to False.- verbose name: Act Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
axis_occurrence
Index of the occurrence of the axis of desired type. (0
is the first axis of the desired type,1
is the second,-1
is the last,-2
is the second-to-last, and so on).- verbose name: Axis Occurrence
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
keep_axis
Keep the axis that was reduced as a singleton axis in the data.- verbose name: Keep Reduced Axis
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
diff_order
Number of times the values are differenced.- verbose name: Differencing Order
- default value: 1
- port type: IntPort
- value type: int (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
force_feature_axis
Always create a feature axis, even when the statistic is taken over an axis that could natively represent the reduced domain.- verbose name: Force Conversion To Feature Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
DescribeStatisticalDesign
Describe the statistical design for the given data.
This will imbue the data with a description of the stats design, in the form of a meta-data annotation. The node itself does not perform any computation, but subsequent nodes, such as MANCOVA or GroupedMean will utilize the design description, if present. The design is expressed in a statistical formula (see below URL for more info), in which one can name the independent variables that shall be considered, as well as any interations, and whether an intercept shall be included. Formerly called Bake Design Matrix.
Version 1.0.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Table of independent variables.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
design
Override design specification. This is a formula known from R or patsy that allows one to respecify the design matrix given the available factors and covariates. If not given, the result is the concatenation of an intercept, a treatment encoding for each factor, and the covariates.- verbose name: Design
- default value: None
- port type: StringPort
- value type: str (can be None)
-
include_intercept
Include an intercept term. Ignored if design is given explicitly.- verbose name: Include Intercept
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
include_interactions
Include interaction terms between columns in indep. Ignored if design is given explicitly.- verbose name: Include Interactions
- default value: all
- port type: EnumPort
- value type: str (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
GroupedMean
Group instances (trials) and calculate the mean, and optionally the error, for each group.
Instances refers to items along an Instance axis; typically these equate to "trials" that were segmented using Segmentation
based on event markers specified as targets in AssignTargets
. The Instance axis has a data
array which itself can contain any number of fields, so that each instance/trial can have a set of fields associated with it (i.e., Marker, TargetValue, are most common, the latter is where AssignTargets stores its class values; the statistics nodes create others; you can add your own). In statistics these are typically used to represent factors. By default, if the "group-by fields" are not specified, this node will create a group for each unique combination of values in all fields marked as a category field, so typically this would be one group per class in TargetValue. Therefore, a typical use case for this node is to compute ERPs by assigning target values to event markers using AssignTargets, segmenting the data into instances (trials) using Segmentation, computing spectrum, process, etc., and then calculate the mean and error for each class using this node with its defaults (i.e., no group-by fields specified).
Version 1.1.1
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
group_cols
Optionally specify the names of instance data table fields that will be used to determine grouping. e.g. ['Marker'] or ['Subject', 'Marker']- verbose name: Group-By Fields
- default value: None
- port type: ListPort
- value type: list (can be None)
-
mean_type
Type of mean estimate to compute.- verbose name: Estimator
- default value: mean
- port type: EnumPort
- value type: str (can be None)
-
trim_proportion
Proportion of data instances to trim (per variable) on the lower and upper tails of the data. If only a single number is provided then it is used for both lower and upper. If no non-zero numbers are provided then no trimming is performed (default).- verbose name: Trim Proportion
- default value: [0, 0]
- port type: ListPort
- value type: list (can be None)
-
winsorize
If trim_proportion has a non-zero value, then setting winsorize to True (default) will cause winsorization to be used instead of standard trimming.- verbose name: Winsorize
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
error_type
Add 'grouped_mean' StatisticAxis to the chunk, containing param_types=[stats.P arameterType.ESTIMATE, stats.ParameterType.ERROR]. std: standard deviation; sem: standard error of the mean; var: variance; mad: median absolute difference; CI: upper confidence interval - mean. See ci_range parameter.- verbose name: Error Type
- default value: none
- port type: EnumPort
- value type: str (can be None)
-
fill_cols
If True, instance columns that are not used for grouping will be filled with reasonable default values. If False, instance columns that are not used for grouping will be masked out in the output instance axis data.- verbose name: Fill Cols
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
grouping_type
If levels (default), then means (and optionally errors) are calculated per unique level of each factor and interaction. If unpaired-diffs, then differences of means are calculated for each pair of levels. Use this option to calculate differences in means and difference error analogous to a two independent sample t-test assuming equal variances. When error_type is not none, a common variance is calculated instead of using the group-variances. If global, then only a single mean (and error) is calculated for all instances.- verbose name: Grouping Type
- default value: levels
- port type: EnumPort
- value type: str (can be None)
-
equal_var
If grouping_type is 'unpaired-diffs', set this to True to assume equal population variance among groups. If False (default), unequal population variance among groups is assumed.- verbose name: Equal Var
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
ddof
Passed to numpy.s td. In standard statistical practice, ddof=1 provides an unbiased estimator of the variance of the infinite population. ddof=0 provides a maximum likelihood estimate of the variance for normally distributed variables.- verbose name: Ddof
- default value: 1
- port type: IntPort
- value type: int (can be None)
-
sort_order
If alphabetical (default), instance axis elements are returned in alphabetical order, otherwise they are returned in order of first appearance.- verbose name: Sort Order
- default value: alphabetical
- port type: EnumPort
- value type: str (can be None)
-
ci_range
Range for confidence interval if CI selected as error_type.- verbose name: Ci Range
- default value: 0.95
- port type: FloatPort
- value type: float (can be None)
-
allow_markers
If true, marker streams with an instance axis will be processed; otherwise they will be ignored.- verbose name: Allow Markers
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
use_caching
Enable caching.- verbose name: Use Caching
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Histogram
Compute a histogram of data for each element along a given axis.
All data for each element along the selected axis will be collapsed into a single array on which the histogram will be computed. (I.e., if the packet with computed PSD has a space axis with channels, a feature axis with 'alpha' and 'beta' bands, and a time axis, and 'feature' is specified in this node as the 'axis' property, a histogram will be computed over all channels and time points for the 'alpha' band, and separately for the 'beta' band. If a histogram is desired for a single channel, use SelectRange prior to this node.) By default the histogram is computed cumulatively over all data received so far, unless cumulative is set to False. (For non-streaming data, the entire dataset is in a single packet so this doesn't apply either way.) This node can either output the bin counts, or the bin frequency densities (see computed_value property). A new Statistic axis named 'histogram' is created, with the bin edges (3 decimal precision) as its labels, and the bin sums in the data tensor for each element. The histogram is computed for all samples in the Packet (in the case of non-streaming data, this would be the entire data set). In the output Packet, all axes except the axis for which the histograms were computed (i.e., feature in the above example) will be dropped, and the new Statistic axis will be added. The output Packet data tensor will hold the histogram data only.
Version 0.9.1
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
computed_value
Whether the computed values are the counts of each bin, or the frequency densities (samples in each bin / total samples). The latter may not sum to exactly 1 due to floating values.- verbose name: Computed Value
- default value: count
- port type: EnumPort
- value type: str (can be None)
-
axis
A histogram will be calculated for each element in this axis.- verbose name: Axis
- default value: feature
- port type: EnumPort
- value type: str (can be None)
-
min_value
Minimum value to include in the histogram. If None, the minimum value in the data will be used (non-streaming only).- verbose name: Min Value
- default value: 0.0
- port type: FloatPort
- value type: float (can be None)
-
max_value
Maximum value to include in the histogram. If None, the maximum value in the data will be used (non-streaming only).- verbose name: Max Value
- default value: 1.0
- port type: FloatPort
- value type: float (can be None)
-
num_bins
Number of bins to use in the histogram.- verbose name: Num Bins
- default value: 10
- port type: IntPort
- value type: int (can be None)
-
bin_edges
Bin edges for the histogram, described as a monotonically increasing list of edges. Bin edges, except for the last one, are exclusive of the next value. (i.e., Bin edges of [0,1,2,3] will create 3 bins: >=0<1, >=1<2, >=2<=3.) If specified, num_bins will be ignored.- verbose name: Bin Edges
- default value: []
- port type: ListPort
- value type: list (can be None)
-
cumulative
Whether to compute the histogram cumulatively over all data packets received so far. This only applies to streaming data, since offline data contains a single packet. Typically you would want this to be true, since otherwise a new histogram will be generated for each packet. This only applies to counts.- verbose name: Cumulative
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
ignore_nans
If true, elements containing nan values are ignored.- verbose name: Ignore Items With Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Largest
Find the largest value along a given axis.
The chosen axis will be removed from the data and replaced by a new one-element feature axis. This node can return either the value (default) or the index of the largest elements, and it can optionally ignore nan values.
Version 1.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to take the statistic. This axis will drop out of the data and, if keep_axis is set, is replaced by a dummy one-element axis (usually of same type as before, although special cases apply for specific reduction nodes). One may also list a comma-separated list of axes here to reduce over multiple axes at a time. If this is left blank or set to None, then all axes will be reduced over; this can be used to obtain a single float value if keep_axis is also set to False.- verbose name: Act Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
axis_occurrence
Index of the occurrence of the axis of desired type. (0
is the first axis of the desired type,1
is the second,-1
is the last,-2
is the second-to-last, and so on).- verbose name: Axis Occurrence
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
keep_axis
Keep the axis that was reduced as a singleton axis in the data.- verbose name: Keep Reduced Axis
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
output
Output the values or the indices of the largest elements.- verbose name: Output Type
- default value: values
- port type: EnumPort
- value type: str (can be None)
-
ignore_nans
If set, any nan values in the data are ignored.- verbose name: Ignore Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
force_feature_axis
Always create a feature axis, even when the statistic is taken over an axis that could natively represent the reduced domain.- verbose name: Force Conversion To Feature Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
LinearTrend
Calculate the linear trend over a given axis.
If there are additional axes in the packet, a separate trend will be computed for each element in the other axes. (Note: This node currently expects packets containing 1 or 2 axes.)
Version 1.1.3
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Incoming data.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: IN
-
slope
Slope.- verbose name: Slope
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
trendline
Regression trend line.- verbose name: Trendline
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
intercept
Intercept.- verbose name: Intercept
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
stats
Regression statistics.- verbose name: Stats
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
trend_axis
A linear trend is calculated along each element in this axis.- verbose name: Trend Axis
- default value: time
- port type: ComboPort
- value type: str (can be None)
-
x_coordinate
The location from which the values along the X axis should be extracted. If auto, the most logical values for the selected trend_axis will be used (times for time axis, frequencies for frequency axis, etc.). If time, will force the use of the times field, if it exists in the axis (primarily for use with the instance axis). If indices, will not use any values from the trend_axis but instead will add one sequential integer for each element along that axis (this can be used with the instance axis, and is the default if auto is selected and the trend_axis is instance).- verbose name: X Coordinate
- default value: auto
- port type: EnumPort
- value type: str (can be None)
-
use_caching
Enable caching.- verbose name: Use Caching
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
MANCOVA
Calculate a (M)AN(C)OVA statistical model.
This node can be used to calculate ANOVA, MANOVA, ANCOVA, and MANCOVA solutions. The node will respect the statistical design described Describe Statistical Model (aka DescribeStatisticalDesign) node, or if not provided, will utilize all independent variables present in the data (specifically, in the instance axis of the data). For multivariate dependent variables, the node will always perform a mass-univariate analysis, as well as a multivariate analysis, which can however be optionally skipped, since it can be rather slow and is sometimes not possible if there are too few trials for the given number of dependent variables. The mass-univariate and multivariate ANOVAs are not guaranteed to use the same observations if there are scattered missing values in the dependent variables, which the MANOVA is robust to but the individual univariate ANOVAs are not. A common set of observations will be used for both univariate and multivariate analyses when the block data does not have any missing (NaN) values. The node outputs separately the statistics from the multivariate and univariate analysis, as well as the inferred statistical model (regression weights). The desired statistics can be selected subsequently using the Parse Stats Table node (or Select Range). The node supports parallel processing for additional speedup, as well as caching of the result (both may be disabled by default, but can provide tremendous speed gains, e.g., when repeatedly re-running the same analysis). This node creates three new axes: a Statistic axis with the label 'statistic_types' containing the stats (i.e. F-value), a Statistic axis with the label 'multivar_test_types' containing the multivariate test types (i.e., Wilks lambda), and a Feature axis with the label 'explanatory_variables' containing the design terms (i.e., intercept). (Note: For backward compatibility reasons (versions < 2.2.0), legacy_mode is set to True and therefore this node will store all stats in Feature axes axis instead of Statistic axes. Please update your pipelines as needed to assume a Statistic axis and then set legacy_mode to False. This will be deprecated in a future release.)
Version 2.2.2
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
A packet containing at least one signal chunk with an instance axis. The chunk may have gone through DescribeStatisticalDesign previously to help design the statistical test when it cannot be inferred easily by inspecting the instance axis data.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
multivar_stats
For each data chunk with an instance axis, this will output a 3D tensor that has, for each explanatory variable, the multivariate test type, the statistic type, and the value of that statistic- verbose name: Multivar Stats
- default value: None
- port type: DataPort
- value type: object (can be None)
- data direction: OUT
-
univar_stats
Univariate post-hoc statistics.- verbose name: Univar Stats
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
result
The MANCOVA model.- verbose name: Result
- default value: None
- port type: DataPort
- value type: object (can be None)
- data direction: OUT
-
univar_teststat
Test statistic for univariate ANCOVA tests. These post-hoc tests are used to identify which of the response variables showed a significant effect.- verbose name: Univariate Test Statistic
- default value: F
- port type: EnumPort
- value type: str (can be None)
-
univar_testtype
Test type to use for univariate ANCOVA tests. These post-hoc tests are used to identify which of the response variables showed a significant effect.- verbose name: Univariate Test Type
- default value: I
- port type: EnumPort
- value type: str (can be None)
-
univar_robust
Heteroscedasticity correction for robust covariance analysis. Used for univariate post-hoc tests.- verbose name: Univariate Hc Correction
- default value: None
- port type: EnumPort
- value type: str (can be None)
-
skip_mvar
Skip multivariate statistics and return only univariate results.- verbose name: Skip Multivariate Analysis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
missing
Choose how to handle missing values. If 'drop', any observations with nans in the exogenous IVs are dropped. MANOVA can tolerate some missing values in the multivariate endogenous DV so these are not dropped. Unlike the MANOVA, the mass univariate ANOVAs will drop any observations with nan in the univariate DV on a per-variable basis. If 'raise', an error is raised. Default is 'drop'.- verbose name: Handle Missing Data
- default value: drop
- port type: EnumPort
- value type: str (can be None)
-
par_cores
Number of cores to use in parallel processing. 1: Do not do parallel processing. -1: Auto-detect the number of cores. >1: Do parallel processing with this many cores.- verbose name: Number Of Cores To Use
- default value: 1
- port type: IntPort
- value type: int (can be None)
-
legacy_mode
Store the statistics in a Feature axis instead of a Statistic axis. Included for backward compatibility and will be deprecated.- verbose name: Legacy Output Format
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
use_caching
Enable caching.- verbose name: Use Caching
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
verbose
Verbose output. Can be used for debugging your pipeline.- verbose name: Verbose
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
MahalanobisDistance
Calculate the Mahalanobis distance for some data points with respect to some mean and covariance.
This node will use the space axis if present in the mean input, and otherwise it will use the feature axis if present. This chosen axis needs to appear twice in the covariance input. Note that mean, covariance and data can have additional axes, but they must have the same number of elements for each of them.
Version 0.6.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
mean
Reference centroid.- verbose name: Mean
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: IN
-
covariance
Reference covariance matrix.- verbose name: Covariance
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: IN
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Mean
Compute the mean (average) over a given axis.
The chosen axis will be removed from the data and replaced by a new one-element feature axis. In the special case that the mean is taken over time, frequency, or instances, a dummy time/frequency/instance axis will be retained, unless this behavior is overriden using the force feature axis parameter. It is also possible to compute a robust variant of the mean instead.
Version 1.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to take the statistic. This axis will drop out of the data and, if keep_axis is set, is replaced by a dummy one-element axis (usually of same type as before, although special cases apply for specific reduction nodes). One may also list a comma-separated list of axes here to reduce over multiple axes at a time. If this is left blank or set to None, then all axes will be reduced over; this can be used to obtain a single float value if keep_axis is also set to False.- verbose name: Act Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
axis_occurrence
Index of the occurrence of the axis of desired type. (0
is the first axis of the desired type,1
is the second,-1
is the last,-2
is the second-to-last, and so on).- verbose name: Axis Occurrence
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
keep_axis
Keep the axis over which the mean was calculated as a singleton (single value) axis in the data. If False, the axis will be dropped.- verbose name: Keep Singleton Axis
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
robust
Use robust estimator (median). Enabling this will make the node more robust to outlier elements, but if the data is clean, then the statistic will be somewhat less precise than it it could be.- verbose name: Use Robust Estimator
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
ignore_nans
If activated the channels containing nan values are ignored.- verbose name: Ignore Channels With Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
robust_estimator_type
Type of robust estimator to use.- verbose name: Robust Estimator Type
- default value: median
- port type: EnumPort
- value type: str (can be None)
-
trim_proportion
Proportion to trim for trim_mean estimator. Applied to both the smallest and largest values in the data.- verbose name: Trim Proportion
- default value: 0.1
- port type: FloatPort
- value type: float (can be None)
-
backend
Compute backend to use. The cupy and torch backends can be faster on very large data, and if the system has a CUDA-capable GPU installed. The keep option causes it to use whatever was used to create the incoming data.- verbose name: Backend
- default value: keep
- port type: EnumPort
- value type: str (can be None)
-
precision
Numeric precision to use. Can be reduced to save memory (e.g. if running on GPU).- verbose name: Precision
- default value: keep
- port type: EnumPort
- value type: str (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
force_feature_axis
Always create a feature axis, even when the statistic is taken over an axis that could natively represent the reduced domain.- verbose name: Force Conversion To Feature Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Median
Compute the median of the data over a given axis.
This is a robust alternative to the mean, which is unaffected by outliers up to a breakdown point where 50% of the data consists of outliers. The median is statistically less efficient than the mean (or trimmed mean) if the data has no outliers, that is, the value is a worse estimate. See also the Mean node, which has additional robust and non-robust estimation options.
Version 1.0.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to take the statistic. This axis will drop out of the data and, if keep_axis is set, is replaced by a dummy one-element axis (usually of same type as before, although special cases apply for specific reduction nodes). One may also list a comma-separated list of axes here to reduce over multiple axes at a time. If this is left blank or set to None, then all axes will be reduced over; this can be used to obtain a single float value if keep_axis is also set to False.- verbose name: Act Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
axis_occurrence
Index of the occurrence of the axis of desired type. (0
is the first axis of the desired type,1
is the second,-1
is the last,-2
is the second-to-last, and so on).- verbose name: Axis Occurrence
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
keep_axis
Keep the axis that was reduced as a singleton axis in the data.- verbose name: Keep Reduced Axis
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
ignore_nans
If activated the channels containing nan values are ignored.- verbose name: Ignore Channels With Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
force_feature_axis
Always create a feature axis, even when the statistic is taken over an axis that could natively represent the reduced domain.- verbose name: Force Conversion To Feature Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
MedianAbsoluteDeviation
A robust measure of the variability of some data.
This is a robust alternative to the standard deviation, which is unaffected by outliers up to a breakdown point where 50% of the data consists of outliers. The MAD is statistically less efficient than the standard deviation if the data has no outliers, that is, the value is a worse estimate. Also note that the scale of the MAD differs from that of the STD by a factor of about 1.4.
Version 1.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to take the statistic. This axis will drop out of the data and, if keep_axis is set, is replaced by a dummy one-element axis (usually of same type as before, although special cases apply for specific reduction nodes). One may also list a comma-separated list of axes here to reduce over multiple axes at a time. If this is left blank or set to None, then all axes will be reduced over; this can be used to obtain a single float value if keep_axis is also set to False.- verbose name: Act Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
axis_occurrence
Index of the occurrence of the axis of desired type. (0
is the first axis of the desired type,1
is the second,-1
is the last,-2
is the second-to-last, and so on).- verbose name: Axis Occurrence
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
keep_axis
Keep the axis that was reduced as a singleton axis in the data.- verbose name: Keep Reduced Axis
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
ignore_nans
If activated the channels containing nan values are ignored.- verbose name: Ignore Channels With Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
force_feature_axis
Always create a feature axis, even when the statistic is taken over an axis that could natively represent the reduced domain.- verbose name: Force Conversion To Feature Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
MixedANOVA
Mixed-design (split-plot) ANOVA.
This is used to test for differences between two or more independent groups in which participants also contain multiple conditions (e.g. repeated measures). Thus, in a mixed-design ANOVA model, one factor (a fixed effects factor) is a between-subjects variable and the other (a random effects factor) is a within-subjects variable. This node creates 2 new axes: a Statistic axis with the label 'statistic_types' containing the stats terms (Sum of squares, Degrees of freedom (effect), Degrees of freedom (error), Mean squares, F-values, p-values, and effect sizes) and a Feature axis with the label 'explanatory_variables' containing the design factors (Between, Within, and Interaction).
Version 0.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
A packet containing at least one signal chunk with an instance axis.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
between_factor
Name of between-subjects factor.- verbose name: Between Factor
- default value: Group
- port type: StringPort
- value type: str (can be None)
-
within_factor
Name of within-subjects factor.- verbose name: Within Factor
- default value: Marker
- port type: StringPort
- value type: str (can be None)
-
subject_header
Name of subject column header.- verbose name: Subject Header
- default value: Subject
- port type: StringPort
- value type: str (can be None)
-
use_caching
Enable caching.- verbose name: Use Caching
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
num_procs
Number of parallel processes to use. The maximum would be the number of channels in the data. If given as -1, this will use one process per core on the system, and if given as None, this will use as many processes as there are cores in the system, divided by OMP_NUM_THREADS (or 4 if not present).- verbose name: Num Procs
- default value: 1
- port type: IntPort
- value type: int (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
MixedEffectsANOVA
Linear mixed models extend standard linear models by allowing 'random' effects in addition to the standard 'fixed' effects.
Linear mixed models are used to analyze data that are non independent (e.g., repetitions from each subject), multi-level / hierarchical (e.g., different datasets collected at different institutions and 'institution' is not a controlled variable), or longitudinal. See below URL for more information.
Version 0.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
A packet containing at least one signal chunk with an instance axis. The chunk may have gone through DescribeStatisticalDesign previously to help design the linear model. The output is a packet containing univariate statistics.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
result
The ANOVA model. Unused.- verbose name: Result
- default value: None
- port type: DataPort
- value type: object (can be None)
- data direction: OUT
-
random_intercept_fields
Instance axis data field names specified in this list are 'random effects' and are used to group instances together. A random effect is generally something that can be expected to have a non-systematic, idiosyncratic, unpredictable, or "random" influence on your data. These are sources of non-independence. In the linear model, each unique item grouped by this field(s) is allowed to have its own intercept. For example, if your dataset has multiple subjects and you have multiple responses from each subject then the different responses from each subject are not independent and you need to include 'Subject' in this list. Any items in this list will be excluded from the list of fixed-effect factors. Contrary to random effects factors, Fixed effects are expected to have a systematic and predictable influence on your data, and the experiment should exhaust all possible levels of this factor.- verbose name: Random Intercept Fields
- default value: None
- port type: ListPort
- value type: list (can be None)
-
random_slope_fields
List of instance axis data field names specified in this list must be part of the predictors in the linear model, and are expected to have different effect-sizes for each of the unique items as grouped by the random_intercept_fields argument. For example, if each subject performed two difficulty levels of a task (e.g. an easy and a hard version), but you have reason to think that difficulty may affect subjects differently based on their video game experience (which is not measured), then Difficulty should be included in this list.- verbose name: Random Slope Fields
- default value: None
- port type: ListPort
- value type: list (can be None)
-
par_cores
Number of cores to use in parallel processing. 1: Do not do parallel processing. -1: Auto-detect the number of cores. >1: Do parallel processing with this many cores.- verbose name: Par Cores
- default value: 1
- port type: IntPort
- value type: int (can be None)
-
use_caching
Enable caching.- verbose name: Use Caching
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
MultipleComparisonCorrection
Correct p-values for multiple comparisons (multiple dependent variables).
This should typically be performed on mass-univariate statistics, e.g., the univar_stats output of the MANCOVA node. Each factor (i.e. explanatory-variable) level will be corrected independently, which are assumed to be indexed by a feature axis. Optionally each space axis entry (channel) may be corrected independently, as well. All other axes (indexing dependent variables) will be treated as flattened for the purposes of the correction.
Version 1.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Packet with stats chunk to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
method
Method used for testing and adjustment of pvalues. Available methods to control for the family-wise error rate (FWER) are: -bonferroni
: The highly conservative Bonferroni correction; best if the tested variables tend to be independent, and only suitable for at most a modest number of variables (least powerful in a statistical sense). -sidak
: The Sidak correction; slightly less conservative / more powerful than Bonferroni (not conservative in the presence of negative dependencies between variables) -holm
: A "step-down" (sequential testing) variant of Bonferroni, uniformly more powerful than the former, and can thus handle more variables. -holm-sidak
: Step-down variant of the Sidak formula; uniformly more powerful and can handle more variables than Sidak, but inherits the caveat about negative dependencies. -simes-hochberg
: A "step-up" procedure that is applicable for variables that are not negatively dependent, with different assumptions and caveats compared to holm and holm-sidak. -hommel
: A "closed testing" method also based on Simes tests but with somewhat different assumptions and caveats. Not applicable in the presence of negatively-correlated variables. Slow for large arrays. Available methods to control for false discovery rate (FDR) are: -fdr_bh
: The classic Benjamini/Hochberg correction for FDR; this method is not applicable if variables can be negatively dependent. -fdr_by
: The Benjamini/Yekutieli correction for FDR; this method does handle any kind of dependency, including negative dependency. -fdr_tsbh
: A two-stage variant of the Benjamini-Hochberg method that depends on the given alpha level (with higher statistical power thanfdr_bh
). Not applicable if variables can be negatively dependent. -fdr_tsbky
: The Benjamini-Krieger-Yekutieli correction for FDR, also a two-stage variant, but one that can handle any kind of dependency structure (including negative). Corrected p-values depend o the alpha level, which needs to be supplied.- verbose name: Method
- default value: fdr_bh
- port type: EnumPort
- value type: str (can be None)
-
space_is_independent
Each item in the space axis (i.e . each channel) will be corrected independently of other items in the space axis. Since the correction will not be representative of the total number of comparisons made, this should be noted alongside the results, if used. If set to False, all comparisons present in the data will be accounted for (more conservative).- verbose name: Space Is Independent
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
alpha
Desired alpha level for two-stage procedures. This value is only required for the two-stage FDR procedures and represents the false discovery rate that shall be maintained (i.e., the same alpha that shall be used in a subsequent significance test of the corrected p-values).- verbose name: Alpha
- default value: 0.05
- port type: FloatPort
- value type: float (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
OverlappedLinearModel
Estimate a linear model with temporally overlapped responses.
The model applies a GLM that explains the observed signal as a sum of stimulus-locked responses, (according one of the selectable response models) for different stimulus instance types, plus optional time-varying nuisance regressors from selectable signal chunks, plus noise. The model controls for the false discovery rate due to temporally correlated observations by spectrally whitening the data, and for artifacts by using a robust (iteratively reweighted least squares) estimator. When using the FIR model, the response is estimated in time-series form, and when using the Canonical HRF model, the magnitude of the modeled response is estimated (i.e., not temporally resolved).
Version 0.9.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
response_model
Evoked response model. This is the model of any event-locked responses expected in the data. FIR will estimate the response as a time series. Canonical HRF will estimate the amplitude of a canonical hemodynamic response function. The response is time-locked to the onset and duration of instances in a marker stream.- verbose name: Response Model
- default value: fir
- port type: EnumPort
- value type: str (can be None)
-
response_parameters
Parameter overrides for the response model, given as a Python dictionary. The parameters are per the documentation of the CanonicalHRF and FIRHRF models, respectively. In brief. FIRHRF supports numBins, binWidth, binDelay, and timeUnit parameters, and CanonicalHRF supports- verbose name: Response Parameters
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
max_autocorr_delay
Estimate auto-correlations up to at most this delay (in seconds). This translates to the maximum model order of an autoregressive model that is being estimated alongside the linear response model. The actual model order may be lower when it is estimated from the data. If set to 0, no autocorrelations are accounted for.- verbose name: Max Autocorrelations Delay
- default value: 4
- port type: FloatPort
- value type: float (can be None)
-
robust
Use robust estimation for linear model. This uses an iteratively reweighted least-squares (IRLS) method using the Tukey Bisquare scale function.- verbose name: Robust
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
regressor_streams
Streams with time-domain nuisance or auxiliary regressors. This can be additional streams that carry explanatory variables that shall be regressed out of the data as part of the model, for instance auxiliary measures of artifacts, or certain kinds of low-order trend terms etc (e.g., via the node AppendSyntheticChannels, which can add such a stream).- verbose name: Regressor Streams
- default value: ['synthetic']
- port type: ListPort
- value type: list (can be None)
-
statistic_axis
Output descriptive statistics along an axis of this type.- verbose name: Statistic Axis
- default value: feature
- port type: EnumPort
- value type: str (can be None)
-
dependent_streams
List of stream names to use as dependent variables (default: all remaining).- verbose name: Dependent Streams
- default value: None
- port type: ListPort
- value type: list (can be None)
-
max_iter
Max number of outer-loop (AR refit) iterations in optimization.- verbose name: Max Iterations
- default value: 10
- port type: IntPort
- value type: int (can be None)
-
max_iter_inner
Max number of inner-loop (IRLS) iterations in optimization.- verbose name: Max Iterations (Inner)
- default value: 20
- port type: IntPort
- value type: int (can be None)
-
reltol
Max relative error during estimation.- verbose name: Max Relative Tolerance
- default value: 0.01
- port type: FloatPort
- value type: float (can be None)
-
use_caching
Enable caching.- verbose name: Use Caching
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
num_procs
Number of parallel processes to use. The maximum would be the number of channels in the data. If given as -1, this will use one process per core on the system, and if given as None, this will use as many processes as there are cores in the system, divided by OMP_NUM_THREADS (or 4 if not present).- verbose name: Num Procs
- default value: 1
- port type: IntPort
- value type: int (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
PDF
Evaluate the probability density function for a given distribution with some fixed parameters element-wise.
Version 1.0.1
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
distribution
Type of distribution to use.- verbose name: Distribution
- default value: Normal
- port type: EnumPort
- value type: str (can be None)
-
location
Location parameter. The meaning depends on the type of distribution. For example, for the normal distribution this is the mean.- verbose name: Location
- default value: 0.0
- port type: FloatPort
- value type: float (can be None)
-
scale
Scale parameter. The meaning depends on the type of distribution. For example, for the normal distribution this is the standard deviation.- verbose name: Scale
- default value: 1.0
- port type: FloatPort
- value type: float (can be None)
-
shape1
First shape parameter. Only some distributions have shape parameters, and the meaning depends on the type of distribution.- verbose name: Shape1
- default value: None
- port type: FloatPort
- value type: float (can be None)
-
shape2
Second shape parameter. Only some distributions have shape parameters, and the meaning depends on the type of distribution.- verbose name: Shape2
- default value: None
- port type: FloatPort
- value type: float (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
PairwiseComparisons
Calculate all pairwise multiple comparisons for each factor plus optional interactions using Tukey HSD.
This method corrects for family-wise error rates.
Version 0.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
A packet containing at least one signal chunk with an instance axis.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
pairwise_stats
Pairwise multiple comparisons post-hoc statistics using Tukey HSD. The output packet will contain 1 named stream for each of the factor(s)/interaction specified.- verbose name: Pairwise Stats
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
factors
List of factors (needs to be instance field names) to use for pairwise comparisons. This can be either 1 or 2 factors.- verbose name: Factors
- default value: ['Marker']
- port type: ListPort
- value type: list (can be None)
-
include_interaction
Include interaction pairings if 2 factors are provided. Note, this will create all pairings across each individual level for each of the given factors (e.g. 3 levels each for 2 factors would create 9C2 = 36 comparisons).- verbose name: Include Interaction
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
use_caching
Enable caching.- verbose name: Use Caching
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
num_procs
Number of parallel processes to use. The maximum would be the number of channels in the data. If given as -1, this will use one process per core on the system, and if given as None, this will use as many processes as there are cores in the system, divided by OMP_NUM_THREADS (or 4 if not present).- verbose name: Num Procs
- default value: 1
- port type: IntPort
- value type: int (can be None)
-
verbose
Verbose output. Can be used for debugging your pipeline.- verbose name: Verbose
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
ParseStatsTable
Extract data from stats chunk returned by a stats node.
For univar_stats table, the value is returned for each dependent variable. The statistics must be in an axis with the 'statistic_types' custom label (should be a statistic axis, but a feature axis is supported for legacy reasons). Also expects a feature axis containing the names of the factors, with the 'explanatory_variables' custom label. This node will remove both of the above axes (so if you're creating a stats table, split off the data before this node).
Version 1.3.1
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Packet with stats chunk to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
factor
Factor in stats chunk's first axis to get the values for. Leave default to select first factor. Ignored if data has no explanatory variables (i.e., TTest output).- verbose name: Factor
- default value: None
- port type: StringPort
- value type: str (can be None)
-
column_name
Name of column in stats table to extract. 'sum_sq', 'mean_sq' are for univ_stats only, 'Value', 'Den DF' are for multivar_stats only. 'Num DF' is used as 'df' in univar. 'F Value' is used as 'F' in univar. 't Value' is the t-stat from a t-test.- verbose name: Column Name
- default value: p_val
- port type: EnumPort
- value type: str (can be None)
-
mvar_test
Select the multivariate test to extract. Ignored if chunk is univariate stats.- verbose name: Mvar Test
- default value: all
- port type: EnumPort
- value type: str (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
PerElementCovariance
Compute the per-element covariance matrix between elements of a given axis.
This node is best understood when contrasted to the average (sample) covariance matrix, which can be viewed as an average over n matrices, where each of the n matrices is the outer product of some data vector (one of n samples) and itself. This node will perform only the outer product calculation, but leaves it to the user to subsequently perform the averaging. The utility of this node lies in the ability to use other kinds of averages than the regular mean, such as, for instance, a running average (yielding a running average covariance matrix), or a robust average (yielding a robust estimate for the covariance matrix). Thus, this node is best used in combination with nodes such as MovingAverage, or ExponentialMovingAverage. When applied to a tensor, this node will replicate the axis of choice (so it occurs twice in the output data), and it will treat each vector along this axis separately and replace it by a matrix that is the outer product by the vector and itself.
Version 1.0.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
shrinkage
Amount of shrinkage to apply to covariance estimate. This is a regularization parameter that can be used to ensure that the resulting covariance matrices (or their averages) are full-rank matrices (i.e., non-degenerate / non-singular).- verbose name: Shrinkage Regularization Parameter
- default value: 0.0
- port type: FloatPort
- value type: float (can be None)
-
axis
Axis between whose elements the covariance shall be computed. The resulting matrix will quantify to what extent elements along the given axis covary with other elements at other positions along the axis.- verbose name: Calculate Between Elements Of Axis
- default value: space
- port type: ComboPort
- value type: str (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Percentiles
Calculate percentiles of an array along some axis.
The node can also be configured to calculate quantiles instead of percentiles. The specified axis will be replaced by a new axis whose length matches the number of given percentiles, and which appears in the same position as the old axis. The type of the axis can be selected via the new axis property.
Version 0.8.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to calculate percentiles. You can also enter the axis label here as in feature.mylabel.- verbose name: Axis
- default value: axis
- port type: ComboPort
- value type: str (can be None)
-
percentiles
List of percentiles to calculate. Percentiles are numbers between 0 and 100, inclusive, where 0 is the minimum, 100 is the maximum, and 50 is the median. If you want- verbose name: Percentiles
- default value: [50]
- port type: Port
- value type: object (can be None)
-
unit
Optionally the unit in which the percentiles are given. If set to 'percentile', the percentiles are given as percentages, i.e., 0 to 100. If set to 'quantile', the percentiles are given as fractions, i.e., 0 to 1.- verbose name: Unit
- default value: percentile
- port type: EnumPort
- value type: str (can be None)
-
ignore_nans
If set, NaN values will be ignored in the calculation. As a result, the percentiles pertain to remaining elements that are not NaN. Otherwise NaNs will propagate into the respective outputs.- verbose name: Ignore Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
stream
Name of stream to process. Wildcards are supported, somystream*
will process all streams whose name starts withmystream
.- verbose name: Stream
- default value: None
- port type: StringPort
- value type: str (can be None)
-
new_axis
Type of the new axis to create. If set to 'feature', a new feature axis will be created with the percentiles as string labels. If set to 'statistic', a new statistic axis will be created that has the correct percentiles set; however, note that this requires that your percentiles to correspond to the predefined percentiles on the axis. You can also specify a desired new label for the axis in here by writing space.mylabel.- verbose name: New Axis
- default value: feature
- port type: ComboPort
- value type: str (can be None)
-
method
Method to use when quantiles fall in between two data points. The first 9 methods correspond to methods 1-9 in "Sample quantiles in statistical packages" by Hyndman and Fan (1996). See also the URL that is part of the Node documentation for more details. However, as of NeuroPype 2023, these are only available when the node uses the default CPU (numpy) backend. To use this node in compiled or GPU portions of your graph (e.g., with DeepModel), you can only use the methods 'lower', 'higher', 'nearest', 'midpoint', and 'linear'. Of these, 'lower' returns the smaller value when the desired percentile is between two data points. 'higher' returns the larger value. 'nearest' rounds to the nearest value. 'midpoint' returns the average of the two nearest values. 'linear' interpolates linearly between the two. The 'hazen' method is the default of the MATLAB(tm) prctile function.- verbose name: Method
- default value: linear
- port type: EnumPort
- value type: str (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Product
Compute the product along a given axis.
The chosen axis will be removed from the data and replaced by a new one-element feature axis. In the special case that the product is taken over time, a dummy time axis will be retained, unless this behavior is overriden using the force feature axis parameter.
Version 1.0.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to take the statistic. This axis will drop out of the data and, if keep_axis is set, is replaced by a dummy one-element axis (usually of same type as before, although special cases apply for specific reduction nodes). One may also list a comma-separated list of axes here to reduce over multiple axes at a time. If this is left blank or set to None, then all axes will be reduced over; this can be used to obtain a single float value if keep_axis is also set to False.- verbose name: Act Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
axis_occurrence
Index of the occurrence of the axis of desired type. (0
is the first axis of the desired type,1
is the second,-1
is the last,-2
is the second-to-last, and so on).- verbose name: Axis Occurrence
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
keep_axis
Keep the axis that was reduced as a singleton axis in the data.- verbose name: Keep Reduced Axis
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
ignore_nans
If activated the channels containing nan values are ignored.- verbose name: Ignore Channels With Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
force_feature_axis
Always create a feature axis, even when the statistic is taken over an axis that could natively represent the reduced domain.- verbose name: Force Conversion To Feature Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
RMANOVA
Calculate repeated measures ANOVA.
This node is best used on multi-subject data, when each subject is tested at multiple within-subject conditions. This node requires that all within-subject conditions be balanced. i.e., each combination of within-subject factors must have the same number of subjects.
Version 1.0.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
A packet containing one or more instanced data chunks.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
univar_stats
A packet containing the results of the mass univariate RMANOVAs.- verbose name: Univar Stats
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
subject_field
The name of the field in the instance axis data that contains the categorical subject id.- verbose name: Subject Field
- default value: Subject
- port type: StringPort
- value type: str (can be None)
-
within_fields
The name(s) of the field(s) in the instance axis data that contain other categorical variables that vary within each subject.- verbose name: Within Fields
- default value: None
- port type: ListPort
- value type: list (can be None)
-
aggregate_func
If the data set contains more than a single observation per subject and cell of the specified model, this function will be used to aggregate the data before running the Anova.None
(the default) will not perform any aggregation- verbose name: Aggregate Func
- default value: none
- port type: EnumPort
- value type: str (can be None)
-
use_caching
Enable caching.- verbose name: Use Caching
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
RootMeanSquare
Compute the root mean square over a given axis.
The chosen axis will be removed from the data and replaced by a new one-element feature axis. In the special case that the RMS is taken over time or instances, a dummy time/instance axis will be retained, unless this behavior is overriden using the force feature axis parameter. It is also possible to compute a robust variant of the mean instead.
Version 1.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to take the statistic. This axis will drop out of the data and, if keep_axis is set, is replaced by a dummy one-element axis (usually of same type as before, although special cases apply for specific reduction nodes). One may also list a comma-separated list of axes here to reduce over multiple axes at a time. If this is left blank or set to None, then all axes will be reduced over; this can be used to obtain a single float value if keep_axis is also set to False.- verbose name: Act Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
axis_occurrence
Index of the occurrence of the axis of desired type. (0
is the first axis of the desired type,1
is the second,-1
is the last,-2
is the second-to-last, and so on).- verbose name: Axis Occurrence
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
keep_axis
Keep the axis that was reduced as a singleton axis in the data.- verbose name: Keep Reduced Axis
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
robust
Use robust estimator (median). Enabling this will make the node more robust to outlier elements, but if the data is clean, then the statistic will be somewhat less precise than it it could be.- verbose name: Use Robust Estimator
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
ignore_nans
If activated the channels containing nan values are ignored.- verbose name: Ignore Channels With Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
force_feature_axis
Always create a feature axis, even when the statistic is taken over an axis that could natively represent the reduced domain.- verbose name: Force Conversion To Feature Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Smallest
Find the smallest value along a given axis.
The chosen axis will be removed from the data and replaced by a new one-element feature axis. This node can return either the value (default) or the index of the smallest elements, and it can optionally ignore nan values.
Version 1.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to take the statistic. This axis will drop out of the data and, if keep_axis is set, is replaced by a dummy one-element axis (usually of same type as before, although special cases apply for specific reduction nodes). One may also list a comma-separated list of axes here to reduce over multiple axes at a time. If this is left blank or set to None, then all axes will be reduced over; this can be used to obtain a single float value if keep_axis is also set to False.- verbose name: Act Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
axis_occurrence
Index of the occurrence of the axis of desired type. (0
is the first axis of the desired type,1
is the second,-1
is the last,-2
is the second-to-last, and so on).- verbose name: Axis Occurrence
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
keep_axis
Keep the axis that was reduced as a singleton axis in the data.- verbose name: Keep Reduced Axis
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
output
Output the values or the indices of the smallest elements.- verbose name: Output Type
- default value: values
- port type: EnumPort
- value type: str (can be None)
-
ignore_nans
If set, any nan values in the data are ignored.- verbose name: Ignore Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
force_feature_axis
Always create a feature axis, even when the statistic is taken over an axis that could natively represent the reduced domain.- verbose name: Force Conversion To Feature Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
StandardDeviation
Compute the standard deviation of the data over a given axis.
The chosen axis will be removed from the data and replaced by a new one-element feature axis. In the special case that the std. is taken over time, a dummy time axis will be retained, unless this behavior is overriden using the force feature axis parameter. It is also possible to compute a robust variant of the mean instead. If the robust parameter is set to True, the node will compute the scaled median absolute deviation (MAD) instead of the standard deviation using the 1.4826 (maximum-entropy) scaling factor. Note that, if you apply this over time on unsegmented streaming data, you are almost certainly doing it wrong, because streaming chunks can be very short, yielding erratic std. values -- more reasonable uses of the std. are on segmented data, or over other axes. If you need a moving-window estimate of std., and your signal is zero-mean (e.g., highpass filtered), you can also just use a Squaring node followed by a Moving Average node, followed by a SquareRoot node).
Version 1.0.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to take the statistic. This axis will drop out of the data and, if keep_axis is set, is replaced by a dummy one-element axis (usually of same type as before, although special cases apply for specific reduction nodes). One may also list a comma-separated list of axes here to reduce over multiple axes at a time. If this is left blank or set to None, then all axes will be reduced over; this can be used to obtain a single float value if keep_axis is also set to False.- verbose name: Act Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
axis_occurrence
Index of the occurrence of the axis of desired type. (0
is the first axis of the desired type,1
is the second,-1
is the last,-2
is the second-to-last, and so on).- verbose name: Axis Occurrence
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
keep_axis
Keep the axis that was reduced as a singleton axis in the data.- verbose name: Keep Reduced Axis
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
degrees_of_freedom
Number of degrees of freedom to subtract. Setting this to 1 amounts to applying "Bessel's correction", which yields a less biased approximation of the (infinite) population standard deviation from which the sample is assumed to be drawn. If set to 0, the maximum-likelihood estimate of the (finite) sample's standard deviation is returned. Other values can be used for special use cases.- verbose name: Degrees Of Freedom To Subtract
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
ignore_nans
If activated the channels containing nan values are ignored.- verbose name: Ignore Channels With Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
robust
Use robust estimator (scaled median absolute deviation). Enabling this will make the node more robust to outlier elements, but if the data is clean, then the statistic will be somewhat less precise than it it could be.- verbose name: Use Robust Estimator
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
force_feature_axis
Always create a feature axis, even when the statistic is taken over an axis that could natively represent the reduced domain.- verbose name: Force Conversion To Feature Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Standardization
Scale the data such that it is standardized.
Standardization will scale the data such that the standard deviation (or some other measure of choice) is 1.0. Note that this does not set the mean of the data to zero, though (that is handled by the Centering node, and should be done beforehand, unless the data is already zero, for instance after highpass filtering, or you do not want the mean to be zero). Note that, if your data is segmented or otherwise comes in the form of multiple instances, you can decide whether the statistics should be taken over the instances or over the time axis in each instance. You also can decide whether the statistics should be updated on every chunk, or if it should only be updated on the calibration data (non-streaming chunks), and whether they should be recomputed on subsequent non-streaming chunks ( e.g., subsequent test data). Note that there is also a moving-window standardization node available, though that one will by default also correct the mean.
Version 1.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
axis
Axis over which the statistic should be aggregated. For instance, if this is set to time, then the mean/standard deviation will be computed over time. If a comma-separated list of axes are given (e.g., time, instance), then the data are pooled along those axes before the statistic is taken.- verbose name: Take Statistics Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
measure
Measure to use for standardization. After standardizing, the measure will yield 1.0 on the standardized data. Mad is the median absolute deviation (a robust alternative to the standard deviation).- verbose name: Standardize Using Measure
- default value: std
- port type: EnumPort
- value type: str (can be None)
-
adapt_on_streaming
Adapt state parameters on streaming chunks. If this is False (the default), then this node will not adapt itself on streaming chunks, i.e., only on non-streaming chunks, such as imported calibration recordings. This is useful if the streaming chunks would be too short to meaningfully adapt the parameters on and the calibration recording is sufficietly similar to the streaming data for it to be meaningful to adapt the state only on these data. Or if set to True, the node will simply adapt itself on every chunk it receives, whether it is streaming or not.- verbose name: Adapt On Streaming Chunks
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
initialize_once
Initialize (adapt state parameters) only once. If False, this node will recalibrate itself on any qualifying chunk (based on the setting of adapt on streaming chunks).- verbose name: Adapt Only Once
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
ignore_resets
Ignore signal resets.- verbose name: Ignore Resets
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Sum
Compute the sum along a given axis.
The chosen axis will be removed from the data and replaced by a new one-element feature axis. In the special case that the sum is taken over time, a dummy time axis will be retained, unless this behavior is overriden using the force feature axis parameter.
Version 1.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to take the statistic. This axis will drop out of the data and, if keep_axis is set, is replaced by a dummy one-element axis (usually of same type as before, although special cases apply for specific reduction nodes). One may also list a comma-separated list of axes here to reduce over multiple axes at a time. If this is left blank or set to None, then all axes will be reduced over; this can be used to obtain a single float value if keep_axis is also set to False.- verbose name: Act Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
axis_occurrence
Index of the occurrence of the axis of desired type. (0
is the first axis of the desired type,1
is the second,-1
is the last,-2
is the second-to-last, and so on).- verbose name: Axis Occurrence
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
keep_axis
Keep the axis that was reduced as a singleton axis in the data.- verbose name: Keep Reduced Axis
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
ignore_nans
If activated the channels containing nan values are ignored.- verbose name: Ignore Channels With Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
force_feature_axis
Always create a feature axis, even when the statistic is taken over an axis that could natively represent the reduced domain.- verbose name: Force Conversion To Feature Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
TTest
Compute a t-test.
This node supports 1-sample and 2-sample unpaired and paired t-tests. The node requires that the data has an instance axis. In order to use 2-sample t-tests, the instance axis must have a field (e.g., 'Marker' or 'TargetValue') according to which the individual trials can be grouped. For paired t-tests, an additional field in the instance axis is required (e.g., 'Subject') that identifies trials that shall be paired. The node performs multiple mass-univariate t-tests when additional axes are present in the data. The sign of the 2-sample t-test will be the result of element1-element2, where element1 and element2 are the trials to be compared, specified in that order in the 'grouping' parameter (or previously with SelectInstances). In the output packet, the instance axis will be replaced by a feature axis (with the 'statistic_types' custom label), with fields for the t-stat, p-val and Cohen's D values. Returned p-values are 2-sided (2-tailed); the 1-tailed value is half the returned value but is only valid for effects with the hypothesized sign. (Note: For backward compatibility reasons (versions < 1.2.0), legacy_mode is set to True and therefore this node will store the stats in a Feature axis instead of a Statistic axis. Please update your pipelines as needed to assume a Statistic axis and then set legacy_mode to False. This will be deprecated in a future release.)
Version 1.2.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
A packet containing at least one signal chunk with an instance axis. For two-sample t-tests, the instances must be separated into two groups according to an instance axis data field. For paired t-tests, these two groups must be identical in size and have another instance axis data field to indicate sample pairing.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
comparison_value
For 1-sample t-test, compare mean against this value.- verbose name: Comparison Value
- default value: 0
- port type: FloatPort
- value type: float (can be None)
-
nan_policy
Defines how to handle when input contains nan. ‘propagate’ returns nan, ‘raise’ throws an error, ‘omit’ performs the calculations ignoring nan values. Default is ‘propagate’.- verbose name: Nan Policy
- default value: propagate
- port type: EnumPort
- value type: str (can be None)
-
grouping
A dictionary that describes how the instance axis should be split up to separate instances into two groups for two-sample t-tests. The dict key indicates the instance axis field, and its value is a length-2 list of items to which the instance data are compared to determine grouping. The t-test will be performed on the two items in the order in which they are specified, for example, {'Marker': ['Post', 'Pre']}, will separate instances according to the Marker value, and the t-test will be result of post-pre. Alternatively, this can be left blank if you use SelectInstances to select the trials to test (again listing them in the order in which the operation is to be performed), followed by DescribeStatisticalDesign if grouping determined by a field other than TargetValue (if available) or Marker.- verbose name: Grouping
- default value: None
- port type: DictPort
- value type: dict (can be None)
-
equal_var
If True, perform a standard independent 2 sample test that assumes equal population variances. If False (default), perform Welch’s t-test, which does not assume equal population variance. This parameter is used only by 2 independent sample test.- verbose name: Equal Var
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
pairing_field
The name of the field in the instance axis data that links pairs of instances that have been separated according to the grouping parameter. Providing this parameter indicates that a paired t-test is desired.- verbose name: Pairing Field
- default value: None
- port type: StringPort
- value type: str (can be None)
-
trim_proportion
Proportion of data instances to trim (per variable) on the lower and upper tails of the data. If only a single number is provided then it is used for both lower and upper. If no non-zero numbers are provided then no trimming is performed (default).- verbose name: Trim Proportion
- default value: [0, 0]
- port type: ListPort
- value type: list (can be None)
-
winsorize
If trim_proportion has a non-zero value, then setting winsorize to True (default) will cause winsorization to be used instead of standard trimming.- verbose name: Winsorize
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
legacy_mode
Store the statistics in a Feature axis instead of a Statistic axis. Included for backward compatibility and will be deprecated.- verbose name: Legacy Output Format
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
use_caching
Enable caching.- verbose name: Use Caching
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
TTestTwoInput
This node support 1-sample and 2-sample unpaired and paired t-tests.
The node requires that the data have an instance axis. For a one-sample t-test, the data in in the second input serves as the null-hypothesis value to compare against and must have either no instance axis, or only a since instance in its instance axis. For a two-sample unpaired t-test, the data in both inputs must have the same shape, except that they can have different numbers of instances. For a paired test, the packets must also have the same number of instances. Pairing assumes that the trials in both packets are ordered the same way. In the output packet, the instance axis will be replaced by a statistic axis (with label 'statistic_types'), which has fields for the t-value and the p-value. A feature axis with label 'explanatory_variables' will be added with with the element 'data1 vs data2'. (Note: For backward compatibility reasons (versions < 0.9.0), legacy_mode is set to True and therefore this node will store the stats in a Feature axis instead of a Statistic axis. Please update your pipelines as needed to assume a Statistic axis and then set legacy_mode to False. This will be deprecated in a future release.)
Version 0.9.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
A packet containing at least one signal chunk with an instance axis.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
data2
A packet containing signal chunks with names matching those in data. If matching chunks have an instance axis of length > 1 then a two-sample t-test is performed. If matching chunks do not have an instance axis or an instance axis of length==1, then a one sample t-test is performed and the values in data2 are used as a comparison value. Other than the instance axis, data2 will be repeated along axes with length==1 to match the shape of data.- verbose name: Data2
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: IN
-
perform_paired_test
If True then a paired t-test comparing data and data2 is performed. If False (default), then an independent samples t-test is performed. Paired t-test requires that the length of data2 instance axis is the same as in data.- verbose name: Perform Paired Test
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
nan_policy
Defines how to handle when input contains nan. ‘propagate’ returns nan, ‘raise’ throws an error, ‘omit’ performs the calculations ignoring nan values. Default is ‘propagate’.- verbose name: Nan Policy
- default value: propagate
- port type: EnumPort
- value type: str (can be None)
-
equal_var
If True, perform a standard independent 2 sample test that assumes equal population variances. If False (default), perform Welch’s t-test, which does not assume equal population variance. This parameter is used only by 2 independent sample test.- verbose name: Equal Var
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
legacy_mode
Store the statistics in a Feature axis instead of a Statistic axis. Included for backward compatibility and will be deprecated.- verbose name: Legacy Output Format
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
use_caching
Enable caching.- verbose name: Use Caching
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Variance
Compute the variance of the data over a given axis.
The chosen axis will be removed from the data and replaced by a new one-element feature axis. In the special case that the variance is taken over time, a dummy time axis will be retained, unless this behavior is overriden using the force feature axis parameter. It is also possible to compute a robust variant of the mean instead. Note that, if you apply this over time on unsegmented streaming data, you are almost certainly doing it wrong, because streaming chunks can be very short, yielding erratic variance values -- more reasonable uses of the variance are on segmented data, or over other axes. If you need a moving-window estimate of variance, and your signal is zero-mean (e.g., highpass filtered), you can also just use a Squaring node followed by a Moving Average node).
Version 1.1.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: AnyNumeric (can be None)
- data direction: INOUT
-
axis
Axis along which to take the statistic. This axis will drop out of the data and, if keep_axis is set, is replaced by a dummy one-element axis (usually of same type as before, although special cases apply for specific reduction nodes). One may also list a comma-separated list of axes here to reduce over multiple axes at a time. If this is left blank or set to None, then all axes will be reduced over; this can be used to obtain a single float value if keep_axis is also set to False.- verbose name: Act Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
axis_occurrence
Index of the occurrence of the axis of desired type. (0
is the first axis of the desired type,1
is the second,-1
is the last,-2
is the second-to-last, and so on).- verbose name: Axis Occurrence
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
keep_axis
Keep the axis that was reduced as a singleton axis in the data.- verbose name: Keep Reduced Axis
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
degrees_of_freedom
Number of degrees of freedom to subtract. Setting this to 1 amounts applying Bessel's correction, which yields an unbiased estimate of the (infinite) population variance from which the sample is assumed to be drawn. If set to 0, the maximum-likelihood estimate of the (finite) sample's variance is computed. Other values can be used for special use cases.- verbose name: Degrees Of Freedom To Subtract
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
ignore_nans
If activated the channels containing nan values are ignored.- verbose name: Ignore Channels With Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
force_feature_axis
Always create a feature axis, even when the statistic is taken over an axis that could natively represent the reduced domain.- verbose name: Force Conversion To Feature Axis
- default value: False
- port type: BoolPort
- value type: bool (can be None)
Winsorize
Winsorize the given data.
This node will process the data along a given axis (usually the instance axis), and apply winsorization. In short, it will clip the data at a level that corresponds to a lower and upper percentile (e.g., 10th and 90th) of the data. This is a technique in robust data analysis that allows for subsequent statistics to be resilient to a certain fraction of outliers.
Version 0.8.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
axis
Axis along which to winsorize the data.- verbose name: Take Statistics Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
trim_proportion_lower
Proportion to trim on the lower end of the data.- verbose name: Lower Proportion
- default value: 0.1
- port type: FloatPort
- value type: float (can be None)
-
trim_proportion
Proportion to trim on the upper end of the data.- verbose name: Upper Proportion
- default value: 0.1
- port type: FloatPort
- value type: float (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
ZScoring
Produce z-scored data, that is, data with a mean of zero and a variance of one.
The resulting data can be interpreted to be scores in units of standard deviations (Z units), relative to the sample mean. Note that, if your data is segmented or otherwise comes in the form of multiple instances, you can decide whether the statistics should be taken over the instances or over the time axis in each instance. You also can decide whether the statistics should be updated on every chunk, or if it should only be updated on the calibration data (non-streaming chunks), and whether they should be recomputed on subsequent non-streaming chunks (e.g., subsequent test data). Note that there is also a moving-window standardization node available.
Version 1.2.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
axis
Axis over which the statistic should be aggregated. For instance, if this is set to time, then the mean/standard deviation will be computed over time.- verbose name: Take Statistics Along Axis
- default value: instance
- port type: ComboPort
- value type: str (can be None)
-
pop_correction
Use Bessel's correction for the population standard deviation. If True, the standard deviation will be scaled by 1/(N-1), which yields a less biased estimate of the standard deviation of the (infinite) population from which the sample is assumed to be drawn, while if False, it will be scaled by 1/N, which yields the maximum-likelihood standard deviation estimate for the (finite) sample. Note that this is not applicable (and therefore ignored) in the robust mode, where the median absolute deviation is used instead of the standard deviation.- verbose name: Use Population Estimate
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
robust
Use robust estimators (median and median absolute deviation). Enabling this will make the node more robust to outlier elements, but if the data is clean, then the statistic will be somewhat less precise than it it could be.- verbose name: Use Robust Estimator
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
adapt_on_streaming
Adapt state parameters on streaming chunks. If this is False (the default), then this node will not adapt itself on streaming chunks, i.e., only on non-streaming chunks, such as imported calibration recordings. This is useful if the streaming chunks would be too short to meaningfully adapt the parameters on and the calibration recording is sufficietly similar to the streaming data for it to be meaningful to adapt the state only on these data. Or if set to True, the node will simply adapt itself on every chunk it receives, whether it is streaming or not.- verbose name: Adapt On Streaming Chunks
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
constrain
Optionally constrain data to have the same scale across one or more axes. Multiple axes can be given as a comma-separated list. If 2 axes are given, rank-1 offset and scale matrices are estimated using SVD and NMF, respectively.- verbose name: Constrain
- default value:
- port type: ComboPort
- value type: str (can be None)
-
initialize_once
Initialize (adapt state parameters) only once. If False, this node will recalibrate itself on any qualifying chunk (based on the setting of adapt on streaming chunks).- verbose name: Adapt Only Once
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
ignore_resets
Ignore signal resets.- verbose name: Ignore Resets
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
ignore_nans
If activated the data containing nan values are ignored.- verbose name: Ignore Channels With Nan Values
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
epsilon
Optional epsilon value to prevent div by 0.- verbose name: Epsilon
- default value: 0
- port type: FloatPort
- value type: float (can be None)
-
partition_size
Partition size. Optionally a size of chunks into which data shall be partitioned to conserve memory (if robust=True). This is done along the last axis of the data that isn't the axis of interest. This is a rarely used feature.- verbose name: Partition Size
- default value: None
- port type: IntPort
- value type: int (can be None)
-
backend
Compute backend to use.- verbose name: Backend
- default value: keep
- port type: EnumPort
- value type: str (can be None)
-
precision
Numeric precision to use. Can be reduced to save memory (e.g. if running on GPU).- verbose name: Precision
- default value: keep
- port type: EnumPort
- value type: str (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)
ZTest
Calculate a z-test.
This node support 1-sample and 2-sample unpaired and paired z-tests. The node requires that the data has an instance axis. In order to use 2-sample z-tests, the instance axis must have a field (e.g., 'Marker' or 'TargetValue') according to which the individual trials can be grouped. The node performs multiple mass-univariate z-tests when additional axes are present in the data. In the output packet, the instance axis will be replaced by a statistic axis (with label 'statistic_types'), which has fields for the z-value and the p-value. A feature axis is also added (with label 'explanatory_variables'), with a single element specifying the comparison pair. (Note: For backward compatibility reasons (versions < 0.9.0), legacy_mode is set to True and therefore this node will store the stats in a Feature axis instead of a Statistic axis. Please update your pipelines as needed to assume a Statistic axis and then set legacy_mode to False. This will be deprecated in a future release.)
Version 0.9.0
Ports/Properties
-
metadata
User-definable meta-data associated with the node. Usually reserved for technical purposes.- verbose name: Metadata
- default value: {}
- port type: DictPort
- value type: dict (can be None)
-
data
A packet containing at least one signal chunk with an instance axis. For two-sample z-tests, the instances must be separated into two groups according to an instance axis data field. For paired z-tests, these two groups must be identical in size and have another instance axis data field to indicate sample pairing.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
comparison_value
In the one sample case, value is the mean under the Null hypothesis. In the two sample case, value is the difference between means under the Null hypothesis. The test statistic isx1_mean - x2_mean - value
.- verbose name: Comparison Value
- default value: 0
- port type: FloatPort
- value type: float (can be None)
-
trim_proportion
Proportion of data instances to trim (per variable) on the lower and upper tails of the data. If only a single number is provided then it is used for both lower and upper. If no non-zero numbers are provided then no trimming is performed (default).- verbose name: Trim Proportion
- default value: [0, 0]
- port type: ListPort
- value type: list (can be None)
-
winsorize
If trim_proportion has a non-zero value, then setting winsorize to True (default) will cause winsorization to be used instead of standard trimming.- verbose name: Winsorize
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
legacy_mode
Store the statistics in a Feature axis instead of a Statistic axis. Included for backward compatibility, and will be deprecated.- verbose name: Legacy Mode
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
use_caching
Enable caching.- verbose name: Use Caching
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
set_breakpoint
Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.- verbose name: Set Breakpoint (Debug Only)
- default value: False
- port type: BoolPort
- value type: bool (can be None)