Статистика: как рассчитать стандартное отклонение и другие статистические характеристики

17/06/2022

Статистические величины, такие как стандартное отклонение и математическое ожидание, полезны при оценке эффективности или характеристик устройства, системы или процесса, смоделированных с помощью COMSOL Multiphysics®. В этой статье мы рассмотрим функции, графики и другие инструменты COMSOL Multiphysics, предназначенные для расчёта и визуализации статистических величин.

Статистика: вводный обзор

Статистические методы позволяют рассчитать количественные характеристики случайной величины или большого массива данных. Ниже в таблице перечислены некоторые статистические величины, а также названия операторов и операций над массивами данных, которые используются для их вычисления в COMSOL Multiphysics:

Величина Параметр Оператор Операция над массивом данных
Среднее значение или математическое ожидание \mu mean, timeavg Average
Стандартное отклонение \sigma stddev Standard deviation
Дисперсия Var, \sigma^2 Variance

Теперь расшифруем смысл каждой из перечисленных выше статистических величин:

  • Среднее или математическое ожидание (в уравнении ниже обозначается как \mu) равно сумме всех значений, отнесённой к числу элементов в массиве данных. Этот статистический показатель даёт полезную информацию об уровне любой колеблющейся величины. Среднее значение чувствительно к так называемым выбросам (то есть элементам выборки, значения которых сильно отличаются от значений других элементов). Ещё одним, схожим по смыслу статистическим параметром является медиана — срединное значение, которое находится в середине упорядоченного по возрастанию массива данных (либо полусумма соседних значений, если число элементов в массиве чётное). Например, оператор timeavg в COMSOL Multiphysics позволяет рассчитать среднее значение зависящей от времени величины в заданном интервале времени.
  • Стандартное отклонение (обозначается ниже как \sigma) характеризует степень отклонения данных от среднего значения. Определяется как квадратный корень из дисперсии. В отличие от дисперсии, стандартное отклонение исчисляется в тех же единицах измерения, что и исходные данные.
  • Дисперсия (обозначается как Var) является мерой разброса значений относительно ее математического ожидания. Единица измерения дисперсии — это квадрат единицы измерения исходных данных.

Математическое ожидание \mu можно рассчитать по формуле:

\mu(X)=\frac{1}{n}\sum_{i=1}^nx_i \cdot

Следующее соотношение позволяет определить дисперсию:

Var(X)=\frac{1}{n}\sum_{i=1}^{n}(x_i-\mu)^2

Здесь X — это величина, дисперсию (и среднее значение) которой нужно рассчитать, x_i — массив значений этой величины, \mu — математическое ожидание. Это определение дисперсии справедливо для массива данных с фиксированным числом элементов.

В COMSOL Multiphysics X и x_i представляют собой фиксированный массив данных.

Стандартное отклонение \sigma равно квадратному корню из дисперсии:

\sigma = \sqrt{\text{Var}}

Эти формулы можно легко обобщить на случай расчёта статистических величин, определённых на геометрических объектах, если заменить суммирование на интегрирование по пространству. Именно такое обобщение и используется в COMSOL Multiphysics. Интегральная форма соотношения для расчёта средней величины X по области \Omega имеет вид:

\mu(X) = \frac{1}{|\Omega|}\int_\Omega x d\Omega

и, аналогично, дисперсия переменной X по области \Omega равна

Var(X) = \frac{1}{|\Omega|}\int_\Omega (x-\mu(x))^2 d\Omega

где |\Omega| — размер области (объём, площадь или длина, в зависимости от пространственной размерности модели).

В следующих параграфах мы объясним, как использовать все эти операции и операторы при моделировании в COMSOL Multiphysics.

Статистические величины в COMSOL Multiphysics

Нелокальные операторы

