Идентифицируйте основные параметры для оценки (графический интерфейс пользователя)

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

Образцовое описание

Vestibulo-окулярное отражение (VOR) позволяет глазам переместиться на той же скорости и в противоположном направлении как голова, так, чтобы видение не было размыто, когда голова перемещается во время нормального действия. Например, если главные повороты направо, поворот налево глаз на той же скорости. Это происходит даже в темноте. На самом деле VOR наиболее легко характеризуется измерениями в темноте, чтобы гарантировать, что движения глаз преимущественно управляются VOR.

Главное вращение обнаруживается органами во внутренних ушах, известных как полукруглые каналы. Они обнаруживают главное движение и передают сигналы о главном движении к мозгу, который отправляет моторные команды в глазные мышцы, так, чтобы движения глаз компенсировали главное движение. Мы хотели бы использовать данные о движении глаз, чтобы оценить параметры модели для этих различных этапов. Модель, которую мы будем использовать, показывают ниже. В модели существует четыре параметра: Delay, Gain, Tc и Tp.

open_system('sdoVOR')

Файл sdoVOR_Data.mat содержит однородно выборочные данные стимуляции и движений глаз. Если бы VOR были совершенно компенсационными, то график данных о движении глаз, когда инвертировано вертикально, наложил бы точно сверху графика главных данных о движении. Такая система была бы описана усилением 1 и фазой 180 градусов. Однако действительные движения глаз являются близкими, но не совершенно компенсационными.

load sdoVOR_Data.mat;   % Column vectors:   Time  HeadData  EyeData

Мы будем использовать Анализ чувствительности пользовательский интерфейс, чтобы видеть, как хорошо образцовые выходные подгонки, которые исследуют данные, и, какие параметры модели имеют большую часть влияния на качество подгонки. Чтобы открыть Анализ чувствительности пользовательский интерфейс, перейдите к меню Analysis в модели Simulink и нажмите Sensitivity Analysis...

Чтобы сопоставить данные с моделью, нажмите New Requirement и выберите требование Signal Matching. Это задает целевую функцию, состоящую из суммы квадратичной невязки между данными и образцовым выводом. В диалоговом окне Соответствия Сигнала задайте вывод как [Time EyeData] и задайте вход как [Time HeadData].

Чтобы просмотреть данные о движении глаз, перейдите к браузеру данных на левой стороне пользовательского интерфейса, щелкните правой кнопкой по требованию SignalMatching и выберите Plot & Simulate. Нижний график показывает стимуляцию, состоя из серии импульсов. Главный график показывает данные о движении глаз, которые напоминают, но точно не совпадают со стимуляцией. Это также показывает, что модель, моделируемая, вывод не совпадает с данными о движении глаз, потому что параметры модели должны быть оценены.

Исследуйте пробел проекта

Модель пытается получить явления, которые вызывают различие между главными перемещениями и движениями глаз. Здесь мы исследуем пробел проекта, сформированный параметрами модели. Чтобы задать параметры, чтобы исследовать в Анализе чувствительности пользовательский интерфейс, нажмите Select Parameters и создайте новый набор параметра. Выберите все параметры модели: Delay, Gain, Tc и Tp.

Исследуйте пробел проекта путем генерации значений параметров. Нажмите Generate Values и выберите случайные значения. Для воспроизводимости примера, сброс генератор случайных чисел.

rng('default')

С тех пор существует 4 параметра, мы сгенерируем 40 выборок.

Параметр Delay моделирует то, что существует некоторая задержка передачи сигналов от внутреннего уха до мозга и глаз. Эта задержка происходит из-за времени, необходимого для химических нейромедиаторов, чтобы пересечь синаптические расселины между нервными клетками. На основе количества синапсов в vestibulo-окулярном отражении эта задержка, как ожидают, составит приблизительно 5 мс. Мы смоделируем его с равномерным распределением с нижней границей 2 мс и верхней границей 9 мс.

Параметр Gain моделирует то, что в темноте, глаза не перемещаются вполне так же как голова. Мы смоделируем его с равномерным распределением с нижней границей 0,6 и верхней границей 1.

Параметр Tc моделирует динамику, сопоставленную с полукруглыми каналами, а также некоторой дополнительной нейронной обработкой. Каналы являются фильтрами высоких частот, потому что после того, как предмет был помещен во вращательное движение, нейронным образом активные мембраны в каналах медленно возвращаются к покоящемуся положению, таким образом, каналы прекращают обнаруживать движение. Таким образом, после того, как стимуляция подвергается ребрам перехода, движения глаз имеют тенденцию вылетать от стимуляции в зависимости от времени. На основе механических характеристик каналов, объединенных с дополнительной нейронной обработкой, которая продлевает эту временную константу, чтобы улучшить точность VOR, мы смоделируем Tc с нормальным (т.е. кривая нормального распределения) распределение со средним значением 15 секунд и стандартным отклонением 3 секунд.

