VEWOXIC / FITS

FITS: Frequency Interpolation Time Series Analysis Baseline
Apache License 2.0
106 stars 12 forks source link

Real_FITS and FITS #10

Closed jahaur1 closed 1 month ago

jahaur1 commented 1 month ago

Does Real_FITS get the same result as the FITS experiment? There are slight differences in the code, e.g. self.freq_upsampler

jahaur1 commented 1 month ago

As far as I know, voltage, current, sound intensity, temperature and other physical quantities can be directly measured in the real world. The values of these signals do not contain imaginary components.

VEWOXIC commented 1 month ago

They should produce the same result as the FITS. real_FITS just use the commonly used real-valued linear layer to simulate the complex-valued linear combination operation in FITS. We implement the real_FITS just to make it applicable on devices that currently do not support complex operation, e.g. RTX4090.

Yes, indeed. Almost all the signal can be measured are present in real-value. However, FITS perform the linear operation on the frequency domain which is inherently a complex-valued domain. (also the real_FITS)

Hope this can help!

VEWOXIC commented 1 month ago

You can check the detail here for your reference: https://github.com/VEWOXIC/FITS/issues/3#issuecomment-1998953111

VEWOXIC commented 1 month ago

If there is no further question. I will close this issue.

Please feel free to reopen it if you need any help.

jahaur1 commented 1 month ago

I have a question, should I add linear_end to the evaluation, or use the NTH variable, when using a multivariable prediction model that similar to yours to implement a multivariable prediction for a single variable? Although the output of the NTH variable of the model is different, adding linear at the end will generally improve and the difference is not large

VEWOXIC commented 1 month ago

Sorry, what is the linear_end and NTH variable? Are they used in our FITS?

jahaur1 commented 1 month ago

Yes, I did. Your task is to predict multiple variables, and what I'm trying to do is to predict one variable by use multiple variables. linear_end is what I add to the end and turns the output into one variable, which is the NTH variable

jahaur1 commented 1 month ago

What I want to know is whether this comparison should be made using the variable in the output channel or using linear_end to become a channel

VEWOXIC commented 1 month ago

Seems you are making some modification on the FITS right?

Using a linear layer to fuse information from multiple channel can be a good idea to boost the forecasting performance. But as you mention, the improvement can be very marginal.

May I know some more detail about the comparison? I still do not get it. What is the task setting and what are we comparing?

jahaur1 commented 1 month ago

Let me make a big example, the height of a glass of water is closely related to the area and temperature, so I use the water level, temperature, and area as variables, but I only need the water level, so I use a linear layer to become a channel, which improves the accuracy.So I'm confused about which precision to use for comparison

VEWOXIC commented 1 month ago

Okay, now I understand that you are fusing the information from all the input channels to boost the forecasting performance.

If you are using some standardized benchmark dataset, you can compare some baseline models that already report their performance. It is up to your task definition.

jahaur1 commented 1 month ago

Thanks for your patience. I am using a new data set, so it is difficult for me to choose baseline. Anyway, I'll cite your work, which is really good

VEWOXIC commented 1 month ago

Thanks for your recognition! Good luck with your paper!