temperature.py 688 B

123456789101112131415161718192021222324252627
  1. # -*- coding: utf-8 -*-
  2. from typing import Dict, Optional
  3. import numpy as np
  4. import pandas as pd
  5. from app.services.transfer import Season
  6. from app.schemas.feedback import Feedback
  7. class StepSizeCalculator:
  8. """
  9. Calculate adjustment step size of environment target when a user send feedback.
  10. """
  11. def __init__(self, weight: Dict):
  12. self.weight = weight
  13. def calculate_step_size(
  14. self,
  15. space_realtime_temperature: float,
  16. space_comfortable_temperature: float,
  17. feedback: Feedback
  18. ):
  19. base_step_size = 1.8 / (1 + np.exp((space_comfortable_temperature - space_realtime_temperature) / 2))
  20. return