-
Notifications
You must be signed in to change notification settings - Fork 172
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Learning loss problem & predict procedure #27
Comments
Hi, normalization is done before applying any masks, and it can be done either on a "dataset-wide" basis (default) or a "per_sample" basis (by choosing I am not sure what you want to find out about fine-tuning. There is no mask applied when fine-tuning (for regression and classification), either on training or test data. Masking is done by the |
Hi George, Thanks for your reply. I also have additional questions, please comment. When imputation is performed with the normalized data, I wonder if the normalized value of the mask area will come out as a predicted value. Also, DummyTSTransformerEncoder is not defined in the ts_transformer.py part of the code, but I wonder if it does not function separately. Thank you very much for your reply. |
The DummyTSTransformerEncoder was a linear model, using the same interface as the TSTransformerEncoder, meant to test that end-to-end results make sense. I removed it from the Regarding your first question: if I correctly understand what you are asking yes, the predicted values will belong to the normalized distribution. During training and validation, they are compared with the normalized unmasked values available from the original data, so everything works. However, during inference, this means that you would have to de-normalize the predictions. So, imagine that you want to use this code specifically for missing values imputation. You would first train it following the normal pre-training process, which means that the code will take care of normalization for you (we assume
Finally, the model's predictions at the indices marked by the masks would have to be de-standardized (multiply by the stored std, and then add the mean). So, if you want to merge the newly predicted values with your original data, you can do so by replacing the missing values (using the boolean mask indices) with the predictions, and then de-standardizing the entire test dataframe (which has been previously normalized here). Or, separately de-standardize the predicted values, and merge them with the original test data. I hope this helps! |
Your reply was very helpful. I am currently studying time series presentation learning, and I was able to understand it thanks to your answer. Lastly, I have a question while reading the paper, I have an additional question. In Figure 5 of the paper, you visualized the mask input and prediction, and I wonder if it is the prediction result for the missing value or the prediction result for the mask section. There are similar questions in other issues, but I'm asking you because there are some difficulties to understand. I also want to check the difference between the predicted value and the actual value, but in Figure 5, I wonder if the values of some areas were extracted separately and used. I wonder if this is also defined in the Analyzer class at analysis.py. Thank you for writing a good paper. |
Assuming I understand correctly what you are asking: the dataset I am using does not naturally have missing values. To emulate "missing" values, I use the standard stochastic masking described in the paper (the same one used in the standard task of |
Thank you for your reply. Thanks to the code organized in Github, I was able to understand a lot about the paper you wrote. Also, I am very interested in presentation learning, and thank you for opening this source. |
Hi George, When perform "train models from scratch" with my dataset, rmse loss turn to nan.
I want to check normalizer for my dataset, I wonder how.
If normalization is performed, I wonder if the normalized value is predicted even in the mask section.
Also, I want to check finetuning model structer, but I cannot find. Can you tell me how?
I wonder if the mask is applied to the test set even when finetuned.
Thank you
The text was updated successfully, but these errors were encountered: