Спрогнозировать температуру погоды с помощью нейронных сетей

6 сообщений / 0 новых
Последнее сообщение
Спрогнозировать температуру погоды с помощью нейронных сетей
Здравствуйте, Ирина. хотела бы к вам обратиться за помощью. Недавно начала изучать нейронные сети. Сама я учусь на программиста, и передо мной стоит задача спрогнозировать температуру погоды на 3 часа вперед. У меня есть данные по температуре, давлению, скорости ветра, влажности с 2000 года города Петропавл(12000 строк). Изучая книги я столкнулась с проблемой что нет программных реализации пронозирования. Сама я программирую на языке с# в среде visual studio 2012, готовых библиотек для работы практический нет кроме FANN, да и то описание методов скудные и один только пример по распознаванию цифры, а как спрогнозировать, к какому виду нужно привести данные для корректного прогнозирования и программная реализация(да хоть на другом языке кроме с#) - к моему большому огарчению и отчаению - нет. Ирина, поставьте на правидный путь в моем не простом но очень интересном начинании, подскажите или направьте как быть
Лена, добрый день!

Лена, добрый день!

По работе с C# я вам, к сожалению, ничего не могу порекомендовать. Мы работаем на java и используем библиотеку Commons Math. В ней есть встроенные функции для реализации нейронных сетей. Реализацию прогноза на нейросетях я разбирала в своем примере реализации нейронных сетей в MATLABе. Можете взять этот пример за основу и попробовать разобраться.

Конечно, мой пример заточен под другую предметную область, но попробуйте разобраться. Вообще, мне странно, что вы решаете такую утопическую задачу. Некогда я разбиралась с вопросами прогнозирования погоды и перевела большую научную статью на эту тему История развития моделей прогнозирования погоды. Лена, у вас задача академическая (учебная) или имеет ясное практическое применение? Если задача учебная, то делайте как вам угодно, только бы работало; если задача практическая, то имеет смысл углубится в детали ее постановки.

----------------------
Ирина Чучуева,
команда Математического бюро

Прогнозирование с помощью нейронных сетей

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

Вопрос по масштабированию

Лена,

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

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

Правильно я тут понимаю, что вы все же взяли мой пример за основу? При масштабировании имеет смысл представить нулем ваше минимальное значение, например, -15, а единицей — ваше максимальное. И внутри этого диапазона определить значение для каждого фактического значения температуры. Тогда все будет в порядке!

----------------------
Ирина Чучуева,
команда Математического бюро

Здравствуйте, спасибо что

Здравствуйте, спасибо что отвечаете на вопросы. я смотрела вашу диссертацию, другие статьи. сейчас сижу и обучаю сеть в среде Statistica Neural Networks. уж очень долго идет процесс обучения когда пытаюсь на вход данные по температуре, влажности, давления, направления ветра и скорости ветра. тем более длина ряда около 1900(это ежедневные данные с 2008 г). идет слишком большая разница между спрогнозированными данными и то что есть. я кстати масштабировала все ряды. я вот у меня такой вопрос, мне нужно спрогнозировать на день вперед температуру, какую бы архитектуру будеть правильно использовать? в разных источниках по разному говорится, мол если за сутки вперед то входных нейронов должно быть 24 скрытых 1 выход 1(24-1-1), где еще по разному. я уже запуталась((

Цитата:подали мне такую идею,
Quote:
подали мне такую идею, спрогнозировать и причем самой написать программу прогнозирования

Это нормальная практика: приходит студент и ему предлагают то, в чем давно хотели разобраться, но руки не доходили. Плохо, конечно, если математическая подготовка этих "задачупоставителей" не позволяет дать внятные пояснения.

Quote:
Statistica Neural Networks

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

Что касается первого: тут вам поможет только опыт, будете много считать в этом продукте, будете понимать его особенности. Не ждите молниеносных результатов, на умелое владение всяким инструментом нужны годы. Длина временного ряда в 1900 значений — величина вовсе не критичная по сегодняшним меркам. Вероятно, есть неточности или несовершенства в параметризации процесса обучения — посмотрите мануалы на систему. На сегодняшний день если ряд меньше 100 000 значений, то работа с ним должна сводится к секундам, максимум нескольким минутам.

Что касается второго (низкой точности), то это вообще проблема нейронных сетей: в них нельзя пошагово проследить получение результата, так что это очень усложняет его интерпретацию. Непонятно, отчего тут точно, а там нет. И это тоже все решается опытным путем: много считаешь, много понимаешь, постоянно анализируешь результаты расчетов. Если ваши работодатели считают, что можно с наскока написать приличное приложение, которое будет прогнозировать состояние погоды, то они глубоко ошибаются.

Quote:
какую бы архитектуру будет правильно использовать?

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

----------------------
Ирина Чучуева,
команда Математического бюро

2010 - 2018 © Математическое бюро

Все права защищены в соответствии с законодательством РФ

При полном или частичном использовании материалов ссылка на сайт обязательна