Пиши Дома Нужные Работы

Обратная связь

Построение НепараметрическОЙ Оценки

Регрессии

Цель работы: в визуальной среде Simulink научиться создавать блок, реализующий заданный пользователем алгоритм; используя этот прием, реализовать в пользовательском блоке алгоритм построения непараметрической регрессионной модели статического объекта с одним входом.

 

Краткие теоретические сведения

 

Рассмотрим статический объект с одним входным и одним выходным параметрами. Математическое описание статической модели входа-выхода такого объекта представляет собой условное математическое ожидание, или функцию регрессии:

.

 

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

 

,

,

получим оценку регрессии:

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

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

– экспоненциальная функция (функция Гаусса):

;

– параболическая функция:

 

 

– прямоугольная функция:

Окончательно модель объекта, т. е. оценка регрессии, имеет вид

 

Эта оценка была выведена E. Надарая и Дж. Ватсоном в 1964 г. Нетрудно доказать, что полученная оценка является несмещенной и сходится в среднеквадратическом.

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

,

где .

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



 

Указания к выполнению

Непараметрическая оценка регрессии создается в среде Simulink по приведенному на рис. 12 образцу.

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

 

 

Рис. 12. Непараметрическая оценка регрессии в среде Simulink

 

Вектор выборочных значений выходной величины вычисляется по формуле синусоидальной функции с добавлением аддитивной помехи. Векторная помеха задается блоком Random Vector, переименованным блоком Random Number со специальными свойствами (рис. 13).

 

 

Рис. 13. Свойства блока Random Vector

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

Блок Cs задает параметр размытости. Блок S-function – пользовательский блок, написанный на языке MATLAB в соответствии с шаблоном из справочной системы.

Код пользовательского блока содержится в файле block.m:

 

% S-function

 

function [sys,x0,str,ts]=block(t,x,u,flag,n)

 

switch flag

 

%%%%%%%%%%%%%%%%%%

% Initialization %

%%%%%%%%%%%%%%%%%%

case 0

[sys,x0,str,ts] = mdlInitializeSizes(x,n);

 

case 1

sys = [1];

 

case {2,4,9}

sys = [];

 

%%%%%%%%%%

% Output %

%%%%%%%%%%

case 3

sys = mdlOutputs(t,x,u,n);

 

otherwise

error(['unhandled flag = ',num2str(flag)]);

end

 

%=============================================================================

% mdlInitializeSizes

% Return the sizes, initial conditions, and sample times for the S-function.

%=============================================================================

 

function [sys,x0,str,ts] = mdlInitializeSizes(x,n)

 

sizes = simsizes;

 

sizes.NumContStates = 0; % количество непрерывных переменных % состояния

sizes.NumDiscStates = 1; % количество дискретных

% переменных состояния

sizes.NumOutputs = 2; % количество выходных переменных

sizes.NumInputs = 1+n+n; % количество входных переменных

sizes.DirFeedthrough = 1; % есть проход входного сигнала на % выход

sizes.NumSampleTimes = 1; % размерность вектора шагов

% модельного времени

 

sys = simsizes(sizes);

str = [];

x0 = [0];

ts = [0 0]; % sample time: [period, offset]

 

global xx;

global yy;

 

% end mdlInitializeSizes

 

%=============================================================================

% mdlOutputs

% Return the output vector for the S-function

%=============================================================================

 

function sys = mdlOutputs(t,x,u,n)

 

global xx;

global yy;

tt = t; % time

cn = u(1); % bandwidth

 

% n - размерность векторов входа

n2 = n + 1; % граница с учетом сдвига

if t == 0

xx = [];

yy = [];

for i=2:n2

xx = [ xx u(i) ];

yy = [ yy u(i+n) ];

end

end

 

sumzn = 0;

sumch = 0;

for i=1:n

if abs(tt-xx(i)) < cn

sumch = sumch + 0.75*( 1-(tt-xx(i))*(tt-xx(i))/(cn*cn)) *yy(i);

sumzn = sumzn + 0.75*( 1-(tt-xx(i))*(tt-xx(i))/(cn*cn));

end

end

 

if sumzn == 0

p = 0;

else

p = sumch/sumzn;

end

 

sys(1) = p;

sys(2) = x(1);

for i=1:n % отображаем выборку на графике

 

if abs(tt - xx(i))<=0.005;

sys(2) = yy(i);

break;

end

end

 

% end mdlOutputs

 

В параметрах модели, доступных в меню File → Model Properties→→ Callbacks → InitFcn, объявляются и инициализируются три переменные, задающие объем выборки, левую границу и шаг выборочных значений U:

 

N = 91; % Sample size

st = 2; % Initial time

dt = 0.1; % Time increment

 

