GithubHelp home page GithubHelp logo

complexity-aware-traffic-prediction's People

Contributors

abcnishant007 avatar

Stargazers

 avatar

Watchers

 avatar

complexity-aware-traffic-prediction's Issues

Pred_2 using 1

Since the other way round doesn't work since we have higher slope; we should trying predicting the easier case using a model trained on a more difficult dataset.

Normalise the data for better convergence

We can do this in the data loader. Divide by max (10000) should be fine since that is the maximum value of flow we can get. Additionally, we have Relu activaiton in case larger ouputs are needed.

Naiive model might not be the most fair comparison

f(x_{t+T}) = f(x) is clear for the case when the input and output window is 1.
When the window is more than 1, we use the last frame to repeat. This is of course better than the entire X, but a moving average might be a better choice in such scenarios. Better still, if we can plot the curves at selected locations; something like what was done in the DCRNN paper, we might be better off.

Speed-up required for IC computation

We can just do it as the cx_PM is being computed. We can make all predictions, write them up in a folder using the train_gen and then compute cx_MP in the same manner.

IC computation should have 0 stochasiticity if running on full data

Currently we do sampling with replacement which results in a very small number of data points being reused and some being excluded. We did 8000 out of 9k+ points. This would not change any results but better to make it deterministic using all data points otherwise the plots would be confusing.

CHECK: why do we need model.model;

In the datagen class, we simply pass the self. train_Gen and self.val_gen.
It seems that the self.model is not being used. It should be removed.

TO-DO: Do one more `pred_horiz` plot with fixed margins.

Currently it is a function of the pred_horiz itself.
Same is true for the experimental results. We use the newer version of Cx while temporarily switching to the harder data sets.
This is not a problem since it does not hurt our final val_error.

`NULL` defaults in cx class

This results in error sin Keras utils for cases when we don't update the values. Specifically these lines:

            for k in self._values_order:
                info += f" - {k}:"
                if isinstance(self._values[k], list):
                    try:
                        avg = np.mean(
                            self._values[k][0] / max(1, self._values[k][1])
                        )
                    except:
                        debug_pitstop = True

Solution: Simply use -1 as the default value instead of the "NULL" in the complexity.py class.

Relu, TanH, Sigmoid test

CSR does not appear to make any assumptions on the activation function. We need to test how it works. In the worst case, we have a senstivity plot.

Remove sparse files

Not being used anymore
We just used it in the beginning as a part of the EDA when we were exploring faster reading and writing of files.

Separate spatial complexity class

In response to #3, it is best to separate the spatial class, otherwise, the complexity class becomes too complicated and so does the config file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.