реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Регуляризация Тихонова в MathCAD
Ufauser
сообщение Dec 10 2011, 21:37
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 10-12-11
Пользователь №: 68 780



Добрый вечер, Коллеги.
В моей работе встал вопрос об использовании регуляризации Тихонова. Интернет не блещет примерами, есть лишь один пример в MathCAD12. Однако, набрав листинг я не получил результата, похожего на разобранный пример.

Функция Y0(x) почему-то пошла вдоль оси абсцисс. Если кто-то сталкивался с подобной проблемой, прошу помощи.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Vallen2006
сообщение Dec 12 2011, 04:26
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 29-08-06
Пользователь №: 19 908



Цитата(Ufauser @ Dec 11 2011, 01:37) *
Добрый вечер, Коллеги.
В моей работе встал вопрос об использовании регуляризации Тихонова. Интернет не блещет примерами, есть лишь один пример в MathCAD12. Однако, набрав листинг я не получил результата, похожего на разобранный пример.

Функция Y0(x) почему-то пошла вдоль оси абсцисс. Если кто-то сталкивался с подобной проблемой, прошу помощи.


Попробуйте изменить параметр регуляризации lambda. Можно попвтаться найти его исходя из невязки, но как правило это дает завышенное значение.
Go to the top of the page
 
+Quote Post
Major
сообщение Dec 12 2011, 06:55
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 375



1. Для начала протестируйте код на rhs без шума (в этом случае лямбда надо установить в ноль при поиске решения).
Когда ПР равен нулю метод Тихонова полностью эквивалентен методу максимального правдоподобия (МНК может быть реализацией поиска решения). Если на данных без шума вы сможете получить решение, то можно двигаться дальше.

2. можно запостить хелп либо линку на функцию lsolve (не пользуюсь маткадом)?

Go to the top of the page
 
+Quote Post
Ufauser
сообщение Dec 12 2011, 10:04
Сообщение #4





Группа: Новичок
Сообщений: 6
Регистрация: 10-12-11
Пользователь №: 68 780



Цитата(Vallen2006 @ Dec 12 2011, 07:26) *
Попробуйте изменить параметр регуляризации lambda. Можно попвтаться найти его исходя из невязки, но как правило это дает завышенное значение.

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

Цитата(Major @ Dec 12 2011, 09:55) *
1. Для начала протестируйте код на rhs без шума (в этом случае лямбда надо установить в ноль при поиске решения).
Когда ПР равен нулю метод Тихонова полностью эквивалентен методу максимального правдоподобия (МНК может быть реализацией поиска решения). Если на данных без шума вы сможете получить решение, то можно двигаться дальше.

2. можно запостить хелп либо линку на функцию lsolve (не пользуюсь маткадом)?

2. "lsolve(M, v) Returns the solution x for the linear system of equations M·x = v, using LU decomposition. The BLAS/LAPACK libraries (http://www.intel.com/software/products/mkl/features/lin_alg.htm) from Intel are used.

Arguments:
M is a real or complex matrix. If the matrix is square, it must be non-singular.
v is a real or complex vector or matrix having the same number of rows as M. "

1. к сожалению, я не понимаю что такое RHS без шума. Как раз на примере из учебника хотел понять и решить свое уравнение (Максвелла для E,B,H,D в обратном радиоканале)
"Когда ПР равен нулю метод Тихонова полностью эквивалентен методу максимального правдоподобия (МНК может быть реализацией поиска решения). Если на данных без шума вы сможете получить решение, то можно двигаться дальше." спасибо, попробую. Опишусь, если получится.
Go to the top of the page
 
+Quote Post
Major
сообщение Dec 12 2011, 13:06
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 375



RHS без шума это праваю часть уравнения задать без шума.
В вашем случае надо установить сигма равной нулю.

ПР - параметр регуляризации (лямбда).
Если решаете задачу без шума, то лямбда можно установить равной нулю.

Если в задаче с шумом или без шума установить лямбда=0, то получим метод наименьших квадратов (МНК).
Этот метод дает решение по критерия максимального правдоподобия (МП-оценку).
Оценка ОНК является лучшей в классе несмещенных оценка (теорема гаусса-маркова).
Это означает что дисперсия оценки будет минимальная и оценка имеет нулевое смещение.

