diff --git a/config_jingbo.py b/config_jingbo.py index d2cdeb4..d96483f 100644 --- a/config_jingbo.py +++ b/config_jingbo.py @@ -197,15 +197,15 @@ warning_data = { ### 开关 is_train = True # 是否训练 -is_debug = True # 是否调试 +is_debug = False # 是否调试 is_eta = False # 是否使用eta接口 is_timefurture = True # 是否使用时间特征 -is_fivemodels = True # 是否使用之前保存的最佳的5个模型 -is_edbcode = True # 特征使用edbcoding列表中的 +is_fivemodels = False # 是否使用之前保存的最佳的5个模型 +is_edbcode = False # 特征使用edbcoding列表中的 is_edbnamelist = False # 自定义特征,对应上面的edbnamelist is_update_eta = False # 预测结果上传到eta is_update_report = False # 是否上传报告 -is_update_warning_data = True # 是否上传预警数据 +is_update_warning_data = False # 是否上传预警数据 ### 北京环境数据库jbsh_test # url: jdbc:mysql://192.168.101.27:3306/jingbo_test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&useSSL=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true @@ -225,8 +225,8 @@ db_mysql.connect() # 数据截取日期 start_year = 2000 # 数据开始年份 -end_time = '' # 数据截取日期 -freq = 'W' # 时间频率,"D": 天 "W": 周"M": 月"Q": 季度"A": 年 "H": 小时 "T": 分钟 "S": 秒 "B": 工作日 +end_time = '2024-11-23' # 数据截取日期 +freq = 'B' # 时间频率,"D": 天 "W": 周"M": 月"Q": 季度"A": 年 "H": 小时 "T": 分钟 "S": 秒 "B": 工作日 delweekenday = True if freq == 'B' else False # 是否删除周末数据 is_corr = False # 特征是否参与滞后领先提升相关系数 add_kdj = False # 是否添加kdj指标 @@ -235,7 +235,7 @@ if add_kdj and is_edbnamelist: ### 模型参数 y = 'Brent连1合约价格' # 原油指标数据的目标变量 Brent连1合约价格 Brent活跃合约 # y = '期货结算价(连续):布伦特原油:前一个观测值' # ineoil的目标变量 -horizon =4 # 预测的步长 +horizon =5 # 预测的步长 input_size = 40 # 输入序列长度 train_steps = 50 if is_debug else 1000 # 训练步数,用来限定epoch次数 val_check_steps = 30 # 评估频率 diff --git a/main_yuanyou.py b/main_yuanyou.py index a1616ea..4494307 100644 --- a/main_yuanyou.py +++ b/main_yuanyou.py @@ -172,29 +172,29 @@ def predict_main(): row, col = df.shape now = datetime.datetime.now().strftime('%Y%m%d%H%M%S') - # ex_Model(df, - # horizon=horizon, - # input_size=input_size, - # train_steps=train_steps, - # val_check_steps=val_check_steps, - # early_stop_patience_steps=early_stop_patience_steps, - # is_debug=is_debug, - # dataset=dataset, - # is_train=is_train, - # is_fivemodels=is_fivemodels, - # val_size=val_size, - # test_size=test_size, - # settings=settings, - # now=now, - # etadata=etadata, - # modelsindex=modelsindex, - # data=data, - # is_eta=is_eta, - # ) + ex_Model(df, + horizon=horizon, + input_size=input_size, + train_steps=train_steps, + val_check_steps=val_check_steps, + early_stop_patience_steps=early_stop_patience_steps, + is_debug=is_debug, + dataset=dataset, + is_train=is_train, + is_fivemodels=is_fivemodels, + val_size=val_size, + test_size=test_size, + settings=settings, + now=now, + etadata=etadata, + modelsindex=modelsindex, + data=data, + is_eta=is_eta, + ) logger.info('模型训练完成') - + logger.info('训练数据绘图ing') model_results3 = model_losss(sqlitedb) logger.info('训练数据绘图end') @@ -228,7 +228,7 @@ def predict_main(): file=max(glob.glob(os.path.join(dataset,'*.pdf')), key=os.path.getctime), ssl=ssl, ) - m.send_mail() + # m.send_mail() if __name__ == '__main__': diff --git a/models/nerulforcastmodels.py b/models/nerulforcastmodels.py index 1cee451..0ddda2a 100644 --- a/models/nerulforcastmodels.py +++ b/models/nerulforcastmodels.py @@ -369,9 +369,9 @@ def model_losss(sqlitedb): # find_most_common_model() - df_predict2 = df_predict.copy() + df_predict2 = df_combined3.tail(horizon) df_predict2['ds'] = pd.to_datetime(df_predict2['ds']) - df_predict2['ds'] = df_predict2['ds'].dt.strftime('%Y-%m-%d 00:00:00') + df_predict2['ds'] = df_predict2['ds'].dt.strftime('%Y-%m-%d') # 保存到数据库 if not sqlitedb.check_table_exists('accuracy'): @@ -382,13 +382,13 @@ def model_losss(sqlitedb): df_predict2['id'] = range(max_id + 1, max_id + 1 + len(df_predict2)) else: df_predict2['id'] = range(1, 1 + len(df_predict2)) - df_predict2['CREAT_DATE'] = datetime.datetime.now().strftime('%Y-%m-%d') + + df_predict2['CREAT_DATE'] = end_time df_predict2['PREDICT_DATE'] = df_predict2['ds'] df_predict2['MIN_PRICE'] = df_predict2['min_within_quantile'] df_predict2['MAX_PRICE'] = df_predict2['max_within_quantile'] - print(df_predict2.clumns) df_predict2 = df_predict2[['id','PREDICT_DATE','CREAT_DATE','MIN_PRICE','MAX_PRICE']] - df_predict2.to_sql(table_name, con=sqlitedb.connection, if_exists='append', index=False) + df_predict2.to_sql("accuracy", con=sqlitedb.connection, if_exists='append', index=False)