Алгоритм прогнозирования?
От: Firstborn Латвия  
Дата: 22.07.04 07:08
Оценка:
Ситуация такова: есть исторические данные по некоему процессу. Данные просты до безобразия: один месяц — одно число. Имеются эти самые числа за все 12 месяцев для лет с 1997 по 2003 (т.е. 7 полных комплектов данных) и за первые 6 месяцев 2004-го. Задача — спрогнозировать эти самые числа на вторую половину 2004-го года и, скажем, на 2005 год. Какой алгоритм вы бы посоветовали бы применить, учитывая что профиль графика изменения измеряемого значения за год меняется мало (от года к году)?

В качестве иллюстрации — см. график. По горизонтали — месяцы года, по вертикали — числовое значение. Один год — одна кривая. Толстая синяя линия — 2004 год.



Спасибо за помощь!
Re: Алгоритм прогнозирования?
От: mogadanez Чехия  
Дата: 22.07.04 07:33
Оценка:
Здравствуйте, Firstborn, Вы писали:

F> Какой алгоритм вы бы посоветовали бы применить, учитывая что профиль графика изменения измеряемого значения за год меняется мало (от года к году)?


это называется экстраполяция вроде.
так ее и ищи...
например вот тут вроде чтото есть
... << RSDN@Home 1.1.3 stable >>
Re[2]: Алгоритм прогнозирования?
От: Firstborn Латвия  
Дата: 22.07.04 07:45
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>Здравствуйте, Firstborn, Вы писали:


F>> Какой алгоритм вы бы посоветовали бы применить, учитывая что профиль графика изменения измеряемого значения за год меняется мало (от года к году)?


M>это называется экстраполяция вроде.

M>так ее и ищи...
M>например вот тут вроде чтото есть

Спасибо!
Однако алгоритмов экстраполяции существует миллион и я в них слабо ориентируюсь, потому и интересуюсь — какой лучше выбрать для моего случая?
Re[3]: Алгоритм прогнозирования?
От: mogadanez Чехия  
Дата: 22.07.04 07:57
Оценка:
Здравствуйте, Firstborn, Вы писали:

F>Спасибо!

F>Однако алгоритмов экстраполяции существует миллион и я в них слабо ориентируюсь, потому и интересуюсь — какой лучше выбрать для моего случая?

самый простой =)
... << RSDN@Home 1.1.3 stable >>
Re[4]: Алгоритм прогнозирования?
От: mogadanez Чехия  
Дата: 22.07.04 08:02
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>Здравствуйте, Firstborn, Вы писали:


F>>Спасибо!

F>>Однако алгоритмов экстраполяции существует миллион и я в них слабо ориентируюсь, потому и интересуюсь — какой лучше выбрать для моего случая?

M>самый простой =)


а если серьезно — построй интерполирующий многочлен, и возьми следующую точку у полученой функции
... << RSDN@Home 1.1.3 stable >>
Re[5]: Алгоритм прогнозирования?
От: mogadanez Чехия  
Дата: 22.07.04 08:03
Оценка:
Здравствуйте, mogadanez, Вы писали:


M>а если серьезно — построй интерполирующий многочлен, и возьми следующую точку у полученой функции

здесь
... << RSDN@Home 1.1.3 stable >>
Re[5]: Алгоритм прогнозирования?
От: Tan4ik Россия  
Дата: 22.07.04 09:01
Оценка:
Здравствуйте, mogadanez, Вы писали:

F>>>Спасибо!

F>>>Однако алгоритмов экстраполяции существует миллион и я в них слабо ориентируюсь, потому и интересуюсь — какой лучше выбрать для моего случая?

M>>самый простой =)


M>а если серьезно — построй интерполирующий многочлен, и возьми следующую точку у полученой функции


У него функция периодичная... так что лучше периодичными функциями экстраполировать. Например синусами да косинусами.
---
С уважением,
Лазарев Андрей
Re[6]: Алгоритм прогнозирования?
От: mogadanez Чехия  
Дата: 22.07.04 09:09
Оценка:
Здравствуйте, Tan4ik, Вы писали:

T>У него функция периодичная... так что лучше периодичными функциями экстраполировать. Например синусами да косинусами.


Вообще — чистое ИМХО:

функция меняется в двух направлениях... в каждой точке по Y и в целом по X

поэтому надо для каждой точки определить ф-ю Fi() — изменения по вертикали, и эти функции подставлять в выражения полинома либо синусно-косинусной ф-ии... это вторично.
... << RSDN@Home 1.1.3 stable >>
Re: Алгоритм прогнозирования?
От: Socrat Россия  
Дата: 22.07.04 13:07
Оценка:
Здравствуйте, Firstborn, Вы писали:

