Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение точки стабилизации процесса 
:(
    Опции темы
tt0100
Дата 1.12.2011, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 1.12.2011

Репутация: нет
Всего: нет



Такая задачка. нужно автоматизировать процесс определения точки стабилизации процесса:
user posted image
ну или та что через одну следующая
сходу чето ничего не придумал. т.к. разбросы разные бывают
а то когда он стабилизируется - он не к нулю а к какомуто маленькому числу да и то некрасиво. т.е. сходится с колебаниями
но нужно найти именно ту точку. пусть даже и несразу
число к которому сходится тоже заранее неизвестно. 
т.е. если отсекать по дельте изменения - непонятно как эту дельту/порог "налету" определить. или по какому количеству точек чтонибудь там вычислить и сказать - вот после этой точки процесс стабилизировался.
в общем чето я не понимаю в этой задачке...)

PM MAIL   Вверх
VictorTsaregorodtsev
Дата 2.12.2011, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.7.2006

Репутация: 3
Всего: 8



Киньте ещё картинок - там где с колебаниями.

PS. Могу сделать прогу.
PM MAIL WWW   Вверх
Фантом
Дата 2.12.2011, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 2
Всего: 49



Странный, возможно, алгоритм, но в таких случаях срабатывает. 

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

PM   Вверх
_Y_
Дата 2.12.2011, 17:30 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



ИМХО: по последним N точкам считаем прямую Y=AX+B (например, методом наименьших квадратов). Процесс считаем стабилизировавшимся если |A|<Eps. При этом, чтобы избежать проблем с осцилляцией (например, когда начало и конец интервала находятся внизу прямой, а середина вверху и, как результат, A=0) учитываем коеффициент корреляции для полученной прямой; т.е. если корреляция плохая - процесс еще не стабилизировался. В результате алгортм простейший, но надо правильно (подходяще к физике вашего процесса) выбрать N, Eps и граничное значене коеффициента корреляции.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
tt0100
Дата 2.12.2011, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 1.12.2011

Репутация: нет
Всего: нет



Цитата(VictorTsaregorodtsev @  2.12.2011,  15:33 Найти цитируемый пост)
Киньте ещё картинок - там где с колебаниями.

user posted image

да ято прогу и сам написать умею. а вот про что ее писать - непонятно (...

Цитата(Фантом @  2.12.2011,  16:24 Найти цитируемый пост)
Затем вычисляем номер измерения, при котором зависимость формально даст нулевую разность.

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

Цитата(_Y_ @  2.12.2011,  17:30 Найти цитируемый пост)
ИМХО

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

Это сообщение отредактировал(а) tt0100 - 2.12.2011, 18:54
PM MAIL   Вверх
_Y_
Дата 2.12.2011, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(tt0100 @  2.12.2011,  17:38 Найти цитируемый пост)
но т.к. там наклон близок к нулю - это очень плохой показатель.

A что мешает преобразовать координаты? Да и вариантов метода наименьших квадратов немеряно.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
миг
Дата 3.12.2011, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 15.9.2008

Репутация: нет
Всего: 1



_Y_, может имеется ввиду. Когда процесс стабилизируется наверно график функции не обязательно прямая линия. в этом случаи можно с такой же легкостью записать y=cos(x) или любую другую функцию.
tt0100,  Первое, что пришло в голову после чтение твоей задачи найти расстояния двух последних отрезков. Вычесть эти расстояния и получить eps. Далее разности соседних отрезков сравниваем  с eps(которое получили от первого вычитания).. Если расхождение больше, чем на 5%-10%, то процесс перестал быть стабилизированным.

Это сообщение отредактировал(а) миг - 3.12.2011, 14:50
--------------------
Oaks may fall when reeds stand the storm.
PM MAIL   Вверх
_Y_
Дата 3.12.2011, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



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

Но, конечно, существуют всякие автоосциллирующие процессы, которые на прямую никогда не выходят. Поэтому и задача должна решаться с учетом физики происходящего. Тогда и надо думать чем стабильное состояние аппроксимировать. Косинусом например. Но ИМХО если простая формула работает, не стОит использовать сложную. Поэтому сначала надо решить что  волнами (второй график - маленькие такие волночки smile ) пренебрегать нельзя.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
VictorTsaregorodtsev
Дата 3.12.2011, 15:52 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.7.2006

Репутация: 3
Всего: 8



Так никто и не предложил ту же идею, которой воспользовался бы я сам.

Идея (алгоритм) - из книги 99г новосибирского ученого и из его более ранних работ. 

Одни могут продолжить придумывать алгоритм. Другие - попробовать "угадать мелодию" (книгу) по названным трём нотам (по году выпуска книги, местожительству и периоду научной деятельности автора книги). Третьи могут заказать мне прогу.
PM MAIL WWW   Вверх
tt0100
Дата 3.12.2011, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 1.12.2011

Репутация: нет
Всего: нет



Цитата(миг @  3.12.2011,  13:24 Найти цитируемый пост)
Первое, что пришло в голову 

... очень неплохо. на 2х наборах дало плюс/минус одну точку - норм. только там 55% процентов). на третем дало 1.
user posted image
хотя хотелосьбы 2. но это уже детали. там можно чуток доработать и будет ок.
.... единственное на последок хотелось узнать есть какиенить теории ну или там формулы или метрики чтобы более строго в статистическом смысле было.
это просто чтобы кругозор расширить. ... имеется в виду близкие по смыслу) ссылки на учебники по статистике не нужны)

