Нейронные сети. Прогнозирование. - страница 2

 

Идея еще такая.. сделат прогноз по всем определящим парам и проверить точки. Если какая-то из точек прогноза совпадает на всех парах, lot*2, например.

 
Red.Line писал (а):

Идея еще такая.. сделат прогноз по всем определящим парам и проверить точки. Если какая-то из точек прогноза совпадает на всех парах, lot*2, например.



По шире можно уточнить?
 
Vinin:
Red.Line писал (а):

Идея еще такая.. сделат прогноз по всем определящим парам и проверить
точки. Если какая-то из точек прогноза совпадает на всех парах,
lot*2, например.

По шире можно уточнить?
Как я понял: если по нашему прогнозу EURJPY растет, а USDJPY падает, то это подтверждает прогноз роста EURUSD, становимся всем депозитом на длинную :)
 
Vinin:

Допустим, у нас есть сеть способная прогнозировать цены на n баров вперед. На каждом баре производится новый прогноз. В итоге мы имеем n-1 прогнозов на -1 бар. Также у нас есть точность прогноза (хотя более правильно было бы назвать ошибкой прогнозирования). И вот тут то и возникает вопрос, а как повысить точность прогнозирования используя все прогнозы, которые у нас уже есть для этого бара. И возможно ли это?

К примеру прогнозируем на 6 баров вперед (Н4 х 6 = сутки):

07.12.2007 0:00:00 0.14 0.13 0.28 0.23 0.18 0.26 1.1294
07.12.2007 4:00:00 0.02 0.16 0.1 0.02 0.12 0.06 1.1297
07.12.2007 8:00:00 0.05 0.03 0.02 0.03 0.05 0.09 1.1319
07.12.2007 12:00:00 -0.17 -0.15 0 -0.05 0.03 -0.02 1.1307
07.12.2007 16:00:00 0.33 0.22 0.35 0.35 0.46 0.49 1.1285
07.12.2007 20:00:00 0.14 0.2 0.33 0.24 0.11 0.18 1.1294

т.е. по сути прогноз выглядит следующим образом:

прогноз на 4:00 на 8:00 на 12:00 на 16:00 на 20:00 на 24:00
07.12.2007 0:00:00 0.14 0.13 0.28 0.23 0.18 0.26
07.12.2007 4:00:00 0.02 0.16 0.1 0.02 0.12 0.06
07.12.2007 8:00:00 0.05 0.03 0.02 0.03 0.05 0.09
07.12.2007 12:00:00 -0.17 -0.15 0 -0.05 0.03 -0.02
07.12.2007 16:00:00 0.33 0.22 0.35 0.35 0.46 0.49
07.12.2007 20:00:00 0.14 0.2 0.33 0.24 0.11 0.18

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

Возникает вопрос: откуда берем точность?

 

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

 
Vinin:

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


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

Иначе мы можем эту самую точность только предсказывать (или предполагать) что опять является прогнозом - замкнутый круг какой-то.

 
Bones:
Vinin:

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


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

Иначе мы можем эту самую точность только предсказывать (или предполагать) что опять является прогнозом - замкнутый круг какой-то.


Точность прогноза складывается из двух величин

1. Точность обучения сети, чем выше точность, тем больше требуется времени. На каком-то уровне надо остановиться.

2. На исторических данных делая прогноз, мы получаем не точное значение (его мы получить никогда не сможем, только случайно), а приближенное к нему с какой-то точностью. Накапливается статистика и с определенного времени у нас есть вполне конкретная точность прогнозирования.

То есть, если прогноз 0.48, а точность прогноза составляет 0.05, то можно предположить, что фактическое значение будет находится в интервале от 0.38 до 0.58. Но это упрощенно. Для этого есть соответсвующие формулы. Есть понятия абсолютная ошибка, относительная ошибка. Этих слов здесь не было, но от типа используемой ошибки формулы немного различаются. Пока, мне кажется, это не важно.

 
Vinin:


Точность прогноза складывается из двух величин

1. Точность обучения сети, чем выше точность, тем больше требуется времени. На каком-то уровне надо остановиться.

2. На исторических данных делая прогноз, мы получаем не точное значение (его мы получить никогда не сможем, только случайно), а приближенное к нему с какой-то точностью. Накапливается статистика и с определенного времени у нас есть вполне конкретная точность прогнозирования.

