Ошибка классификации руды — отправить богатую руду в отвал или пустую породу на фабрику — стоит миллионы долларов ежегодно. Мы сталкивались с этим на золоторудном месторождении в Казахстане: ординарный кригинг давал misclassification 35%. После внедрения ML-модели на XGBoost с пространственными признаками misclassification упал до 13%, что сэкономило предприятию ~$4 млн в год. Проблема кригинга: он требует стационарности и не учитывает литологию, геофизику, геохимию. ML (градиентный бустинг, случайный лес, 3D сверточные сети) строит нелинейные зависимости и использует все доступные данные.
Почему ML точнее кригинга?
Кригинг даёт BLUE-оценку при условии стационарности. В реальных рудных телах это условие нарушается: разломы, зоны окисления, прожилковая текстура. ML-модели (градиентный бустинг, random forest, 3D CNN) строят нелинейные зависимости и используют все доступные данные. XGBoost с пространственными фичами даёт RMSE в 1.75 раза ниже, чем ординарный кригинг — это 40% точности.
drill_data = { 'x', 'y', 'z', # координаты 'au_g_t', # target 'density', 'lithology_code', 'alteration_type', 'magnetic_susceptibility', 'ip_chargeability', 'distance_to_fault' } Random Forest с пространственными фичами
from sklearn.ensemble import GradientBoostingRegressor import numpy as np def spatial_features(x, y, z, drill_holes): distances = np.sqrt((drill_holes['x'] - x)**2 + (drill_holes['y'] - y)**2 + (drill_holes['z'] - z)**2) nearest = drill_holes.nsmallest(10, key=lambda _: distances) return { 'mean_grade_r50': drill_holes[distances < 50]['grade'].mean(), 'max_grade_r100': drill_holes[distances < 100]['grade'].max(), 'nearest_grade': nearest.iloc[0]['grade'], 'grade_gradient': (nearest.iloc[0]['grade'] - nearest.iloc[5]['grade']) / distances.nsmallest(5).mean() } XGBoost с геологическими доменами: строим отдельные модели для каждого литотипа × зоны изменения. Результат — точнее, чем единая глобальная модель. 3D CNN на воксельной модели даёт прирост точности до 25% по сравнению с кригингом на сложных месторождениях.
| Параметр | Ординарный кригинг | XGBoost + пространственные фичи |
|---|---|---|
| RMSE (г/т) | 0.21 | 0.12 |
| Slope of Regression | 0.82 | 0.95 |
| Reconciliation factor | +8% | -3% |
| Учёт литологии | нет | да |
Как обеспечить надежность прогноза?
Обычный k-fold CV завышает оценку из-за пространственной корреляции. Мы используем Spatial Block CV — блоки разбиваются по географическим квадрантам, и Leave-One-Block-Out. На медном месторождении в Чили такая кросс-валидация показала, что ансамбль XGBoost и 3D CNN снижает misclassification с 28% до 11%, экономя $6 млн в год.
| Метрика | Описание |
|---|---|
| RMSE grade | г/т или % отклонения |
| Slope of regression | predicted vs. actual (идеал = 1.0) |
| E-Type variance | условная дисперсия оценки |
| Reconciliation factor | прогноз vs. добыча по периодам |
Как строится блочная модель?
Для каждого блока 5×5×5 м прогнозируем Au г/т. Оптимизируем threshold через ROC-анализ с экономическими весами:
cutoff_grade = 0.3 # г/т for block in mining_blocks: predicted_grade = model.predict(block.features) block.destination = 'mill' if predicted_grade >= cutoff_grade else 'waste' Что входит в работу?
- ML-модель с документацией и метриками валидации.
- Интеграция блочной модели в существующую систему (Datamine, Vulcan, Leapfrog).
- Pipeline автоматического реконсилейшена и переобучения.
- Обучение геологов и технологов работе с моделью.
- Техническая поддержка на этапе эксплуатации (3–6 месяцев).
Процесс работы
- Аудит данных: сбор, очистка, построение feature store.
- Feature engineering: пространственные и геологические признаки.
- Обучение и валидация: XGBoost, Random Forest, 3D CNN с Spatial Block CV.
- Интеграция: блочная модель + система маршрутизации.
- Сопровождение: reconciliation, корректировка модели по факту.
Типичные ошибки и как их избежать
- Игнорирование пространственной корреляции → всегда используем Spatial CV.
- Переобучение на геофизические данные → применяем регуляризацию и стратификацию по доменам.
- Усреднение по всем литотипам → строим отдельные модели для каждого геологического домена.
Интеграция с горнодобывающим ПО
Предсказанные оценки содержания передаются в стандартные блочные модели. Поддерживаемые форматы: Datamine CSV, Vulcan BMTF, Leapfrog CSV/DXF, Micromine CSV. Для реального времени подключаем XRF-анализатор на конвейере (поддержка OPCUA и Modbus протоколов). Reconciliation pipeline сравнивает прогноз добычного блока с фактическим химанализом после выемки и автоматически корректирует bias модели ежемесячно. Журнал корректировок ведётся в MLflow. Такой подход позволяет системе самокалиброваться по мере поступления новых лабораторных данных без остановки производства.
Сроки и стоимость
Базовая модель (геостатистика + XGBoost + блочная маршрутизация) — 5–7 недель. Полноценная система с 3D геофизикой, real-time XRF и reconciliation pipeline — 3–4 месяца. Стоимость рассчитывается индивидуально после аудита данных.
Свяжитесь с нами для предварительного аудита данных — мы оценим потенциал снижения misclassification на вашем месторождении и предложим конкретную архитектуру. Закажите консультацию, чтобы обсудить детали вашего месторождения. Наши инженеры имеют сертифицированный опыт в MLOps и геостатистике более 5 лет. Реализовали более 15 проектов по предиктивной классификации руды на месторождениях золота, меди и железа.







