• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
rouncer

can i predict future data using a data history?

16 posts in this topic

An interesting program could be some method of taking a data stream then storing it in a way so i can compare it to the novel future and tell me how predictable it was, so it finds patterns in the data, its a pattern detector that works on bits.

 

this could be interesting, because the data could be anything, and would the exact same prediction technique work on any kind of data no matter what it is?

1

Share this post


Link to post
Share on other sites

To answer the question of the title - you can't really predict the future based on past patterns and history, but, you can build probabilities of events happening if similar patterns emerge...

 

Basically, many stock predictors work on this model - some with surprising accuracy, however there is no good way to account for unforseen events, hence, you can only really build probabilities of what may occur. Of course the more event data you have, the more accurate of a model you can build.

 

Now, going about actually creating a program for this - you'll want to look into a number of AI techniques probably starting with neural network theory. 

 

Any specific ideas in terms of exactly what sort of data and/or events you are interested in? Or, is it more or less of just a curiosity?

0

Share this post


Link to post
Share on other sites
Google for "time series analysis" and "data compression": Both things involve finding patterns in a stream of data.

Of course different kinds of data call for different techniques. Like in most other realms, there is no silver bullet. Edited by Álvaro
0

Share this post


Link to post
Share on other sites

It's not really AI either... it's statistics.

 

The accuracy of the predictions depends how well the data fits the underlying assumptions (which will usually be a statistical model based on probability density functions).

0

Share this post


Link to post
Share on other sites

It's not really AI either... it's statistics.


Not to diminish the importance of statistics, but predicting what will happen next is most definitely within the realm of AI.

My own view of AI is that it consists of two things:
(1) Building a representation of the world, including how things are, how they behave and how they are likely to progress under different hypothetical scenarios.
(2) Selecting an action that maximizes the expected value of a utility function, based on the predictions set forth by (1).

I tend to think action selection is the core of intelligence, but other people (e.g. Jeff Hawkins) think prediction is the more important part.
0

Share this post


Link to post
Share on other sites

Well, the answer to your title's question is simple: no.
If you have no guarantees of how the data is collected and what phenomenon you are observing, there is absolutely no reason for which past data describe a future event or a model.
Since you do not have a model you can not use any method to infer future events.
You can notice a pattern in which whenever a bird sings, a dolphin in the ocean is jumping. But since this two actions are not correlated,  if you'll use it you'll have a wrong (or better, not reliable) prediction.
If you know the domain of the problem instead, you can start to build some rules (there are already some tools to do this. Search for "data mining", some programs do exactly want you want, they find patterns in data)

TL;DR
Without a knowledge of the domain you are observing, you can find patterns, but they do not mean anything and you can not safely use them to infer future events.
(Note: it can be that the data you are looking at actually belongs to a specific domain with some patterns, even if you don't know it. In that case you can use the pattern to predict future events, but since you do not know that the data belong to a specific domanin, you should not use them.)

@Alvaro: I'm not really informed about data compression, but i think the goal is to find the more common pattern and "replace" it with a shorter identifier. At least in the old days. It is not about predicting data that is not present. Am i right?

Edited by Makers_F
0

Share this post


Link to post
Share on other sites


@Alvaro: I'm not really informed about data compression, but i think the goal is to find the more common pattern and "replace" it with a shorter identifier. At least in the old days. It is not about predicting data that is not present. Am i right?

 

One way to think about compression is, given the sequence up to a certain point, what is the distribution of probabilities for the next symbol? If you can answer that question (probabilistic prediction of the next symbol) well, you can use arithmetic coding to convert the whole string into a string whose length is the entropy of the original string, which is the best you can do in compression.

 

Some people view the link between compression and intelligence as being very close: http://prize.hutter1.net/hfaq.htm#compai

0

Share this post


Link to post
Share on other sites

I think a neural network is your best bet for something general. A neural network could easily be trained for many different types of data.

 

Training is the key however. You couldn't just show it a totally new type of data and expect it's answer to be reliable without first training with that type of data.

0

Share this post


Link to post
Share on other sites

storing [the data stream] in a way [to] tell me how predictable it was.

 

Principal Componant Analysis is the process of examining a set of data, and determining what are the most salient features of that data. And it's an algorithm, an automatic procedure of rotating the coordinate system to coincide with the length and density of the data.

 

The axes of the resulting new coordinate system represent recognition of measured as-yet unnamed features of that data.

Edited by AngleWyrm
0

Share this post


Link to post
Share on other sites

Google for "time series analysis" and "data compression": Both things involve finding patterns in a stream of data.

Of course different kinds of data call for different techniques. Like in most other realms, there is no silver bullet.

 

And don't try to second guess what complexity of solution you will need - start simple and work your way up as needed.  I did some work predicting results of rugby matches and a linear sum of 6 variables (3 per team) was enough to get results comparable with the bookmakers.

0

Share this post


Link to post
Share on other sites

Oh, Alistair's post reminds me of something I read in the book "Thinking fast and slow", where Kahneman proposes using the sum of simple terms that are easy to measure, when trying to predict something. The examples from the book sound exactly like what Alistair described with rugby matches.

 

If you have a lot of data, you can try to estimate weights for each term. If you have a metric shit ton of data, you can get much fancier with non-linear schemes in (e.g., neural networks). There is a whole subject called Machine Learning about how to make predictions where you have an abundance of data. But Kahneman says that something simple like the sum often works just fine, and I think he might be right.

0

Share this post


Link to post
Share on other sites

I am genuinely proud of myself for starting as "stupid" as possible.  I started with a single variable per team and worked my way up.

Good for you; people frequently mistake quantity of variables with resolution -- usually with terrible results.

0

Share this post


Link to post
Share on other sites

Although there are methods in statistics to detect correlation between variables so you can remove them/make one dependent upon the other.

0

Share this post


Link to post
Share on other sites

Although there are methods in statistics to detect correlation between variables so you can remove them...

Can you give more details on this? It's a great idea.

 

I've seen a similar concept with boolean mathematics, used to factor out any random collection of IF/AND/OR logic and distill it down to the bare minimum that achieves the same input/output states.

Edited by AngleWyrm
0

Share this post


Link to post
Share on other sites

You can predict (or rather the program can), but whether it will do so reliably/accurately  is the question.

 

You will have to spot/identify in the data particular indicators (factoring) the data  which in itself is a difficult problem.  pAtterns of these factors will need to be assembled.

 

Assume that there is a sequence of cause and effect  - clues/pattern  that lead to some subsequent occurance (which you are trying to predict to be ready to counter or handle/whatever).

 

Buildling up this predictive knowledge about likely patterns to later recognize  is a problem.  Training data is needed (bracketing the problem space you are trying to solve for) .  Guidance by a human is usually needed to inform the system what is relevant (even in a self training system you previously need to tell it what the good/bad results are or which cases are to be looked for).

 

Any pattern not previously seen or conflicting/contradicting with known patterns will result in questionable results for the prediction.  Thus extensive cases  often has to be built up for even simple systems being evaluated/predicted.

 

.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0