Преобразование density
Преобразование density создаёт новый поток равномерно расположенных точек одномерной функции плотности вероятности (PDF) или функции распределения (CDF). Оно помогает показывать распределения вероятностей и получать непрерывную оценку по дискретной выборке методом ядерной оценки плотности.
Параметры преобразования
| Свойство | Тип | Описание |
|---|---|---|
| distribution | Распределение | Обязательно. Объект с типом и параметрами распределения. См. справочник распределений. |
| extent | Number[ ] | Диапазон [min, max] для выборки точек распределения. Обычно обязателен, но может быть опущен для распределений, которые определяют границы самостоятельно, например kde. |
| method | String | Вид выходной функции: pdf (по умолчанию) или cdf. |
| minsteps | Number | Минимальное число точек выборки в диапазоне extent для построения плотности (по умолчанию 25). ≥ 5.4 |
| maxsteps | Number | Максимальное число точек выборки в диапазоне extent для построения плотности (по умолчанию 200). ≥ 5.4 |
| steps | Number | Точное число равномерных точек выборки в диапазоне extent. Переопределяет minsteps и maxsteps. Вместе с фиксированным диапазоном помогает получить одинаковые точки для плотностей с накоплением. |
| as | String[ ] | Имена выходных полей со значением точки выборки и соответствующим значением плотности или функции распределения, в зависимости от method (по умолчанию ["value", "density"]). |
Виды распределений
# normal
Нормальное (гауссово) распределение с заданным средним mean и стандартным отклонением stdev.
| Свойство | Тип | Описание |
|---|---|---|
| function | String | Значение "normal". |
| mean | Number | Среднее распределения (по умолчанию 0). |
| stdev | Number | Стандартное отклонение распределения (по умолчанию 1). |
# uniform
Непрерывное равномерное распределение на интервале [min, max).
| Свойство | Тип | Описание |
|---|---|---|
| function | String | Значение "uniform". |
| min | Number | Минимальное значение (по умолчанию 0). |
| max | Number | Максимальное значение (по умолчанию 1). |
# kde
Ядерная оценка плотности для набора числовых значений. Гауссово ядро создаёт сглаженную непрерывную оценку распределения вероятностей.
| Свойство | Тип | Описание |
|---|---|---|
| function | String | Значение "kde". |
| from | Data | Имя набора данных для анализа. |
| field | Field | Поле данных со значениями для моделирования. |
| bandwidth | Number | Необязательная ширина гауссова ядра. При 0 (по умолчанию) она автоматически оценивается по входным данным. |
# mixture
Смесь распределений вероятностей, при необходимости взвешенная. Параметр distributions содержит массив объектов распределений, а weights — необязательные относительные веса каждого из них.
| Свойство | Тип | Описание |
|---|---|---|
| function | String | Значение "mixture". |
| distributions | Распределение[ ] | Массив объектов с описаниями распределений. |
| weights | Number[ ] | Необязательные веса распределений. Они нормируются так, чтобы их сумма равнялась 1. Отсутствующие значения до нормировки считаются равными 1. |
Использование
{
"type": "density",
"extent": [0, 10],
"distribution": {
"function": "normal",
"mean": 5,
"stdev": 2
}
}
Создаёт поток точек нормального распределения со средним 5 и стандартным отклонением 2 в диапазоне [0, 10]. Число точек подбирается автоматически с учётом параметров minsteps и maxsteps; чтобы задать его явно, используйте steps.
{
"type": "density",
"steps": 200,
"distribution": {
"function": "kde",
"from": "table",
"field": "value"
}
}
Оценивает плотность значений поля value в наборе данных table с автоматически выбранной шириной ядра. Создаёт поток из 200 равномерно расположенных точек между наименьшим и наибольшим наблюдаемыми значениями.