Цитата(VictorTsaregorodtsev @  3.12.2011,  15:52 Найти цитируемый пост)
 Третьи могут заказать мне прогу.

"купи слона". непроверенные алгоритмы мне както неочень. ну а так как я не давал тебе данных - гарантий нет. да и еслибы давал - присылай прогу. я потесчу ее. и если все норм - тогда подумаю. хотя вроде уже более менее нормальное решение найдено....
да и в принципе не факт что ты мне его и не впаришь
PM MAIL   Вверх
Pavia
Дата 3.12.2011, 21:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



tt0100
Устойчивость системы уравнений определяется производной, там ещё много вариантов.
Подробнее советую почитать про устойчивость систем. Матанализ. 
В основном описано в ТАУ(теория автоматического управления). Также в теории обработки сигналов.
Правда у вас тут устойчивость не системы, а скорее дифференциального уравнения.

А вообще теорию творим мы. Как говорил один человек наука там где есть формулы или математика. Вот опиши это математически и будет тебе научно. Для этого надо дать формальное определение той области в которой рассмотреть, описать свойства. И вывести теоремы которые близки к твоей.
PM MAIL   Вверх
_Y_
Дата 3.12.2011, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(Pavia @  3.12.2011,  21:19 Найти цитируемый пост)
А вообще теорию творим мы. Как говорил один человек наука там где есть формулы или математика. Вот опиши это математически и будет тебе научно. Для этого надо дать формальное определение той области в которой рассмотреть, описать свойства. И вывести теоремы которые близки к твоей. 


Может и так. Но всегда ли это нужно? Анекдот старый напомнило (не в обиду, а просто для развлечения расскажу)

Поставлена задача - выключить компьютер пользуясь только мышью.
Программист: пользуясь толко мышью пишет-кликает-перетаскивает создает системную утилиту выключения компьютера. Запускает. Задача выполнена.
Инженер: берет мышь и нажимает ею кнопку питания.



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Pavia
Дата 3.12.2011, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



_Y_, Я с этим согласен.
PM MAIL   Вверх
миг
Дата 4.12.2011, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 15.9.2008

Репутация: нет
Всего: 1



Pavia, Угу. Отдаленно напоминает затухающие колебания системы, которые описываются диффурами.
--------------------
Oaks may fall when reeds stand the storm.
PM MAIL   Вверх
_Y_
Дата 4.12.2011, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



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

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

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


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
миг
Дата 6.12.2011, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 15.9.2008

Репутация: нет
Всего: 1



_Y_, Я немножко другое имел ввиду. Есть такой предмет называется теория колебаний. Вот там системой называется тело подвешенное на пружине. После воздействии на тело силой. Тело какое-то время колеблется.  Такой характер колебаний можно описать дифф уравнением второго порядка.
--------------------
Oaks may fall when reeds stand the storm.
PM MAIL   Вверх
_Y_
Дата 6.12.2011, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Ну флеймить так флеймить smile 

Цитата(миг @  6.12.2011,  17:34 Найти цитируемый пост)
Я немножко другое имел ввиду .... тело подвешенное на пружине. После воздействии на тело силой. Тело какое-то время колеблется. 

 Сколь я понимаю, самозатухающие колебания типа пружины затухают благодаря дествию постоянных факторов (трение в данном случае). Эти факторы либо совсем уж постоянны, либо линейно зависят от скорости движения (переход от ламинарного к турбулентному треную об воздух вряд-ли учитывается  smile ). Поэтому такие колебания описать легче. Если же систему "успокаивает" некое нелинейное внешнее воздействие (я, например, рукой за пружину схватился), поди такую систему еще опиши!



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
миг
Дата 6.12.2011, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 15.9.2008

