Муленко Илья Геннадьевич, соискатель, [email protected], Россия, Тула, Тульский государственный университет
STANDARDIZED METHODS FOR DETERMINING THE CAPACITY OF TANKS IN THE PROCESSES OF QUALITY
MANAGEMENT OF OIL PRODUCT STORAGE
I.G. Mulenko
The paper presents the results of a review and analysis of standardized methods for determining the capacity of tanks in the processes of quality management of oil product storage. Keywords: quality management; oil products.
Ilya Gennadievich Mulenko, applicant, [email protected], Russia, Tula, Tula State University
УДК 004.413
DOI: 10.24412/2071-6168-2024-12-506-507
ПРЕДИКТИВНАЯ ДЕТЕКЦИЯ АНОМАЛИЙ В ПРОЦЕССЕ ГАРАНТИЙНОГО ОБСЛУЖИВАНИЯ
АВТОМОБИЛЕЙ
В.Г. Мосин
В статье предлагается новый метод детекции аномалий в управлении качеством продукта. Метод строится на построении прогнозирующей модели средствами машинного обучения на основе анализа массивов больших данных. Новый метод приложен к анализу постпродажного сопровождения продукции одного из ведущих отечественных автопроизводителей. Рассмотрены технологические особенности применения метода.
Ключевые слова: Управление качеством, автомобилестроение, гарантийное обслуживание, детекция аномалий, анализ данных, машинное обучение, регрессия, pandas, numpy, skylearn.
1. Введение. В рамках работ по управлению качеством продукта важно отслеживать аномальные состояния в ключевых процессах, таких как контроль качества, тестирование, управление изменениями и т. д. Это связано с тем, что аномалии являются индикаторами проблемных участков, которые могут привести к снижению общего качества продукта, увеличению затрат на исправление дефектов, снижению удовлетворенности клиентов и репута-ционным рискам [1, 7]. Эффективный мониторинг и управление аномальными состояниями помогают улучшить качество, оптимизировать процессы и повысить надежность продукции [2, 8].
Современный подход к потребительскому поведению в маркетинге подчеркивает важность полного клиентского пути от момента осознания потребности до постпокупочной поддержки [3, 9]. Это создает понимание того, что ценный продукт — это не просто физический товар, а весь комплекс взаимодействий, сопровождающих его использование [4, 10]. Такое, сильно изменившееся за последние десятилетия, понятие продукта отражает сдвиг в понимании ценности, где важна не только функциональность самого объекта, но и широкий спектр услуг, обеспечивающих удовлетворение потребностей и решение проблем клиента [5, 11].
В рамках настоящей статьи мы рассмотрим методологию детекции аномалий в процессе гарантийного обслуживания автомобилей, как одного из ключевых процессов комплексного формирования продукта [5, 6, 12], опираясь данные одного из ведущих отечественных автопроизводителей.
1. 1. Теоретическая часть
Процесс гарантийного обслуживания, как и любой процесс взаимодействия с потребителем, не является стационарным [13]. В нем нет раз и навсегда установленных норм и калибровочных границ, отклонение от которых свидетельствует об аномальном наблюдении, которое требует реагирования и устранения аномалии [14, 15]. Наша концепция состоит в том, что, применяя методы машинного обучения, мы строим стохастическую модель процесса, и если 1) модель обладает высокой прогнозирующей способностью, но при этом 2) очередное наблюдение за процессом (или серия наблюдения) не вписываются в эту модель, то 3) это означает, чтобы мы наблюдаем аномалию.
Моделирование нестационарных процессов играет ключевую роль в дифференциации нормальных и аномальных состояний процесса по нескольким причинам, прежде всего, потому, что такие процессы характеризуются изменениями их статистических свойств (среднее значение, дисперсия, корреляция и т. д.) во времени, и адекватные модели, учитывающие эту изменчивость, позволяют лучше понимать нормальное поведение процесса в различных временных точках. Кроме того, в зависимости от контекста, одна и та же величина может быть нормальной в один период времени и аномальной в другой, поэтому модели, учитывающие нестационарность, позволяют проводить более точный и обоснованный анализ в текущих условиях.
Все это говорит о том, что умение моделировать и анализировать нестационарные процессы позволяет не только точнее идентифицировать и прогнозировать нормальные и аномальные состояния, но и улучшать общую качество принятия решений на основе данных.
1. 2. Постановки задачи
1.2.1. Предмет исследования. Предметом исследования является метод детекции аномалий, основанный на прогнозирующих моделях. Мы строим регрессионную модель (см. п. 3), оцениваем её прогнозирующую способность, и, убедившись в высоком качестве прогнозов, сравниваем прогнозируемые и реальные значения измеряемого показателя.
1.2.2. Методика исследования. Для проведения исследования мы используем данные об обращениях автовладельцев в пункты гарантийного обслуживания одного из ведущих отечественных автопроизводителей. Мы ис-
следуем обращения по 4 типам дефектов в 59 гарантийных пунктах, данные о которых были получены в течение 100 недель наблюдения (см. п. 2).
1.2.3. Цель исследования. Нашей целью является отработка методики предиктивной детекции и последующей аналитики аномалий (см. п. 5), а также выбор модели с наилучшей прогнозирующей способностью (см. п. 3) и определение настраиваемых гиперпараметров алгоритма детекции (см. п. 6.1).
1.3. Технологии
В настоящей работе мы используем среду jupyter notebook для анализа и обработки данных. Она предоставляет удобные инструменты для работы с python и его основными библиотеками: numpy, pandas, scikit-learn и matplotlib (см. [1], [2]).
Библиотека pandas тесно интегрируется с другими инструментами для анализа и обработки данных на платформе python, такими как numpy, scikit-learn и matplotlib. Обеспечивая эффективные средства для обработки информации, pandas также предлагает множество алгоритмов и функций для анализа и визуализации данных (см. [1], [4]).
Для решения регрессионных задач мы применяем библиотеку Scikit-learn, также известную как sklearn. Scikit-learn представляет собой мощный и гибкий инструмент машинного обучения с широким спектром возможностей и удобным интерфейсом. В частности, в этой библиотеке реализовано большое количество различных регрессионных моделей (см. [3]), чем мы воспользуемся на предварительном этапе исследования (см. п. 3).
2. Предварительный анализ и препроцессинг данных
2.1. Предварительный анализ
При помощи метода read_csv читаем данные из файла в датафрейм df: df = pd.read_csv('data/data.csv')
Получаем следующую таблицу:
week_end defect geography percent_visits trend_on_date recent_trend
0 2022-10-01 A21EF 269684-YV 1.0 Decreasing Increasing
1 2022-10-01 A21EF 429970-WV 1.6 Decreasing Decreasing
2 2022-10-01 A21EF 276170-YU 1.6 Decreasing No Change
23577 2024-08-24 B73FG 978939-WX 2.0 Decreasing Decreasing
23578 2024-08-24 B73FG 599193-ZV 2.8 Increasing Increasing
23579 2024-08-24 B73FG 887278-WY 2.4 Increasing Increasing
Таблица содержит 23560 записей об обращениях в центры гарантийного обслуживания одного из ведущих отечественных автопроизводителей. Каждая запись содержит сведения о времени обращения, типе поломки, географической локации гарантийного пункта и другие показатели, таким образом, мы имеем 23560 объектов, размеченных при помощи 6 признаков.
week_end: Дата конца календарной недели, в течение которой проводились наблюдения и агрегировались данные для очередной записи. При помощи методов min, max и unique из библиотеки pandas находим, что минимальное значение даты равно 2022-10-01, максимальное — 2024-08-24, а число уникальных значений — 100. Другими словами, данные о дефектах накапливались в течение 100 недель, и еженедельно формировался суммарный отчет за неделю.
defect: Тип дефекта, по которому зафиксировано обращение. Уникальных значений — 4. Разумеется, это не полная картина всех гарантийных обращений, так как в реальной эксплуатации автомобилей количество различных дефектов измеряется сотнями. Мы используем этот ограниченных дата-сет, чтобы продемонстрировать наш метод, исходя из соображений удобства визуализации (см. ниже, рис. 1 и 2).
geography: Код пункта гарантийного обслуживания, в котором были зафиксированы обращения владельцев автомобилей. Это не вполне точно названо географией, потому что в одной географической локации может быть несколько таких пунктов, так что речь идёт не о географическом местоположении, а о логистической точке автопроизводителя. Число уникальных значений этого признака — 59.
trend_on_date, recent_trend: Тенденции возрастания/убывания на текущей неделе и на предыдущей неделе. Уникальных значений три: Decreasing, Increasing, No Change, то есть — убывание, возрастание и отсутствие изменений соответственно.
percent_visits: Процент обращений в данный пункт гарантийного обслуживания владельцев автомобилей с указанным дефектом от всех обращений в этот пункт, которые наблюдались в течение недели. Минимальное значение — 0, максимальное значение — 18.5. Визуализация этого признака в пункте 978939-WX представлена ниже (см. рис. 1).
__ A21EF _
852EG A30FF 873FG
~ -1-1-1 —
2022-12-02 2023-08-25 2024-06-24
Рис. 1. Распределение признакаpercent visits в пункте 978939-WX
Здесь по горизонтали отложены 100 недель наблюдений, а по вертикали — четыре значения интересующего нас процента для каждого из четырёх типов дефектов. Похожую картину можно наблюдать в пункте 599193-ZV (см. рис. 2).
Рис. 2. Распределение признака percent visits в пункте 599193-ZV
Дефект B73FG всегда встречается чаще всего, есть характерные сезонные вспышки, хотя они и отличаются друг от друга по степени выраженности, и т. д. Всего таких визуализаций можно было бы привести 59, по числу географических локаций пунктов гарантийного обслуживания, но мы, разумеется, не станем этого делать, ограничившись двумя примерами, потому что в остальных локациях распределения дефектов ведут себя примерно так же.
2.2. Препроцессинг
Поскольку нам предстоит построить регрессионную модель, прежде всего мы разделяем данные на предикторы X и целевую функцию y, используя для этого стандартные методы библиотеки pandas:
X = df.drop(columns = ['percent_visits']) y = df['percent_visits']
Теперь в качестве целевой функции у нас выступает признак percent_visits, относящийся к типу float, который может принимать любые значения (хотя, даже теоретически он не может оказаться отрицательным), а в качестве предикторов — категориальные переменные week_end, defect, geography, trend_on_date, recent_trend, которые могут принимать лишь дискретные конечные наборы значений (см. выше, п. 2.1), относящиеся к типу string.
Регрессионные модели не могут работать со строковыми данными. Прежде чем строить модели, нам нужно каким-то образом преобразовать их в числа. Для этого мы используем метод One Hot Encoding, применяя метод get_dummies библиотеки pandas:
X = pd.get_dummies(X)
Теперь у модели будет 169 предикторов, каждый из которых принимает значения 0 или 1.
И, наконец, мы разбиваем данные на обучающую и тестовую выборки, пользуясь методом train_test_split из модуля model_selection библиотеки sklearn:
X_train, X_test, y_train, y_test = train_test_split(X, y,
test_size=0.2, random_state=42)
Мы будем обучать модель, используя с качестве предикторов столбцы X_train, и в качестве целевой функции — столбец y_train, а делать прогноз — на тестовой выборке, используя в качестве предикторов столбцы X_test, которые модель «не видела». Это позволит нам избежать переобучения модели и даст достоверные результаты прогнозирования.
3. Выбор лучшей модели
Есть множество методов построения регрессионной модели, начиная с классической линейной регрессии, которая хорошо описывает линейные зависимости, но вообще не справляется с нелинейностью, и заканчивая градиентным бустнгом на случайных лесах, который может описать любые зависимости (хотя, и склонен к переобучению).
Мы не относим себя к приверженцам какого-то конкретного метода, нам нужен максимально точный прогноз, не важно, каким методом он будет получен. Мы формируем пул моделей из библиотеки sklearn:
1. LinearRegression(): уже упомянутый выше инструмент для построения линейной регрессии, который оценивает взаимосвязь между независимыми переменными и зависимой переменной, минимизируя среднеквадратичную ошибку;
2. DecisionTreeRegressor(): алгоритм машинного обучения для регрессии, который строит дерево решений, разделяя данные на участки, оптимально предсказывая значения целевой переменной в каждом листе дерева;
3. SVR(): реализация метода опорных векторов для регрессии, которая позволяет спрогнозировать зависимые переменные, минимизируя количество ошибок с использованием гиперплоскостей в многомерном пространстве;
4. KNeighborsRegressor(): алгоритм машинного обучения для решения регрессионных задач, который предсказывает значение целевой переменной путём усреднения значений k наиболее близких соседей в обучающей выборке;
5. MLPRegressor(): многослойный перцептрон для решения задач регрессии, который обучается с использованием обратного распространения ошибки;
6. RandomForestRegressor(): ансамблевый метод машинного обучения, который использует множество де-ревообразных регрессоров, обученных на различных подвыборках данных, чтобы предсказывать непрерывные значения за счёт усреднения результатов отдельных деревьев;
7. GradientBoostingRegressor(): ансамблевый метод машинного обучения для решения задач регрессии, который строит предсказательную модель путем обучения последовательности более простых моделей (обычно деревьев решений), каждая из которых корректирует ошибки предыдущих.
У каждой из этих моделей есть свои достоинства и недостатки. Мы в цикле прогоним через них наши данные и выберем ту из моделей, которая покажет лучшие результаты с точки зрения прогнозирующей способности.
Сначала заводим список моделей model_list, по которым будем осуществлять цикл:
model_list = [
LinearRegression(),
DecisionTreeRegressor(),
SVR(),
KNeighborsRegressor(),
MLPRegressor(),
RandomForestRegressor(),
GradientBoostingRegressor()
]
Затем инициализируем список score_list, в который будем заносить оценки прогнозирующей способности каждой из моделей списка model_list, а также стартовые значения переменных best_score и best_model для лучшей оценки и лучшей модели: score_list = [] best_score = 0 best_model = None
И наконец, реализуем в цикле все необходимые нам действия, а именно: при помощи метода fit библиотеки sklearn обучаем модель на тренировочных данных, при помощи метода predict той же библиотеки вычисляем коэффициент детерминации на тестовых данных и добавляем его в в список оценок методом append (а кроме того, за счёт условия выбора определяем лучшую оценку best_score и лучшую модель best_model): for item in model_list: model = item model.fit(X_train, y_train) y_pred = model.predict(X_test) score = r2_score(y_pred, y_test) score_list.append(score) print('model =', model) print('score =', score) if score > best_score: best_score = score best_model = model print('best model =', best_model) print('best score =', best_score) Результаты представлены ниже:
_model__score
LinearRegression DecisionTreeRegressor SVR
KNeighborsRegressor MLPRegressor RandomForestRegressor GradientBoostingRegres
sor
С большим отрывом выигрывает нейронная сеть. Коэффициент детерминации на уровне 0.97 говорит об очень высоком качестве прогноза, и, значит, мы определились с выбором модели: дальше мы будем использовать нейронную сеть MLPRegressor, так как именно она демонстрирует лучшую прогнозирующую способность. 4. Детекция аномалий
Настало время прейти к тому, ради чего мы, собственно, и занимались поиском наилучшей прогнозирующей модели: к детекции аномалий на основе спрогнозированных значений целевой функции. У нас есть массив y_test с истинными значениями целевой функции на тестовой выборке, и, применяя метод predict к лучшей из обученных нами моделей best_model, мы получаем массив предсказанных значений y_pred: y_pred = best_model.predict(X_test)
Отметим ещё раз, что мы обучали модель на обучающей выборке X_train, а прогноз выполняем на тестовой выборке X_test. Такое разделение является обычной практикой в машинном обучении и позволяет судить о прогнозирующей способности, не рискуя получить переобученную модель, которая хорошо справляется с обучающими данными, но, получив данные, которые она никогда не видела, даёт из рук вон плохой прогноз. 4.1. Ошибки модели
Поскольку нас интересуют записи исходного датафрейма df, среди которых нам нужно выявить аномалии (а получить доступ к исходным записям мы можем только по индексу записи), мы сводим сведения об истинных и предсказанных значениях целевой функции в ещё один новый датафрейм error: error = pd.DataFrame() error['y_test'] = y_test error['y_pred'] = y_pred error['error'] = error['y_test'] - error['y_pred']
Здесь, пользуясь методом DataFrame библиотеки pandas, мы завели с начала пустой датафрем, а затем последовательно добавили в него столбцы y_test, y_pred и их разность. Результаты представлены в следующей таблице:
y_test y_pred error
19283 0.0 0.097429 -0.097429
911 4.7 5.918423 -1.218423
4269 2.7 2.624370 0.075630
19358 0.8 1.553996 -0.753996
651 2.2 2.627802 -0.427802
11066 2.2 1.793268 0.406732
0.4801 0.7761 0.7347 -0.0084 0.9775 0.8021
0.3221
В этой таблице 4716 записей, причём, стоит обратить внимание на индексный столбец: это уже не номера по порядку, это номера, которые были в изначальном датафрейме df, именно по этим номерам мы сможем получить доступ к записям, которые оказались аномальными. Но пока мы их не знаем. Пока нам только предстоит их определить. Мы видим, конечно, что в каких-то случаях отклонение, записанное в столбце error невелико, такая запись относится к нормальному состоянию процесса, а в каких-то случаях отклонение значительно больше.
Но возникает вопрос: где та граница, превышение которой является аномалией?
4.2. Границы отклонений
Если взглянуть на гистограмму распределения ошибок, то трудно не заметить, что она аппроксимируется почти идеальной кривой Гаусса (см. рис. 3).
■
^г-ггП I rw
-г -i о i
Рис. 3. Распределение ошибок на тестовой выборке
Это нормальное распределение, что неудивительно, так как нормальное распределение характерно для большинства ошибок. А раз это так, то для определения границы того, что является нормой, и что является аномалией, мы вправе применить старое доброе правило «трёх сигм»: все, что отклоняется от среднего значения больше, чем на три средних квадратичных отклонения — это аномалия. 4.3. Аномальные наблюдения
Сначала нам нужно найти индексы аномальных записей. Для этого мы, пользуясь методом loc библиотеки pandas, выполняем локализацию по условию: абсолютная величина ошибки больше чем её среднее плюс утроенное среднее квадратичное отклонение: M = error['error'].mean() S = error['error'].std()
out = error.loc[abs(error['error']) > M + 3*S]
Датафрейм out содержит индексы аномальных записей. Но сами записи находятся в другом датафрейме, в df, их можно получить, обратившись к нему по индексам аномалий: df_out = df.iloc[out.index] Результат представлен в таблице ниже:
week_end defect geography percent_visits trend_on_date recent_trend
911 2022-10-22 B73FG 888299-ZY 4.7 Increasing No Change
2595 2022-12-10 B73FG 599193-ZV 10.7 Increasing Increasing
15964 2024-01-13 A30FF 289031-VX 0.7 No Change No Change
16591 2024-02-03 B52EG 539342-WZ
6.8 Increasing No Change
15174 2023-12-23 B52EG 276170-YU 7.3 Increasing No Change
467 2022-10-08 B73FG 624285-ZU 4.8 Increasing Increasing
Это и есть таблица наблюдений, которые, согласно нашей модели, являются аномальными. В ней 83 записи, которые содержат все необходимые нам сведения: дату обращения, тип дефекта и локацию пункта гарантийного обслуживания.
Отклонения аномальных значений целевой функции от прогнозируемых проиллюстрированы ниже. Например, в локации 772200-УУ дефект B52EG демонстрирует аномальное отклонение в момент времени 2022-12-17(см. рис. 4).
7.6 3.8 0
2022-11-12 2023-03-04 2023-06-24 2023-10-14 2024-02-03 2024-05-25 Рис. 4. Прогноз для дефекта В52ЕС в локации 772200-УУ. Аномалия — 2022-12-17
Здесь синяя линия — это цепочка наблюдаемых значений целевой функции в течение 100 недель наблюдения, жёлтые точки — то, что прогнозирует модель, красная точка — тоже прогноз модели, но сильно отклоняющийся от синей линии.
Аналогично, в локации 539342-WZ дефект A30FF аномально отклоняется от прогноза в момент времени 2023-12-23 (см. рис. 5).
2.3 1,15 О
2022-11-12 2023-03-04 2023-06-24 2023-10-14 2024-02-03 2024-05-25
Рис. 5. Прогноз для дефекта АЗОРБ в локации 539342-\¥2. Аномалия — 2023-12-23
Всего можно было бы проиллюстрировать 83 ситуации (именно столько ситуаций наша модель детектировала как аномальные), но по понятным причинам мы не станем этого делать, ограничившись лишь двумя рисунками.
5. Анализ аномалий
Полученные сведения об аномалиях, которые собраны в таблице df_out (см. п. 4), можно использовать для их анализа и классификации.
5.1. Рейтинг дефектов
Исходные данные содержали записи о дефектах четырёх типов: A21EF, B52EG, A30FF, B73FG, список их наименований можно получить при помощи метода unique библиотеки pandas. В цикле по этому списку мы получаем список частот freq, с которыми указанные дефекты автомобилей встречаются в семействе детектированных аномалий:
freq = []
for item in df['defect'].unique():
freq.append(len(out_defect.loc[out_defect['defect'] == item]))
Затем формируем вспомогательный датафрейм defect_freq, указывая в качестве его столбцов, наименования дефектов и их частоты:
defect_freq = pd.DataFrame() defect_freq['defect'] = df['defect'].unique() defect_freq['freq'] = freq
И наконец, выводим строки в порядке убывания частот: defect_freq = defect_freq.sort_values(by='freq', ascending=False)
Результат представлен в таблице ниже, из которой следует, что в этом рейтинге «побеждает» дефект с кодом B73FG:
defect frec
1 B73FG 34
2 B52EG 26
3 A21EF 16
4 A30FF 7
5.2. Рейтинг локаций
Действуя точно так же по отношению к признаку geography, получаем рейтинг локаций:
geography freq geography freq geography freq geography freq
1 429970-WV 12 8 441757-UV 3 15 774057-WV 2 22 920724-ZW 1
2 746224-VX 9 9 789368-VW 3 16 539342-WZ 2 23 918355-YW 1
3 772200-YV 8 10 827401-YV 3 17 640503-ZX 1 24 876210-VZ 1
4 888299-ZY 8 11 289031-VX 3 18 831125-ZW 1 25 276170-YU 1
5 599193-ZV 4 12 912249-UY 2 19 256962-UV 1 26 587355-YX 1
6 978939-WX 4 13 228653-YW 2 20 479222-YU 1 27 437193-UW 1
7 624285-ZU 4 14 540906-YV 2 21 367520-UV 1 28 887278-WY 1
Остальные локации вошли в рейтинг с нулевой частотой, и мы их не учитывали. В рейтинге локаций уве-
рено «побеждает» локация с кодом 429970-WV. 5.3. Рейтинг дат
Наконец, мы можем подсчитать частоты, с которыми входили в список аномалий недели из всего периода
имевшихся у нас наблюдений.
week_end freq week_end freq week_end freq week_end freq
1 2022-12-03 8 11 2023-11-25 2 21 2023-12-16 1 31 2023-01-14 1
2 2022-12-17 7 12 2024-03-02 2 22 2023-09-16 1 32 2023-02-11 1
3 2023-01-07 6 13 2024-02-03 2 23 2022-10-08 1 33 2024-06-08 1
4 2022-11-26 5 14 2024-07-06 2 24 2023-11-04 1 34 2022-10-15 1
5 2022-12-24 5 15 2024-01-06 2 25 2024-01-13 1 35 2022-11-05 1
6 2022-10-22 3 16 2022-12-31 2 26 2023-08-26 1 36 2022-11-19 1
7 2022-10-29 3 17 2023-10-28 2 27 2024-01-20 1 37 2024-05-18 1
8 2022-11-12 3 18 2024-08-10 2 28 2023-11-11 1 38 2022-12-10 1
9 2023-12-30 3 19 2023-10-14 1 29 2023-06-17 1 39 2024-08-03 1
10 2023-12-23 3 20 2024-03-30 1 30 2022-10-01 1
В этот рейтинг мы, так же как и выше, не включили даты с нулевой частотой зафиксированных аномалий. И в этом рейтинге, так же как и выше, есть «лидер»: неделя, которая закончилась 2022-12-03.
5.4. Другая аналитика
Разумеется, анализ аномалий не ограничивается построением рейтингов, аналитика в области аномалий — это отдельная, сложная работа. Например, мы вообще не учитывали знак отклонения, а это может играть важную роль в принятии управленческих решений. Мы не комбинировали признаки и даже не учитывали выраженность аномалии: то, насколько велика было отклонение реального значения от модели. Мы просто посчитали частоты.
В рамках этой статьи нам нужно было лишь показать, что такая аналитика возможна, а ключевым моментом нашей работы является полученная в разделе 4.3. локализация общего набора данных, в которой оказались сведены все аномальные наблюдения. После того как такая таблица получена, с ней можно делать все что угодно: не только строить несложные рейтинги, но и проводить любую аналитическую обработку.
6. Комментарии
В заключение, скажем несколько слов о промышленном внедрении систем детекции аномалий, об их месте в общей методологии управления качеством промышленного производства и о некоторых нюансах, которые могут возникнуть при их внедрении.
Предиктивная детекция аномалий, которую мы разработали как метод, не является самоцелью. В конечном счёте, она должна быть не методом, а технологией, встроенной в бизнес-процесс, или, точнее, в различные ветви бизнес-процесса: начиная с производства изделия, включая (как в данной статье) его эксплуатацию и гарантийное обслуживание, и вплоть до завершения его жизненного цикла и утилизации.
6.1. Технологический аспект
Полученные сведения об аномальных состояниях (в простейшем случае это таблица, подобная той, что мы получили в разделе 4.3, в более сложных вариантах — результаты анализа аномалий, подобные тем, которые мы указали в разделе 5, или ещё более глубокие) являются командой к их устранению или, как минимум, к выяснению их причин. Другими словами, каждый сигнал о наступившей аномалии требует реагирования, а ресурс реагирования (человеческий, финансовый, временной) всегда ограничен. Что делать, если модель выдаёт сообщения об аномалиях потоком, с которым невозможно справиться?
Можно предложить, как минимум, два способа преодолеть это затруднение:
1. использовать полученные нами выше рейтинги дефектов/локаций/дат и реагировать не на все сообщения об аномалиях, а только на те, которые возглавляют эти рейтинги (например, на первые 5);
2. изменить порог толерантности на этапе детекции аномалий и относить к аномальным меньшее число наблюдений (и хотя заранее не известно, сколько их получится, их число, тем не менее, заведомо будет ниже).
Остановимся чуть подробнее на изменении порога толерантности и вспомним, как именно мы разделяли наблюдения на нормальные и аномальные: по правилу «трёх сигм». Но это эмпирическое правило! Никто не мешает нам применить правило «трёх с половиной сигм» или правило «пяти сигм». Так, разумеется никто не выражается (нигде в источниках не упоминается правило «пяти сигм»), но суть этого действия очевидна: мы можем повысить порог толерантности. Например, если в нашем исследовании увеличить коэффициент с 3 до 5, то объем наблюдений, детектированных как аномалии, снизится на порядок: с 83 до 8.
6.2. Когнитивный аспект
Другой совершенно неожиданный эффект, который может существенно исказить нашу методологию пре-диктивной детекции аномалий, состоит в слепом поклонении современного человека научным (а также около- и лже- научным) методам. Выводы модели нельзя воспринимать как истину в последней инстанции, и если модель сообщает, что наблюдение является аномальным, на самом деле, это не означает вообще ничего, кроме того, что таково мнение нашей модели.
Решение о наличии/отсутствии аномалии и выбор протокола реагирования должны осуществляться совместно: аналитическим центром (в качестве которого в рамках нашей методологии выступает обученная модель) и специалистами предметной области. Модель лишь выполняет «грязную» работу: обрабатывает огромное количество данных и выделяет из них не аномалии, но — возможные аномалии, которые должны обрабатываться людьми.
Только такой, гораздо более взвешенный, подход к детекции аномалий может внести действительное улучшение в процесс управления качеством продукта. В противном случае вместо управления качеством мы получим поток симуляций и ничего не значащих цифр.
Список литературы
1. Хейдт М. Изучаем Pandas / М. Хейдт; — Москва: ДМК Пресс, 2018. — 438 с. — ISBN 978-5-97060625-4. — Текст: непосредственный.
2. Бурков А. Машинное обучение без лишних слов / А. Бурков; — СПб: Питер, 2020. — 192 с. — ISBN 978-5-4461-1560-0. — Текст: непосредственный.
3. Вьюгин, В. В. Математические основы теории машинного обучения и прогнозирования / В. В. Вьюгин; — М.: МЦИМО. — 2013. — 387 с. ISBN: 978-5-4439-2014-6. — Текст: непосредственный.
4. Бринк Х. Машинное обучение / Х. Бринк, Дж. Ричардс, М. Феверолф — СПб.: Питер, 2017. — 336 с. — ISBN 978-5-496-02989-6. — Текст: непосредственный.
5. Старожук Е.А., Молоденков Д.А., Корчак В.Ю., Акиншин Р.Н. Методика оценки эффективности управления гарантийным обслуживанием продукции // Компетентность. 2014. № 2 (113). С. 34-38.
6. Трофимчук В.С. Информационная система для гарантийного обслуживания дилера // В сборнике: X Международная научно-практическая заочная конференция "ЭТАП-2023", посвящённая 219-летию КФУ. Набережные Челны, 2024. С. 381-384.
7. Козловский, В.Н. Комплекс обеспечения качества системы электрооборудования автомобилей / В.Н. Козловский, Д.И. Панюков // Saarbrücken, 2014.
8. Немцев, А.Д. Моделирование - инструмент управления качеством продукции / А.Д. Немцев, В.Н. Козловский // Автомобильная промышленность. 2003. № 10. С. 1.
9. Козловский, В. Комплексная оценка удовлетворенности потребителей качеством автомобилей / В. Козловский, В. Строганов, С. Клейменов // Стандарты и качество. 2013. № 5. С. 94-98.
10. Panyukov, D.I. Highlights of russian experience in implementing ISO/TS 16949 / D.I. Panyukov, V.N. Ko-zlovskiy // Life Science Journal. 2014. Т. 11. № 8s. С. 439-444.
11. Козловский, В.Н. Методология анализа и прогнозирования качества автомобилей в эксплуатации / В.Н. Козловский, Д.В. Антипов, А.В. Заятров // Актуальные проблемы экономики. 2016. Т. 186. № 12. С. 387-398.
12. Козловский, В.Н. Комплекс электронных систем управления движением легкового автомобиля с комбинированной силовой установкой. Часть 1 / В.Н. Козловский, В.И. Строганов, В.В. Дебелов, М.А. Пьянов // Электротехнические и информационные комплексы и системы. 2014. Т. 10. № 1. С. 40-49.
13. Козловский, В.Н. Проблема стратегического планирования улучшения качества и надежности системы электрооборудования автомобилей / В.Н. Козловский, А.В. Заятров // Электроника и электрооборудование транспорта. 2012. № 1. С. 44-47.
14. Panyukov, D. Development and research FMEA expert team model / D. Panyukov, V. Kozlovsky, Y. Klochkov // International Journal of Reliability, Quality and Safety Engineering. 2020. Т. 27. № 5. С. 2040015.
15. Инновационные механизмы управления потенциалом сферы сервиса в регионе / Ерохина Л.И., Наумова О.Н., Любохинец Л.С., Лещишена В.П., Любохинец О.В., Кулапина Г.М., Маркова О.В., Никитина Н.В., Калашникова И.А., Дудко В.Н., Мещерякова Е.В., Козловский В.Н., Цветкова С.Н., Кретинина Т.В., Бреусова Е.А., Фатеева С.В., Новоселов С.Н., Ульяницкая Н.М., Шаблыкин М.М., Буряков Г.А. и др. // Тольятти, 2013.
Мосин Владимир Геннадьевич, канд. физ.-мат. наук, доцент, [email protected], Россия, Самара, Самарский государственный технический университет
PREDICTIVE ANOMALY DETECTION DURING CAR WARRANTY SERVICE
V. G. Mosin
The article discusses a new method for detecting anomalies in product quality management. The method is based on the construction of a predictive model by means of machine learning based on the analysis of big data arrays. The new method is applied to the analysis ofpost-sale support ofproducts of one of the leading domestic automakers. The technological features of the method application are considered.
Keywords: Quality management, automotive, warranty service, anomaly detection, data analysis, machine learning, regression, pandas, numpy, skylearn.
Mosin Vladimir Gennadievich, Candidate of Physical and Mathematical Sciences, Associate Professor, [email protected], Russia, Samara, Samara State Technical University
УДК 004.413
DOI: 10.24412/2071-6168-2024-12-513-514
ДОПОЛНИТЕЛЬНЫЙ ИНСТРУМЕНТАРИЙ АНАЛИЗА КАЧЕСТВА АВТОМОБИЛЕЙ В ЭКСПЛУАТАЦИИ ПРИ РАЗВИТИИ ПРОМСБОРКИ АВТОПРОИЗВОДИТЕЛЯ
А.С. Клентак, В.Н. Козловский, О.В. Пантюхин
В работе предложен комплекс дополнительного инструментария анализа качества автомобилей в эксплуатации.
Ключевые слова: конкурентоспособность, качество, эксплуатация, автомобиль.
После создания базы процесса анализа качества автомобилей, а также выработанных положений работы разрабатываемого процесса, необходимо сделать акцент на то, что предложенные инструменты измерения конкурентоспособности, а также инструменты рассматриваемые далее в работе в основном должны обладать равнозначными возможностями и весомостью [1, 2]. Дело в том, что в производственной практике реализовывать усложненную иерархию арсенала инструментов мониторинга и управления не рационально [3]. Это связано с тем, что сфера применения отдельно взятого инструмента часто пересекается с соответствующей сферой реализации других инструментов, что дает возможность для организации совместного рассмотрения результатов и обеспечения в результирующем выводе элемента синергии, то есть получения новой добавленной ценности от реализации разных инструментов анализа [4]. С другой стороны, производственная практика такова, что излишнее усложнение применения различных инструментов не рационально [5, 6].
Итак, продолжаем исследования инструментов оценки конкурентоспособности, качества и удовлетворенности потребителей новыми автомобилями [7]. Предложенная на рисунке 1 диаграмма представляет собой радар по основным количественным паспортным данным автомобилей конкурирующих марок на новом рынке присутствия Модели 1 отечественного производства. Использование инструмента, обеспечивает возможности для оценки конкурентоспособности продукции без применения более сложных, затратных и трудоемких анкетных исследований, поскольку по сути бенчмаркинг в данном случае реализуется через совместный анализ паспортных данных [8, 9]. При этом, конечно, существенным недостатком аналитического инструмента является полное отсутствие мнения конечного потребителя, но отметим важное достоинство такого рода диаграммы заключающееся, в том что на первичном этапе вывода продукции на новые рынки можно посмотреть устойчивость стартовых позиций с точки зрения основных технических параметров образующих потребительское восприятие качества [10 - 12].
513