Регуляризация позволяет позволяет снизить дисперсию, но плата за это смещение результата.
Ее можно рассматривать как некий вид оптимальной фильтрации.
Обычно регуляризацию Тихонова записывают в виде минимизации функционала.
То что записано у вас это приведение у уравнению Эйлера.
A'*Au+au=A'f
u - искомый вектор,
f - правая часть (rhs)
A - оператор (A' транспонированный).


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

У вас походе ошибка в коде:
вы написали Y0(x), а надо Y0(X)

Как-то так. Позже дополню еще.





Go to the top of the page
 
+Quote Post
Ufauser
сообщение Dec 14 2011, 14:27
Сообщение #6





Группа: Новичок
Сообщений: 6
Регистрация: 10-12-11
Пользователь №: 68 780



Цитата(Major @ Dec 12 2011, 16:06) *
RHS без шума это праваю часть уравнения задать без шума.
В вашем случае надо установить сигма равной нулю.

У вас походе ошибка в коде:
вы написали Y0(x), а надо Y0(X)

"посидел еще немножко" до 5ти утра.
ни приравнивание сигмы к нулю, ни изменение х на Х в коде к решению не привели. Появилось подозрение, что к учебнику Маткад 12 шел диск с программой, а в этих листингах НЕПОЛНЫЙ ее текст.
Как результат, скорее всего там за "принт скрином" осталась часть кода программы.

Кто-нибудь может объяснить, как решить y=kx методом Тихонова, если k тоже плавает?

Сообщение отредактировал Ufauser - Dec 14 2011, 14:28
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Major
сообщение Dec 15 2011, 05:14
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 375



Matlab подойдет?
Go to the top of the page
 
+Quote Post
Ufauser
сообщение Dec 15 2011, 10:39
Сообщение #8





Группа: Новичок
Сообщений: 6
Регистрация: 10-12-11
Пользователь №: 68 780



Цитата(Major @ Dec 15 2011, 09:14) *
Matlab подойдет?

все, что угодно. Мне важно понять, как задавать уравнения, чтобы вытаскивать и невязку и ПР. Сам я в Мейпл привык работать с института еще. В маткад ударился только потому, что единственный пример в интернете именно для него разобран))))
Go to the top of the page
 
+Quote Post
Xenia
сообщение Dec 15 2011, 12:08
Сообщение #9


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



А почему клин сошелся на регуляризации Тихонова? Почему бы не решить задачу по-простецки - обычной регрессией, аки методом наименьших квадратов?
Go to the top of the page
 
+Quote Post
Ufauser
сообщение Dec 15 2011, 14:01
Сообщение #10





Группа: Новичок
Сообщений: 6
Регистрация: 10-12-11
Пользователь №: 68 780



Цитата(Xenia @ Dec 15 2011, 16:08) *
А почему клин сошелся на регуляризации Тихонова? Почему бы не решить задачу по-простецки - обычной регрессией, аки методом наименьших квадратов?

Ксения, представьте себе город. Ваш, в котором Вы живете.
Представьте себе, что там есть сотовая связь.
Базовая станция(БС) излучает в "свободное пространство" города, Мобильная Станция(МС) "ловит" излучение. Вопрос в том, что расчетная зона покрытия может не совпасть с реальной. Вот посчитали Вам, что на улице Ленина у Вас будет связь. Вы вышли с МС, и не смогли позвонить, "палочек" на антенне нет. )
Начинаем изучать канал связи в прямую и обратную сторону.
Фундаментальный подход - посчитать волну с помощью уравнений Максвелла. Однако, в уравнении типа D=eE явно есть "косяки"
Ну не совпадает эксперимент и расчет.
Начинаем думать, возможно, ошибка кроется в e=1 для воздуха. (тем более, что японец посчитал диэлектрическую проницаемость не просто для воздуха, а для СУхого воздуха при частоте 0,9МГц), начинаем решать уравнение Тихонова, которое имеет ту же структуру с регуляризационными параметрами. Собственно, мне интересно, что получится именно этим способом. Так понятно объяснил?
Go to the top of the page
 
+Quote Post
Ufauser
сообщение Dec 19 2011, 08:12
Сообщение #11





Группа: Новичок
Сообщений: 6
Регистрация: 10-12-11
Пользователь №: 68 780



Цитата(Major @ Dec 15 2011, 09:14) *
Matlab подойдет?

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



решение изначальной задачи в Маткаде завершено. До смешного просто все.
В листинге нет вот этой формулы YO(X)=7X. Они не ввели функцию, к которой должна стремиться исходная.

Вот результат -
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Major
сообщение Dec 26 2011, 07:05
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 375



Файл подгрузил.
По сути регуляризации я писал выше.
Проверить можно вызывая reg_solver_test(20,0.08).
Первый параметр мощность шума, второй альфа.
Будут вопросы, пишите.

P.S. Был в отъезде, поэтому долго не отвечал.

Прикрепленные файлы
Прикрепленный файл  reg_solver_test.zip ( 908 байт ) Кол-во скачиваний: 47
 
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 14:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.0145 секунд с 7
ELECTRONIX ©2004-2016