Jasper

Results 105 comments of Jasper

I was also thinking about using a map-reduce type of interface to do aggregations. It might make things a bit more awkward to use, but should allow us more flexibility.

I've looked a bit into what it means to calculate aggregations across batches: from dataclasses import dataclass, field ```py @dataclass class Sum: batch_axis: bool = False results: list = field(default_factory=list)...

Actually, it should be more like this: ```py @dataclass class Sum: axis: Optional[int] results: list = field(default_factory=list) def step(self, a, axis=None): self.axis = axis self.results.append(np.sum(a, axis=axis)) def aggregate(self): if self.axis...

Can we remove the versioning and just have `ev`?

Some more experimentation on how to do things: ```py @dataclass class MSE: forecast_type: str = "mean" def __call__(self, axis=None) -> MetricEvaluator: return MetricEvaluator( map=partial(squared_error, forecast_type=self.forecast_type), aggregate=Mean(axis=axis), ) @dataclass class MetricEvaluator:...

Can't we calculate the `SeasonalError` per time-step instead of on the level of time series?

The name kind of gives it away: of course it makes sense per time step. It is calculated for each value individually.

Ah, the seasonal error is calculated for the entire time series rather than just for the prediction range? This is very different from all the other metrics that we have,...

Trying to recap: Seasonal errors are attributes of time-series and are only calculated on past data. One way to calculate mase would be to require it in the input data,...

> After adding a rough comparison of the old and new approach (`comparison_to_old_approach.py`) to see if the results make sense, I found that: > > * (Weighted) Quantile Loss is...