Наконец, параметр Tp моделирует динамику oculomotor объекта, т.е. глаз и мышцы и ткани, присоединенные к нему. Объект может быть смоделирован двумя полюсами, однако считается, что полюс с большей временной константой отменяется предварительной компенсацией в мозгу, чтобы позволить глазу сделать быстрые перемещения. Таким образом в графике, когда стимуляция подвергается ребрам перехода, движения глаз следуют только с небольшой задержкой. Мы смоделируем Tp с равномерным распределением с нижней границей 0,005 секунд и верхней границей 0,05 секунд.

Когда демонстрационные значения сгенерированы, они появляются в таблице в Анализе чувствительности пользовательский интерфейс. Чтобы построить их, выберите ParamSet в браузере данных, кликните по вкладке Plots и сделайте график рассеивания. Выборка выше используемых опций по умолчанию, и они отражаются в графике рассеивания. Для параметров, смоделированных равномерным распределением, гистограммы кажутся приблизительно универсальными. Однако параметр, Tc был смоделирован нормальным распределением и его гистограммой, имеет профиль кривой нормального распределения. Если Statistics and Machine Learning Toolbox™ доступен, много других дистрибутивов могут использоваться, и выборка может быть сделана с помощью последовательностей низкого несоответствия Sobol или Холтона. Недиагональные графики показывают графики рассеивания между парами различных переменных. Поскольку мы не указывали, что взаимные корреляции между параметрами, графики рассеивания кажутся некоррелироваными. Однако, если параметры, как полагали, коррелировались, это может быть задано с помощью вкладки Correlation Matrix в диалоговом окне для генерации случайных значений параметров.

Оцените модель

Теперь, когда мы сгенерировали значения для набора параметра и задали требование (SignalMatching), мы можем оценить модель. Во вкладке Sensitivity Analysis нажмите Evaluate Model.

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

Из графика рассеивания результатов оценки требование SignalMatching, кажется, систематически отличается как функция Gain и Tc, но не Delay или Tp. Что-то подобное видно в контурном графике. Выберите переменную EvalResults в браузере данных, кликните по вкладке Plots и сделайте контурный график. Требование не отличается систематически слева направо как функция Delay, но это делает вертикально как функция Gain.

Статистический анализ

Мы можем использовать статистический анализ, чтобы определить количество, насколько каждый параметр влияет на требование. Кликните по вкладке Statistics и выберите и корреляцию и стандартизированную регрессию; и и линейные и оцениваемые аналитические типы. Если Statistics and Machine Learning Toolbox является доступной, частичной корреляцией, и корреляция Кендалла может также быть выбрана. Нажмите Compute Statistics, чтобы выполнить вычисления и показать график торнадо. График торнадо отображает результаты от начала до конца в порядке который параметр большинство влияний требование. Статистические значения колеблются от-1 до 1, где значение указывает, насколько параметр влияет на требование, и знак указывает, соответствует ли увеличение значения параметров увеличению или уменьшению в значении требования. Большинством мер это требование SignalMatching более чувствительно к Gain и Tc, и менее чувствительно к Delay и Tp.

Выберите Parameters for Estimation

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

К переходу от анализа чувствительности до оценки параметра перейдите к вкладке Sensitivity Analysis, нажмите Optimize и откройте сеанс оценки параметра. В диалоговом окне, которое появляется, укажите, что вы хотите использовать значения параметров в ParamValues и требование SignalMatching.

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

Поскольку определение эксперимента было импортировано из SignalMatching, и значения параметров были импортированы из ParamValues, у нас есть все необходимое для оценки. Нажмите Estimate, чтобы выполнить оценку параметра для Gain и Tc. Поскольку мы только оцениваем два самых влиятельных параметра, оценка сходится быстро, и образцовый вывод тесно совпадает с данными. Как имел место с образцовыми оценками в анализе чувствительности, параллельные вычисления могли использоваться, чтобы ускорить оценку.

Таким образом, Анализ чувствительности, пользовательский интерфейс использовался, чтобы исследовать пробел проекта параметра и решить, что два параметра, Gain и Tc, существенно больше влияли, чем другие. Стартовая точка для оценки была также определена. Эта стартовая точка и требование получения хорошей подгонки к экспериментальным данным были импортированы в Оценку Параметра пользовательский интерфейс. Оценка, завершенная быстро, потому что только два параметра должны были быть оценены, и образцовый вывод, соответствует данным очень небольшой остаточной ошибкой.

Закройте модель

bdclose('sdoVOR')