F>Ситуация такова: есть исторические данные по некоему процессу. Данные просты до безобразия: один месяц — одно число. Имеются эти самые числа за все 12 месяцев для лет с 1997 по 2003 (т.е. 7 полных комплектов данных) и за первые 6 месяцев 2004-го. Задача — спрогнозировать эти самые числа на вторую половину 2004-го года и, скажем, на 2005 год. Какой алгоритм вы бы посоветовали бы применить, учитывая что профиль графика изменения измеряемого значения за год меняется мало (от года к году)?


F>В качестве иллюстрации — см. график. По горизонтали — месяцы года, по вертикали — числовое значение. Один год — одна кривая. Толстая синяя линия — 2004 год.


F>


F>Спасибо за помощь!


Усредняем графики за последние несколько лет — это и будет экстраполяция.
Re[2]: Алгоритм прогнозирования?
От: mogadanez Чехия  
Дата: 22.07.04 13:10
Оценка:
Здравствуйте, Socrat, Вы писали:


S>Усредняем графики за последние несколько лет — это и будет экстраполяция.


при таком варианте картинки — может это и верно,
но в случае если заметна тенденция "поднятия" кривой с каждым годом — это юудет ИМХО неверно....
... << RSDN@Home 1.1.3 stable >>
Re[3]: Алгоритм прогнозирования?
От: Socrat Россия  
Дата: 22.07.04 13:49
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>Здравствуйте, Socrat, Вы писали:



S>>Усредняем графики за последние несколько лет — это и будет экстраполяция.


M>при таком варианте картинки — может это и верно,

M>но в случае если заметна тенденция "поднятия" кривой с каждым годом — это юудет ИМХО неверно....

Значит, надо экстраполировать не всю функцию, а по конкретной дате. Правда, тут еще могут быть колебания вроде дней недели...
Re: Алгоритм прогнозирования?
От: AMogil Россия  
Дата: 22.07.04 15:48
Оценка: 2 (1)
Здравствуйте, Firstborn, Вы писали:

F>Ситуация такова: есть исторические данные по некоему процессу. Данные просты до безобразия: один месяц — одно число. Имеются эти самые числа за все 12 месяцев для лет с 1997 по 2003 (т.е. 7 полных комплектов данных) и за первые 6 месяцев 2004-го. Задача — спрогнозировать эти самые числа на вторую половину 2004-го года и, скажем, на 2005 год. Какой алгоритм вы бы посоветовали бы применить, учитывая что профиль графика изменения измеряемого значения за год меняется мало (от года к году)?


Тут надо определится что мы видим на графике:

1. Один и тот же процесс, повторяющийся из года в год и просто подверженный случайным изменениям. Т.е. а приори нет закономерных изменений из года в год, а только случайная погрешность измерений.
2. Один "долгий" процесс на протяжении всех этих лет. Т.е. имеются изменения не только в течение года, но и медленная тенденция по годам.

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


Алексей.
Re[2]: Алгоритм прогнозирования?
От: Firstborn Латвия  
Дата: 23.07.04 12:13
Оценка:
Здравствуйте, AMogil, Вы писали:

AM>Тут надо определится что мы видим на графике:


AM>1. Один и тот же процесс, повторяющийся из года в год и просто подверженный случайным изменениям. Т.е. а приори нет закономерных изменений из года в год, а только случайная погрешность измерений.

AM>2. Один "долгий" процесс на протяжении всех этих лет. Т.е. имеются изменения не только в течение года, но и медленная тенденция по годам.

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


Это есть случай №2.
Интересно, а можно ли вопринимать эти данные не как N (по числу лет) наборов схожих функций от одной переменной (номера месяца), а как одну функцию от двух переменных (года и месяца)? Упростится ли задача в этом случае?
Re[3]: Алгоритм прогнозирования?
От: mogadanez Чехия  
Дата: 23.07.04 12:35
Оценка:
Здравствуйте, Firstborn, Вы писали:

F>Это есть случай №2.

F>Интересно, а можно ли вопринимать эти данные не как N (по числу лет) наборов схожих функций от одной переменной (номера месяца), а как одну функцию от двух переменных (года и месяца)? Упростится ли задача в этом случае?

Имхо, гораздо лучше тогда от номера месяца с начала исчесления.
X = 12*(Год — ГодНачала) + Месяц...
т.е. во втором году будут месяца 13-24 и. т.д т.е. будет не несколько графиков как у тебя, а один длииииииинннныыыййй....
потом его нарезаешь кусками по 12 и выводишь....
... << RSDN@Home 1.1.3 stable >>
Re: Алгоритм прогнозирования?
От: Gaperton http://gaperton.livejournal.com
Дата: 23.07.04 12:43
Оценка: 2 (1)
Здравствуйте, Firstborn, Вы писали:

