月度配置更新预测结果上传到市场信息平台
This commit is contained in:
parent
b0ac51f4b2
commit
c1f3da8340
@ -90,8 +90,8 @@ ClassifyId = 1214
|
||||
|
||||
|
||||
# 变量定义--测试环境
|
||||
server_host = '192.168.100.53'
|
||||
|
||||
# server_host = '192.168.100.53' # 内网
|
||||
server_host = '183.242.74.28 ' # 外网
|
||||
login_pushreport_url = f"http://{server_host}:8080/jingbo-dev/api/server/login"
|
||||
# 上传报告
|
||||
upload_url = f"http://{server_host}:8080/jingbo-dev/api/analysis/reportInfo/researchUploadReportSave"
|
||||
|
@ -90,15 +90,14 @@ ClassifyId = 1214
|
||||
|
||||
|
||||
# 变量定义--测试环境
|
||||
server_host = '192.168.100.53'
|
||||
|
||||
# server_host = '192.168.100.53' # 内网
|
||||
server_host = '183.242.74.28 ' # 外网
|
||||
login_pushreport_url = f"http://{server_host}:8080/jingbo-dev/api/server/login"
|
||||
upload_url = f"http://{server_host}:8080/jingbo-dev/api/analysis/reportInfo/researchUploadReportSave"
|
||||
upload_warning_url = f"http://{server_host}:8080/jingbo-dev/api/basicBuiness/crudeOilWarning/save"
|
||||
query_data_list_item_nos_url = f"http://{server_host}:8080/jingbo-dev/api/warehouse/dwDataItem/queryDataListItemNos"
|
||||
# 数据项推送接口
|
||||
push_data_balue_list = f"http://{server_host}:8080/jingbo-dev/api/dw/dataValue/pushDataValueList"
|
||||
|
||||
# 上传数据项值
|
||||
push_data_value_list_url = f"http://{server_host}:8080/jingbo-dev/api/dw/dataValue/pushDataValueList"
|
||||
|
||||
login_data = {
|
||||
"data": {
|
||||
@ -113,6 +112,7 @@ login_data = {
|
||||
}
|
||||
|
||||
upload_data = {
|
||||
"groupNo": '', # 用户组id
|
||||
"funcModule": '研究报告信息',
|
||||
"funcOperation": '上传原油价格预测报告',
|
||||
"data": {
|
||||
@ -130,6 +130,7 @@ upload_data = {
|
||||
|
||||
|
||||
warning_data = {
|
||||
"groupNo": '', # 用户组id
|
||||
"funcModule": '原油特征停更预警',
|
||||
"funcOperation": '原油特征停更预警',
|
||||
"data": {
|
||||
@ -149,6 +150,39 @@ query_data_list_item_nos_data = {
|
||||
}
|
||||
}
|
||||
|
||||
push_data_value_list_data = {
|
||||
"funcModule": "数据表信息列表",
|
||||
"funcOperation": "新增",
|
||||
"data": [
|
||||
{"dataItemNo": "91230600716676129",
|
||||
"dataDate": "20230113",
|
||||
"dataStatus": "add",
|
||||
"dataValue": 100.11
|
||||
},
|
||||
{"dataItemNo": "91230600716676129P|ETHYL_BEN|CAPACITY",
|
||||
"dataDate": "20230113",
|
||||
"dataStatus": "add",
|
||||
"dataValue": 100.55
|
||||
},
|
||||
{"dataItemNo": "91230600716676129P|ETHYL_BEN|CAPACITY",
|
||||
"dataDate": "20230113",
|
||||
"dataStatus": "add",
|
||||
"dataValue": 100.55
|
||||
}
|
||||
]
|
||||
}
|
||||
# 八大维度数据项编码
|
||||
bdwd_items = {
|
||||
'ciri': 'yyycbdwdcr',
|
||||
'benzhou': 'yyycbdwdbz',
|
||||
'cizhou': 'yyycbdwdcz',
|
||||
'gezhou': 'yyycbdwdgz',
|
||||
'ciyue': 'yyycbdwdcy',
|
||||
'cieryue': 'yyycbdwdcey',
|
||||
'cisanyue': 'yyycbdwdcsy',
|
||||
'cisiyue': 'yyycbdwdcsiy',
|
||||
}
|
||||
|
||||
|
||||
# 北京环境数据库
|
||||
host = '192.168.101.27'
|
||||
@ -171,6 +205,7 @@ is_edbnamelist = False # 自定义特征,对应上面的edbnamelist
|
||||
is_update_eta = False # 预测结果上传到eta
|
||||
is_update_report = False # 是否上传报告
|
||||
is_update_warning_data = False # 是否上传预警数据
|
||||
is_update_predict_value = True # 是否上传预测值到市场信息平台
|
||||
is_del_corr = 0.6 # 是否删除相关性高的特征,取值为 0-1 ,0 为不删除,0.6 表示删除相关性小于0.6的特征
|
||||
is_del_tow_month = True # 是否删除两个月不更新的特征
|
||||
|
||||
|
@ -29,6 +29,7 @@ global_config.update({
|
||||
'test_size': test_size,
|
||||
'modelsindex': modelsindex,
|
||||
'rote': rote,
|
||||
'bdwd_items': bdwd_items,
|
||||
|
||||
# 特征工程开关
|
||||
'is_del_corr': is_del_corr,
|
||||
@ -36,6 +37,7 @@ global_config.update({
|
||||
'is_eta': is_eta,
|
||||
'is_update_eta': is_update_eta,
|
||||
'is_fivemodels': is_fivemodels,
|
||||
'is_update_predict_value': is_update_predict_value,
|
||||
'early_stop_patience_steps': early_stop_patience_steps,
|
||||
|
||||
# 时间参数
|
||||
@ -54,6 +56,10 @@ global_config.update({
|
||||
'query_data_list_item_nos_url': query_data_list_item_nos_url,
|
||||
'query_data_list_item_nos_data': query_data_list_item_nos_data,
|
||||
|
||||
# 上传数据项
|
||||
'push_data_value_list_url': push_data_value_list_url,
|
||||
'push_data_value_list_data': push_data_value_list_data,
|
||||
|
||||
# eta 配置
|
||||
'APPID': APPID,
|
||||
'SECRET': SECRET,
|
||||
@ -73,6 +79,75 @@ global_config.update({
|
||||
})
|
||||
|
||||
|
||||
def push_market_value():
|
||||
logger.info('发送预测结果到市场信息平台')
|
||||
# 读取预测数据和模型评估数据
|
||||
predict_file_path = os.path.join(config.dataset, 'predict.csv')
|
||||
model_eval_file_path = os.path.join(config.dataset, 'model_evaluation.csv')
|
||||
try:
|
||||
predictdata_df = pd.read_csv(predict_file_path)
|
||||
top_models_df = pd.read_csv(model_eval_file_path)
|
||||
except FileNotFoundError as e:
|
||||
logger.error(f"文件未找到: {e}")
|
||||
return
|
||||
|
||||
predictdata = predictdata_df.copy()
|
||||
|
||||
# 取模型前十
|
||||
top_models = top_models_df['模型(Model)'].head(10).tolist()
|
||||
|
||||
# 计算前十模型的均值
|
||||
predictdata_df['top_models_mean'] = predictdata_df[top_models].mean(axis=1)
|
||||
|
||||
# 打印日期和前十模型均值
|
||||
print(predictdata_df[['ds', 'top_models_mean']])
|
||||
|
||||
# 准备要推送的数据
|
||||
ciyue_date = predictdata_df['ds'].iloc[0].replace('-', '')
|
||||
cieryue_date = predictdata_df['ds'].iloc[1].replace('-', '')
|
||||
cisanyue_date = predictdata_df['ds'].iloc[2].replace('-', '')
|
||||
cisiyue_date = predictdata_df['ds'].iloc[3].replace('-', '')
|
||||
ciyue_mean = predictdata_df['top_models_mean'].iloc[0]
|
||||
cieryue_mean = predictdata_df['top_models_mean'].iloc[1]
|
||||
cisanyue_mean = predictdata_df['top_models_mean'].iloc[2]
|
||||
cisieryue_mean = predictdata_df['top_models_mean'].iloc[3]
|
||||
|
||||
predictdata = [
|
||||
{
|
||||
"dataItemNo": global_config['bdwd_items']['ciyue'],
|
||||
"dataDate": ciyue_date,
|
||||
"dataStatus": "add",
|
||||
"dataValue": ciyue_mean
|
||||
},
|
||||
{
|
||||
"dataItemNo": global_config['bdwd_items']['cieryue'],
|
||||
"dataDate": cieryue_date,
|
||||
"dataStatus": "add",
|
||||
"dataValue": cieryue_mean
|
||||
},
|
||||
{
|
||||
"dataItemNo": global_config['bdwd_items']['cisanyue'],
|
||||
"dataDate": cisanyue_date,
|
||||
"dataStatus": "add",
|
||||
"dataValue": cisanyue_mean
|
||||
},
|
||||
{
|
||||
"dataItemNo": global_config['bdwd_items']['cisiyue'],
|
||||
"dataDate": cisiyue_date,
|
||||
"dataStatus": "add",
|
||||
"dataValue": cisieryue_mean
|
||||
}
|
||||
]
|
||||
|
||||
print(predictdata)
|
||||
|
||||
# 推送数据到市场信息平台
|
||||
try:
|
||||
push_market_data(predictdata)
|
||||
except Exception as e:
|
||||
logger.error(f"推送数据失败: {e}")
|
||||
|
||||
|
||||
def predict_main():
|
||||
"""
|
||||
主预测函数,用于从 ETA 获取数据、处理数据、训练模型并进行预测。
|
||||
@ -113,28 +188,19 @@ def predict_main():
|
||||
None
|
||||
"""
|
||||
end_time = global_config['end_time']
|
||||
signature = BinanceAPI(APPID, SECRET)
|
||||
etadata = EtaReader(signature=signature,
|
||||
classifylisturl=classifylisturl,
|
||||
classifyidlisturl=classifyidlisturl,
|
||||
edbcodedataurl=edbcodedataurl,
|
||||
edbcodelist=edbcodelist,
|
||||
edbdatapushurl=edbdatapushurl,
|
||||
edbdeleteurl=edbdeleteurl,
|
||||
edbbusinessurl=edbbusinessurl
|
||||
)
|
||||
# 获取数据
|
||||
if is_eta:
|
||||
logger.info('从eta获取数据...')
|
||||
signature = BinanceAPI(APPID, SECRET)
|
||||
etadata = EtaReader(signature=signature,
|
||||
classifylisturl=classifylisturl,
|
||||
classifyidlisturl=classifyidlisturl,
|
||||
edbcodedataurl=edbcodedataurl,
|
||||
edbcodelist=edbcodelist,
|
||||
edbdatapushurl=edbdatapushurl,
|
||||
edbdeleteurl=edbdeleteurl,
|
||||
edbbusinessurl=edbbusinessurl,
|
||||
classifylisturl=global_config['classifylisturl'],
|
||||
classifyidlisturl=global_config['classifyidlisturl'],
|
||||
edbcodedataurl=global_config['edbcodedataurl'],
|
||||
edbcodelist=global_config['edbcodelist'],
|
||||
edbdatapushurl=global_config['edbdatapushurl'],
|
||||
edbdeleteurl=global_config['edbdeleteurl'],
|
||||
edbbusinessurl=global_config['edbbusinessurl'],
|
||||
classifyId=global_config['ClassifyId'],
|
||||
)
|
||||
df_zhibiaoshuju, df_zhibiaoliebiao = etadata.get_eta_api_yuanyou_data(
|
||||
data_set=data_set, dataset=dataset) # 原始数据,未处理
|
||||
@ -348,16 +414,18 @@ def predict_main():
|
||||
model_results3 = model_losss(sqlitedb, end_time=end_time)
|
||||
logger.info('训练数据绘图end')
|
||||
|
||||
# # 模型报告
|
||||
# logger.info('制作报告ing')
|
||||
# title = f'{settings}--{end_time}-预测报告' # 报告标题
|
||||
# reportname = f'Brent原油大模型月度预测--{end_time}.pdf' # 报告文件名
|
||||
# reportname = reportname.replace(':', '-') # 替换冒号
|
||||
# brent_export_pdf(dataset=dataset, num_models=5 if is_fivemodels else 22, time=end_time,
|
||||
# reportname=reportname, sqlitedb=sqlitedb),
|
||||
# 模型报告
|
||||
logger.info('制作报告ing')
|
||||
title = f'{settings}--{end_time}-预测报告' # 报告标题
|
||||
reportname = f'Brent原油大模型月度预测--{end_time}.pdf' # 报告文件名
|
||||
reportname = reportname.replace(':', '-') # 替换冒号
|
||||
brent_export_pdf(dataset=dataset, num_models=5 if is_fivemodels else 22, time=end_time,
|
||||
reportname=reportname, sqlitedb=sqlitedb),
|
||||
|
||||
# logger.info('制作报告end')
|
||||
# logger.info('模型训练完成')
|
||||
logger.info('制作报告end')
|
||||
logger.info('模型训练完成')
|
||||
|
||||
push_market_value()
|
||||
|
||||
# # LSTM 单变量模型
|
||||
# ex_Lstm(df,input_seq_len=input_size,output_seq_len=horizon,is_debug=is_debug,dataset=dataset)
|
||||
|
Loading…
Reference in New Issue
Block a user