Use Hugging Face inline math syntax in the model card
Browse files
README.md
CHANGED
|
@@ -33,7 +33,7 @@ CPU.
|
|
| 33 |
|
| 34 |
## Model
|
| 35 |
|
| 36 |
-
Each row is one location and day, with up to two targets
|
| 37 |
|
| 38 |
$$
|
| 39 |
\begin{aligned}
|
|
@@ -45,16 +45,16 @@ $$
|
|
| 45 |
|
| 46 |
- **Location**: an 8-dim area embedding plus a station offset that starts near zero and is penalised, so a
|
| 47 |
station with little data falls back to its area.
|
| 48 |
-
- **Time**: fixed Gaussian bumps
|
| 49 |
level is a smooth function of time.
|
| 50 |
- **Shared trunk, two heads**: two layers of 64 with SiLU, then one linear head per target. A day where only one
|
| 51 |
target was observed still trains everything the other depends on.
|
| 52 |
|
| 53 |
-
**Loss.** An observed value is a mean of
|
| 54 |
-
with
|
| 55 |
only: a missing target is **masked**, not dropped. Added to it:
|
| 56 |
|
| 57 |
-
- a **curvature penalty**
|
| 58 |
predicted series on the **whole** day grid, observed or not, which keeps the level smooth through gaps;
|
| 59 |
- a small L2 penalty on the station offsets.
|
| 60 |
|
|
@@ -65,8 +65,8 @@ cross-validation in the post:
|
|
| 65 |
|
| 66 |
| Setting | Value |
|
| 67 |
|---|---|
|
| 68 |
-
| curvature penalty
|
| 69 |
-
| bump spacing
|
| 70 |
| hidden width | 64 |
|
| 71 |
| learning rate | 5e-3 |
|
| 72 |
| weight decay | 1e-4 |
|
|
|
|
| 33 |
|
| 34 |
## Model
|
| 35 |
|
| 36 |
+
Each row is one location and day, with up to two targets \\( y_1, y_2 \\) (log values, standardised).
|
| 37 |
|
| 38 |
$$
|
| 39 |
\begin{aligned}
|
|
|
|
| 45 |
|
| 46 |
- **Location**: an 8-dim area embedding plus a station offset that starts near zero and is penalised, so a
|
| 47 |
station with little data falls back to its area.
|
| 48 |
+
- **Time**: fixed Gaussian bumps \\( b_k(t) = \exp\big(-\tfrac12((t - c_k)/w)^2\big) \\) with centres every \\( w \\) days, so the
|
| 49 |
level is a smooth function of time.
|
| 50 |
- **Shared trunk, two heads**: two layers of 64 with SiLU, then one linear head per target. A day where only one
|
| 51 |
target was observed still trains everything the other depends on.
|
| 52 |
|
| 53 |
+
**Loss.** An observed value is a mean of \\( n \\) readings, so its variance around the level is \\( \sigma_j^2 / n + \tau_j^2 \\),
|
| 54 |
+
with \\( \sigma_j \\), \\( \tau_j \\) learned per target. The Gaussian negative log-likelihood is averaged over observed cells
|
| 55 |
only: a missing target is **masked**, not dropped. Added to it:
|
| 56 |
|
| 57 |
+
- a **curvature penalty** \\( \lambda \cdot \overline{(\mu_{t+1} - 2\mu_t + \mu_{t-1})^2} \\) over every location's
|
| 58 |
predicted series on the **whole** day grid, observed or not, which keeps the level smooth through gaps;
|
| 59 |
- a small L2 penalty on the station offsets.
|
| 60 |
|
|
|
|
| 65 |
|
| 66 |
| Setting | Value |
|
| 67 |
|---|---|
|
| 68 |
+
| curvature penalty \\( \lambda \\) (`rough`) | 1e5 |
|
| 69 |
+
| bump spacing \\( w \\) (`spacing`) | 30 days |
|
| 70 |
| hidden width | 64 |
|
| 71 |
| learning rate | 5e-3 |
|
| 72 |
| weight decay | 1e-4 |
|