Skip to content

Latest commit

 

History

History
94 lines (60 loc) · 8.15 KB

CONTRIBUTE.md

File metadata and controls

94 lines (60 loc) · 8.15 KB

Time-machines contributors guide

This project hopes to make it easier for humans, and also autonomous creatures, to get a rough idea of what time-series package or technique might be applicable to their domain. Popularity is not a good guide! If you wish to help with this search problem, there are easy and more involved ways to help.

It that seems daunting, read on.

New here?

You may ask yourself, "Well, how did I get here?" And you may ask yourself, "How do I work this?". And you may find yourself behind the wheel of a large automobile.

drawing

But enough 80's rock. Chances are you're here because you reached out to connect on Linked-In, and you have some manner of time-series or quantitative interest, so I sent you an invite. Stop what you are doing. Open this notebook and run it. The README will make more sense, and perhaps too the notion of collective autonomous prediction.

Specific goals

The strategy here:

  1. Packaging a slew of fully autonomous univariate forecasting functions:

  2. Creating "crawlers" and other programs than operate in real-time and predict time-series at www.microprediction.org where:

    • They play this game, and in doing so,
    • Provide free high quality short-term prediction to anyone, anywhere, for any reason.
    • See also the TLDR
  3. Demonstrating creative use of on-tap community prediction such as:

    • Multi-level autonomous crowd-sourcing where things feed back to the next step (see crypto examples).
    • Otherwise inventive use of general purpose prediction, conditional prediction, and prediction of ancilliary quantities to achieve intelligent systems in surprising ways. See my book.
    • Attacking otherwise thorny issues like defining anomaly detection in a way that isn't circular.
    • Driving investment returns for clients of Intech Investments, the project sponsor. After all if it helps with what might be the hardest problem of all (or at least the most competitive) it is a no-brainer that this will work elsewhere.

Contribution Patterns

I suppose it is nice if people follow, clap, share, heckle on medium, linked-in if that helps bring in contributors. Thanks. I suppose you can star, fork, watch timemachines or even sign this tongue-in-cheek petition - unless you want a job at Facebook or Towards Data Science, some day :) But here's how you can really help, even if you are new to open source...

Creating colab notebooks illustrating the use of Python timeseries packages

It helps speed the creation of autonomous algorithms, and Elo ratings, to have example notebooks for python time-series packages

  1. See good first issues. Or search the same link for "Create colab notebook"

It's also not a bad way to familiarize yourself with packages that might be useful. No need to limit yourself to the ones in the issues. Anything that can predict k-steps ahead is fair game. See the long list of packages

Running scripts

Contributing compute:

  1. Cut and paste a bash command to drive the default "crawler". See CONTRIBUTE_COMPUTE_LOCAL_ONE_LINE.md. Run a Python script directly if you prefer. See CONTRIBUTE_COMPUTE_LOCAL. Or run a Python script on a PythonAnywhere account that drives a "crawler". See CONTRIBUTE_COMPUTE_PA
  2. Cut and paste a bash command to burn some rare Memorable Unique Identifiers, and donate them. See CONTRIBUTE_COMPUTE_MUIDS.md

Contribution to crawler creation

  1. Create any kind of Python crawler. Run it. Improve it. Repeat. See the knowledge center tutorials.
  2. Create any kind of crawler, not in Python. There's less support for that, but see the public api and Google search (for "microprediction client Julia", for example, or "micropredciction client typescript).

Contribution to the timemachines package

Open issues:

  1. See good first issues

New package inclusion and approaches

  1. See CONTRIBUTE_BATCH_STYLE_MODELS to add new functionality using non-incremental methods.
  2. See CONTRIBUTE_ONLINE_STYLE_MODELS to add new functionality using incremental methods.

Contribution of live data

Add live data that feeds the Elo ratings, and live contests too.

  1. See CONTRIBUTE_LIVE_DATA.md

Friday chats

  • Grab the slack invite
  • Turn up to one of the informal chats we have every Friday noon EST. meet

But if you are shy that's fine too. I look forward to your pull requests, or seeing you on the leaderboard. Crawling can be completely anonymous, by the way.

Career advice?

Some fraction of you were asking about career advice. There are people in the microprediction slack who can probably give better advice than me. Hassle them, but mine would be:

  • Take the time to learn how to contribute to open-source and do all your hobby projects in the open, on GitHub.
  • Read the Mathematics subject classification and slowly, over time, familiarize yourself with the key seminal tricks in each area. Even if you expect to spend most of your time in 4.2.1 this will give you angles on problems that other's don't have.

I fear my other advice mostly overlaps with platitudes.