АБСТРАКТНЫЙ

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

ВВЕДЕНИЕ

Первоначально этот алгоритм был разработан в контексте оценки SoC (состояния заряда) [1] элемента батареи. Существует несколько существующих методов измерения SoC батареи, каждый из которых имеет свои ограничения в отношении точности [2]. Следовательно, существует несколько существующих коммерческих аппаратных средств/ИС, способных измерять SoC и калибровать эти измерения с помощью различных алгоритмов разной сложности и точности [3], [4], [5].

Ограничение исходного приложения во время разработки алгоритма в основном сводилось к минимизации пространственной сложности. Обычное коммерческое оборудование использует расширенные алгоритмы калибровки и оценки, в которых используются такие методы, как расширенная фильтрация Калмана [6], искусственные нейронные сети [7], нечеткая логика [8] и т. д. [2], что препятствует запуску полного алгоритма. локально на небольшом оборудовании без необходимости использования стороннего программного обеспечения API.

Этот алгоритм работает, получая постоянный поток входных значений, взятых в одних и тех же интервалах, каждое из которых имеет разную точность (количественно определяемую среднеквадратичной ошибкой (MSE) для «истинного» отношения SoC-время), и вывод значений SoC для каждого временного интервала, каждый из которых проходит процесс калибровки, который определяет достоверность измерения на основе регрессионных моделей входных отношений SoC-время. Критерии достоверности становятся более строгими с течением времени, как описано в разделе «Описание алгоритма».

Эксперименты были разработаны для проверки и проверки реализации алгоритма, чтобы сделать вывод о том, что СКО выходных измерений стремится к наиболее точному входному измерению или к «истинному» измерению, когда входные данные имеют одинаковую СКО. Это описано в разделе «Тестирование и оценка алгоритма».

Контекст приложения может быть расширен и обобщен за пределы простого измерения SoC батареи, а также может иметь потенциал для калибровки бесконечного числа входных измерений.

ОПИСАНИЕ АЛГОРИТМА

В контексте измерения SoC батареи зависимость SoC от времени во время зарядки или разрядки не обязательно носит линейный характер [9]. Однако для проверки и проверки алгоритма в качестве начального примера берется простейший ввод (линейный), а концепция распространяется на нелинейные функции и выходит за рамки исходного контекста SoC батареи. Термин SoC будет использоваться для описания входных данных алгоритма.

Учитывая непрерывный дискретный поток значений измерений из двух источников (в данном контексте датчиков), можно построить и визуализировать взаимосвязь SoC-время. Этот теоретический график будет представлять функцию SoC[t], поскольку измерения выполняются через дискретные интервалы времени, но запись SoC( t) будет использоваться как синоним SoC[t].

Примером линейной зависимости между SoCₙ и t (где nуказывает, от какого входа/датчика исходит значение) может быть:

Если текущее/текущее измерение SoC обозначается как измерение kᵗʰ, а tₖ обозначает общее время, прошедшее до мгновенного kᵗʰизмерение, то более важные переменные могут быть определены на примере графика SoC-время:

На рисунке выше показана модель линейной регрессии, подобранная по точкам (SoC, time), так что как фактическая, так и прогнозируемая SoCₙ (на основе линейной модели) можно получить для каждого интервала времени.

Таким образом, модель регрессии также может использоваться для представления функции δ(t):

Предполагая довольно постоянную точность / одни и те же датчики используются на протяжении всего времени использования алгоритма, график δ - t должен быть приблизительно плоским, за исключением выбросов.

Из-за возможности появления этих выбросов в данных датчиков [12] более целесообразно использовать модель линейной регрессии, а не модель скользящего среднего.

Это особенно важно, поскольку для процесса калибровки должны быть известны локальные экстремумы в области 0ttₖ. Это было бы подвержено ошибкам, если бы использовалась модель скользящего среднего.

ПРОЦЕСС КАЛИБРОВКИ: ОПРЕДЕЛЕНИЕ ДЕЙСТВИТЕЛЬНОСТИ ИЗМЕРЕНИЯ

