This commit is contained in:
jingboyitiji 2025-05-27 11:54:22 +08:00
commit 409cbb65e7
2 changed files with 230 additions and 186 deletions

View File

@ -128,138 +128,183 @@ modelsindex = {
} }
selfid = { selfid = {
"聚烯烃价格预测NHITS模型-次周": "SELF0000231", "石油焦-铝用价格预测NHITS模型-次日": "SELF0000363",
"聚烯烃价格预测Informer模型-次周": "SELF0000232", "石油焦-铝用价格预测Informer模型-次日": "SELF0000364",
"聚烯烃价格预测LSTM模型-次周": "SELF0000233", "石油焦-铝用价格预测LSTM模型-次日": "SELF0000365",
"聚烯烃价格预测iTransformer模型-次周": "SELF0000234", "石油焦-铝用价格预测iTransformer模型-次日": "SELF0000366",
"聚烯烃价格预测TSMixer模型-次周": "SELF0000235", "石油焦-铝用价格预测TSMixer模型-次日": "SELF0000367",
"聚烯烃价格预测TSMixerx模型-次周": "SELF0000236", "石油焦-铝用价格预测TSMixerx模型-次日": "SELF0000368",
"聚烯烃价格预测PatchTST模型-次周": "SELF0000237", "石油焦-铝用价格预测PatchTST模型-次日": "SELF0000369",
"聚烯烃价格预测RNN模型-次周": "SELF0000238", "石油焦-铝用价格预测RNN模型-次日": "SELF0000370",
"聚烯烃价格预测GRU模型-次周": "SELF0000239", "石油焦-铝用价格预测GRU模型-次日": "SELF0000371",
"聚烯烃价格预测TCN模型-次周": "SELF0000240", "石油焦-铝用价格预测TCN模型-次日": "SELF0000372",
"聚烯烃价格预测BiTCN模型-次周": "SELF0000241", "石油焦-铝用价格预测BiTCN模型-次日": "SELF0000373",
"聚烯烃价格预测DilatedRNN模型-次周": "SELF0000242", "石油焦-铝用价格预测DilatedRNN模型-次日": "SELF0000374",
"聚烯烃价格预测MLP模型-次周": "SELF0000243", "石油焦-铝用价格预测MLP模型-次日": "SELF0000375",
"聚烯烃价格预测DLinear模型-次周": "SELF0000244", "石油焦-铝用价格预测DLinear模型-次日": "SELF0000376",
"聚烯烃价格预测NLinear模型-次周": "SELF0000245", "石油焦-铝用价格预测NLinear模型-次日": "SELF0000377",
"聚烯烃价格预测TFT模型-次周": "SELF0000246", "石油焦-铝用价格预测TFT模型-次日": "SELF0000378",
"聚烯烃价格预测FEDformer模型-次周": "SELF0000247", "石油焦-铝用价格预测FEDformer模型-次日": "SELF0000379",
"聚烯烃价格预测StemGNN模型-次周": "SELF0000248", "石油焦-铝用价格预测StemGNN模型-次日": "SELF0000380",
"聚烯烃价格预测MLPMultivariate模型-次周": "SELF0000249", "石油焦-铝用价格预测MLPMultivariate模型-次日": "SELF0000381",
"聚烯烃价格预测TiDE模型-次周": "SELF0000250", "石油焦-铝用价格预测TiDE模型-次日": "SELF0000382",
"聚烯烃价格预测DeepNPTS模型-次周": "SELF0000251", "石油焦-铝用价格预测DeepNPTS模型-次日": "SELF0000383",
"聚烯烃价格预测NBEATS模型-次周": "SELF0000252", "石油焦-铝用价格预测NBEATS模型-次日": "SELF0000384",
"聚烯烃价格预测NHITS模型-隔周": "SELF0000253", "石油焦-铝用价格预测NHITS模型-本周": "SELF0000385",
"聚烯烃价格预测Informer模型-隔周": "SELF0000254", "石油焦-铝用价格预测Informer模型-本周": "SELF0000386",
"聚烯烃价格预测LSTM模型-隔周": "SELF0000255", "石油焦-铝用价格预测LSTM模型-本周": "SELF0000387",
"聚烯烃价格预测iTransformer模型-隔周": "SELF0000256", "石油焦-铝用价格预测iTransformer模型-本周": "SELF0000388",
"聚烯烃价格预测TSMixer模型-隔周": "SELF0000257", "石油焦-铝用价格预测TSMixer模型-本周": "SELF0000389",
"聚烯烃价格预测TSMixerx模型-隔周": "SELF0000258", "石油焦-铝用价格预测TSMixerx模型-本周": "SELF0000390",
"聚烯烃价格预测PatchTST模型-隔周": "SELF0000259", "石油焦-铝用价格预测PatchTST模型-本周": "SELF0000391",
"聚烯烃价格预测RNN模型-隔周": "SELF0000260", "石油焦-铝用价格预测RNN模型-本周": "SELF0000392",
"聚烯烃价格预测GRU模型-隔周": "SELF0000261", "石油焦-铝用价格预测GRU模型-本周": "SELF0000393",
"聚烯烃价格预测TCN模型-隔周": "SELF0000262", "石油焦-铝用价格预测TCN模型-本周": "SELF0000394",
"聚烯烃价格预测BiTCN模型-隔周": "SELF0000263", "石油焦-铝用价格预测BiTCN模型-本周": "SELF0000395",
"聚烯烃价格预测DilatedRNN模型-隔周": "SELF0000264", "石油焦-铝用价格预测DilatedRNN模型-本周": "SELF0000396",
"聚烯烃价格预测MLP模型-隔周": "SELF0000265", "石油焦-铝用价格预测MLP模型-本周": "SELF0000397",
"聚烯烃价格预测DLinear模型-隔周": "SELF0000266", "石油焦-铝用价格预测DLinear模型-本周": "SELF0000398",
"聚烯烃价格预测NLinear模型-隔周": "SELF0000267", "石油焦-铝用价格预测NLinear模型-本周": "SELF0000399",
"聚烯烃价格预测TFT模型-隔周": "SELF0000268", "石油焦-铝用价格预测TFT模型-本周": "SELF0000400",
"聚烯烃价格预测FEDformer模型-隔周": "SELF0000269", "石油焦-铝用价格预测FEDformer模型-本周": "SELF0000401",
"聚烯烃价格预测StemGNN模型-隔周": "SELF0000270", "石油焦-铝用价格预测StemGNN模型-本周": "SELF0000402",
"聚烯烃价格预测MLPMultivariate模型-隔周": "SELF0000271", "石油焦-铝用价格预测MLPMultivariate模型-本周": "SELF0000403",
"聚烯烃价格预测TiDE模型-隔周": "SELF0000272", "石油焦-铝用价格预测TiDE模型-本周": "SELF0000404",
"聚烯烃价格预测DeepNPTS模型-隔周": "SELF0000273", "石油焦-铝用价格预测DeepNPTS模型-本周": "SELF0000405",
"聚烯烃价格预测NBEATS模型-隔周": "SELF0000274", "石油焦-铝用价格预测NBEATS模型-本周": "SELF0000406",
"聚烯烃价格预测NHITS模型-次月": "SELF0000275", "石油焦-铝用价格预测NHITS模型-次周": "SELF0000407",
"聚烯烃价格预测Informer模型-次月": "SELF0000276", "石油焦-铝用价格预测Informer模型-次周": "SELF0000408",
"聚烯烃价格预测LSTM模型-次月": "SELF0000277", "石油焦-铝用价格预测LSTM模型-次周": "SELF0000409",
"聚烯烃价格预测iTransformer模型-次月": "SELF0000278", "石油焦-铝用价格预测iTransformer模型-次周": "SELF0000410",
"聚烯烃价格预测TSMixer模型-次月": "SELF0000279", "石油焦-铝用价格预测TSMixer模型-次周": "SELF0000411",
"聚烯烃价格预测TSMixerx模型-次月": "SELF0000280", "石油焦-铝用价格预测TSMixerx模型-次周": "SELF0000412",
"聚烯烃价格预测PatchTST模型-次月": "SELF0000281", "石油焦-铝用价格预测PatchTST模型-次周": "SELF0000413",
"聚烯烃价格预测RNN模型-次月": "SELF0000282", "石油焦-铝用价格预测RNN模型-次周": "SELF0000414",
"聚烯烃价格预测GRU模型-次月": "SELF0000283", "石油焦-铝用价格预测GRU模型-次周": "SELF0000415",
"聚烯烃价格预测TCN模型-次月": "SELF0000284", "石油焦-铝用价格预测TCN模型-次周": "SELF0000416",
"聚烯烃价格预测BiTCN模型-次月": "SELF0000285", "石油焦-铝用价格预测BiTCN模型-次周": "SELF0000417",
"聚烯烃价格预测DilatedRNN模型-次月": "SELF0000286", "石油焦-铝用价格预测DilatedRNN模型-次周": "SELF0000418",
"聚烯烃价格预测MLP模型-次月": "SELF0000287", "石油焦-铝用价格预测MLP模型-次周": "SELF0000419",
"聚烯烃价格预测DLinear模型-次月": "SELF0000288", "石油焦-铝用价格预测DLinear模型-次周": "SELF0000420",
"聚烯烃价格预测NLinear模型-次月": "SELF0000289", "石油焦-铝用价格预测NLinear模型-次周": "SELF0000421",
"聚烯烃价格预测TFT模型-次月": "SELF0000290", "石油焦-铝用价格预测TFT模型-次周": "SELF0000422",
"聚烯烃价格预测FEDformer模型-次月": "SELF0000291", "石油焦-铝用价格预测FEDformer模型-次周": "SELF0000423",
"聚烯烃价格预测StemGNN模型-次月": "SELF0000292", "石油焦-铝用价格预测StemGNN模型-次周": "SELF0000424",
"聚烯烃价格预测MLPMultivariate模型-次月": "SELF0000293", "石油焦-铝用价格预测MLPMultivariate模型-次周": "SELF0000425",
"聚烯烃价格预测TiDE模型-次月": "SELF0000294", "石油焦-铝用价格预测TiDE模型-次周": "SELF0000426",
"聚烯烃价格预测DeepNPTS模型-次月": "SELF0000295", "石油焦-铝用价格预测DeepNPTS模型-次周": "SELF0000427",
"聚烯烃价格预测NBEATS模型-次月": "SELF0000296", "石油焦-铝用价格预测NBEATS模型-次周": "SELF0000428",
"聚烯烃价格预测NHITS模型-次二月": "SELF0000297", "石油焦-铝用价格预测NHITS模型-隔周": "SELF0000429",
"聚烯烃价格预测Informer模型-次二月": "SELF0000298", "石油焦-铝用价格预测Informer模型-隔周": "SELF0000430",
"聚烯烃价格预测LSTM模型-次二月": "SELF0000299", "石油焦-铝用价格预测LSTM模型-隔周": "SELF0000431",
"聚烯烃价格预测iTransformer模型-次二月": "SELF0000300", "石油焦-铝用价格预测iTransformer模型-隔周": "SELF0000432",
"聚烯烃价格预测TSMixer模型-次二月": "SELF0000301", "石油焦-铝用价格预测TSMixer模型-隔周": "SELF0000433",
"聚烯烃价格预测TSMixerx模型-次二月": "SELF0000302", "石油焦-铝用价格预测TSMixerx模型-隔周": "SELF0000434",
"聚烯烃价格预测PatchTST模型-次二月": "SELF0000303", "石油焦-铝用价格预测PatchTST模型-隔周": "SELF0000435",
"聚烯烃价格预测RNN模型-次二月": "SELF0000304", "石油焦-铝用价格预测RNN模型-隔周": "SELF0000436",
"聚烯烃价格预测GRU模型-次二月": "SELF0000305", "石油焦-铝用价格预测GRU模型-隔周": "SELF0000437",
"聚烯烃价格预测TCN模型-次二月": "SELF0000306", "石油焦-铝用价格预测TCN模型-隔周": "SELF0000438",
"聚烯烃价格预测BiTCN模型-次二月": "SELF0000307", "石油焦-铝用价格预测BiTCN模型-隔周": "SELF0000439",
"聚烯烃价格预测DilatedRNN模型-次二月": "SELF0000308", "石油焦-铝用价格预测DilatedRNN模型-隔周": "SELF0000440",
"聚烯烃价格预测MLP模型-次二月": "SELF0000309", "石油焦-铝用价格预测MLP模型-隔周": "SELF0000441",
"聚烯烃价格预测DLinear模型-次二月": "SELF0000310", "石油焦-铝用价格预测DLinear模型-隔周": "SELF0000442",
"聚烯烃价格预测NLinear模型-次二月": "SELF0000311", "石油焦-铝用价格预测NLinear模型-隔周": "SELF0000443",
"聚烯烃价格预测TFT模型-次二月": "SELF0000312", "石油焦-铝用价格预测TFT模型-隔周": "SELF0000444",
"聚烯烃价格预测FEDformer模型-次二月": "SELF0000313", "石油焦-铝用价格预测FEDformer模型-隔周": "SELF0000445",
"聚烯烃价格预测StemGNN模型-次二月": "SELF0000314", "石油焦-铝用价格预测StemGNN模型-隔周": "SELF0000446",
"聚烯烃价格预测MLPMultivariate模型-次二月": "SELF0000315", "石油焦-铝用价格预测MLPMultivariate模型-隔周": "SELF0000447",
"聚烯烃价格预测TiDE模型-次二月": "SELF0000316", "石油焦-铝用价格预测TiDE模型-隔周": "SELF0000448",
"聚烯烃价格预测DeepNPTS模型-次二月": "SELF0000317", "石油焦-铝用价格预测DeepNPTS模型-隔周": "SELF0000449",
"聚烯烃价格预测NBEATS模型-次二月": "SELF0000318", "石油焦-铝用价格预测NBEATS模型-隔周": "SELF0000450",
"聚烯烃价格预测NHITS模型-次三月": "SELF0000319", "石油焦-铝用价格预测NHITS模型-次月": "SELF0000451",
"聚烯烃价格预测Informer模型-次三月": "SELF0000320", "石油焦-铝用价格预测Informer模型-次月": "SELF0000452",
"聚烯烃价格预测LSTM模型-次三月": "SELF0000321", "石油焦-铝用价格预测LSTM模型-次月": "SELF0000453",
"聚烯烃价格预测iTransformer模型-次三月": "SELF0000322", "石油焦-铝用价格预测iTransformer模型-次月": "SELF0000454",
"聚烯烃价格预测TSMixer模型-次三月": "SELF0000323", "石油焦-铝用价格预测TSMixer模型-次月": "SELF0000455",
"聚烯烃价格预测TSMixerx模型-次三月": "SELF0000324", "石油焦-铝用价格预测TSMixerx模型-次月": "SELF0000456",
"聚烯烃价格预测PatchTST模型-次三月": "SELF0000325", "石油焦-铝用价格预测PatchTST模型-次月": "SELF0000457",
"聚烯烃价格预测RNN模型-次三月": "SELF0000326", "石油焦-铝用价格预测RNN模型-次月": "SELF0000458",
"聚烯烃价格预测GRU模型-次三月": "SELF0000327", "石油焦-铝用价格预测GRU模型-次月": "SELF0000459",
"聚烯烃价格预测TCN模型-次三月": "SELF0000328", "石油焦-铝用价格预测TCN模型-次月": "SELF0000460",
"聚烯烃价格预测BiTCN模型-次三月": "SELF0000329", "石油焦-铝用价格预测BiTCN模型-次月": "SELF0000461",
"聚烯烃价格预测DilatedRNN模型-次三月": "SELF0000330", "石油焦-铝用价格预测DilatedRNN模型-次月": "SELF0000462",
"聚烯烃价格预测MLP模型-次三月": "SELF0000331", "石油焦-铝用价格预测MLP模型-次月": "SELF0000463",
"聚烯烃价格预测DLinear模型-次三月": "SELF0000332", "石油焦-铝用价格预测DLinear模型-次月": "SELF0000464",
"聚烯烃价格预测NLinear模型-次三月": "SELF0000333", "石油焦-铝用价格预测NLinear模型-次月": "SELF0000465",
"聚烯烃价格预测TFT模型-次三月": "SELF0000334", "石油焦-铝用价格预测TFT模型-次月": "SELF0000466",
"聚烯烃价格预测FEDformer模型-次三月": "SELF0000335", "石油焦-铝用价格预测FEDformer模型-次月": "SELF0000467",
"聚烯烃价格预测StemGNN模型-次三月": "SELF0000336", "石油焦-铝用价格预测StemGNN模型-次月": "SELF0000468",
"聚烯烃价格预测MLPMultivariate模型-次三月": "SELF0000337", "石油焦-铝用价格预测MLPMultivariate模型-次月": "SELF0000469",
"聚烯烃价格预测TiDE模型-次三月": "SELF0000338", "石油焦-铝用价格预测TiDE模型-次月": "SELF0000470",
"聚烯烃价格预测DeepNPTS模型-次三月": "SELF0000339", "石油焦-铝用价格预测DeepNPTS模型-次月": "SELF0000471",
"聚烯烃价格预测NBEATS模型-次三月": "SELF0000340", "石油焦-铝用价格预测NBEATS模型-次月": "SELF0000472",
"聚烯烃价格预测NHITS模型-次四月": "SELF0000341", "石油焦-铝用价格预测NHITS模型-次二月": "SELF0000473",
"聚烯烃价格预测Informer模型-次四月": "SELF0000342", "石油焦-铝用价格预测Informer模型-次二月": "SELF0000474",
"聚烯烃价格预测LSTM模型-次四月": "SELF0000343", "石油焦-铝用价格预测LSTM模型-次二月": "SELF0000475",
"聚烯烃价格预测iTransformer模型-次四月": "SELF0000344", "石油焦-铝用价格预测iTransformer模型-次二月": "SELF0000476",
"聚烯烃价格预测TSMixer模型-次四月": "SELF0000345", "石油焦-铝用价格预测TSMixer模型-次二月": "SELF0000477",
"聚烯烃价格预测TSMixerx模型-次四月": "SELF0000346", "石油焦-铝用价格预测TSMixerx模型-次二月": "SELF0000478",
"聚烯烃价格预测PatchTST模型-次四月": "SELF0000347", "石油焦-铝用价格预测PatchTST模型-次二月": "SELF0000479",
"聚烯烃价格预测RNN模型-次四月": "SELF0000348", "石油焦-铝用价格预测RNN模型-次二月": "SELF0000480",
"聚烯烃价格预测GRU模型-次四月": "SELF0000349", "石油焦-铝用价格预测GRU模型-次二月": "SELF0000481",
"聚烯烃价格预测TCN模型-次四月": "SELF0000350", "石油焦-铝用价格预测TCN模型-次二月": "SELF0000482",
"聚烯烃价格预测BiTCN模型-次四月": "SELF0000351", "石油焦-铝用价格预测BiTCN模型-次二月": "SELF0000483",
"聚烯烃价格预测DilatedRNN模型-次四月": "SELF0000352", "石油焦-铝用价格预测DilatedRNN模型-次二月": "SELF0000484",
"聚烯烃价格预测MLP模型-次四月": "SELF0000353", "石油焦-铝用价格预测MLP模型-次二月": "SELF0000485",
"聚烯烃价格预测DLinear模型-次四月": "SELF0000354", "石油焦-铝用价格预测DLinear模型-次二月": "SELF0000486",
"聚烯烃价格预测NLinear模型-次四月": "SELF0000355", "石油焦-铝用价格预测NLinear模型-次二月": "SELF0000487",
"聚烯烃价格预测TFT模型-次四月": "SELF0000356", "石油焦-铝用价格预测TFT模型-次二月": "SELF0000488",
"聚烯烃价格预测FEDformer模型-次四月": "SELF0000357", "石油焦-铝用价格预测FEDformer模型-次二月": "SELF0000489",
"聚烯烃价格预测StemGNN模型-次四月": "SELF0000358", "石油焦-铝用价格预测StemGNN模型-次二月": "SELF0000490",
"聚烯烃价格预测MLPMultivariate模型-次四月": "SELF0000359", "石油焦-铝用价格预测MLPMultivariate模型-次二月": "SELF0000491",
"聚烯烃价格预测TiDE模型-次四月": "SELF0000360", "石油焦-铝用价格预测TiDE模型-次二月": "SELF0000492",
"聚烯烃价格预测DeepNPTS模型-次四月": "SELF0000361", "石油焦-铝用价格预测DeepNPTS模型-次二月": "SELF0000493",
"聚烯烃价格预测NBEATS模型-次四月": "SELF0000362", "石油焦-铝用价格预测NBEATS模型-次二月": "SELF0000494",
"石油焦-铝用价格预测NHITS模型-次三月": "SELF0000495",
"石油焦-铝用价格预测Informer模型-次三月": "SELF0000496",
"石油焦-铝用价格预测LSTM模型-次三月": "SELF0000497",
"石油焦-铝用价格预测iTransformer模型-次三月": "SELF0000498",
"石油焦-铝用价格预测TSMixer模型-次三月": "SELF0000499",
"石油焦-铝用价格预测TSMixerx模型-次三月": "SELF0000500",
"石油焦-铝用价格预测PatchTST模型-次三月": "SELF0000501",
"石油焦-铝用价格预测RNN模型-次三月": "SELF0000502",
"石油焦-铝用价格预测GRU模型-次三月": "SELF0000503",
"石油焦-铝用价格预测TCN模型-次三月": "SELF0000504",
"石油焦-铝用价格预测BiTCN模型-次三月": "SELF0000505",
"石油焦-铝用价格预测DilatedRNN模型-次三月": "SELF0000506",
"石油焦-铝用价格预测MLP模型-次三月": "SELF0000507",
"石油焦-铝用价格预测DLinear模型-次三月": "SELF0000508",
"石油焦-铝用价格预测NLinear模型-次三月": "SELF0000509",
"石油焦-铝用价格预测TFT模型-次三月": "SELF0000510",
"石油焦-铝用价格预测FEDformer模型-次三月": "SELF0000511",
"石油焦-铝用价格预测StemGNN模型-次三月": "SELF0000512",
"石油焦-铝用价格预测MLPMultivariate模型-次三月": "SELF0000513",
"石油焦-铝用价格预测TiDE模型-次三月": "SELF0000514",
"石油焦-铝用价格预测DeepNPTS模型-次三月": "SELF0000515",
"石油焦-铝用价格预测NBEATS模型-次三月": "SELF0000516",
"石油焦-铝用价格预测NHITS模型-次四月": "SELF0000517",
"石油焦-铝用价格预测Informer模型-次四月": "SELF0000518",
"石油焦-铝用价格预测LSTM模型-次四月": "SELF0000519",
"石油焦-铝用价格预测iTransformer模型-次四月": "SELF0000520",
"石油焦-铝用价格预测TSMixer模型-次四月": "SELF0000521",
"石油焦-铝用价格预测TSMixerx模型-次四月": "SELF0000522",
"石油焦-铝用价格预测PatchTST模型-次四月": "SELF0000523",
"石油焦-铝用价格预测RNN模型-次四月": "SELF0000524",
"石油焦-铝用价格预测GRU模型-次四月": "SELF0000525",
"石油焦-铝用价格预测TCN模型-次四月": "SELF0000526",
"石油焦-铝用价格预测BiTCN模型-次四月": "SELF0000527",
"石油焦-铝用价格预测DilatedRNN模型-次四月": "SELF0000528",
"石油焦-铝用价格预测MLP模型-次四月": "SELF0000529",
"石油焦-铝用价格预测DLinear模型-次四月": "SELF0000530",
"石油焦-铝用价格预测NLinear模型-次四月": "SELF0000531",
"石油焦-铝用价格预测TFT模型-次四月": "SELF0000532",
"石油焦-铝用价格预测FEDformer模型-次四月": "SELF0000533",
"石油焦-铝用价格预测StemGNN模型-次四月": "SELF0000534",
"石油焦-铝用价格预测MLPMultivariate模型-次四月": "SELF0000535",
"石油焦-铝用价格预测TiDE模型-次四月": "SELF0000536",
"石油焦-铝用价格预测DeepNPTS模型-次四月": "SELF0000537",
"石油焦-铝用价格预测NBEATS模型-次四月": "SELF0000538",
} }