Позже мы рассмотрим, как использовать встроенный оператор stddev для вычисления стандартного отклонения. Но перед этим давайте обсудим, как рассчитать среднее значение величины, например, в объёме или вдоль границ: кликните правой кнопкой мыши по узлу Definitions в текущем компоненте Component, а затем выберите пункт Average в меню Nonlocal Couplings. Так мы добавляем оператор осреднения с именем по умолчанию aveop1, а затем в настройках этого оператора указываем тип геометрического объекта Geometric entity level (например, Boundary) и выбираем сам объект (например, границы области), в пределах которого нужно выполнить осреднение. Аналогичным образом в дерево модели можно добавить операторы для расчёта интегралов, максимальных и минимальных значений.

Добавленные операторы можно использовать как в процессе расчёта модели, так и на этапе обработки результатов. Например, в задачах вычислительной гидродинамики с помощью оператора осреднения можно рассчитать среднюю скорость среды в выходном сечении расчётной области. Для этого в ветке Results дерева модели к узлу Derived Values нужно добавить подузел Global Evaluation, в окне настройки которого нужно ввести выражение aveop1(spf.U) и нажать кнопку Evaluate. После этого рассчитанные значения средней скорости для каждого сохранённого момента времени нестационарной задачи появятся в окне Table.

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

Стандартное отклонение или дисперсию можно рассчитать с помощью повторного использования нелокального оператора: сначала с помощью оператора вычисляется среднее значение, а затем тот же оператор используется для расчёта стандартного отклонения или дисперсии. Например, в нашем примере с гидродинамической задачей для определения стандартного отклонения давления на выходной границе можно воспользоваться оператором осреднения aveop1, заданным на выходной границе. Для этого в окне настройки узла Global Evaluation введём выражение sqrt(aveop1((aveop1(p)-p)^2)).

Упрощение выражений с помощью оператора Expression Operator

Выражение sqrt(aveop1((aveop1(p)-p)^2)), которое мы использовали выше, длинновато. Чтобы упростить использование этого выражения для настройки расчётной модели, можно воспользоваться оператором Expression Operator. Для этого сначала включим опцию Variable Utilities в разделе General окна настройки дерева модели Show More Options. Затем добавим узел Expression Operator из контекстного меню Variable Utilities, которое можно вызвать, кликнув правой кнопкой мыши по узлу Definitions текущего компонента модели Component. В окне настройки узла Expression Operator даём новому оператору название, например, stdop1 и вводим его определение, используя то же самое выражение, но уже с произвольным аргументом, который мы обозначим, скажем, pin:

Скриншот, на котором показаны разделы Geometric Entity Selection и Definition окна настройки узла Expression Operator. В разделе Definition задано выражение sqrt(aveop1((aveop1(pin)-pin)^2)).
Окно настройки Settings узла Expression Operator, который позволяет дать определение упрощённому оператору stdop1 для расчёта стандартного отклонения.

Теперь этот оператор можно использовать для обработки результатов моделирования, вводя команду stdop1(p) вместо sqrt(aveop1((aveop1(p)-p)^2)).

Производные величины

На этапе обработки результатов можно добавить узлы для расчёта среднего по объёму Volume Average, по поверхности Surface Average и вдоль контура Line Average, если воспользоваться контекстным меню узла Derived Values и выбрать соответствующую команду из подменю Average. Аналогично можно добавить узлы для вычисления интегральных Integration, максимальных Maximum и минимальных Minimum значений.

Преобразование результатов нестационарных и параметрических исследований

Для обработки массива данных, полученных в результате нестационарного, параметрического исследования или исследования на собственные значения, с помощью узла Point Evaluation можно вычислить следующие значения:

  • Среднее
  • Интегральное
  • Максимальное или минимальное
  • Среднеквадратическое (RMS)
  • Стандартное отклонение
  • Дисперсию

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

Встроенные операторы

В COMSOL Multiphysics доступно большое количество физических переменных, а также встроенных физических и математических констант, функций и операторов, которые можно использовать для обработки и визуализации результатов моделирования. Вы можете ввести имя непосредственно в любое поле Expression или выбрать из списка, нажав кнопку Add Expression или Replace Expression (кнопки расположены на панели инструментов раздела Expression). На скриншоте ниже показаны операторы из группы Integration and statistics COMSOL Multiphysics® версии 6.0:

