Расчёт угла наклона трендовой линии. - страница 24

 
Dmitry Fedoseev:

В каком смысле "решения"? Из Кембриджа, под авторитетным авторством? 

Этих решений 1000. Надо просто сидеть и пробовать, пока не увидишь удовлетворительный результат. 

алгоритмы перебора. Чем искать вникать пробовать на простых задачах легче иногда самому ... 

 
Dmitry Fedoseev:

А можете своими словами рассказать, что такое CUSUM и как он реализуется?

===


===

Метод конечно шедевреальный, а как глубоко продуманный! Ну фигли - Кэмбридж! Ребята, а вы все, собственными мозгами не в состоянии пользоваться, даже формулы из арифметики только со ссылкой на авторитетное издание? 

===

Алексей, а если исходные данные могут занимать отрицательные значения? То все, математическая катастрофа?

Представляю себе этот метод примерно так. Пусть до разладки среднее значение суммируемого ряда Xn равно A, а e - маленькое положительное число. Тогда ряд Xn-A+e при суммировании будет давать слабый тренд вверх, а Xn-A-e - вниз. Если после разладки среднее ряда равно B и |A-B|>e, то произойдёт смена направления тренда одного из двух построенных нами рядов. Поскольку нам интересно накопление суммы каждого ряда с определённым знаком (до заданного порогового значения), то накопление с противоположным знаком мы просто на каждом шаге обнуляем.

 
Valeriy Yastremskiy:
Из ВИки: Когда значение  S  превышает определенное пороговое значение, было обнаружено изменение значения.  Приведенная выше формула обнаруживает изменения только в положительном направлении.  Когда отрицательные изменения должны быть найдены ,  а также, операция мин следует использовать вместо максимальной работы, и на  этот раз изменение было обнаружено ,  когда значение  S  находится  ниже  значения (отрицательный) порогового значения.

Это было первое что в голову пришло)))

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

CUSUM - параметрический тест (подразумевает нормальность ряда). Непараметрический тест можно сделать на основе теста Манна-Уитни (есть в алглибе). Нужно для каждого момента времени n брать все разбития ряда на два куска от 1 до k и от k+1 до n и считать на них Манна-Уитни. Если два таких куска окажутся неодинаково распределёнными, то момент k+1 можно считать моментом разладки.

 

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

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

 
Aleksey Nikolayev:

CUSUM - параметрический тест (подразумевает нормальность ряда). Непараметрический тест можно сделать на основе теста Манна-Уитни (есть в алглибе). Нужно для каждого момента времени n брать все разбития ряда на два куска от 1 до k и от k+1 до n и считать на них Манна-Уитни. Если два таких куска окажутся неодинаково распределёнными, то момент k+1 можно считать моментом разладки.

А еще можно просто начать пользоваться собственными мозгами.

 
Dmitry Fedoseev:

А еще можно просто начать пользоваться собственными мозгами.

Ну да, фатальный недостаток)

 
Aleksey Nikolayev:

Ну да, фатальный недостаток)

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

Но на каждый чих выкатывать авторитета... это пц. Кризис разума.

 
Aleksey Nikolayev:

CUSUM - параметрический тест (подразумевает нормальность ряда). Непараметрический тест можно сделать на основе теста Манна-Уитни (есть в алглибе). Нужно для каждого момента времени n брать все разбития ряда на два куска от 1 до k и от k+1 до n и считать на них Манна-Уитни. Если два таких куска окажутся неодинаково распределёнными, то момент k+1 можно считать моментом разладки.

Точно, два окна , мы определяем точку перегиба. Норм. Спасибо)
 
Dmitry Fedoseev:

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

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

Мысль не понял. Это и было проблемой. Точка перегиба заходила в расчёт средней, а результат запаздывал. Справа и слева нужно среднее считать.
 
Valeriy Yastremskiy:
Мысль не понял. Это и было проблемой. Точка перегиба заходила в расчёт средней, а результат запаздывал. Справа и слева нужно среднее считать.

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

Можно и не усреднять, а сделать что-то типа NRTR. Например, когда линия направлена вверх, фиксируем максимум, откат от максимума на порог будет сменой направления. Это порог может быть постоянным, может быт пропорциональным std. Но и в этом случае будет запаздывание. Оно всегда будет. Чем меньше ошибок определения смены направления, тем больше запаздывание, чем меньше запаздывание, тем больше ошибок.

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