Я хочу обнаружить выбросы с помощью 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


Я немного запутался. Вам нужны 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]
Итак, APPROX_QUANTILES (Menge, 4) даст вам эти значения как 2-е и 4-е значения в массиве. Но может быть, вам будут полезнее PERCENTILE_CONT и PERCENTILE_DISC? cloud.google.com/bigquery/docs/reference/standard-sql/…
Хорошо, теперь я понял. Я думал, что APPROX_Quantiles уже даст мне 75,50,25 квантилей.
ВЫБЕРИТЕ процентили [смещение (25)], процентили [смещение (50)], процентили [смещение (75)] ИЗ (ВЫБЕРИТЕ APPROX_QUANTILES (Менге, 100) процентили ОТ ... Сделал это
Также может быть решение:
SELECT percentiles[offset(25)], percentiles[offset(50)], percentiles[offset(75)]
FROM (SELECT APPROX_QUANTILES(Menge, 100) percentiles FROM
Смотрите мою правку. Обычно я ожидал бы других квантилей. Так что все, начиная с 61 года и ниже и все, начиная с 253 года, может быть потенциальным выбросом.