Comments (8)
Ad 1. I came here to write the same thing, I also looked at the implementation by the original authors and they do not have ReLu there. Ad 2, I believe there should be bias. The paper is self-contradictory: In 3.3, the authors describe using bias:
This is also reflected in the original authors' code (see: repo by ElementAI). Caution: that repo has been created by the original authors, but is probably not the code they initially wrote, as it's PyTorch and in the paper they talk about using TensorFlow.
In case of the GenericBlock, theta=Linear(hidden_4) and output = Linear_with_bias(theta), as described in the paper if you consided 3.3 is equivalent to output=Linear_with_bias(hidden_4), as in the ElementAI implementation.
Additionally, the ElementAI implementation uses linear with bias to obtain theta for all block types - this is not explained in the paper at all, so I have no idea which way that one is supposed to be.
from n-beats.
@chedatomasz I'm pretty sure the
I'm pretty convinced that there are bugs in both this implementation and the ElementAI implementation of the trend and seasonality blocks. I don't think they construct the weight matrices as described in the paper.
from n-beats.
I agree that if
Regarding forming the matrices: For generic basis, the matrices are present as parameters of the Linear layers, hidden by the framework. For seasonality and trend, the matrices are formed explicitly in seasonality_model and trend_model
from n-beats.
Based on the implementation in this repo, the following are the backcast and forecast basis vectors given a backcast length of 30, a forecast length of 5, and a theta dimension of 4:
The original paper does not say how
from n-beats.
Regarding this one, I just added another issue. I believe this reflects the code in ElementAI's implementation, where they have flipped time axis for backcast. I will email the original authors to confirm what their intentions were.
from n-beats.
Point 1. fixed: 0e44180. The keras impl did not seem to have this issue.
Point 2. so we should leave the linear with bias=True?
Point 3. cf. the other issue raised.
from n-beats.
Point3: be40395
from n-beats.
I'll close this. Let me know if it LGTY!
from n-beats.
Related Issues (20)
- Is torchvision really a requirement? HOT 2
- GENERIC_BLOCK usage generating TypeError HOT 3
- How to prevent deterministic behaviour HOT 5
- Trend coefficients in pytorch implementation HOT 1
- Return backcast for Keras model HOT 4
- Incorporating deterministic exogenous features HOT 3
- Multidimensional input fails HOT 1
- How to work with multivariate data? HOT 1
- Polynomial basis for backcast HOT 2
- The parameters 'exo_dim' and 'exo_shape' in the class 'NBeatsNet' HOT 1
- how to use/deploy n-beats for real world problems when the algorithm uses teacher forcing? HOT 1
- Problem in reimplement m4 result in origin parper HOT 10
- Keras backend does not support input_dim > 1 HOT 1
- Is there a unsupervised version of n-beats? HOT 1
- Can we use a pandas dataframe with multiple dependent variables? HOT 11
- Installation issue with tensor flow 2.5.0 HOT 8
- No module named 'nbeats_keras' HOT 1
- Delete
- How to draw the picture in the paper? HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from n-beats.