Важно отметить, что интуитивные тесты для измерения (показаны синим цветом на блок-схеме выше) могут изменяться в зависимости от измеряемого контекста, чтобы алгоритм можно было использовать не только для оценки SoC. . Критическое условие недействительности всегда будет (*).

ПРОЦЕСС КАЛИБРОВКИ: АНАЛИЗ ДЕЙСТВИТЕЛЬНЫХ РЕЗУЛЬТАТОВ

СРЕДНЕВЗВЕШЕННОЕ

Вес каждого датчика/источника зависит от его точности до tₖ. Это реализуется путем увеличения веса каждого датчика с 0 (во время выполнения/t = 0) для каждого действительного измерения SoC с одинаковыми шагами.

СООБЩЕНИЕ ОБ ОШИБКЕ

Это может быть связано с физической ошибкой в ​​измеряемых стимулах. Однако, если алгоритм и/или его функции не способны выполнять измерения/калибровку, то пять последовательных неверных измерений вызовут отправку «СООБЩЕНИЯ ОБ ОШИБКЕ» в систему, и программа должна завершиться.

Единственным исключением из этого будет функция оптимизации алгоритма.

Поскольку гиперпараметр ε изначально установлен равным 1, каждая итерация измерения побуждает алгоритм уменьшать ε с постоянным шагом (например, 0,0005), чтобы сократить разрыв в достоверности и сделать измерения более точными.

(Диапазон ε должен быть скорректирован в соответствии с контекстом датчиков и использованием алгоритма, но был найден диапазон 0ε1 быть в целом естественным и разумным.)

ТЕСТИРОВАНИЕ И ОЦЕНКА АЛГОРИТМА

ДОКАЗАТЕЛЬСТВА ПРАВИЛЬНОСТИ

Для последующих частей этой статьи по тестированию алгоритма, куда включены экспериментальные результаты, использовалась эта простая реализация алгоритма на C++, доступ к которой открыт для всех.

Эта реализация предполагает исходный контекст оценки SoC батареи. Линейный метод наименьших квадратов используется для создания модели линейной регрессии для алгоритма подбора кривой, и предполагается, что n равно 2.

1.) Доказательство того, что алгоритм калибрует 2 измерения с течением времени, максимально приближая их к «истинным» значениям:

Три набора данных SoC- t (n = 1, 2, 3) были настроены с использованием функции для генерации псевдослучайных чисел с равными временными шагами. , воспроизводя «истинную» прямо пропорциональную зависимость. Эти три набора данных SoCₙ -t были настроены так, чтобы иметь примерно равную дисперсию и равную MSE для «истинного» отношения, а график для первых 50 временных интервалов показан ниже. :

Три набора данных позволили откалибровать три пары друг друга. СКО каждого калибруемого набора данных, а также откалиброванные выходные данные каждой пары измерялись на каждом временном интервале по отношению к «истинной» модели, и результаты показаны ниже:

Как показано в экспериментальных результатах для этого теста, СКО между каждым из исходных наборов данных и «истинными» значениями со временем сходятся (что также объясняется природой псевдослучайно сгенерированных чисел), поэтому СКО для калиброванного вывода сходится. тоже естественно.

Однако MSE откалиброванного выхода каждый раз сходится ниже, чем любой из входных данных, что показывает, что некоторая степень калибровки достигается, когда два источника одинаково неточны.

Одного теста недостаточно, и для дальнейшего изучения эффектов алгоритма калибровки и изучения способности алгоритма к обучению выполняется еще один тест точно так же, но с тремя наборами данных, имеющими разную степень дисперсии и MSE:

Результаты трех пар калибровочных тестов следующие:

Как показано в экспериментальных результатах для этого теста, СКО исходных данных по-прежнему демонстрируют тот же тип поведения, что и в предыдущем тесте, только сходятся в разных пределах. Однако MSE калиброванного вывода всегда стремится к MSE входного сигнала, который является наиболее точным.

Это завершает рассуждение о том, что со временем алгоритм может давать результаты, которые будут более точными, чем все входные данные, когда каждый вход имеет одинаковую неточность, а также имеет возможность различать точность входных данных.

