На моем рабочем месте меня и моего коллегу очень раздражали жалюзи, которые опускались минимум раз в день, обычно перед обедом, хотя до полудня в наш офис не светило солнце (окна выходили на запад). Через некоторое время мы подумали, что обнаружили закономерность. Поэтому мы начали записывать время, когда точно (с точностью до секунд) опускались жалюзи. Каждый день, когда мы были в офисе. Мы начали запись 31 мая, и поначалу блайнды опускались все позже каждый день, пока не достигли максимума около солнцестояния (но немного позже). Затем, как ни удивительно, процесс изменился, и жалюзи закрывались с каждым днем ​​все быстрее — пока мы не прекратили запись где-то 21 ноября 2019 года, поскольку в большинстве случаев жалюзи больше не закрывались. Собранные нами данные можно увидеть на следующем графике. Пропуски связаны с отпуском, домашним офисом или выходными.

В качестве научного наброска: было собрано множество данных, включая выбросы, за длительный период времени о «естественном» явлении, пытающемся найти закономерности или корреляции для объяснения лежащего в основе процесса. Во-первых, мы установили, что гладкая форма, которую дают данные, должна представлять собой нижнюю границу времени, поскольку выбросы существуют только выше нее. Поскольку наша планета каждый год проходит один и тот же цикл, мы пришли к выводу, что жалюзи, которые могут быть связаны с положением солнца, также ведут себя циклично. Следовательно, мы также смогли успешно подобрать синусоидальную функцию к данным, показав, что вышеупомянутая нижняя граница для времени следовала и может следовать этой схеме. Вот подогнанная синусоидальная функция. Подробности функции и их параметры (a,b) я, наверное, опишу в другой статье. Для анализа и визуализации данных использовались Python и Plotly.

Однако нам нужно еще раз взглянуть на выброс. Поскольку они встречаются слишком часто, мы должны заключить, что включена вторая переменная. Мы предполагаем, что для закрытия жалюзи должен быть превышен какой-то порог яркости. К сожалению, у нас нет значимых данных по этому поводу, но тот факт, что в течение лета выбросов было мало или совсем не было, а с октября/ноября были почти только выбросы или блайнды вообще не опускались, свидетельствует об этом. Кстати, немногочисленные данные, собранные в ноябре, были скорректированы на летнее время (в связи с переводом времени Ю/З в конце октября).

Суммируя это, мы получили два условия: переменную, описывающую зависимость от времени, оцениваемую функцией f, и вторую (абстрактную) переменную, скорее всего, для яркости (однако нет четких доказательств). Оба должны быть выполнены, чтобы блайнды опустились. Итак, мы с уверенностью можем предложить в нашем институте следующий псевдокод, управляющий движением жалюзи:

// f(time): time dependent fitted sine function for lower bound
// brightness: abstract condition to evaluate second variable
if (time > f(time) && brightness > threshold)
    blindsDown();

Возвращаясь к научному наброску: это последовательная работа в течение длительного периода времени, покрывающая крошечный кусочек научной карты, который, вероятно, никого не заинтересует. И даже если анализ имеет большой смысл, в В конце концов, может и не быть никакого скрытого процесса, который мы здесь пытаемся идентифицировать, но домовладелец может просто каждый день очень точно нажимать на кнопку.

Наконец, мы будем следить за нашими блайндами и проверять, соответствуют ли будущие данные нашей модели. Если у вас есть идеи, сомнения или вопросы, которые помогут продвинуть этот проект, не стесняйтесь обращаться ко мне! Кроме того, я скоро напишу более подробно об анализе данных или поиске модели! Следите за обновлениями.