Прогнозирование прибыли от нефтяных скважин для компании «ГлавРосГосНефть» с использованием машинного обучения и анализа рисков.
- Построить модель для предсказания объёма запасов нефти в скважинах
- Определить регион с максимальной суммарной прибылью
- Оценить риски и неопределённость с помощью техники Bootstrap
- Предоставить рекомендации для выбора региона бурения
- Python 3.x
- pandas, numpy
- scikit-learn (LinearRegression, train_test_split, mean_squared_error)
- tqdm для прогресс-бара
- Bootstrap для анализа рисков
- Jupyter Notebook
git clone https://github.com/kagor4/OilWell-Profit-Predictor.git
cd OilWell-Profit-Predictor
pip install -r requirements.txtЗатем откройте и запустите файл OilWell_Profit_Predictor.py или ноутбук OilWell_Profit_Predictor.ipynb в Jupyter. Убедитесь, что датасеты geo_data_0.csv, geo_data_1.csv, geo_data_2.csv доступны в папке /datasets/.
Датасеты содержат информацию о скважинах в трёх регионах:
- Признаки:
id— уникальный идентификатор скважиныf0,f1,f2— три значимых признака (характеристики скважин)
- Целевая переменная:
product— объём запасов в скважине (тыс. баррелей)
Предобработка включала:
- Проверку на пропуски и дубликаты (отсутствуют)
- Анализ корреляции (высокая корреляция
f2сproductво втором регионе) - Удаление столбца
idперед обучением
- Модель: Линейная регрессия
- Метрики (RMSE на валидационной выборке):
- Регион 1: 37.58 (средний запас: 92.50 тыс. барр.)
- Регион 2: 0.89 (средний запас: 68.83 тыс. барр.)
- Регион 3: 40.03 (средний запас: 95.00 тыс. барр.)
- Прибыль (топ-200 скважин):
- Регион 1: 3,320,826,043.14 руб.
- Регион 2: 2,415,086,696.68 руб.
- Регион 3: 2,710,349,963.60 руб.
- Риски (вероятность убытков):
- Регион 1: 6.9%
- Регион 2: 1.5%
- Регион 3: 7.6%
- Доверительные интервалы (95%):
- Регион 1: (-111,215,545.89, 909,766,941.55)
- Регион 2: (-4,286,021,657.67, -3,131,804,233.85)
- Регион 3: (-163,350,413.39, 950,359,574.93)
- Выводы:
- Регион 2 наиболее перспективен: минимальные риски (1.5% < 2.5%) и стабильная прибыль.
- Регион 1 и 3 имеют высокие риски (>2.5%) несмотря на большую прибыль.
- Рекомендации:
- Выбрать регион 2 для бурения новых скважин.
- Исследовать нелинейные модели (Random Forest, Gradient Boosting) для повышения точности.
- Добавить данные о геологических характеристиках для улучшения предсказаний.
📦 OilWell-Profit-Predictor/
├── OilWell_Profit_Predictor.py # анализ и обучение модели
├── OilWell_Profit_Predictor.ipynb # Jupyter Notebook
├── requirements.txt # зависимости
└── README.md # описание проекта
- Исследовать нелинейные модели (Random Forest, XGBoost)
- Добавить геологические признаки
- Визуализировать распределение прибыли
- Разработать Streamlit-приложение для демонстрации
Автор: kagor4