Преобразование kde2d
Преобразование kde2d ≥ 5.8 выполняет двумерную ядерную оценку плотности входного потока данных. Результат — одна или несколько растровых сеток (матриц) оценок плотности. Их можно передать последующим преобразованиям isocontour или heatmap. Полный пример показан в контурной диаграмме.
Параметры преобразования
| Свойство | Тип | Описание |
|---|---|---|
| size | Number[ ] | Обязательно. Размеры области [width, height], в которой оценивается плотность. |
| x | Field | Обязательно. Поле с координатой X для оценки плотности. |
| y | Field | Обязательно. Поле с координатой Y для оценки плотности. |
| weight | Field | Поле с весом точки. Если не задано, вес каждой точки равен 1. |
| groupby | Field[ ] | Поля для группировки. Если не заданы, все объекты данных образуют одну группу. |
| cellSize | Number | Размер ячейки для расчёта плотности; определяет пространственную точность приближения. При значении 4 по умолчанию базовые ширина и высота расчётной сетки уменьшаются в четыре раза. При 1 базовые размеры соответствуют параметру size. Сглаживание может добавить поля по краям выходной сетки. |
| bandwidth | Number[ ] | Ширина ядра KDE: массив из двух значений для осей X и Y или из одного общего значения. Если значения не заданы или отрицательны, ширина выбирается автоматически. |
| counts | Boolean | Выводить оценку вероятности (false, по умолчанию) или сглаженное количество (true). |
| as | String | Имя выходного поля для созданной растровой сетки (по умолчанию "grid"). |
Использование
Пример строит 10 уровней контуров двумерной ядерной оценки плотности. Преобразование kde2d берёт предварительно вычисленные координаты точек из полей x_value и y_value, а сигналы width и height задают область оценки. Затем isocontour строит контуры уровней по полученной растровой сетке.
{
"type": "kde2d",
"x": "x_value",
"y": "y_value",
"size": [{"signal": "width"}, {"signal": "height"}],
"as": "grid"
},
{
"type": "isocontour",
"field": "grid",
"levels": 10
}