views:

184

answers:

3

Hi All.

I am looking for some kind of intelligent (I was thinking AI or Neural network) library that I can feed a list of historical data and this will predict the next sequence of outputs.

As an example I would like to feed the library the following figures 1,2,3,4,5

and based on this, it should predict the next sequence is 6,7,8,9,10 etc.

The inputs will be a lot more complex and contain much more information.

This will be used in a C# application.

If you have any recommendations or warning that will be great.

Thanks

EDIT

What I am trying to do i using historical sales data, predict what amount a specific client is most likely going to spend in the next period.

I do understand that there are dozens of external factors that can influence a clients purchases but for now I need to merely base it on the sales history and then plot a graph showing past sales and predicted sales.

+1  A: 

If I understand your question correctly, you want to approximate and extrapolate an unknown function. In your example, you know the function values

f(0) = 1
f(1) = 2
f(2) = 3
f(3) = 4
f(4) = 5

A good approximation for these points would be f(x) = x+1, and that would yield f(5) = 6... as expected. The problem is, you can't solve this without knowledge about the function you want to extrapolate: Is it linear? Is it a polynomial? Is it smooth? Is it (approximately or exactly) cyclic? What is the range and domain of the function? The more you know about the function you want to extrapolate, the better your predictions will be.

nikie
you don't understand, he wants the program to scan his brain and know exactly what's he's thinking of. ahem, AI
TiansHUo
+2  A: 

I just have a warning, sorry. =)

Mathematically, there is no reason for your sequence above to be followed by a "6". I can easily give you a simple function, whose next value is any value you like. Its just that humans like simple rules, and therefore tend to see a connection in these sequences, that in reality is not there. Therefore, this is a impossible task for a computer, if you do not want to feed it with additional information.

Edit: In the case that you suspect your data to have a known functional dependence, and there are uncontrollable outside factors, maybe regression analysis will have good results. To start easy, look at linear regression first.

If you cannot assume linear dependence, there is a nice application that looks for functions fitting your historical data... I'll update this post with its name as soon as I remember. =)

Jens
What I am trying to do i using historical sales data, predict what amount a specific client is most likely going to spend in the next period.I do understand that there are dozens of external factors that can influence a clients purchases but for now we will merely base it on the sales history.
SetiSeeker
+1  A: 

If you're looking for a .NET API, then I would recommend you try AForge.NET http://code.google.com/p/aforge/

If you just want to try various machine learning algorithms on a data set that you have at your disposal, then I would recommend that you play around with Weka; it's (relatively) easy to use and it implements a lot of ML/AI algorithms. Run multiple runs with different settings for each algorithm and try as many algorithms as you can. Most of them will have some predictive power and if you combine the right ones, then you might really get something useful.

Lirik