На скриншоте перечислены операторы из группы Integration and statistics COMSOL Multiphysics версии 6.0.
Встроенные операторы группы Integration and statistics.

Особый интерес представляет оператор stddev для вычисления стандартного отклонения. С его помощью можно рассчитать стандартное отклонение давления на выходной границе в описанном выше примере, если ввести выражение stddev('comp1.aveop1',p). Это более простой и эффективный синтаксис, чем последовательное обращение к оператору осреднения, которые мы использовали выше для определения стандартного отклонения. Отметим, что имена компонентов и операторов в выражении приведены для примера, и в ваших моделях они могут быть иными.

Стандартное отклонение и математическое ожидание: пример

Давайте рассчитаем парочку статистических характеристик в нестационарной модели обтекания цилиндра Flow Past a Cylinder model, которую можно найти в разделе Fluid Dynamics библиотеки приложений Application Library в COMSOL Multiphysics. Вычислим следующие величины:

  1. Среднее значение и стандартное отклонение давления в расчётной области во всём временном интервале моделирования
  2. Среднее значение и стандартное отклонение скорости в некоторой точке выходной границы во всём временном интервале моделирования

Поле скорости и траектории частиц, рассчитанные с помощью нестационарной модели обтекания длинного цилиндра.
Построенный по умолчанию график в модели обтекания цилиндра Flow Past a Cylinder, показывающий распределение скорости и частиц в момент времени 7 с.

Среднее значение и стандартное отклонение давления в домене и на выходной границе

Чтобы определить среднее значение и стандартное отклонение давления в какой-то области, сначала добавим узел Average с названием оператора, скажем, aveop2, и выберем область осреднения. (В рассматриваемой геометрической модели существует только один домен). После завершения расчёта добавим подузел Global Evaluation к узлу Derived Values ветки Results дерева модели, и в окне настройки этого подузла введём выражение aveop2(p). Искомое значение среднего по объёму давления появится в окне Table для всех моментов времени, указанных в списке Time selection (по умолчанию выбраны все сохранённые моменты времени). Если нужно рассчитать среднее по времени значение осреднённого по объёму давления, выберите опцию Average из списка Transformation в разделе Data Series Operation. В результате получится одно скалярное число для среднего по времени значения осреднённого давления. Чтобы вывести стандартное отклонение на каждом шаге по времени, введите также выражение stddev('comp1.aveop2',p) (или воспользуйтесь любым из упомянутых выше вариантов расчёта).

Аргумент оператора stddev не обязательно должен быть средним значением. Например, в качестве аргумента можно ввести оператор интегрирования, но результатом по-прежнему будет правильно рассчитанное значение стандартного отклонения. Кроме того, его можно использовать в комбинации с оператором timeavg, чтобы получить тот же результат, что и в результате использования операций над массивами данных. Это можно сделать с помощью выражения типа stddev('timeavg',t1,t2,expr), где t1 и t2 — начальный и конечный моменты временного интервала, а expr — это выражение, которое нужно осреднить в заданном временном интервале. Например, чтобы построить график стандартного отклонения давления во временной области для каждой точки выходной границы в интервале времени от 6 до 7 секунд, можно использовать выражение stddev('timeavg',6,7,p).

На скриншоте показано окно настройки со множеством разделов, открытых в узле Line Graph, среди которых Data, Selection, y-Axis Data и x-Axis.
Окно настройки Settings графика Line Graph, в котором используется выражение для расчёта стандартного отклонения во временной области в интервале времени от 6 до 7 секунд.

График показывает, что наименьшее значение стандартного отклонения давления достигается в срединной точке выходной границы.

Линейный график, ось у которого помечена как 'stddev('timeavg',6,7,p)', ось х как 'Arc length (m)'.
Одномерный график Line Graph стандартного отклонения давления во временной области на выходной границе.

