Я ищу некоторое интеллектуальное (я думал AI или Нейронная сеть), библиотека, что я могу подать список исторических данных, и это предскажет следующую последовательность выводов.
Как пример я хотел бы подать библиотеку следующие числа 1,2,3,4,5
и на основе этого, это должно предсказать, что следующая последовательность 6,7,8,9,10 и т.д.
Исходные данные будут намного более сложными и содержать намного больше информации.
Это будет использоваться в приложении C#.
Если у Вас есть какие-либо рекомендации или предупреждение, которое будет большим.
Спасибо
Править
Что я пытаюсь сделать меня использующий исторические данные о сбыте, предсказать то, что составляет, определенный клиент, скорее всего, собирается потратить в следующий период.
Я действительно понимаю, что существуют десятки внешних факторов, которые могут влиять на клиентские покупки, но на данный момент я должен просто основывать его на истории продаж и затем построить график, показывающий прошлые продажи и предсказанные продажи.
Если вы ищете .NET API, я бы порекомендовал вам попробовать AForge.NET http://code.google.com / p / aforge /
Если вы просто хотите попробовать различные алгоритмы машинного обучения на имеющемся в вашем распоряжении наборе данных, я бы порекомендовал вам поиграть с Weka ; он (относительно) прост в использовании и реализует множество алгоритмов машинного обучения и искусственного интеллекта. Выполните несколько запусков с разными настройками для каждого алгоритма и попробуйте как можно больше алгоритмов. Большинство из них будут иметь некоторую предсказательную силу, и если вы объедините правильные, вы действительно можете получить что-то полезное.
Если я правильно понял ваш вопрос, вы хотите аппроксимировать и экстраполировать неизвестную функцию. В вашем примере вы знаете значения функции
f(0) = 1
f(1) = 2
f(2) = 3
f(3) = 4
f(4) = 5
Хорошим приближением для этих точек будет f(x) = x+1
, и это даст f(5) = 6
... как и ожидалось. Проблема в том, что вы не можете решить эту задачу без знания функции, которую вы хотите экстраполировать: Линейная ли она? Является ли она многочленом? Гладкая ли она? Является ли она (приблизительно или точно) циклической? Каковы диапазон и область функции? Чем больше вы знаете о функции, которую хотите экстраполировать, тем лучше будут ваши прогнозы.
У меня просто предупреждение, извините. =)
С математической точки зрения, нет никаких причин для того, чтобы за вашей последовательностью выше следовала "6". Я могу легко дать вам простую функцию, следующим значением которой будет любое значение, которое вам нравится. Просто людям нравятся простые правила, и поэтому они склонны видеть в этих последовательностях связь, которой на самом деле нет. Поэтому для компьютера это непосильная задача, если вы не хотите снабжать его дополнительной информацией.
Edit:. В случае, если вы подозреваете, что ваши данные имеют известную функциональную зависимость, и есть неконтролируемые внешние факторы, возможно, регрессионный анализ даст хорошие результаты. Чтобы начать с простого, рассмотрите сначала линейную регрессию.
Если вы не можете предположить линейную зависимость, есть хорошее приложение, которое ищет функции, соответствующие вашим историческим данным... Я обновлю этот пост с его названием, как только вспомню. =)
.