anonymous@RULINUX.NET~# Last login: 2024-04-24 20:57:27
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Проблемка из прикладной математики - подгонка данных

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

Задача парпметрической подгонки ставится так - есть набор экспериментальных точек (пусть на плоскости Y vs. X), которые нужно подогнать под зависимость заданную функцией Y=f(X,A,B,C...), где ABC - неизвестные параметры требующие уточнения в процессе подгонки. Причем если параметры ABC входят линейно (например f - это полином по Х), то задача упрощается - вычисление коэффициентов сводится просто к вычислению нескольких сумм по имеющемуся набору экспериментальных точек. Если же какой-то из коэффициентов входит не-линейно (например C Y=A+B*X^C), то для его нахождение уже требуется организовать процедуру поиска, которую уже можно по-разному оптимизировать - алгоритмами Нелдера-Мида, Левенберга-Марквардта и тд

А если задача подгонки опставлена по-другому? Допустим, требуется найти афинное преобразование (т.е. Y'=AY+B, X'=CX+D), которое приводит набор экспериментальных данных к заданной функции (которая может быть заданна просто как таблица значений с какой-то интерполяцией между узлами)? Поскольку преобразование линейное по Х и Y, то можно ли получить знаения A-D не поиском, а простым расчетом?

anonymous(*) (2009-08-18 06:28:00)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070601 SeaMonkey/1.1.2

[Ответить на это сообщение]
avatar
Скрыть

Re: Проблемка из прикладной математики - подгонка данных

Основное уравнение в данном случае — AY+B = f(CX+D). Поскольку параметры в него входят нелинейно, то, по-видимому, без поиска не обойтись.

anonymous(*)(2009-08-18 11:41:17)

avatar
Скрыть

Re: Проблемка из прикладной математики - подгонка данных

Уточника задачу, а то я не могу понять , что тебе дано и что ты ищешь. Тогда может смогу какую нибудь идею подкинуть.

anonymous(*)(2009-08-21 19:58:11)

Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 Firefox/3.0.13
avatar
Скрыть

Re: Проблемка из прикладной математики - подгонка данных

Возьмем задачку попроще - есть экспериментальные данные и их надо подогнать под модельную зависимость Y=f(X) только масштабирующими коэффициентами (X'=BX; Y'=AY). Каков мог бы быть сценарий?

раскладываем модельную зависимость и экспериментальные данные (в последнем случае это означает - интерполируем) в ряд Тейлора. Коэффициенты там и там должны быть связаны между собой переопределенной системой уравнений: ln(a_i)=ln(b_i)+ln(A)+(i-1)*ln(B) которую можно подогнать линейной аппроксимацией.

Этот сценарий работоспособен? А с аффинным преобразованием такой сценарий реализуем?

anonymous(*)(2009-08-25 16:15:24)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070601 SeaMonkey/1.1.2
avatar
Скрыть

Re: Проблемка из прикладной математики - подгонка данных

Если я правильно понял , ты знаешь что толжно быть Y=f(X). (1) На практике у тебя выходит X' и Y'. и урвавнение (1) больше не работает. Но благодаря линеарной коррекции, X=BX'; Y=AY'. (но у тебя в сообщении почему-то. X'=BX; Y'=AY). ты хочешь чтобы всё было, как в (1). тоесть Y=f(X) <=> AY'=f(BX').

Ну тогда анонимус (*) (18.08.2009 11:41:17) с AY+B = f(CX+D) прав.

Вот только ещё пару моих спонтанных идей: 1) Сначала разберись с Y, ты же f знаешь. Если Y имеет dimension n Подставь, n значений X так чтобы значения f(X)=Y были linear independent. тогда сможешь вычислить А.

2) Аналог поступаем с BX', ищешь такие значения Y , чтобы значения Х with f(X)=Y, были тоже linear independent, тогда этих уравнений будет достаточно, чтобы решить BX'=Х.

3) ещё возможный вариант для B: может её можно "вытащить" из derivativ от f: df(BX') / dX' = B*df(BX')/dX , может обе части уравнения дискретизировать с Finite Difference Method

Может произойти так, что задача не решаема.

anonymous(*)(2009-08-26 00:38:09)

Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!