Skip to content
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

您好,看了您的程序,感觉非常好,有几点问题想问您一下。 #19

Open
HeLloZhengXr opened this issue Nov 12, 2023 · 14 comments

Comments

@HeLloZhengXr
Copy link

(1)我的数据只有,时间一列,数值一列。该方法的预测可以使用吗? 在数据的选取中只需选择数值一列,那预测的数据是怎么跟时间联系起来的,代码中哪里是体现的?。
(2)如果我想预测未来10天的,是否可以先将DAY_AHEAD设置为1,然后预测完数据后,将该数据增加进我的数据列表,然后重新预测,重复该操作10次? 还是说可以将DAY_AHEAD设置为1,记录一下数据,将DAY_AHEAD设置为2,记录一下数据。

@FateMurphy
Copy link
Owner

FateMurphy commented Nov 12, 2023 via email

@HeLloZhengXr
Copy link
Author

收到您的回复特别开心,再次感谢您的解答,还有一个问题想要请教您,使用模型训练和模型预测的总的数据集,我从哪里可以看到?路径下生成的有.h5文件,这个文件是用来干什么的?

@FateMurphy
Copy link
Owner

FateMurphy commented Nov 12, 2023 via email

@HeLloZhengXr
Copy link
Author

非常感谢您的回答。
我想我可能没表述清楚。我现有原始数据集,假设是2006年1月1日至2023年11月11日的每日平均气温数据,如果我选择FORECAST_HORIZONS=15,FORECAST_LENGTH=15, 通过您的模型计算的话,那么训练集是哪些数据,测试集是哪些数据呢?我怎么判断数据训练的结果好坏呢?我只看到了有几个评判指标,但我想获取经过训练后的模型和测试集中对应的预测数据,我可以通过哪种方式获取这些数据以和测试集数据进行比较呢?

@FateMurphy
Copy link
Owner

FateMurphy commented Nov 12, 2023 via email

@HeLloZhengXr
Copy link
Author

您好,我加入PATH路径后,log里面有保存的EXCEL文件,但是figure文件夹里面没有文件?请问这是怎么回事,这是我的代码。
kr = cl.keras_predictor(PATH = "G:/Code_Desk/VMD_LSTM",FORECAST_HORIZONS=15,FORECAST_LENGTH=30, KERAS_MODEL='GRU', NEXT_DAY=True, DAY_AHEAD=1) df_result = kr.hybrid_keras_predict(data=series, show=True, plot=True, save=True)

@FateMurphy
Copy link
Owner

FateMurphy commented Nov 13, 2023 via email

@HeLloZhengXr
Copy link
Author

但我如果把NEXT_DAY=False,我就获取不了我想要预测的未来一天的数值了。

@FateMurphy
Copy link
Owner

FateMurphy commented Nov 13, 2023 via email

@HeLloZhengXr
Copy link
Author

可是NEXT_DAY=True时,log下面仅生成的是最后一天的数据,我无法获取验证集的数据进行画图。

@FateMurphy
Copy link
Owner

FateMurphy commented Nov 13, 2023 via email

@HeLloZhengXr
Copy link
Author

您好,是这样的。
(1)我设置成NEXT_DAY=False时,log里面有测试集30天的real和predict数据,这是我所想要的。但是此时我无法获取我想要预测的第二天的predict数值,因为我设置DAY_AHEAD=1或者DAY_AHEAD=2,此时都不起作用。
当我设置成NEXT_DAY=True时,log里面只有我想要预测的第二天的数值,这也是我所想要的。但没有我想要(1)的测试集的real和predict数据。
请问如何解决这个问题?

(2)这个问题是否可以从另一个角度考虑,如果我将模型的训练集和测试集确定后,模型训练好,是否可以通过另一种方式直接预测下一天的数值,而不用重新运行程序进行训练测试预测呢?

@FateMurphy
Copy link
Owner

可以输入完整数据集,程序会自动划分测试集和训练集。NEXT_DAY=True时,只预测样本外的下一天,自然画不了图。重复运行可以使用rolling method。DAY_AHEAD=1表示至今的数据预测明天,=2表示用至今数据预测后天(空了一个明天)

@HeLloZhengXr
Copy link
Author

HeLloZhengXr commented Nov 13, 2023

对于rolling method我不理解的是,我的数据集是2009年1月1日至2009年3月1日。滚动预测结束后,只是对2009年2月24日-2月28日进行了第二日预测,但是这些数据我都在我的样本数据集里,对于样本数据集外的预测,比如我想知道3月2日的情况,rolling method却没给我结果,那么rolling method对于其他预测区别在哪?DAY_AHEAD设置的有什么用途?在模型预测结果看来滚动预测不还不能预测明天以外的数。

data = pd.read_csv('testtemp.csv',header=0, index_col=['date'], parse_dates=['date'])
series = data['su']

kr = cl.keras_predictor(PATH = "G:\Code_Desk\VMD_LSTM",FORECAST_HORIZONS=6,FORECAST_LENGTH=6,
KERAS_MODEL='GRU', NEXT_DAY=True, DAY_AHEAD=3)
df_result = kr.rolling_keras_predict(data=series, predict_method='hybrid')

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants