google-deepmind / graphcast

Apache License 2.0
4.36k stars 537 forks source link

Forecasting beyond 10 days #63

Open tvonich opened 4 months ago

tvonich commented 4 months ago

There's seems to be some default setting that won't allow a forecast beyond 10 days. I've tried identifying where in the code that might be and have not been able to find the spot.

Anyone successfully do this or know where to point me for fixing it?

ws1234321 commented 4 months ago

Hello, I'd like to ask how you made the prediction within ten days. I entered 20 time data, but starting from the third data, the prediction is compared with the original data. I want to predict the time after 20 data. What should I do? If you know, please tell me, thank you.

tewalds commented 4 months ago

Take a look at rollout.chunked_prediction. It takes a targets_template that defines how many outputs to generate. If you give it a template with more outputs it'll generate more outputs. You can generate as many as you want (months?), but don't expect it to generate predictions that are good much beyond 10 days. At some point it'll generate worse predictions than climatology, but I'm not sure when that is. If you want to evaluate it you'll obviously also need to get real data (from ERA5 or HRES) as we haven't included more than 10 days of example data.

tvonich commented 4 months ago

Hello, I'd like to ask how you made the prediction within ten days. I entered 20 time data, but starting from the third data, the prediction is compared with the original data. I want to predict the time after 20 data. What should I do? If you know, please tell me, thank you.

If you check out the #32 and #56 I expect this is your same issue. It has to do with where the inputs are extracted from the example data.

ws1234321 commented 4 months ago

Hello, I'd like to ask how you made the prediction within ten days. I entered 20 time data, but starting from the third data, the prediction is compared with the original data. I want to predict the time after 20 data. What should I do? If you know, please tell me, thank you.

If you check out the #32 and #56 I expect this is your same issue. It has to do with where the inputs are extracted from the example data.

Thank you. I think I understand a little. I will make changes in an aligned way. Thank you very much for your advice.

ws1234321 commented 4 months ago

Hello, I'd like to ask how you made the prediction within ten days. I entered 20 time data, but starting from the third data, the prediction is compared with the original data. I want to predict the time after 20 data. What should I do? If you know, please tell me, thank you.你好,我想问一下你是如何在十天内做出预测的。我输入了 20 个时间数据,但从第三个数据开始,将预测与原始数据进行比较。我想预测 20 个数据之后的时间。我该怎么办?如果你知道,请告诉我,谢谢。

If you check out the #32 and #56 I expect this is your same issue. It has to do with where the inputs are extracted from the example data. ❗ 🔄

Hi, I'm sorry to bother you again. I operate on the data in a left aligned and right aligned manner. I use data from 1 to 20, and the training and evaluation steps are both 4. Left aligned, the predicted data are 3, 4, 5, and 6. Right aligned, the predicted results are 17, 18, 19, and 20. If I want to predict 21, 22, 23, and 24, what should I do? Thank you in advance

tewalds commented 4 months ago

You need to generate a targets_template of the correct size. It can be filled with nans, but needs to be bigger than what you're currently passing in. You'll also need to generate the matching forcings.

ws1234321 commented 4 months ago

You need to generate a targets_template of the correct size. It can be filled with nans, but needs to be bigger than what you're currently passing in. You'll also need to generate the matching forcings.

Thank you very much for your help. I will make adjustments as you said and express my thanks again.

tvonich commented 1 month ago

Take a look at rollout.chunked_prediction. It takes a targets_template that defines how many outputs to generate. If you give it a template with more outputs it'll generate more outputs. You can generate as many as you want (months?), but don't expect it to generate predictions that are good much beyond 10 days. At some point it'll generate worse predictions than climatology, but I'm not sure when that is. If you want to evaluate it you'll obviously also need to get real data (from ERA5 or HRES) as we haven't included more than 10 days of example data.

Timo, when you say it will generate worse error than climatology, does the error ever settle into a climatological plateau or does it grow forever?