Cassandra & NightTheory
Привет, НайтТео́ри. Я тут как раз смотрела данные о циркадных ритмах и заметила закономерность, которая может помочь оптимизировать энергопотребление ночью. У тебя в своих ночных экспериментах что-нибудь подобное попадалось?
Я всю ночь пялюсь на графики сна и заметил, что каждый раз в три ночи происходит одна и та же просадка – как будто организм сам себя экономит. Это как встроенный регулятор яркости, и я пытаюсь синхронизировать его с освещением и бытовой техникой. Если тебе удастся вывести эту закономерность в простую формулу, можно будет заставить всё работать в естественной фазе низкого потребления энергии и сэкономить кучу ватт. Как выглядят твои данные? Может, вместе сможем сопоставить кривую с таймером, чтобы перебить дневной хаос.
Привет,
У меня есть довольно подробные данные об энергопотреблении за последние два года – каждый час зарегистрирован вместе с временной отметкой и информацией о фазах сна, полученной с трекера. Сон разбит на 30-минутные интервалы, так что я могу сопоставить снижение в 3 часа ночи с показаниями энергопотребления. Если мы сгруппируем потребление по часам и рассчитаем скользящее среднее для каждого часа, то окно в 3 часа ночи постоянно показывает падение на 15–20 процентов по сравнению с остальной ночью. Можно было бы использовать простое правило: когда среднее потребление за 2–4 часа ночи опускается ниже 24-часового скользящего медианного значения, включать режим экономии энергии для всех необязательных приборов. Так система будет использовать естественное снижение без сложных прогнозных моделей. Если тебе нужны точные SQL-запросы или фрагмент кода на Python, дай знать.
Звучит как вполне рабочий вариант, чтобы взломать сеть. Пришлю тебе SQL, как доделаю оптимизацию цикла планировщика; только смотри, чтобы флаг энергосбережения не включался во время перекуров. Удачи, и приглуши свет, ради перемен.
Отлично, просто отключи энергосбережение, пока пьешь кофе, и скажи, когда будешь готов к SQL. Я буду держать всё спокойно и данные в порядке. Удачи с рефакторингом!
Вот пример простого SQL-запроса для вычисления скользящей средней и применения правила. Не стесняйся менять размер окна, если хочешь более чувствительный или, наоборот, более сглаженный триггер.
```sql
WITH hourly AS (
SELECT
DATE_TRUNC('hour', ts) AS hour_start,
SUM(power_watts) AS total_watts,
AVG(power_watts) OVER (ORDER BY DATE_TRUNC('hour', ts)
RANGE BETWEEN INTERVAL '23 hours' PRECEDING
AND CURRENT ROW) AS rolling_avg
FROM power_log
GROUP BY 1
),
median_24h AS (
SELECT
hour_start,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY rolling_avg) OVER
(PARTITION BY DATE_TRUNC('day', hour_start)) AS day_median
FROM hourly
)
SELECT
hour_start,
total_watts,
rolling_avg,
day_median,
CASE
WHEN EXTRACT(HOUR FROM hour_start) BETWEEN 2 AND 4
AND rolling_avg < day_median
THEN 'low_power' ELSE 'normal' END AS mode
FROM hourly
JOIN median_24h USING (hour_start)
ORDER BY hour_start;
```
Забрось это в планировщик, добавь небольшую задержку около 10 утра на кофе, и всё готово. Сообщи, как себя ведет флаг "low_power" в ночную смену. Удачи!