Среднее значение и стандартное отклонение скорости на выходной границе

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

  1. Добавить в геометрическую модель точку посередине выходной границы, даже если эта точка не используется в самой модели
  2. Добавить набор данных Cut Point (в нашем случае Cut Point 2D), а затем задать координаты точки в окне настройки набора данных

Чтобы найти скорость в средней точке, используйте узел Point Evaluation, в окне настройки которого либо выберите нужную точку в геометрической модели, либо выберите в качестве входных данных для графика набор данных Cut Point 2D. Затем в качестве входной переменной для графика укажите, например, spf.U. В разделе Data Series Operation окна настройки выберите Average или Standard deviation. Кликнув по кнопке Evaluate, расположенной в верхней части окна настройки Settings, вы получите график среднего значения или стандартного отклонения (оба в м/с) для скорости в средней точке выходной границы на каждом сохранённом временном шаге исследования.

На скриншоте показано окно Table, в котором выведены значения средней значения и стандартного отклонения скорости.
Среднее значение и стандартное отклонение скорости выводятся в таблицу в окне Table.

Гистограммы

С помощью гистограмм удобно визуализировать форму и разброс некоторых массивов данных. В COMSOL Multiphysics встроены следующие типы гистограмм:

  1. Гистограммы Histogram (1D и 2D графики) показывают, как та или иная величина распределена в пространстве в пределах геометрических объектов. В одномерных гистограммах по оси x отложены значения величины (в виде интервалов), а по оси y — общее число элементов в каждом интервале.
  2. Табличные гистограммы Table Histogram (1D и 2D графики) аналогичны обычным гистограммам Histogram, но строятся на основе данных из таблицы или расчётной группы.
  3. Матричные гистограммы Matrix Histogram (только 2D графики) позволяют визуализировать матрицы в виде 2D гистограмм.

При построении графиков Histogram и Table Histogram можно выбрать, хотите вы задать количество столбиков на гистограмме или диапазон значений для каждого столбика гистограммы. Для 2D гистограмм можно добавить подузел Height Expression, чтобы придать столбикам трёхмерный вид за счет использования оси z, как показано на рисунке ниже.

3D матричная гистограмма, визуализирующая данные о циклах нагружения.
График Matrix Histogram показывает число циклов нагружения, рассчитанное в верификационной модели Cycle Counting in Fatigue Analysis — Benchmark model.

Оценка неопределённости и статистика

С помощью модуля «Оценка неопределённости», дополняющего функционал среды COMSOL Multiphysics, можно получить статистические данные, связанные с количественной оценкой неопределённости, непосредственно в таблицах выходных данных. Например, для анализа распространения неопределенности с использованием неадаптивных суррогатных режимов гауссовского процесса доступны следующие четыре таблицы:

  1. Таблица доверительных интервалов QoI Confidence interval, в которой для каждой целевой переменной выводятся данные о математическом ожидании, стандартном отклонении, минимальном и максимальном значениях, а также о доверительных интервалах для доверительных вероятностей 90%, 95% и 99%.
  2. Таблица UP predicted QoI, в которой приведены спрогнозированные суррогатной моделью значения целевых переменных для точек выборки метода Монте-Карло.
  3. Таблица спрогнозированных значений стандартного отклонения UP predicted standard deviation, в которой указаны спрогнозированные суррогатной моделью стандартные отклонения для точек выборки метода Монте-Карло. Эти данные можно интерпретировать как встроенную оценку погрешности суррогатной модели.
  4. Таблица максимальных значений энтропии Maximum entropy, в которой указаны максимальные относительные значения стандартного отклонения для каждой целевой переменной.

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

Дальнейшие шаги

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

Рубрики блога


Комментарии (0)

Оставить комментарий
Войти | Регистрация
Загрузка...
РУБРИКАТОР БЛОГА COMSOL
РУБРИКИ
ТЕГИ