View File

@ -301,42 +301,42 @@ def predict_main():
# 判断当前日期是不是周一 # 判断当前日期是不是周一
is_weekday = datetime.datetime.now().weekday() == 0 is_weekday = datetime.datetime.now().weekday() == 0
if is_weekday: # if is_weekday:
logger.info('今天是周一,更新预测模型') # logger.info('今天是周一,更新预测模型')
# 计算最近60天预测残差最低的模型名称 # # 计算最近60天预测残差最低的模型名称
model_results = sqlitedb.select_data( # model_results = sqlitedb.select_data(
'trueandpredict', order_by="ds DESC", limit="60") # 'trueandpredict', order_by="ds DESC", limit="60")
# 删除空值率为90%以上的列 # # 删除空值率为90%以上的列
if len(model_results) > 10: # if len(model_results) > 10:
model_results = model_results.dropna( # model_results = model_results.dropna(
thresh=len(model_results)*0.1, axis=1) # thresh=len(model_results)*0.1, axis=1)
# 删除空行 # # 删除空行
model_results = model_results.dropna() # model_results = model_results.dropna()
modelnames = model_results.columns.to_list()[2:-2] # modelnames = model_results.columns.to_list()[2:-2]
for col in model_results[modelnames].select_dtypes(include=['object']).columns: # for col in model_results[modelnames].select_dtypes(include=['object']).columns:
model_results[col] = model_results[col].astype(np.float32) # model_results[col] = model_results[col].astype(np.float32)
# 计算每个预测值与真实值之间的偏差率 # # 计算每个预测值与真实值之间的偏差率
for model in modelnames: # for model in modelnames:
model_results[f'{model}_abs_error_rate'] = abs( # model_results[f'{model}_abs_error_rate'] = abs(
model_results['y'] - model_results[model]) / model_results['y'] # model_results['y'] - model_results[model]) / model_results['y']
# 获取每行对应的最小偏差率值 # # 获取每行对应的最小偏差率值
min_abs_error_rate_values = model_results.apply( # min_abs_error_rate_values = model_results.apply(
lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].min(), axis=1) # lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].min(), axis=1)
# 获取每行对应的最小偏差率值对应的列名 # # 获取每行对应的最小偏差率值对应的列名
min_abs_error_rate_column_name = model_results.apply( # min_abs_error_rate_column_name = model_results.apply(
lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].idxmin(), axis=1) # lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].idxmin(), axis=1)
# 将列名索引转换为列名 # # 将列名索引转换为列名
min_abs_error_rate_column_name = min_abs_error_rate_column_name.map( # min_abs_error_rate_column_name = min_abs_error_rate_column_name.map(
lambda x: x.split('_')[0]) # lambda x: x.split('_')[0])
# 取出现次数最多的模型名称 # # 取出现次数最多的模型名称
most_common_model = min_abs_error_rate_column_name.value_counts().idxmax() # most_common_model = min_abs_error_rate_column_name.value_counts().idxmax()
logger.info(f"最近60天预测残差最低的模型名称{most_common_model}") # logger.info(f"最近60天预测残差最低的模型名称{most_common_model}")
# 保存结果到数据库 # # 保存结果到数据库
if not sqlitedb.check_table_exists('most_model'): # if not sqlitedb.check_table_exists('most_model'):
sqlitedb.create_table( # sqlitedb.create_table(
'most_model', columns="ds datetime, most_common_model TEXT") # 'most_model', columns="ds datetime, most_common_model TEXT")
sqlitedb.insert_data('most_model', (datetime.datetime.now().strftime( # sqlitedb.insert_data('most_model', (datetime.datetime.now().strftime(
'%Y-%m-%d %H:%M:%S'), most_common_model,), columns=('ds', 'most_common_model',)) # '%Y-%m-%d %H:%M:%S'), most_common_model,), columns=('ds', 'most_common_model',))
if is_corr: if is_corr:
df = corr_feature(df=df) df = corr_feature(df=df)
@ -375,17 +375,17 @@ def predict_main():
logger.info('训练数据绘图end') logger.info('训练数据绘图end')
# # 模型报告 # # 模型报告
logger.info('制作报告ing') # logger.info('制作报告ing')
title = f'{settings}--{end_time}-预测报告' # 报告标题 # title = f'{settings}--{end_time}-预测报告' # 报告标题
reportname = f'聚烯烃PP大模型周度预测--{end_time}.pdf' # 报告文件名 # reportname = f'聚烯烃PP大模型周度预测--{end_time}.pdf' # 报告文件名
reportname = reportname.replace(':', '-') # 替换冒号 # reportname = reportname.replace(':', '-') # 替换冒号
pp_export_pdf(dataset=dataset, num_models=5 if is_fivemodels else 22, time=end_time, # pp_export_pdf(dataset=dataset, num_models=5 if is_fivemodels else 22, time=end_time,
reportname=reportname, sqlitedb=sqlitedb), # reportname=reportname, sqlitedb=sqlitedb),
logger.info('制作报告end') # logger.info('制作报告end')
logger.info('模型训练完成') # logger.info('模型训练完成')
push_market_value() # push_market_value()
# # LSTM 单变量模型 # # LSTM 单变量模型
# ex_Lstm(df,input_seq_len=input_size,output_seq_len=horizon,is_debug=is_debug,dataset=dataset) # ex_Lstm(df,input_seq_len=input_size,output_seq_len=horizon,is_debug=is_debug,dataset=dataset)
@ -412,12 +412,11 @@ def predict_main():
if __name__ == '__main__': if __name__ == '__main__':
# global end_time # global end_time
# 遍历2024-11-25 到 2024-12-3 之间的工作日日期 # 遍历2024-11-25 到 2024-12-3 之间的工作日日期
# for i_time in pd.date_range('2022-1-1', '2025-3-26', freq='M'): for i_time in pd.date_range('2025-3-1', '2025-5-26', freq='W'):
# try: try:
# global_config['end_time'] = i_time.strftime('%Y-%m-%d') global_config['end_time'] = i_time.strftime('%Y-%m-%d')
# predict_main() predict_main()
# except Exception as e: except Exception as e:
# logger.info(f'预测失败:{e}') logger.info(f'预测失败:{e}')
# continue continue
# predict_main()
predict_main()