juanboy

预测函数调通

1 -'''  
2 -用于测试预测逻辑  
3 -@Author: QST520  
4 -'''  
5 -import numpy as np  
6 -  
7 -import datetime  
8 -import matplotlib.pyplot as plt  
9 -  
10 -  
11 -def datetime_to_number(date: str): # 格式化日期转换为 integer  
12 - date_number = datetime.datetime.strptime(date, "%Y-%m-%d")  
13 - base_number = datetime.datetime.strptime("2024-1-1", "%Y-%m-%d")  
14 - return date_number.__sub__(base_number).days  
15 -  
16 -  
17 -if __name__ == '__main__': # 预测 demo  
18 - xs = [  
19 - '2024-6-4', '2024-6-5', '2024-6-6', '2024-6-7', '2024-6-8', '2024-6-9',  
20 - '2024-6-10', '2024-6-11', '2024-6-12', '2024-6-13'  
21 - ]  
22 - ys = [15, 14, 16, 15, 16, 13, 12, 11, 9, 8]  
23 - xs = np.array(list(map(datetime_to_number, xs)))  
24 - ys = np.array(ys)  
25 - fit = np.polyfit(xs, ys, 1)  
26 - fn = np.poly1d(fit)  
27 - print('2024-6-14 PREDICTION: ' +  
28 - str(int(fn(datetime_to_number('2024-6-14')))))  
29 - print('2024-6-15 PREDICTION: ' +  
30 - str(int(fn(datetime_to_number('2024-6-15')))))  
31 - print('2024-6-16 PREDICTION: ' +  
32 - str(int(fn(datetime_to_number('2024-6-16')))))  
33 - print('2024-6-17 PREDICTION: ' +  
34 - str(int(fn(datetime_to_number('2024-6-17')))))  
35 - print('2024-6-18 PREDICTION: ' +  
36 - str(int(fn(datetime_to_number('2024-6-18')))))