2.) Доказательство того, что алгоритм можно расширить и обобщить на нелинейные входные данные времени:

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

Например, весь алгоритм калибровки можно улучшить, используя метод взвешенных наименьших квадратов [15], когда входные данные SoCₙ -t проявляют гетероскедастичность [16]. Вместо аппроксимации кривой LLS могут использоваться и другие более продвинутые алгоритмы, например, алгоритм Гаусса-Ньютона, если известно, что входные данные нелинейны [17].

Единственными ограничениями являются исходные условия работы алгоритма, изложенные в разделе «Введение», и тот факт, что более продвинутые алгоритмы регрессионного моделирования будут иметь большую временную сложность. Это означает, что цель алгоритма калибровки может быть расширена за пределы оценки SoC батареи до точной калибровки любого количества измеренных входных данных, когда известно, что измеренные входные данные имеют моделируемую связь со временем.

3.) Доказательство того, что алгоритм можно масштабировать до большего количества n:

Доказательство по индукции использовать нельзя, поскольку n2. Однако верхняя граница n легко расширяется, если просто есть больше отдельных переменных δ.

Конечно, это означало бы квадратичную пространственную сложность, которая не идеальна. Более простой альтернативой было бы просто переопределить δ как показатель, учитывающий разницу между всеми входными данными n, например. Среднеквадратичное значение.

СЛОЖНОСТЬ ВРЕМЕНИ И ПРОСТРАНСТВА

Определив n как количество различных входных данных, временная сложность алгоритма будет равна O(n), а пространственная сложность также будет равна O(n).

Алгоритм оценивает и калибрует каждый набор измерений каждый временной интервал.

ЗАКЛЮЧЕНИЕ

Экспериментально доказано, что этот алгоритм может обеспечить точно откалиброванные выходные данные из бесконечного числа наборов данных в контексте получения потока входных данных через постоянные интервалы времени.

Этот алгоритм является типом машинного обучения с учителем, поскольку необходимо знать предварительное знание природы «истинных» входных отношений и может быть визуализировано в виде иерархической структуры для его приложений:

Благодаря обобщению возможностей алгоритма за пределы исходного контекста оценки SoC батареи, способность алгоритма работать с нелинейными входными данными и бесконечным числом входных данных делает его очень универсальным в качестве алгоритма калибровки.

Кроме того, поскольку функция подгонки кривой является отдельной частью всего алгоритма, алгоритм можно улучшить с помощью более продвинутых/точных алгоритмов регрессии, сохраняя при этом его простоту и легкость реализации, как в исходной SoC оценка контекста с линейной временной и пространственной сложностью.

Метод сжатия гиперпараметров аналогичен другим алгоритмам машинного обучения, например. Регрессия Риджа и Лассо [18], [19], но отличается тем, что ε используется только для сужения критерия достоверности, сохраняя арифметику калибровки отдельной и относительно простой.

СПИСОК ССЫЛОК

[1] Г.Б. Гарехпетян и С. Мохаммад Мусави Ага, «Глава 7 — Системы хранения энергии», в Распределенные системы генерации: проектирование, эксплуатация и интеграция в сеть, G.B. Гарепетян и С. Мохаммад Мусави Ага, ред. Оксфорд: Баттерворт-Хайнеманн, 2017 г., стр. 333–368.

[2] В.Ю. Чанг, «Методы оценки состояния заряда батареи: обзор», International Scholarly Research Notices, vol. 2013, 2013.

[3] Р. Вагнер, «BATTERY FUEL GAUGES: ТОЧНОЕ ИЗМЕРЕНИЕ УРОВНЯ ЗАРЯДА», ПРИМЕЧАНИЯ ПО ПРИМЕНЕНИЮ 3958 [онлайн], 22 декабря 2006 г. Доступно: https://www.maximintegrated.com/en/ дизайн/технические документы/заметки о приложении/3/3958.html

