Перейти к содержанию

PCA

PCA(Principal component analysis) - это статистическая процедура, которая использует ортогональную трансформацию, чтобы из наблюдаемого датасета вероятно коррелирующих переменных получить набор линейно не коррелирующих между собой переменных. Используется для сокращения пространственной размерности.

Синтаксис команды

fit pca 
    [n_components=<n_components>] 
from <features> [into <modelname>]

Обязательные параметры:

  • features — список полей, для которых требуется сократить размерность. Список задается перечислением, например: from field1 field2.

Опциональные параметры:

  • n_components - количество переменных, или полей в итоговом датасете, задается целым положительным числом. Значение по умолчанию n_components=2.
  • modelname — название модели, с которым она будет сохранена в кэше. Чтобы сохранить модель в постоянное хранилище моделей для дальнейшего использования, используйте команду save.

Пример использования

На демонстрационных данных с параметрами работы добывающих нефтяных скважин определим наличие аномалий в данных.

Текст запроса

| fsget path=demo_train
| sample 0.1
| fields day, well, p_plast, p_collector, density, dynamic_level, engine_freq, pump_depth, active_power, water_percent, pump_on_off, debit
| where engine_freq>40 AND engine_freq<60 and well=513
| fit pca n_components=1 from p_plast, p_collector into pca_model

Описание запроса

  • Команда fsget загружает данные из хранилища признаков.
  • Команда sample 0.1 оставляет 10% от всех загруженных строк. Это сделано для ускорения обучения (всего в обучающей выборке более 40 000 строк).
  • Команда fields оставляет только поля с меткой времени, номером скважины, величиной добычи и поля, по которым будет проводиться обучение.
  • Команда where оставляет только те строки, где значение поля engine_freq находится в диапазоне от 40 до 60 (в этом поле указана частота работы погружного насоса, качающего нефть; она может быть только в этом диапазоне, остальные значения - ошибочные) для скважины 513.
  • Команда fit выполняет обучение модели PCA и временно сохраняет модель под названием pca_model.
  • Команда head 100 выводит первые 100 строк таблицы после обучения.

Результат запроса

После выполнения запроса будет создана дополнительная колонка pca0, в которой будет записан результат работы алгоритма. В результате выполнения запроса могут быть созданы дополнительные служебные поля с информацией об обученной модели или другими показателями. pca

К началу