2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

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

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 определение границ участка линейности
Сообщение30.01.2009, 14:26 


30/01/09
11
Сразу предупрежу, что я не математик и данную проблему (задачу) хотелесь бы решить наиболее простым способом ( не обязательно пользуясь доверительными интервалами и тому подобным) :wink:

Задача вот в чем:
Есть функция, заданная дискретными координатами движения точки на координатной плоскости. В общем виде функция имеет вид s-образной кривой выходящей из начала координат и с линейно возрастающим участком посередине.
Но это только в общем виде. Т.к. эти точки являются данными эксперимента, они имеют некоторый "шум", в пределах допустимого. Так вот из за этого шума и возникают сложности. Сплайн-интерполяцию делать бы не хотелось. Но нужно вывести критерий который бы определял диапазон координат, в котором функция в общем линейна, с небольшой долей отклонения от линейности - шумом.
[/img]

 Профиль  
                  
 
 
Сообщение30.01.2009, 14:42 
Заслуженный участник
Аватара пользователя


13/08/08
14457
Без математики это просто сделать. Надо нарисовать график и прикладывать к нему линейку.
Если данные в таблице, то я бы следил за изменением коэффициента корреляции при постепенном отсечении крайних точек. Близость коэффициента корреляции к единице можно считать показателем линейности.

 Профиль  
                  
 
 
Сообщение30.01.2009, 16:13 
Заслуженный участник
Аватара пользователя


30/01/09
6686
Какую-то книгу я видел на эту тему. Там рассматривается нестационарный случайный процесс, причём его параметры меняются кусочно-линейно от времени. Требуется по наблюдению за этим процессом найти моменты его переключения с одного режима на другой. Ни автора, ни название книги не помню. Проще, наверное, сходить в библиотеку и поискать в разделе "Статистика случайных процессов".

 Профиль  
                  
 
 
Сообщение02.02.2009, 12:41 
Заслуженный участник
Аватара пользователя


30/01/09
6686
Не применяя серъёзных теорий, можно поступить так. Вначале прикиньте на глаз грубо участок линейности.(Лучше с недостатком!) Точки вне участка линейности временно отбросьте. Через оставшиеся точки методом наименьших квадратов проведите прямую. Затем параллельно полученной прямой нарисуйте пунктиром прямые так, чтобы все точки находились внутри пунктирных прямых. Затем верните ранее удалённые точки. Там где они будут серъёзно вылазить из участка между пунктирных прямых - там и кончается граница линейности.

 Профиль  
                  
 
 
Сообщение02.02.2009, 12:56 
Заслуженный участник


28/10/05
1368
Наблюдение за коэффициентом корреляции для данного набора данных будет поточнее, чем рисование линий на глаз.

 Профиль  
                  
 
 
Сообщение02.02.2009, 13:09 
Заслуженный участник


11/05/08
32166
Навскидку можно так. Посчитать методом наименьших квадратов прямую, аппроксимирующую точки на проверяемом участке. Затем -- тоже с помощью МНК построить аппроксимирующий кубический многочлен. Найти максимум отклонения кубической зависимости от линейной. И сравнить со среднеквадратическим отклонением "экспериментальных" точек от кубической регрессии. Условно: если первое меньше второго, то зависимость можно считать линейной.

 Профиль  
                  
 
 
Сообщение02.02.2009, 15:43 
Заслуженный участник
Аватара пользователя


30/01/09
6686
А вот интересная ссылка
dxdy.ru/topic16327.html

 Профиль  
                  
 
 
Сообщение05.02.2009, 13:20 


30/01/09
11
неужели это все так сложно надо делать??? Понимаете, этот процесс мне нужно автоматизировать (желательно по средством EXCEL'я) Таких кривых для обработки предполагается десятки и сотни, а вы МНК. тут надо чтоб бездумно все делалось. А вот коэф корреляции - это что за птичка?? как с ней работать?

 Профиль  
                  
 
 
Сообщение05.02.2009, 13:42 
Заслуженный участник
Аватара пользователя


13/08/08
14457
Aneto, я под таблицей как раз и понимал Excel.

Там есть функция Correl коэффициент корреляции двух массивов, которыми, я думаю, и задаются Ваши кривые.

Ну а потом можно и Solver'ом или макрос написать.

 Профиль  
                  
 
 
Сообщение05.02.2009, 13:53 
Заслуженный участник


28/10/05
1368
Aneto писал(а):
А вот коэф корреляции - это что за птичка?? как с ней работать?


Также посмотрите для избежания недоразумений, correlation and linearity..

 Профиль  
                  
 
 
Сообщение06.02.2009, 00:09 


30/01/09
11
Особливо спасибо за последние 2 сообщения - почти все разъяснили, я так и знал что не надо заново изобретать велосипед))
Вот только последний нюансик: если я напишу макрос, который будет последовательно брать массивы по 10-20 с шагом в 1-2 точки и сравнивать коэффициент корреляции с 1, ну и соответственно выполняя эти действия запоминать те значения что подошли, то будет ли такая процедура корректной для всей кривой "длинной до 1000 точек ( участок линейности от 40 до 300 точек примерно)

 Профиль  
                  
 
 
Сообщение06.02.2009, 00:30 
Экс-модератор
Аватара пользователя


11/07/08
1169
Frankfurt
Вот это Вам не поможет? http://en.wikipedia.org/wiki/Segmented_regression

 Профиль  
                  
 
 
Сообщение06.02.2009, 09:05 
Заслуженный участник
Аватара пользователя


13/08/08
14457
Aneto писал(а):
последовательно брать массивы по 10-20 с шагом в 1-2 точки и сравнивать коэффициент корреляции с 1...


Здесь многое зависит от априорного знания о кривой. Вы писали, что она имеет S-ю форму, возрастает (то есть коэфффициент корреляции больше 0), имеет один участок линейности где-то в середине.
Определитесь, нужно ли Вам находить один участок линейности или можно несколько с разными коэффициентами.
Я бы не стал возиться с маленькими участками. Скорее всего, они все окажутся почти линейными. И тут уже надо будет сравнивать коэффициенты линейного уравнения, склеивать и т.д.
Я бы начал с поиска линейного участка длины 30-40 в середине, а потом начал бы его расширять в стороны с шагом 10 ( да хоть бы и с шагом 1), пока коэффициент корреляции не стал бы меньше некоторого порогового значения. Ну потом можно ещё подчистить по краям.
Чем проще, тем лучше.
Напишите макрос, а потом на конкретных кривульках подберите подходящие значения параметров - корреляции, шага и т.д.

 Профиль  
                  
 
 
Сообщение18.02.2009, 21:38 


30/01/09
11
идея хороша, но есть проблемка - определение середины)) без этого макрос усложняется: надо расширять неравномерно и для каждой сторон отдельно проверять на граничащие условия. ведь может получиться, что в одну сторону еще есть куда расширяться, а в другую уже нет. но надо попробовать, спасибо)

 Профиль  
                  
 
 
Сообщение18.03.2009, 13:23 


30/01/09
11
Помогите!!! :shock: возникла проблема!! помучился я с написанием макроса и его настройкой, и вдруг выяснилось что данные у меня неплохо коррелируют по всей кривой и чем больше выборка, те больше коэф корреляции Пирсона, в итоге я наткнулся на материалы по этому критерию, где описывается подобный случай и критерий Пирсуна тут НЕ ПОМОЖЕТ!!!
Так что же мне делать, господа, как выявить пределы линейности, может вторая производная тут как-то поможет, этакое ускорение приращения?? :?: :?: :?: :(

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group