То есть, если прогноз 0.48, а точность прогноза составляет 0.05, то можно предположить, что фактическое значение будет находится в интервале от 0.38 до 0.58. Но это упрощенно. Для этого есть соответсвующие формулы. Есть понятия абсолютная ошибка, относительная ошибка. Этих слов здесь не было, но от типа используемой ошибки формулы немного различаются. Пока, мне кажется, это не важно.

Применительно к нейросетям (я так понял что ветка о них):

по п.1 - не совсем согласен, т.к. по наблюдениям сделал вывод, что точность (ошибка обучения) больше зависит от соотношения <размер обучающей выборки>/<кол-во весов сети>, т.е. сколко времени на обучение не трать, ошибка все равно упирается в определенное значение, обусловленное параметрами нейросети.

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

по теме топика - к примеру прогнозируем значение на 2 бара вперед (пусть хоть цену закрытия, это сейчас не важно) получаем, например, такую картину:

A0 = Close*[0] = 1.1294+0.0014 = 1.1308

B0 = Close*[-1] = 1.1294+0.0013 = 1.1307

Затем дожидаемся окончания текущего бара и получаем фактический Close[0]=1.1297

Прогнозируем опять на 2 бара вперед

A1 = Close*[-1] = 1.1297 + 0.0002 = 1.1299

B1 = ...

Теперь, сравнивая результаты B0 (1.1307) и A1 (1.1299) что-то получаем, а вот что именно, я так и не придумал, хотя мыслю в этом направлении уже продолжительное время.

 
Bones:
Vinin:


Точность прогноза складывается из двух величин

1. Точность обучения сети, чем выше точность, тем больше требуется времени. На каком-то уровне надо остановиться.

2. На исторических данных делая прогноз, мы получаем не точное значение (его мы получить никогда не сможем, только случайно), а приближенное к нему с какой-то точностью. Накапливается статистика и с определенного времени у нас есть вполне конкретная точность прогнозирования.

То есть, если прогноз 0.48, а точность прогноза составляет 0.05, то можно предположить, что фактическое значение будет находится в интервале от 0.38 до 0.58. Но это упрощенно. Для этого есть соответсвующие формулы. Есть понятия абсолютная ошибка, относительная ошибка. Этих слов здесь не было, но от типа используемой ошибки формулы немного различаются. Пока, мне кажется, это не важно.

Применительно к нейросетям (я так понял что ветка о них):

по п.1 - не совсем согласен, т.к. по наблюдениям сделал вывод, что точность (ошибка обучения) больше зависит от соотношения <размер обучающей выборки>/<кол-во весов сети>, т.е. сколко времени на обучение не трать, ошибка все равно упирается в определенное значение, обусловленное параметрами нейросети.

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

по теме топика - к примеру прогнозируем значение на 2 бара вперед (пусть хоть цену закрытия, это сейчас не важно) получаем, например, такую картину:

A0 = Close*[0] = 1.1294+0.0014 = 1.1308

B0 = Close*[-1] = 1.1294+0.0013 = 1.1307

Затем дожидаемся окончания текущего бара и получаем фактический Close[0]=1.1297

Прогнозируем опять на 2 бара вперед

A1 = Close*[-1] = 1.1297 + 0.0002 = 1.1299

B1 = ...

Теперь, сравнивая результаты B0 (1.1307) и A1 (1.1299) что-то получаем, а вот что именно, я так и не придумал, хотя мыслю в этом направлении уже продолжительное время.

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

То есть нельзя писать что прогноз =0.0014, более правильно что наиболее вероятное значение будет в интервале от 0.0010 до 0.0018. Границы интервала определяются точностью прогноза. Учил все это когда-то, но уже забылось все сильно. Хотя придется все это повторять (это я про себя).

 
Vinin:

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

То есть нельзя писать что прогноз =0.0014, более правильно что наиболее вероятное значение будет в интервале от 0.0010 до 0.0018. Границы интервала определяются точностью прогноза. Учил все это когда-то, но уже забылось все сильно. Хотя придется все это повторять (это я про себя).


Т.е. грубо говоря, обучаем сеть на обучающей выборке, на тестовой рассчитываем "доверительный интервал" (или как его там) - скажем, среднее отклонение предсказанного значения от фактического, и, руководствуясь ими делаем прогноз на будущее, правильно я понял?
Причина обращения: