An open API service indexing awesome lists of open source software.

https://github.com/microprediction/microactors

Examples of scheduled jobs estimating copulas at www.microprediction.org
https://github.com/microprediction/microactors

copula copula-entropy copula-models copulas timeseries timeseries-analysis timeseries-database timeseries-forecasting timeseries-prediction timeseries-sequence

Last synced: about 1 year ago
JSON representation

Examples of scheduled jobs estimating copulas at www.microprediction.org

Awesome Lists containing this project

README

          

# What it does

1. Tests open source copulas package against real data, by submitting to www.microprediction.org

# How you use this repository

1. Fork it
2. Open up [this notebook](https://github.com/microprediction/microactors/blob/main/New_Key.ipynb) in colab and run it to generate yourself a write key.
3. Save the key as a Github secret called WRITE_KEY ([instructions](https://www.google.com/search?q=how+to+create+a+github+secret))
4. Click on "accept" when Github asks you if you want to enable github actions. Go to Actions and you'll see the only action used
in your repo (like [this one](https://github.com/microprediction/microactors/blob/main/.github/workflows/submit.yml)). You should be able to enable it.

That's all. Later, go to www.microprediction.org and plug your write key into the dashboard. You'll see something like this, eventually.

![](https://i.imgur.com/uwttTku.png)

If you are curious about step 2, see [instructions](https://www.microprediction.com/private-keys) for other ways, and a cheesy video explaining that a WRITE_KEY is a Memorable Unique Identifier.

If you'd rather not fork, just copy [fit.py](https://github.com/microprediction/microactors/blob/main/fit.py) and [daily.yml](https://github.com/microprediction/microactors/blob/main/.github/workflows/daily.yml) as that's pretty much it.

## Do you like fitting multivariate densities or Copulas?

Modify your fit.py (similar to [fit.py](https://github.com/microprediction/microactors/blob/main/fit.py) provided). For example you can change the
choice of Copula, or use an entirely different technique. The only important thing is that you spit out 225 "scenarios".

## New to [microprediction.org](www.microprediction.org)?
Here's what's up:

- Anyone can publish live data repeatedly, [like this](https://github.com/microprediction/microprediction/blob/master/feed_examples_live/traffic_live.py) say, and it
creates a stream like [this one](https://www.microprediction.org/stream_dashboard.html?stream=electricity-load-nyiso-overall).
- Some github repos like this one make regular predictions (there are also some algorithms like [this guy](https://github.com/microprediction/microprediction/blob/master/crawler_examples/soshed_boa.py) that use running processes instead)

## Why?
Free prediction for all means free bespoke business optimization for all.

- Yes it really is an [api](http://api.microprediction.org/) that predicts anything.
- Yes it also makes it easier to see which R, Julia and Python time series approaches seem to work best, saving you from
trying out [hundreds of packages](https://www.microprediction.com/blog/popular-timeseries-packages) from PyPI and github, any one of which might be of uncertain quality.

## More background if you want it...

Here's a [first glimpse](https://www.microprediction.com/welcome) for the uninitiated, some [categories of business application](https://www.microprediction.com/welcome-3), some remarks
on why [microprediction is synomymous with AI](https://www.microprediction.com/welcome-4) due to the possibility of value function prediction, and a straightforward
[plausibility argument](https://www.microprediction.com/welcome-2) for why an open source, openly networked collection of algorithms that
are perfectly capable of [managing each other](https://www.microprediction.com/welcome-5) will sooner or later eclipse all other modes of production
of prediction. In order to try to get this idea off the ground, there are some ongoing [competitions](https://www.microprediction.com/competitions) and developer incentives.

## Video tutorials...

Video tutorials are available at https://www.microprediction.com/python-1 to help you
get started.

## Presentations

Presentations at Rutgers, MIT and elsewhere can be found in the [presentations](https://github.com/microprediction/micropresentations) repo. A book will be
published by MIT Press in 2021 on the topic. There are links to video presentations in some of the [blog](https://www.microprediction.com/blog) articles.


## This repository

Now, back to this repo.

- It's minimalist and simple.
- It shows you how to make predictions using Github actions.
- It fits z-streams only.

That's all.

## Aside: What are z-streams?

Glad you asked. See [An Introduction to Z-Streams](https://www.linkedin.com/pulse/short-introduction-z-streams-peter-cotton-phd/) or the
microprediction [frequently asked questions](https://www.microprediction.com/faq). Put simply, some of the
seemingly univariate time series such as [this one](https://www.microprediction.org/stream_dashboard.html?stream=z2~copula_x~copula_y~70) are
really multi-variate implied copulas. You can retrieve them in multivariate
format using the `.get_lagged_copulas` or `.get_lagged_zvalues` methods of the [MicroReader](https://github.com/microprediction/microprediction/blob/master/microprediction/reader.py).

## Aside: Why does it only fit z-streams and not the other ones?

The z-stream distributions don't change as quickly as the values themselves.

## Install

If you grepped for 'install' ...

This repo isn't intended to be used as a package.

Go back to the top of this readme.