F>Ситуация такова: есть исторические данные по некоему процессу. Данные просты до безобразия: один месяц — одно число. Имеются эти самые числа за все 12 месяцев для лет с 1997 по 2003 (т.е. 7 полных комплектов данных) и за первые 6 месяцев 2004-го. Задача — спрогнозировать эти самые числа на вторую половину 2004-го года и, скажем, на 2005 год. Какой алгоритм вы бы посоветовали бы применить, учитывая что профиль графика изменения измеряемого значения за год меняется мало (от года к году)?


F>В качестве иллюстрации — см. график. По горизонтали — месяцы года, по вертикали — числовое значение. Один год — одна кривая. Толстая синяя линия — 2004 год.


Здесь надо полагаться не на математические методы, а на методы, принятые в экономике.

Все просто. У тебя выражен сезонный фактор, определяющий вид кривой за один год. Есть метод под названием "анализ сезонной волны". Поищи его описание.

Вообще, тебе надо делать раздельный прогноз внутри года и общегодовой. Можно сделать по простому, например, так:
а) Сумма значений функции за один год рассматривается как временной ряд по годам (если физический смысл величины допускает осмысленное суммирование, например, если это деньги). Анализируем на цикличность. Для прогноза используем предположения о цикличности или (при их отсутствии) интерполяцию (линейную, квадратичную, экспоненциальную — зависит от природы процесса. Например, цена акций компаний по годам при отсутствии кризисов растет экспоненциально. При отсутствии предположений используем линейную).
б) Распределение внутри года считаем используя сезонное распределение, полученное, например, усреднением значений для распределений для каждого отдельного года.

Примерно так.
Re[3]: Алгоритм прогнозирования?
От: AMogil Россия  
Дата: 23.07.04 13:25
Оценка:
Здравствуйте, Firstborn, Вы писали:

F>Это есть случай №2.

F>Интересно, а можно ли вопринимать эти данные не как N (по числу лет) наборов схожих функций от одной переменной (номера месяца), а как одну функцию от двух переменных (года и месяца)? Упростится ли задача в этом случае?

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


Алексей.
Re[4]: Алгоритм прогнозирования?
От: AMogil Россия  
Дата: 23.07.04 13:32
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>Здравствуйте, Firstborn, Вы писали:


F>>Это есть случай №2.

F>>Интересно, а можно ли вопринимать эти данные не как N (по числу лет) наборов схожих функций от одной переменной (номера месяца), а как одну функцию от двух переменных (года и месяца)? Упростится ли задача в этом случае?

M>Имхо, гораздо лучше тогда от номера месяца с начала исчесления.

M>X = 12*(Год — ГодНачала) + Месяц...
M>т.е. во втором году будут месяца 13-24 и. т.д т.е. будет не несколько графиков как у тебя, а один длииииииинннныыыййй....
M>потом его нарезаешь кусками по 12 и выводишь....

В принцыпе, если брать одну функцию на все года, то так и надо сделать. Функция должна быть переодичной, но вот чинусоиду нелья брать, нужно что-то такое — VVVV.
Re: Алгоритм прогнозирования?
От: ON  
Дата: 24.07.04 00:37
Оценка:
Запости сами данные, попробую своей программой посчитать.
Posted via RSDN NNTP Server 1.9 beta
Re: Алгоритм прогнозирования?
От: C300G Россия http://forum.sources.ru
Дата: 24.07.04 01:28
Оценка: 4 (1)
МЕТОДЫ ПРОГНОЗИРОВАНИЯ.
Возможно, ссылки пригодятся.
Be vigilant!
Re[4]: Алгоритм прогнозирования?
От: Socrat Россия  
Дата: 26.07.04 06:19
Оценка: 2 (1)
Здравствуйте, AMogil, Вы писали:

AM>Здравствуйте, Firstborn, Вы писали:


F>>Это есть случай №2.

F>>Интересно, а можно ли вопринимать эти данные не как N (по числу лет) наборов схожих функций от одной переменной (номера месяца), а как одну функцию от двух переменных (года и месяца)? Упростится ли задача в этом случае?

AM>Можно, так проще получается, но если изменения из года в год слабые, то есть опасность, что полученная функция их не заметит.



А если рассматривать не саму функцию, а отклонение от усредненной?
Re[2]: Алгоритм прогнозирования?
От: Firstborn Латвия  
Дата: 26.07.04 07:01
Оценка:
Здравствуйте, ON, Вы писали:

ON>Запости сами данные, попробую своей программой посчитать.


Увы, данные не подлежат разглашению...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.