[4] А. Бек. (2021, 16 марта). ПРОЕКТИРОВАНИЕ ТОЧНЫХ ДАТЧИКОВ ТОПЛИВА ДЛЯ СПЕЦИАЛЬНЫХ АККУМУЛЯТОРНЫХ БЛОКОВ[Online]. Доступно: https://blog.epectec.com/designing-accurate-fuel-gauges-for-custom-battery-packs

[5] Техасские инструменты. (2022, 7 августа). Датчики уровня заряда батареи[Online]. Доступно: https://www.ti.com/power-management/battery-management/fuel-gauges/products.html

[6] К. Таборелли и С. Онори, «Оценка состояния заряда с использованием расширенных фильтров Калмана для системы управления батареями», Международная конференция IEEE по электромобилям (IEVC) 2014 г., 2014 г., стр. 1– 8.

[7] Дж. Кучли, А. Гуссян, М. Мервейо, И. Багдади, С. Франгер, Д. Нельсон-Грюэл и др., «Метод оценки SOC литий-ионного аккумулятора с использованием нейронной сети, обученной на данных, сгенерированных Модель P2D», IFAC-PapersOnLine,vol. 54, выпуск 10, стр. 336–343, ноябрь 2021 г.

[8] Д. Саджи, П. С. Бабу, И. Каруппасами, «Оценка SoC литий-ионного аккумулятора с использованием комбинированного метода подсчета кулонов и метода нечеткой логики», 4-я Международная конференция по последним тенденциям в области электроники, информации, связи и технологий, 2019 г. (RTEICT), Индия, 2019 г., стр. 948–952.

[9] Z. Lu, X. Yu, L. Zhang, X. Meng, L. Wei, L. Jin, «Экспериментальное исследование зарядно-разрядных характеристик коммерческих литий-ионных аккумуляторов», Energy Procedia , том. 143, стр. 21–26, январь 2018 г.

[10] Научный колледж Эберли Пенсильванского государственного университета. STAT501, урок 8.8 — Модели кусочно-линейной регрессии [онлайн]. Доступно: https://online.stat.psu.edu/stat501/lesson/8/8.8.

[11] Национальный институт стандартов и технологий. 4.1.4.1. Линейная регрессия методом наименьших квадратов [онлайн]. Доступно: https://www.itl.nist.gov/div898/handbook/pmd/section1/pmd141.htm

[12] А. Фаузи, H.M.O. Мохтар, О. Хегази, «Обнаружение и классификация выбросов в беспроводных сенсорных сетях», Egyptian Informatics Journal, vol. 14, выпуск 2, стр. 157–164, июль 2013 г.

[13] Дж. Вьега, «Практическая генерация случайных чисел в программном обеспечении», 19-я ежегодная конференция по приложениям компьютерной безопасности, 2003 г. Труды., Лас-Вегас, Невада, 2003 г., стр. 129–140.

[14] Справка по тестированию программного обеспечения. (2022, 16 июля). Генератор случайных чисел (Rand & Srand) на C++ [онлайн]. Доступно: https://www.softwaretestinghelp.com/random-number-generator-cpp/

[15] Научный колледж Эберли Пенсильванского государственного университета. STAT501, урок 13.1 — взвешенный метод наименьших квадратов [онлайн]. Доступно: https://online.stat.psu.edu/stat501/lesson/13/13.1

[16] Дж. Фрост. Гетероскедастичность в регрессионном анализе [онлайн]. Доступно: https://statisticsbyjim.com/regression/heteroscedasticity-regression/

[17] М. Мелоун и Дж. Милитки, «8 — модели нелинейной регрессии», в «Статистический анализ данных: практическое руководство», Нью-Дели: Woodhead Publishing Ltd, 2011, стр. 667–762.

[18] Научный колледж Эберли Пенсильванского государственного университета. STAT897D, урок 5.1 — гребневая регрессия [онлайн]. Доступно: https://online.stat.psu.edu/stat857/node/155/

[19] С. Квон, С. Хан, С. Ли, «Небольшой обзор и дальнейшие исследования LASSO», Journal of the Korean Data and Information Science Society, vol. 24, выпуск 5, сентябрь 2013 г.