Репутация: нет
Всего: 1



Цитата(_Y_ @  6.12.2011,  19:04 Найти цитируемый пост)
Сколь я понимаю, самозатухающие колебания типа пружины затухают благодаря дествию постоянных факторов (трение в данном случае). Эти факторы либо совсем уж постоянны, либо линейно зависят от скорости движения (переход от ламинарного к турбулентному треную об воздух вряд-ли учитывается   ). Поэтому такие колебания описать легче. 

вообще то там демпфер успокаивает пружину. Хотя можно и трение учесть. А величина демпфирования(которая влияет на затухания колебаний) может меняться в зависимости от других параметров(например времени).
Цитата(_Y_ @  6.12.2011,  19:04 Найти цитируемый пост)
Если же систему "успокаивает" некое нелинейное внешнее воздействие (я, например, рукой за пружину схватился), поди такую систему еще опиши!

Это не проблема. Достаточно знать по какому закону изменяется сила во времени(можно даже записать, что в начальный момент времени сила изменяется по косинусу до времени t, а после этого времени сила либо отсутствует, либо меняется по другому закону). Даже существуют параметрические колебания. В которых учитывается изменение не только внешней силы, но и физические параметры самой системы например массы тела, жесткости пружины и т.д. Правда иногда приходиться решать системы из дифф уравнений второго порядка.
--------------------
Oaks may fall when reeds stand the storm.
PM MAIL   Вверх
Pavia
Дата 6.12.2011, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



Цитата(миг @  6.12.2011,  20:04 Найти цитируемый пост)
Правда иногда приходиться решать системы из дифф уравнений второго порядка.

Решать не проблема. Компьютер легко справляется. 
А вот с оставлением системы. Если знаешь как это делается, то легко. А вот для не подготовленного человека это выглядит трудным. 

У нас в вузе целый курс был хорошо все по полочкам в плоть до мелочей разобрали. 
PM MAIL   Вверх
_Y_
Дата 7.12.2011, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(миг @  6.12.2011,  20:04 Найти цитируемый пост)
Это не проблема. Достаточно знать по какому закону изменяется сила во времени
 

А я согласная. Если знать  smile 



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
1000000dollars
Дата 8.12.2011, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 6.10.2007

Репутация: 1
Всего: 8



А как насчёт такого варианта: обрисовываем точки минимально возможным прямоугольником, и двигая его левую границу вправо очень внимательно смотрим как меняется площадь. Меняется быстро - процесс не стабилизировался, меняется медленно - стабилизировался.

UPD: собственно можно и не прямоугольник, а выпуклый многоугольник.

Это сообщение отредактировал(а) 1000000dollars - 8.12.2011, 10:03
PM MAIL   Вверх
миг
Дата 8.12.2011, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 15.9.2008

Репутация: нет
Всего: 1



1000000dollars, тогда уж проще замерять расстояние от точек до горизонтальной оси.
--------------------
Oaks may fall when reeds stand the storm.
PM MAIL   Вверх
1000000dollars
Дата 8.12.2011, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 6.10.2007

Репутация: 1
Всего: 8



Цитата(миг @  8.12.2011,  19:22 Найти цитируемый пост)
проще замерять расстояние от точек до горизонтальной оси

Проще, но если процесс стабилизируется к какой-то синусоиде с достаточно большой амплитудой, то расстояние не будет показателем, в то время как скорость изменения площади многоугольника вполне отловит такую стабилизацию.
PM MAIL   Вверх
_Y_
Дата 9.12.2011, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



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

ЗЫ: Но я не проверял - это только догадка


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
1000000dollars
Дата 10.12.2011, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 6.10.2007

Репутация: 1
Всего: 8



Цитата(_Y_ @  9.12.2011,  15:48 Найти цитируемый пост)
скорость изменения площади тоже будет осциллировать

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

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

Плюс к тому, процессы бывают разные и в общем случае нельзя сказать, что если на какой-то момент времени процесс выглядит "стабилизировавшимся", то он таковым и является. Например медленное охлаждение чистой воды: вода охлаждается и до некоторых (достаточно больших) отрицательных температур, средняя скорость молекул снижается плавно, но потом внезапно появляется центр кристаллизации и вся вода очень быстро превращается в лёд, то есть скорость молекул падает очень резко. И что считать за точку стабилизации процесса?
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1080 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.