This node plots a 2D Kernel density function based on an incoming data table
A variety of kernel estimators are available, as shown in the table:
|UNIFORM||K(u) = 0.5 (|u| ≤ 1), 0 (|u) > 1); aka 'Uniform' or 'Boxcar'|
|TRIANGLE||K(u) = 1-|u| (|u| ≤ 1), 0 (|u) > 1)|
|EPANECHNIKOV||K(u) = 3•(1-u²)/4 (|u| ≤ 1), 0 (|u) > 1)|
|QUARTIC||K(u) = 15•(1-u²)²/16 (|u| ≤ 1), 0 (|u) > 1)|
|TRIWEIGHT||K(u) = 35•(1-u²)³/32 (|u| ≤ 1), 0 (|u) > 1)|
|TRICUBE||K(u) = 70•(1-|u|³)³/81 (|u| ≤ 1), 0 (|u) > 1)|
|GAUSSIAN||K(u) = e^(-u²/2) / √(2π)|
|COSINUS||K(u) = (π/4)•cos(πu/2) (|u| ≤ 1), 0 (|u) > 1)|
|LOGISTIC||K(u) = 1/(e^u + 2 + e^-u)|
|SIGMOID||K(u) = 2/(π•(e^u + e^-u))|
|SILVERMAN||K(u) = 0.5•e^(-|u|/√2)•sin((|u|/√2) + (π/4))|
In the 2D case, u is a vector. The 'Kernel Symmetry' option controls how the 1-dimensional 'Kernel Estimator' is applied, as shown in the table
|RADIAL_MULTIPLICATIVE||The kernel estimator is applied multiplicatively across dimensions, e.g. K(u) = K(u(x)) • K(u(y)), where u(x) is the x-dimension component of u, and u(y) the y-dimension component|
|SPHERICAL||The kernel estimator is applied spherically symmetrically - i.e. any point of the same distance from the kernel estimator center has the same value. This is equivalent to K(u) = K(√uᵀu)|
The bandwidth effects the 'smoothness' of the kernel density function. There are a number of methods to automatically guess a suitable bandwidth. In this node we only offer three options, as shown in the table below. For further details see the Wikipedia Multivariate Kernel Density estimation page. Bandwidths and estimation methods are set independantly for each dimension. The bandwidth matrix, H is a diagonal matrix. Currently off-diagonal elements are not supported.
The methods offered are:
|Silverman||Bandwidth is estimated using the Silverman approximation (H = stdDev * [4 / ((d + 2) * n)]^(1 / (d + 4)), where d is thenumber of dimensions and n the number of datapoints)|
|Scott||Bandwidth is estimated using the Scott approximation (H = stdDev / n^(1 / (d + 4)), where d is thenumber of dimensions and n the number of datapoints)|
|User Defined||The user specifies the bandwidth (H)|
You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.
A zipped version of the software site can be downloaded here.
Do you have feedback, questions, comments about NodePit, want to support this platform, or want your own nodes or workflows listed here as well? Do you think, the search results could be improved or something is missing? Then please get in touch! Alternatively, you can send us an email to firstname.lastname@example.org, follow @NodePit on Twitter, or chat on Gitter!
Please note that this is only about NodePit. We do not provide general support for KNIME — please use the KNIME forums instead.