Квантили BigQuery

Я хочу обнаружить выбросы с помощью BigQuery и Datalab. МИН и МАКС дают мне одинаковые значения, но квантили разные. BigQuery дал мне

Row f0_    f1_      approx_quantiles     
1   0.01   820.55   0.01     
                    190.04   
                    820.55

что кажется неправильным, это просто мин и макс. Datalab предоставил мне другие квантили.

Я сделал:

SELECT MIN(Menge),MAX(Menge),APPROX_QUANTILES(Menge,2)  AS approx_quantiles  FROM `nifty-stage-155512.de_veolia_vus_dev_views.tank_data_4`

Кто-то другой испытал то же самое или у кого-то есть решения ???

Редактировать

Из datalab я получаю

0.25     61.645
0.50    190.000
0.75    253.000
Name: MENGE, dtype: float64
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
1 172
2

Ответы 2

Я немного запутался. Вам нужны 25-й и 75-й квантили? Из документации.

APPROX_QUANTILES

APPROX_QUANTILES([DISTINCT] expression, number [{IGNORE|RESPECT} NULLS])

Description

Returns the approximate boundaries for a group of expression values, where number represents the number of quantiles to create. This function returns an array of number + 1 elements, where the first element is the approximate minimum and the last element is the approximate maximum.

Если вам нужно больше квантилей, вам нужно увеличить значение для «числа». Таким образом, 4 даст вам, например, [min, 25, 50, 75, max]

Смотрите мою правку. Обычно я ожидал бы других квантилей. Так что все, начиная с 61 года и ниже и все, начиная с 253 года, может быть потенциальным выбросом.

ASP YOK 17.07.2018 17:07

Итак, APPROX_QUANTILES (Menge, 4) даст вам эти значения как 2-е и 4-е значения в массиве. Но может быть, вам будут полезнее PERCENTILE_CONT и PERCENTILE_DISC? cloud.google.com/bigquery/docs/reference/standard-sql/…

Bobbylank 17.07.2018 17:10

Хорошо, теперь я понял. Я думал, что APPROX_Quantiles уже даст мне 75,50,25 квантилей.

ASP YOK 17.07.2018 17:20

ВЫБЕРИТЕ процентили [смещение (25)], процентили [смещение (50)], процентили [смещение (75)] ИЗ (ВЫБЕРИТЕ APPROX_QUANTILES (Менге, 100) процентили ОТ ... Сделал это

ASP YOK 17.07.2018 17:21

Также может быть решение:

SELECT percentiles[offset(25)], percentiles[offset(50)], percentiles[offset(75)]
FROM (SELECT APPROX_QUANTILES(Menge, 100) percentiles FROM 

Другие вопросы по теме