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
- Host: GitHub
- URL: https://github.com/microprediction/microactors
- Owner: microprediction
- License: mit
- Created: 2020-12-20T01:39:06.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-10-24T18:41:15.000Z (over 3 years ago)
- Last Synced: 2025-03-25T03:12:58.585Z (about 1 year ago)
- Topics: copula, copula-entropy, copula-models, copulas, timeseries, timeseries-analysis, timeseries-database, timeseries-forecasting, timeseries-prediction, timeseries-sequence
- Language: Python
- Homepage: http://www.microprediction.org
- Size: 42 KB
- Stars: 4
- Watchers: 2
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.

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.