Группировка записей и получение интервалов стандартного отклонения для сгруппированных записей в BigQuery, получение неправильного значения - PullRequest
0 голосов
/ 14 января 2020

У меня есть SQL ниже, что позволяет получить среднее значение интервала столбца метки времени, сгруппированного по icao_address, flight_number, flight_date. Я пытаюсь сделать то же самое для стандартного отклонения, и хотя я получаю цифру, это неправильно. Стандартное отклонение, которое я получаю, составляет 14,06 (посмотрите на изображение ниже), тогда как оно должно быть около 1,8.

Ниже приведено то, что я использую для расчета stddev.

STDDEV_POP(UNIX_SECONDS(timestamp))as standard_deviation

Ниже мой SQL

#standardSQL

select DATE(timestamp) as flight_date, safe_divide(timestamp_diff(max(timestamp), min(timestamp),SECOND), (COUNT(DISTINCT(timestamp)) - 1))as avg_interval_message, STDDEV_POP(UNIX_SECONDS(timestamp))as standard_deviation,  
icao_address, flight_number, min(timestamp) as firstrecord, max(timestamp) as lastrecord, count(timestamp) as target_updates
from `ais-data-analysis._analytics._aoi_table`
group by icao_address, flight_number, flight_date
having avg_interval_message is not null and flight_number is not null and icao_address = '4B8E41' 
order by flight_date, avg_interval_message ASC


Столбец метки времени - это то, что я пытаюсь получить стандартное отклонение, интервалов между ними, это 10 записей

enter image description here

enter image description here

1 Ответ

0 голосов
/ 14 января 2020

Вы можете использовать STDDEV_POP(<FLOAT>) для расчета стандартного отклонения, как вы видите здесь

Описание

Возвращает население (смещенное) стандартное отклонение значений. Возвращаемый результат находится в диапазоне от 0 до + Inf.

Эта функция игнорирует любые входные значения NULL. Если все входы игнорируются, эта функция возвращает NULL.

Если эта функция получает один не ненулевой вход, она возвращает 0.

Поддерживаемые типы ввода

FLOAT64

Дополнительные пункты

Предложения применяются в следующем порядке:

OVER: указывает окно. См. Функции Analyti c. Этот пункт в настоящее время несовместим со всеми другими пунктами в STDDEV_POP (). DISTINCT: Каждое отдельное значение выражения агрегируется только один раз в результат.

Тип возвращаемых данных

FLOAT64

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...