Интересные факты от Минск.Инфо

Содержание

1. Аннотация

2. Введение

3. Необходимые сведения

4. Исходные данные и обозначения

5. Вывод неизвестных коэффициентов системы уравнений

6. Реализация программы в среде Matlab

7. Примеры работы программы

8. Заключение

9. Список литературы

1. Аннотация.

Решение многих прикладных задач требует моделирования случайных векторов.

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

2. Введение.

Решение многих прикладных задач, таких как проведение модельных (машинных) экспериментов с помощью математического моделирования требует моделирования случайных векторов.

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

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

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

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

Алгоритм получения очередного случайного вектора заключается в следующем:

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

— моделируется случайный вектор , координаты которого независимы и имеют заданное одномерное распределение;

— с помощью указанной системы алгебраических уравнений получается случайный вектор .

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

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

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

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

Программа реализована в вычислительной среде MATLAB.

3. Необходимые сведения.

Ниже приводятся необходимые сведения и определения из линейной алгебры и теории вероятности.

Математическое ожидание случайной величины обладает следующими свойствами.

  1. Математическое ожидание постоянной равно этой постоянной, т.е.

    , .

  2. Постоянный множитель можно вынести за знак математического ожидания, т.е.

    .

  3. Математическое ожидание суммы двух случайных величин равно сумме их математических ожиданий, т.е.

    .

  4. Математическое ожидание произведения двух независимых случайных величин равно произведению их математических ожиданий, т.е.

    .

Можно доказать, что для случайных величин и для независимых случайных величин .

Дисперсия случайной величины обладает следующими свойствами.

  1. Дисперсия постоянной величины равно нулю, т.е.

    , .

  2. Постоянный множитель можно вынести за знак дисперсии возведя его в квадрат, т.е.

    .

  3. Дисперсия суммы двух независимых случайных величин равно сумме их дисперсий, т.е.

    .

Можно доказать, что для случайных независимых величин

Линейное преобразование случайных векторов . Предположим, что

— случайный — мерный вектор с математическим ожиданием и корреляционной матрицей . Введем матрицу преобразования размером и сформируем мерный вектор

Можно показать справедливость следующих выражений

, .

— вектор математического ожидания

Если — случайный — мерный вектор, координаты которого являются центрированными случайными величинами, то для выражения

справедливо .

4. Исходные данные и обозначения.

Исходными данными для поставленной задачи являются характеристики моделируемого случайного – мерного вектора :

— ковариационная матрица, , ,

— вектор математического ожидания, .

В качестве вектора берется случайный вектор, координаты которого распределены по нормальному закону с параметрами:

— нулевой вектор математического ожидания, центрированная случайная величина равна самой случайной величине ,

— дисперсия, — ковариационная матрица.

То есть координаты вектора независимы (отсутствует корреляция между компонентами вектора).

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

,

которая формирует массив, соразмерный с матрицей , элементами которого являются случайные величины, распределенные по нормальному закону с математическим ожиданием 0 и среднеквадратическим отклонением 1.

5. Вывод неизвестных коэффициентов системы линейных уравнений.

Координаты выходного вектора могут быть получены из нормально распределенных независимых случайных величин — координат вектор следующим образом:

или

.

Можно переписать систему линейных уравнений в матричном виде:

,

где , , , .

Найдем элементы матрицы , выразив их через элементы матриц , , , .

Так как , поэтому будем рассматривать

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

Для этого рассмотрим ковариацию двух случайных величин

.

Так как

,

аналогично

,

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

.

т.к. ,

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

,

или как было рассмотрено выше выражение в матричном виде

.

Так как нижнетреугольная матрица ( ) и , то

.

Эти рекуррентные соотношения позволяют найти элементы матрицы

по элементам ковариационных матриц, , .

Рассмотрим двумерный массив , где каждый столбец рассматривается как переменная, а каждая строка – как наблюдение. Тогда выборочная матрица ковариации определяется следующим образом:

В системе MATLAB, присутствует функция , которая вычисляет матрицу ковариаций измерений (или выборочную матрицу ковариации).

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

6. Реализация программы в среде Matlab.

clear all;

n=3; размерность случайного вектора

N=100; количество наблюдений (объем выборки)

U=randn(n,N); генерация случайного вектора

cov_u = eye(n,n); ковариационная матрица

cov_ksi = 4*eye(n,n);

cov_ksi=[4 2 3 ; 2 9 6 ; 3 6 16]; ввод ковариационной матрицы

M_ksi=[-10; 0; 10]; ввод матрицы

M_ksi=zeros(n,1);

A=zeros(n,n);

проверка размерности и

if (size(cov_ksi) ~= n) | (size(M_ksi) ~= n)

error(‘Размерность матрицы сov_ksi или M_ksi не совпадает с n’);

end

проверка корректности

for i=1:n,

if det(cov_ksi(1:i,1:i))