МИ 2174-91
РЕКОМЕНДАЦИЯ
Государственная система обеспечения единства измерений
АТТЕСТАЦИЯ АЛГОРИТМОВ И ПРОГРАММ ОБРАБОТКИ ДАННЫХ ПРИ ИЗМЕРЕНИЯХ
Основные положения
Дата введения 1992-01-01
1. РАЗРАБОТАНА НПО "ВНИИМ им. Д.И.Менделеева", впервые
2. ИСПОЛНИТЕЛИ:
Т.Н.Сирая (руководитель темы), канд. физ.-мат. наук, А.Г.Рамазанова, Ю.С.Этигнер
3. УТВЕРЖДЕНА НПО "ВНИИМ им. Д.И.Менделеева" 30.09.91
Положения настоящей рекомендации распространяются на алгоритмы и программы обработки данных, которые выделены как самостоятельные объекты и существуют обособленно (в частности, могут использоваться на различных вычислительных устройствах) и рекомендуются для использования в измерительной практике.
Настоящая рекомендация устанавливает основные положения аттестации алгоритмов и программ, предназначенных для обработки данных при измерениях физических величин.
Положения настоящей рекомендации могут быть использованы при разработке алгоритмов и программ обработки данных при измерениях, исследовании их свойств и обосновании целесообразности их применения для решения измерительных задач, а также при разработке нормативно-технических документов, регламентирующих обработку данных при измерениях, и методик выполнения измерений.
Определения основных терминов, используемых в рекомендации - по справочному приложению 1.
1.1. Алгоритм обработки экспериментальных данных, полученных при измерении (результатов наблюдений), представляет собой последовательность арифметических и логических операций, производимых над полученными экспериментальными данными (с учетом априорной информации) с целью определения результата измерения и характеристик его погрешности.
1.1.1. Алгоритмы, применяемые для обработки данных при измерениях, должны сопровождаться алгоритмами оценивания характеристик погрешностей результатов измерений.
1.1.2. Алгоритм может быть задан различными способами, в том числе, представлен в явном виде (конечной последовательностью арифметических и логических операций), или в виде рекуррентной вычислительной процедуры.
1.2. Программа обработки данных при измерении представляет собой самостоятельный объект, являющийся конкретной программной реализацией алгоритма обработки данных. Свойства программы существенно зависят от конкретной программной и аппаратной среды, в которой она работает.
Примечание. Программа как самостоятельный объект может использоваться на нескольких типах ЭВМ, совместимых либо на программном, либо на аппаратурном уровне.
1.3. Аттестация алгоритма (программы) обработки данных - исследование свойств алгоритма (программы) на моделях исходных данных, в результате которого определяют свойства и оценивают количественные характеристики алгоритма (программы), с последующей регистрацией полученных характеристик в свидетельствах об аттестации или разделах других документов (с указанием использованных моделей).
Модели исходных данных для аттестации выбираются в соответствии в положениями разд. 4.
1.3.1. Рекомендуется выполнять аттестацию для следующих объектов:
алгоритмы обработки данных, представляющие собой самостоятельные объекты использования;
программы обработки данных, реализующие выбранный алгоритм обработки и представляющие собой самостоятельный программный продукт;
алгоритмы и программы обработки данных в составе прикладного программного обеспечения конкретных измерительных устройств ИВК, ИИС, ИУС, методик выполнения измерений.
1.3.2. Аттестация программы должна выполняться после ее отладки, верификации и тестирования.
1.3.3. При выполнении аттестации программы целесообразно использовать результаты аттестации исходного алгоритма (проверяя соответствие характеристик алгоритмов и программ, а также используемых моделей исходных данных).
Примечание. Аттестация алгоритма может представлять собой первый этап аттестации программы.
1.4. Аттестация алгоритмов и программ рассматривается в двух аспектах: общая (исследовательская) и конкретная (метрологическая).
1.4.1. Если алгоритм (программа) рассматривается как самостоятельный объект и может применяться для обработки исходных данных с различными свойствами, то выполняется общая (исследовательская) аттестация алгоритма (программы).
1.4.2. Если алгоритм (программа) рассматривается как составная часть прикладного программного обеспечения конкретных измерительных устройств, ИВК, ИИС, ИУС, методики выполнения измерений, и имеется значительная априорная информация об исходных данных, то выполняется конкретная (метрологическая) аттестация.
1.5. Общая (исследовательская) аттестация алгоритма (программы) - исследование внутренних свойств алгоритма (программы) с целью последующего обоснования его применения в конкретных задачах.
В результате общей аттестации алгоритма (программы) получают оценки характеристик точности, устойчивости и сложности алгоритма (программы), при различных моделях исходных данных.
1.6. Метрологическая аттестация алгоритма (программы) - это исследование точностных свойств алгоритма в рамках конкретной измерительной задачи или методики выполнения измерений (МВИ) с целью оценивания характеристик составляющих погрешностей получаемых результатов измерений.
В результате метрологической аттестации получают оценки характеристик составляющих погрешностей результатов обработки.
1.7. Результаты аттестации алгоритма (программы) следует использовать при обосновании его (ее) выбора и применения.
1.7.1. Общую аттестацию нового алгоритма (программы) следует выполнять на заключительном этапе разработки алгоритма (программы) прежде, чем рекомендовать его для практического применения.
При применении ранее разработанного и аттестованного алгоритма используют результаты его аттестации, с обязательной проверкой соответствия перечня характеристик алгоритма и моделей исходных данных требованиям, которые предъявляются к алгоритму при его применении.
1.7.2. Метрологическая аттестация алгоритма (программы) проводится при выборе алгоритма (программы) для решения конкретной измерительной задачи, при разработке МВИ, проектировании ИВК или ИИС, при аттестации МВИ, ИВК или ИИС.
2.1. При выполнении аттестации алгоритма (программы) рекомендуется придерживаться следующего порядка действий:
2.1.1. Установить набор основных характеристик алгоритмов, которые следует оценивать: .
2.1.2. Установить набор моделей исходных данных, поступающих на обработку: .
2.1.3. Вычислить (оценить) значения характеристик алгоритмов (программ) на выбранных типовых моделях :
.
2.1.4. Оформить свидетельство об аттестации алгоритма (программы), включающее матрицу характеристик .
2.2. При выполнении общей аттестации алгоритма целесообразно выделить (описать) группу однородных алгоритмов, предназначенную для решения одной задачи обработки и содержащую исследуемый алгоритм.
Примечание. Рабочая классификация алгоритмов обработки, полезная для целей аттестации, приведена в приложении 2.
2.3. В рамках приведенной единой схемы аттестации (п.2.1) задачи общей и метрологической аттестации алгоритмов (программ) различаются:
по целям их выполнения и способам использования полученных результатов;
по используемым наборам характеристик алгоритмов (см. разд. 3);
по используемым типовым моделям исходных данных, поступающих на обработку (см. разд. 4).
2.4. Характеристики алгоритмов (программ) устанавливают с учетом целей аттестации и свойств группы алгоритмов.
2.4.1. При общей аттестации характеристики устанавливают так, чтобы они достаточно полно отражали свойства алгоритмов и позволяли их сопоставлять в рамках выделенной группы однородных алгоритмов, предназначенных для решения одной из типовых измерительных задач (при одинаковых вариантах условий, определяющих возможные случаи применения).
Указанные наборы характеристик приводятся в разделах НТД, регламентирующих обработку данных для соответствующих задач.
2.4.2. При метрологической аттестации характеристики устанавливают с целью оценивания составляющих погрешностей результатов обработки в конкретной измерительной задаче (или методике выполнения измерений) и приводят в соответствующей МВИ, свидетельстве об аттестации алгоритма или программной документации.
2.5. Набор типовых моделей исходных данных, поступающих на обработку, устанавливают, исходя из конкретных целей аттестации, с учетом следующих требований:
модели должны быть не очень сложными;
число моделей в наборе должно быть небольшим;
модели должны в совокупности достаточно полно описывать свойства возможных исходных данных.
Выбранные модели должны, по возможности, соответствовать наихудшим вариантам ( с точки зрения искомых характеристик алгоритма или программы).
2.5.1. При общей аттестации набор моделей устанавливают на основе предварительных представлений и накопленных сведений о свойствах данных так, чтобы наиболее полно выявить свойства алгоритма.
2.5.2. При метрологической аттестации набор моделей устанавливают на основе анализа априорной информации о конкретной измерительной задаче (выявления источников погрешностей и анализа их свойств) с целью наибольшего приближения к свойствам реальных данных.
2.5.3. При переходе от общей к метрологической аттестации число используемых моделей, как правило, уменьшается, а вид моделей уточняется (в том числе, усложняется).
2. 6. Получаемые при аттестации значения характеристик на типовых моделях представляют собой зависимости соответствующих характеристик алгоритмов (программ) от параметров, описывающих модели исходных данных.
Примечания.
1. Основные способы оценивания (вычисления) указанных зависимостей приведены в разд. 5.
2. Основные формы представления зависимостей приведены в разд. 6.
3. Примеры аттестации алгоритмов обработки данных при прямых многократных измерениях приведены в приложении 3.
3.1. При общей аттестации алгоритмов (программ) установлены следующие группы характеристик:
3.1.1. Характеристики точности, предназначенные для оценивания погрешностей результатов измерений, получаемых при использовании алгоритма (программы).
3.1.2. Характеристики устойчивости (надежности), которые задают область работоспособности алгоритма (программы).
3.1.3. Характеристики сложности, которые отражают трудоемкость вычислений или вычислительные затраты при однократном применении алгоритма (программы).
3.2. К характеристикам точности алгоритмов (программ) относятся:
основные характеристики точности, предназначенные для оценивания составляющих погрешностей результатов обработки на моделях исходных данных;
вспомогательные характеристики точности - параметры погрешностей результатов обработки, полезные при сопоставлении алгоритмов, не отличные от основных характеристик точности.
3.2.1. При аттестации алгоритмов оценивают характеристики составляющих погрешностей результатов обработки, в том числе:
методической погрешности, обусловленной неидеальностью метода обработки;
трансформированной погрешности, обусловленной погрешностями исходных данных и их преобразованиями при обработке.
3.2.2. К основным характеристикам точности алгоритмов (программ) относятся:
границы методической составляющей погрешности ;
границы систематических составляющих трансформированной погрешности результата измерения;
СКО случайной составляющей трансформированной погрешности.
3.2.3. При метрологической аттестации программ, реализующих алгоритмы, необходимо оценивать характеристики точности (СКО и границы погрешностей) с учетом дополнительных составляющих погрешностей результатов, обусловленных особенностями работы программы в конкретной вычислительной среде, в том числе:
округлением промежуточных результатов;
ограниченностью разрядной сетки;
дискретизацией по аргументу;
конечным числом итераций;
использованием конечных разложений в ряд, и др.
3.3. К характеристикам устойчивости алгоритмов (программ) относятся:
допустимое число или доля данных, которые могли бы содержать промахи (большие погрешности), не нарушая работоспособности алгоритма;
границы интервалов (областей) значений параметров исходных данных, в которых алгоритм работает без сбоев (грубых ошибок).
3. 4. Основными характеристиками сложности алгоритмов являются показатели вычислительной сложности, определяемые числом типовых операций (арифметических и логических), необходимых для однократного вычисления по данному алгоритму.
3.4.1. К основным характеристикам сложности программ обработки данных относятся:
временная сложность, определяемая как время работы ЭВМ при однократном выполнении программы;
объемная сложность, определяемая как объем памяти ЭВМ (отдельно - долговременной и оперативной), необходимый для работы программы.
3.5. При метрологической аттестации алгоритмов (программ) используют основные характеристики точности по п.3.2.
Примечание. По согласованию с заказчиком при метрологической аттестации могут использоваться также некоторые вспомогательные характеристики точности, а также характеристики устойчивости и сложности.
4.1. Модели исходных данных при аттестации формируются как сочетания моделей полезных сигналов и моделей погрешностей исходных данных.
4.1.1. Если данные поступают на обработку в аналоговом виде, то модели исходных данных представляют в виде случайных или детерминированных функций непрерывного аргумента.
4.1.2. Если данные поступают на обработку в дискретном виде, то модели представляют в виде случайных или детерминированных последовательностей.
4.2. Модели полезных сигналов формируют на основе постановки измерительной задачи, используя уравнения измерений, сведения о свойствах входных сигналов СИ и его метрологических характеристиках.
4.3. Модели погрешностей исходных данных формируют отдельно для случайных и систематических составляющих, учитывая сведения по п.4.2, а также сведения о возможных помехах на входе и выходе СИ.
4.4. Для случайных составляющих погрешностей исходных данных принимают модели в виде случайных функций или последовательностей, имеющих определенные распределения и корреляционные функции.
В пп.4.4.1, 4.4.2 приведены примеры распределений и корреляционных функций, наиболее часто применяемых при аттестации. Вместо них или в дополнение к ним можно использовать другие распределения и корреляционные функции, вид которых обоснован спецификой исследуемого алгоритма и условий его применения.
4.4.1. При выполнении аттестации можно использовать следующие распределения (существенно различные по свойствам):
гауссовское,
равномерное,
двойное экспоненциальное.
Для исследования поведения алгоритмов при небольших отклонениях распределений погрешностей от гауссовского используют засоренное гауссовское распределение, имеющее плотность вида:
,
где и - плотности гауссовского и засоряющего распределений, .
4.4.2. При проведении аттестации можно использовать следующие корреляционные функции:
-функцию (соответствующую белому шуму),
стационарную корреляционную функцию вида
,
стационарную корреляционную функцию с заданной дробно-рациональной спектральной плотностью,
нестационарную корреляционную функцию вида
.
4.5. Для систематических составляющих погрешностей возможны модели в виде детерминированных функций или последовательностей. Например, в виде следующих функций:
постоянной,
линейной,
синусоидальной.
Примечание. В отдельных случаях для неисключенных систематических погрешностей принимают статистические модели (чаще всего - с равномерным распределением).
5.1. Выделяются три основных подхода к определению (оцениванию) характеристик алгоритмов (программ) на моделях исходных данных:
аналитический подход;
численные расчеты показателей точности;
математическое моделирование (прежде всего, статистическое).
5.2. При аналитическом подходе выражения находят в виде явных функций от параметров исходных данных, в том числе, характеристик погрешностей исходных данных и объема данных при этом используют точные или приближенные аналитические методы в рамках принятых (точных) моделей исходных данных. Зависимости могут быть представлены в различных формах (см. п.6.3).
5.3. При использовании численных методов выделяются два основных варианта.
5.3.1. Принимают упрощенные типовые модели данных и приближенно оценивают характеристики алгоритма (программы) как функции от параметров моделей данных. В результате получают приближенные аналитические зависимости характеристик от параметров моделей.
5.3.2. Задают конкретные значения параметров моделей исходных данных и приближенно оценивают значения характеристик алгоритма (программы), соответствующих выбранным значениям. В результате получают оценки характеристик для конкретных значений параметров.
5.4. При использовании статистического моделирования выполняют следующие операции:
задают конкретные значения параметров моделей исходных данных;
моделируют (многократно) наборы исходных данных, поступающих на вход алгоритма (программы) обработки;
применяя исследуемый алгоритм (программу) к полученным наборам данных, получают серию результатов вычислений;
путем дополнительной обработки полученной серии результатов вычислений, оценивают искомые характеристики алгоритма (программы).
5.4.1. При использовании моделирования для каждого набора значений параметров исходных данных получают конкретное значение характеристики , т.е. i-я характеристика представляется в виде таблицы:.
5.4.2. При реализации процедуры статистического моделирования, как правило, используют ЭВМ. При анализе результатов аттестации необходимо учитывать свойства процедуры моделирования, в том числе, используемых датчиков случайных чисел.
5.5. При аттестации сложных алгоритмов целесообразно комплексно использовать указанные подходы. В частности, целесообразно приближенно оценивать асимптотическое поведение показателей в аналитическом виде; а затем, более точно, - оценивать показатели путем статистического моделирования.
6.1. Результаты общей аттестации алгоритмов (программ) могут быть представлены:
в свидетельствах об аттестации алгоритмов (программ);
в справочных материалах, содержащих типовые алгоритмы обработки данных при прямых, косвенных, совместных и совокупных измерениях и результаты их аттестации;
в разделах НТД, посвященных вопросам обработки данных для отдельных групп измерений (в том числе, НТД по методам обработки данных).
6.2. Результаты метрологической аттестации алгоритмов (программ) могут быть представлены:
в разделах НТД, связанных с вопросами обработки данных при конкретных видах измерений (в том числе, МВИ или аттестатов МВИ);
в разделах свидетельств об аттестации ИВК или ИИС.
6.3. При представлении результатов аттестации алгоритма (программы) в документах по пп.6.1, 6.2 должны быть указаны следующие данные:
перечень характеристик , значения которых оценивались при аттестации;
перечень моделей исходных данных при которых определялись (оценивались) значения характеристик;
способы оценивания характеристик на указанных моделях;
зависимости характеристик от параметров моделей исходных данных, вычисленные (оцененные) на указанных моделях данных.
6.4. Зависимости характеристик алгоритма (программы) от параметров моделей исходных данных, полученные в ходе аттестации, могут быть представлены в форме:
аналитического выражения (формулы), задающего как явную функцию от параметров исходных данных :
;
таблицы значений показателей при конкретных значениях параметров исходных данных ;
комбинированной, когда некоторые параметры входят в зависимость аналитически, а другие - задаются конкретными значениями;
графиков зависимостей значений показателей от отдельных параметров исходных данных:
.
6.5. Расчет значений характеристик алгоритма (программы) на типовых моделях исходных данных выполняется:
разработчиком алгоритма (программы) - если предлагается новый алгоритм (программа);
пользователем алгоритма (программы) - если отсутствуют данные о его аттестации;
разработчиком МВИ - при метрологической аттестации алгоритма обработки данных, входящего в состав МВИ, и отсутствии данных об аттестации алгоритма;
разработчиком ИВК, ИИС, ИУС или измерительного устройства - при метрологической аттестации алгоритмов (программ), входящих в состав прикладного программного обеспечения перечисленных систем и отсутствии данных об их предварительной аттестации.
ПРИЛОЖЕНИЕ 1
Справочное
1. Алгоритм - однозначное описание последовательности операций над исходными данными (из некоторой совокупности возможных исходных данных), направленной на получение результата, полностью определяемого этими исходными данными.
2. Программа - самостоятельный объект, являющийся конкретной реализацией алгоритма обработки данных, предназначенной для исполнения ЭВМ.
3. Методическая погрешность результата измерения, обусловленная неидеальностью алгоритма обработки данных - составляющая погрешности результата измерения, которая получается при применении алгоритма к точным исходным данным (не содержащим погрешностей) при условии точного выполнения всех арифметических и логических операций.
Пример. Погрешность, обусловленная использованием квадратурной формулы при вычислении интеграла.
4. Трансформированная погрешность - составляющая погрешности результата измерения, обусловленная наличием погрешностей исходных данных, поступающих на обработку, и их преобразованием с помощью алгоритма (программы).
5. Верификация программы - проверка (доказательство) логической непротиворечивости программы.
ПРИЛОЖЕНИЕ 2
Справочное
1. Рабочая классификация алгоритмов обработки данных при измерениях, полезная для целей аттестации алгоритмов, использует четыре основных признака, соответствующих структурным элементам алгоритмов:
1) вид оцениваемой характеристики;
2) вид вычислительной процедуры;
3) вид исходных данных;
4) формы представления результатов.
1.1. Наиболее существенными являются первые два признака, связанные с описанием основных объектов алгоритма. Последние два признака связаны с формой представления основных объектов.
1.2. Для каждого из основных признаков классификации выделяют подчиненные ему частные признаки и конкретные варианты признаков и далее формируют основные группы алгоритмов при разбиении по данным признакам.
2. При классификации алгоритмов по оцениваемым характеристикам в качестве частных признаков классификации принимают:
1) конкретный смысл характеристики в рамках определенной математической модели;
2) размерность характеристики, число аргументов или параметров;
3) функциональный вид зависимости (в частности, линейность), а также свойства гладкости (или непрерывности).
3. При классификации алгоритмов по виду вычислительных процедур в качестве частных признаков принимают:
1) подход, принятый при построении алгоритма;
2) структурные особенности построения алгоритма.
3.1. В соответствии с первым частным признаком выделяют три основные группы алгоритмов:
оптимальные алгоритмы (при определенных модели и критерии);
устойчивые (робастные) алгоритмы, которые имеют высокую эффективность на более широких моделях;
эвристические алгоритмы, которые имеют широкую область применения (хотя и не столь высокую точность).
3.2. При классификации по второму частному признаку учитывают, прежде всего:
способ управления порядком выполнения действий;
зависимость параметров процедуры от исходных данных;
способ задания алгоритма;
наличие определенных типовых блоков (подалгоритмов) в составе алгоритма.
Краткая классификация алгоритмов по вычислительным процедурам представлена в таблице, помещенной в конце настоящего приложения.
4. При классификации алгоритмов по виду исходных данных выделяют следующие частные признаки:
форму представления данных (дискретная или аналоговая);
режим поступления данных;
объем массива данных;
размерность данных;
зависимость между исходными данными.
5. При классификации по формам представления результатов обработки данных учитывают как формы представления результатов измерений, так и формы представления погрешностей измерений.
Данная классификация тесно связана с классификацией по первому признаку.
6. В соответствии с классификацией по видам оцениваемых характеристик выделяются однородные группы алгоритмов обработки, предназначенных для решения одинаковых измерительных задач.
7. Для целей аттестации алгоритмов основной является классификация по видам вычислительных процедур, которая выполняется в рамках однородных групп алгоритмов.
Классификация алгоритмов обработки данных при прямых измерениях по виду вычислительных процедур
Признаки классификации |
Группы алгоритмов обработки |
||
Оптимальные |
Устойчивые |
Эвристические |
|
Подход при построении алгоритма |
Максимального правдоподобия, в том числе, среднее арифметическое Балесовские Оценки Питмена |
Усеченные средние М-оценки, в том числе, Хубера, Тьюки, Андрюса -оценки, |
Медиана Основанные на порядковых статистиках Основанные на рангах или метках |
Зависимость вычислительной процедуры от данных |
Линейные алгоритмы |
||
Способ задания вычислительной процедуры |
Явное выражение |
ПРИЛОЖЕНИЕ 3
Рекомендуемое
Рассматриваются два простых алгоритма обработки данных при прямых измерениях с многократными наблюдениями:
1) - усеченное среднее, полученное при отбрасывании в упорядоченном наборе исходных данных для обработки
по 25% наименьших и наибольших результатов и усреднении остальных данных;
2) медиана , т.е. среднее значение (при ) или полусумма средних (при ) в упорядоченном наборе данных.
При общей аттестации алгоритмов обработки данных при прямых измерениях с многократными наблюдениями принимают следующие основные метрологические характеристики точности:
- СКО случайной погрешности результата измерения;
- границу систематической погрешности результата измерения.
Приведенные алгоритмы естественно сопоставлять с наиболее распространенным на практике алгоритмом - средним арифметическим данных:
.
Поэтому удобно представлять указанные характеристики в приведенной форме (отнесенные к соответствующим характеристикам погрешностей среднего арифметического):
;
.
В качестве показателя устойчивости алгоритма принимают точку срыва - допустимую долю выбросов в данных (результатов, содержащих большие погрешности), наличие которых не приводит к нарушению работоспособности алгоритма.
При общей аттестации алгоритмов обработки данных при прямых измерениях принимают следующие модели данных:
- независимые случайные величины со средним и дисперсией , имеющие гауссовские распределения;
- независимые случайные величины, имеющие равномерные распределения на интервале ;
- независимые случайные величины, имеющие двустороннее экспоненциальное распределение с плотностью
,
средним и дисперсией ;
- независимые случайные величины, имеющие засоренное гауссовское распределение с плотностью
,
где - плотность гауссовского распределения со средним и дисперсией ; - плотность гауссовского распределения со средним и дисперсией ;
- линейно изменяющаяся последовательность со средним значением и углом наклона ;
- постоянная последовательность вида ;
- последовательность, изменяющаяся по синусоидальному закону:
.
В результате аттестации алгоритма получается таблица значений показателей алгоритма, вычисленных (оцененных) на типовых моделях исходных данных.
.
Значения перечисленных характеристик на приведенных моделях исходных данных могут быть вычислены аналитическими методами. Полученные значения характеристик приведены в таблице.
Значения характеристик алгоритмов усеченного среднего и медианы
Типовые модели погрешностей |
Значения характеристик алгоритмов |
|||||
1,20 |
0,25 |
1,57 |
0,5 |
|||
2,00 |
0,25 |
3,00 |
0,5 |
|||
0,61 |
0,25 |
0,50 |
0,5 |
|||
0,92 |
0,25 |
1,20 |
0,5 |
|||
0,5 |
0,5 |
|||||
1 |
1 |
|||||
1 |