Showing
1 changed file
with
36 additions
and
0 deletions
predict_demo.py
0 → 100644
| 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'))))) |
-
Please register or login to post a comment