戒酒的李白
  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')))))