Рубрики
Технологии

Какой кригинг выбрать: простой, ординарный, с трендом, блочный, индикаторный

Мы создаем софт для горно-геологических служб калийных рудников, и после первой статьи про [кригинг на чистом NumPy](https://habr.com/ru/articles/1055612/) самый частый вопрос звучал одинаково: «Хорошо, а какой именно кригинг брать?» Вопрос правильный: под словом «кригинг» живёт целое семейство методов, и выбор между ними влияет на результат сильнее, чем тонкая настройка вариограммы. В плагине Isoliner их пять — простой, ординарный, с полиномиальным трендом, блочный и индикаторный, — и каждый существует не для галочки, а под конкретный класс геологических задач.

Под катом — разбор всех пяти на живых примерах калийного месторождения: когда какой, какие параметры за что отвечают, как это выглядит в коде и на каких ошибках спотыкаются чаще всего.

<cut/>

## Общая механика: что меняется, а что нет

Напомню каркас из первой статьи: оценка в точке — взвешенная сумма соседних скважин, веса — решение системы уравнений с ковариациями из вариограммы:

«`python

s = np.linalg.solve(A, r)   # A — ковариации соседей между собой,

w = s[:na]                  # r — ковариации соседей с точкой оценки

est = float(np.dot(w, vra))

«`

Все пять видов кригинга решают эту систему. Различаются они тем, что считается неизвестным про среднее поле и что именно оценивается — точка, блок или вероятность. Это и есть ключ к выбору.

## Простой кригинг (SK): среднее известно

Простой кригинг предполагает, что среднее значение поля вам известно заранее и постоянно по площади. Тогда система решается без дополнительных условий, а недобор веса соседей компенсируется этим средним:

Читать далее