Писпользуются данные о погоде, такие как температура, влажность и скорость ветра из активных погодных станций в заданном диапазоне дат.
Ниже представлен запрос данных о погоде с дополнением последними значениями на конечную дату.
WITH t AS (
SELECT
w.weather_station_id AS station_id,
w.date,
w.temperature,
w.humidity,
w.wind_speed,
ROW_NUMBER() OVER (PARTITION BY w.weather_station_id ORDER BY w.date DESC) AS rn
FROM weather w
JOIN weather_stations st ON st.id = w.weather_station_id
WHERE st.active AND date BETWEEN '{from_date}' AND '{to_date}'
)
SELECT
station_id,
date,
temperature,
humidity,
wind_speed
FROM t
UNION
SELECT
station_id,
'{to_date}',
temperature,
humidity,
wind_speed
FROM t
WHERE t.rn = 1
ORDER BY station_id, date;
Запрос берет значения из:
Запрос формирует следующие поля :
Поле в SELECT |
АИсходнаое политикае |
Node-REDОписание |
157station_id |
Заказы планw.weather_station_id |
ПИдентификатослер погодняяой мстанциляи. |
date |
Аналитикаw.date |
Node-REDДата измерения погоды. |
temperature |
w.temperature |
Температура |
humidity |
w.humidity |
Влажность воздуха |
wind_speed |
w.wind_speed |
Скорость ветра |
На основе метеорологических данных рассчитывается эквивалентная температура, которая используется в качестве входных данных для регрессионного анализа.
crontab37 -l #(37 m- htemperature) dom/ mon(0.68 dow- command
30 30.0014 * *humidity] *+ cd1 /home/dtimakin-ally/rp5_weather &&(1.76 python3.9+ main.py
0 1.4 * *pow(wind_speed, 0.75))) - 0.29 * cdtemperature * (1 - humidity /home/dtimakin-ally/forecast &&100)
python3.9В main.pyэтой forecastформуле:
- Вычисляется разница между 37°C и фактической температурой: (37 -
-model model.ziptemperature). Это базовый "дефицит тепла".
- Вычисляется фактор сопротивления: (0.68 -
-type vv0.0014 --ts_type* 4humidity --days+ 141 15/ (1.76 + 1.4 * *pow(wind_speed, 0.75))). Он увеличивается при высокой влажности (меньше охлаждения) и уменьшается при сильном ветре (больше охлаждения).
- Делится разница на фактор сопротивления и вычитается из 37: это даёт основную ощущаемую температуру с учетом конвекции.
- Вычитается корректировка на испарение: 0.29 *
cd /home/dtimakin-ally/forecast && python3.9 main.py forecast --model lines.zip --type lines --ts_type 5 --days 14
30 4temperature * *(1 *- cdhumidity /home/dtimakin-ally/forecast &&100), python3.9которая main.pyдополнительно fitохлаждает --modelв model_new_2.zipсухих --условиях.
Календарные данные
В прогнозах используются данные производственного календаря из таблицы и календарь Православных Христианских праздников.
Ниже представлен запрос календарных данных:
SELECT
date,
type vv_newAS 30holiday
5FROM *calendar
*WHERE *date cdBETWEEN /home/dtimakin-ally/forecast'{from_date}' &&AND python3.9'{to_date}'
main.pyORDER fitBY --model model_lines_new.zip --type vv_lines_new
30 6 * * * cd /home/dtimakin-ally/forecast && python3.9 main.py forecast --model model_new_2.zip --type vv_new --ts_type 6 --days 14
45 6 * * * cd /home/dtimakin-ally/forecast && python3.9 main.py forecast --model model_lines_new.zip --type vv_lines_new --ts_type 7 --days 14
10 9 * * * cd /home/dtimakin-ally/forecast_day && python3.9 main.py forecast --model day_hours.zip --type day_hours --ts_type 52 --days 21 --freq D
40 9 * * * cd /home/dtimakin-ally/forecast_day && python3.9 main.py forecast --model day_cash_hours.zip --type day_cash_hours --ts_type 53 --days 21 --freq D
date;
Запрос берет значения из:
- calendar — табель-календарь, заполняемый через систему репликации
Запрос формирует следующие поля:
Поле в SELECT |
Исходное поле |
Описание |
date |
date |
Дата календарного события
|
holiday
|
type
|
Тип события |
Данные о православных праздниках хранятся в файле: calendar.csv
|