Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение точки стабилизации процесса 
:(
    Опции темы
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   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

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


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

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


 




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


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

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