# sweichwald / CoCaLa-CauseMe-NeurIPS-competition

Fortran Python R
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
logmap.R
ridge.py Nov 9, 2019
selvar.f
selvar_method.py Nov 9, 2019
varvar.py

Just a quick update: Our CoCaLa Team won the Causality 4 Climate NeurIPS competition! Among all 190 competitors, with 40 very active, we won the most categories with 18 out of 34, came in second place in all remaining 16 categories, and won the overall competition by achieving an average AUC-ROC score of 0.917 (2nd and 3rd place achieved 0.722 and 0.676, respectively). Congrats and thanks to many great teams and thanks to the organisers for putting a fun competition together. You can check out our slides here, re-watch the NeurIPS session here, and read more on the competition results.

This repository contains pretty cool stuff!

We, the team of the Copenhagen Causality Lab (CoCaLa) participating in the Causality 4 Climate NeurIPS competition, are posting the scripts here that generated our final competition submissions.

No documentation (yet) and (partly) unpolished as we posted this right after the competition closed ;-)

# quick'n'rough docs

## logmap

naive fitting of the logistic map with linear regression for the quotient x_t / x_{t-1}

## ridge

The method differences the data to obtain `y_t = X_t – X_{t-1}`, and regresses `y` on lagged versions of `X`.

The method performs ridge regression `y_t ~ X_{t-1}, …, X_{t-lags}`. The method takes the absolute values of the resulting coefficient matrix, as a proxy for the size of causal effects. If `lags > 1`, a coefficient matrix for each lag is produced, and they’re thus summed across lags.

This ridge regression is in fact repeated on a number of bootstrap samples, and the effect is aggregated by taking some quantile q of the estimated effects across bootstraps. In some sense, `q` can be seen as a bias-variance trade-off parameter, with `q = 1` being equal to the max effect across samples, which could have high variance.

## selvar

Var model with variable and lag selection with respect to predictive residual sum of squares. Edges can be scored with different criteria and p-values are computed for the likelihood-ratio test.

## varvar

Repeatedly fits var(p) models on random bootstrap-subsamples of the data (where 1 <= p <= maxlags uniformly) and aggregates the absolute values of the coefficients to an overall score matrix.

You can’t perform that action at this time.