Имя переменной N используется в качестве параметра, указываемого в окне свойств блока S-function. Результат работы модели отображается блоком Scope на графике (рис. 14).

 

 

Рис. 14. Выборочные значения и оценка регрессии

 

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

 

Порядок выполнения работы

 

1. Сгенерировать случайную выборку значений входной и выходной величин, задав истинную характеристику объекта и добавив случайную аддитивную помеху, распределенную по нормальному закону.

2. Задать параметр размытости для непараметрической оценки
регрессии, реализовать его в виде блока.

3. Создать пользовательский блок, вычисляющий непараметрическую модель регрессии Надарая–Ватсона.

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

5. Отобразить выборочные значения и оценку регрессии на одном графике.

6. Сделать выводы и оформить отчет о выполнении работы

Задания для самоподготовки

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

2. Добавьте в модель возможность вычисления среднеквадратической ошибки. Исследуйте зависимость ошибки от параметра размытости и дисперсии случайной помехи.

3. Докажите асимптотическую несмещенность и сходимость в среднеквадратическом непараметрической оценки регрессии.

4. Изучите средства MATLAB, позволяющие проводить оптимизацию по параметру размытости в соответствии со среднеквадратическим критерием.

 
 
 

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

 


1. Агафонов, Е. Д. Математическое моделирование линейных динамических систем : учеб. пособие / Е. Д. Агафонов, О. В. Шестернёва ; Сиб. гос. аэрокосмич. ун-т. – Красноярск, 2010. – 92 с.

2. Васильев, В. В. Математическое и компьютерное моделирование процессов и систем в среде MATLAB/Simulink : учеб. пособие для студентов и аспирантов / В. В. Васильев, Л. А. Симак, А. М. Рыбникова. – Киев : Изд-во Нац. акад. наук, 2008. – 91 с.

3. Гантмахер, Ф. Р. Теория матриц / Ф. Р. Гантмахер. – 5-е изд. – М. : Физматлит, 2004. – 560 с.

4. Дьяконов, В. П. MATLAB R2006/2007/2008 + Simulink 5/6/7. Основы применения / В. П. Дьяконов. – М. : Солон-Пресс, 2008. – 800 с.

5. Исследование операций в экономике : учеб. пособие для вузов /
Н. Ш. Кремер, Б. А. Путко, И. М. Тришин, М. Н. Фридман ; под ред. проф. Н. Ш. Кремера. – М. : Банки и биржи : ЮНИТИ, 1997. – 407 с.

6. Перегудов, Ф. И. Основы системного анализа : учебник / Ф. И. Перегудов, Ф. П. Тарасенко. – 2-е изд., доп. – Томск : НТЛ, 1997. – 396 с.

7. Самарский, А. А. Математическое моделирование: Идеи. Методы. Примеры / А. А. Самарский, А. П. Михайлов. – 2-е изд., испр. – М. : Физматлит, 2001. – 320 с.

8. Хардле, В. Прикладная непараметрическая регрессия : пер. с англ. / В. Хардле. – М. : Мир, 1993. – 349 с.

9. Шампайн, Л. Ф. Решение обыкновенных дифференциальных уравнений с использованием MATLAB : учеб. пособие / Л. Ф. Шампайн,
И. Гладвел, С. Томпсон. – СПб. : Лань, 2009. – 304 с.

 
 
 

Учебно-методическое издание

 


Компьютерное моделирование

В пакете MATLAB/Simulink

 

Методические указания к выполнению лабораторных работ

для студентов направления 230100.62 «Информатика и вычислительная техника» очной формы обучения

 

 

Составитель

Агафонов Евгений Дмитриевич

 

 

Редактор О. Ф. Александрова

Корректор Т. Е. Бастрыгина

 

 

Подписано в печать ...10.11. Печать плоская.

Формат 60х84/16. Бумага офсетная.

Усл.-печ. л. ... Тираж 50 экз. Заказ ...

 

 

Редакционно-издательский отдел

Библиотечно-издательского комплекса

Сибирского федерального университета

660041, г. Красноярск, пр. Свободный, 79.

Тел./факс (391) 244-82-31, e-mail: rio@lan.krasu.ru

 

 

Отпечатано Полиграфическим центром

Библиотечно-издательского комплекса

Сибирского федерального университета

660041, г. Красноярск, пр. Свободный, 82а.






ТОП 5 статей:
Экономическая сущность инвестиций - Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем...
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ - На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона...
Сущность, функции и виды управления в телекоммуникациях - Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента...
Схема построения базисных индексов - Индекс (лат. INDEX – указатель, показатель) - относительная величина, показывающая, во сколько раз уровень изучаемого явления...
Тема 11. Международное космическое право - Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию...



©2015- 2024 pdnr.ru Все права принадлежат авторам размещенных материалов.