2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Средняя температура
Сообщение18.10.2021, 15:44 


04/08/20
19
Добрый день, подскажите куда копать...

Гипотетическая задача (нужно придумать принцип решения подобных задач) для алгоритма.

Есть список температуры на улице, который пополняется на протяжении многих-многих лет (обычный градусник).
Для упрощения - примерно в одно время и только раз в сутки.

На протяжении 20-30 дней температура меняется не сильно.

Для хранения статистики есть только 3-5 дробных цифр, которые можно переписывать хоть каждый день.

Можно ли на этом построить систему, которая будет отвечать на вопрос "какая примерно средняя температура за месяц/неделю"?

Предполагаю что одной формулой здесь не отделаться. Одну из цифр пытался приспособить под "циклический счетчик", который обнуляется после перехода через 30.
Высокая точность не нужна, но и погрешность не должна сильно переваливать максимальную/минимальную температуру за месяц. Например если темпаратура летом между 20 и 30 градусов, то не должна быть ни ниже 15, ни выше 35.

 Профиль  
                  
 
 Re: Средняя температура
Сообщение18.10.2021, 15:55 


05/09/16
9460
AndyJ в сообщении #1535326 писал(а):
Можно ли на этом построить систему, которая будет отвечать на вопрос "какая примерно средняя температура за месяц/неделю"?

Вопрос уточните пож-ста. Хотите ли вы в апреле узнать температуру среднюю за февраль (или не только за этот февраль но и за все ферали за последние 10 лет)? Или всегда только за последние 30 дней?
И вот это поясните подробней что значит:
AndyJ в сообщении #1535326 писал(а):
Для хранения статистики есть только 3-5 дробных цифр, которые можно переписывать хоть каждый день.

 Профиль  
                  
 
 Posted automatically
Сообщение18.10.2021, 15:58 
Супермодератор
Аватара пользователя


09/05/12
24053
Кронштадт
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Программирование»
Причина переноса: тут уместнее.


-- 18.10.2021, 16:00 --

AndyJ в сообщении #1535326 писал(а):
Для хранения статистики есть только 3-5 дробных цифр, которые можно переписывать хоть каждый день.
Что конкретно означает эта фраза?

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

 Профиль  
                  
 
 Re: Средняя температура
Сообщение18.10.2021, 16:10 


04/08/20
19
Цитата:
Вопрос уточните пож-ста. Хотите ли вы в апреле узнать температуру среднюю за февраль (или не только за этот февраль но и за все ферали за последние 10 лет)? Или всегда только за последние 30 дней?
И вот это поясните подробней что значит:

Нет, меня интересует просто "примерная температура воздуха" - типа "что СЕЙЧАС нужнее - шорты или шуба".
Точная температура не нужна. Предполагаю что здесь что-то вроде "jpg-сжатия" - с "последовательной деградацией" - "общая картина видна", но без уточнений.

Понимаю что здесь какая-то хитрая математика нужна, но не могу понять даже куда копать.
Например последняя цифра хранит последнюю температуру, а остальные - коэффициенты погрешности или вводить понятие "сезонность".

Суть - в минимальное количество цифр это уместить! 3-5 для примера задал! Может быть и 10, но для 30 дней. Нужен какой-то метод сжатия! Подобный "архивации с потерей".

-- 18.10.2021, 15:12 --

Еще в голову приходят методы сжатия у видео - когда делают "несущий кадр" и к нему "отличия" добавляют. И раз в 0.5 секунд этот "несущий кадр" обновляют.

 Профиль  
                  
 
 Re: Средняя температура
Сообщение18.10.2021, 16:59 
Аватара пользователя


19/02/13
2142
AndyJ в сообщении #1535329 писал(а):
Нет, меня интересует просто "примерная температура воздуха" - типа "что СЕЙЧАС нужнее - шорты или шуба".


Тогда зачем вам статистика за период? Смотрите на актуальные показания, на последнее считанное значение с термометра.

 Профиль  
                  
 
 Re: Средняя температура
Сообщение18.10.2021, 17:07 
Заслуженный участник


20/08/14
8871
Россия, Москва
Экспоненциальное скользящее среднее. Только коэффициент подобрать для 30 дней (формула для него там же).

 Профиль  
                  
 
 Re: Средняя температура
Сообщение18.10.2021, 17:10 


05/09/16
9460
AndyJ в сообщении #1535329 писал(а):
Нет, меня интересует просто "примерная температура воздуха" - типа "что СЕЙЧАС нужнее - шорты или шуба".

Тогда неясно чем плохо текущее показание.

-- 18.10.2021, 17:13 --

Dmitriy40 в сообщении #1535339 писал(а):
Экспоненциальное скользящее среднее
.

Ба! Да это же фильтр Калмана (при единичном окне), тоже хотел о нём написать :)

(Оффтоп)

Как раз думал о нём в применении к данным по ковиду.

 Профиль  
                  
 
 Re: Средняя температура
Сообщение18.10.2021, 17:16 
Супермодератор
Аватара пользователя


09/05/12
24053
Кронштадт
AndyJ в сообщении #1535329 писал(а):
Понимаю что здесь какая-то хитрая математика нужна, но не могу понять даже куда копать.
Хитрая математика тут, скорее всего, не нужна, а нужна четкая постановка задачи. Пока что вас попросту никто не может понять, поэтому сначала сформулируйте, что именно вы хотите - с использованием общеупотребительной терминологии и без "для примеров".

 Профиль  
                  
 
 Re: Средняя температура
Сообщение18.10.2021, 17:36 


04/08/20
19
Цитата:
Тогда зачем вам статистика за период? Смотрите на актуальные показания, на последнее считанное значение с термометра.

Последнее не является "средним"! Например сегодня в полдень (время последней температуры) была максимальная жара за месяц, или наоборот - холодный фронт принес холодные дожди. Это не должно повлиять на среднюю температуру за неделю/месяц. На море в июле бывает 2-3 дня когда все в куртках ходят и от града с холодным циклоном прячутся. Или летом может целых 4 часа идти снег. У меня в городе такое было лет 10-15 назад в июне - почти сутки была температура около 10 градусов, когда в остальные обычно под 30 - пусть среднюю между 20 и 28 покажет, а не 10.

Цитата:
Экспоненциальное скользящее среднее. Только коэффициент подобрать для 30 дней (формула для него там же).

Спасибо, попробую...
Но проблема на посчитать! Проблема сохранить/удержать этот коэффициент не запоминая ВЕСЬ числовой ряд!

Считайте (для упрощения) что в моем чипе для этой средней цифры есть только... 5-10 байт и надо удержать "примерное среднее" за 60-30-10 дней с "приближением к последней".

Цитата:
фильтр Калмана (при единичном окне)

Спасибо, сейчас почитаю!

(Оффтоп)

Я впервые на этом форуме. Пришел с СайберФорума. Здесь есть возможность "спасибо" сказать?

>10 лет не открывал конспекты по матанализу и статистике - за любую помощь спасибо! )))

 Профиль  
                  
 
 Re: Средняя температура
Сообщение18.10.2021, 17:51 


05/09/16
9460
AndyJ в сообщении #1535352 писал(а):
Последнее не является "средним"! Например сегодня в полдень (время последней температуры) была максимальная жара за месяц, или наоборот - холодный фронт принес холодные дожди.

Но зато это в точности отвечает на вопрос типа "что СЕЙЧАС нужнее - шорты или шуба". :mrgreen:
AndyJ в сообщении #1535352 писал(а):
5-10 байт и надо удержать "примерное среднее" за 60-30-10 дней с "приближением к последней".

Ну это как раз то, что советовал Dmitriy40. Прикиньте например в экселе как оно будет выгядеть. Накидайте температуру за год (по одной в день), сделайте рядом формулу и посмотрите то ли это что вам надо. Поиграйтесь величиной окна и весами. Для окна в один день вам надо хранить четыре числа: среднее за вчера, температура за сегодня, сглаживающая константа, и искомое вами среднее.
Там будет запаздывание, естественно, как обычно бывает со скользяшими средними - тем большее чем более "гладкий" график вы хотите получить.

 Профиль  
                  
 
 Re: Средняя температура
Сообщение18.10.2021, 17:54 
Аватара пользователя


11/12/16
9862
уездный город Н
AndyJ в сообщении #1535352 писал(а):
Проблема сохранить/удержать этот коэффициент не запоминая ВЕСЬ числовой ряд!


Считаете многолетнее среднее, потом раскладываете в ряд Фурье. Запоминаете столько коэффициентов, сколько влезет в выделенную память.

AndyJ в сообщении #1535352 писал(а):
в моем чипе для этой средней цифры есть только... 5-10 байт и надо удержать "примерное среднее" за 60-30-10 дней с "приближением к последней".


Что такое ""примерное среднее" с приближением к последней", я не понимаю. Поэтому присоединяюсь:

Pphantom в сообщении #1535345 писал(а):
нужна четкая постановка задачи. Пока что вас попросту никто не может понять, поэтому сначала сформулируйте, что именно вы хотите - с использованием общеупотребительной терминологии и без "для примеров".

 Профиль  
                  
 
 Re: Средняя температура
Сообщение18.10.2021, 18:01 
Заслуженный участник


20/08/14
8871
Россия, Москва
AndyJ в сообщении #1535352 писал(а):
Но проблема на посчитать! Проблема сохранить/удержать этот коэффициент не запоминая ВЕСЬ числовой ряд!
По формуле достаточно хранить всего одно лишнее число - коэффициент. Среднее так и так нужно хранить, а кроме него там лишь последний/текущий отсчёт и всё.

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

 Профиль  
                  
 
 Re: Средняя температура
Сообщение18.10.2021, 19:03 


04/08/20
19
Цитата:
Ну это как раз то, что советовал Dmitriy40. Прикиньте например в экселе как оно будет выгядеть. Накидайте температуру за год (по одной в день), сделайте рядом формулу и посмотрите то ли это что вам надо. Поиграйтесь величиной окна. Для окна в один день вам надо хранить четыре числа: среднее за вчера, температура за сегодня, сглаживающая константа, и искомое вами среднее.
Там будет запаздывание, естественно, как обычно бывает со скользяшими средними - тем большее чем более "гладкий" график вы хотите получить.

Накидать температуру - не проблема! Я не до конца формулу понимаю...

Цитата:
Но зато это в точности отвечает на вопрос типа "что СЕЙЧАС нужнее - шорты или шуба".

Вопрос в том что на чердак можно убрать... )))
Если я вас спрошу "у вас в городе сейчас какая примерно температура - очень холодно?" Вы сразу ответите! Причем не "прогнозом на сегодня"(гроза с молнией) и не "утренним градусником"(солнце сегодня с утра было какое-то аномально-яркое), а "средней за неделю". При этом вы не зазубриваете/помните для этого каждую цифру за неделю.

Вы при этом вернете "сглаженное" число! Близкое к сегодняшнему, но учитывающее "последнюю неделю".
Хочу подобное и в коде реализовать.

Цитата:
Считаете многолетнее среднее, потом раскладываете в ряд Фурье. Запоминаете столько коэффициентов, сколько влезет в выделенную память.

У меня не запоминается "многолетнее". Есть эти несколько цифр, в которые каждый день "вношу поправки, влияющие на формулу вычисления среднего". Нужна эта самая формула! )))

...пока пожалуй приостановлю вопрос! Надо много чего вычитать из того что вы накидали! Есть идеи и по коду - надо опробовать... ОГРОМНОЕ СПАСИБО! ))

 Профиль  
                  
 
 Re: Средняя температура
Сообщение19.10.2021, 08:13 
Аватара пользователя


21/01/09
3794
Дивногорск
AndyJ в сообщении #1535371 писал(а):
Нужна эта самая формула!
Пусть за много N лет средняя температура равна $T(N)$. Это запомнили. Прошёл год со среднегодовой температурой $T(n)$, тогда средняя температура $T(N+1)=(NT(N)+T(n))/(N+1)$.

 Профиль  
                  
 
 Re: Средняя температура
Сообщение19.10.2021, 09:27 
Аватара пользователя


07/03/16
3033
Александрович в сообщении #1535421 писал(а):
Пусть за много N лет средняя температура равна $T(N)$. Это запомнили. Прошёл год со среднегодовой температурой $T(n)$, тогда средняя температура $T(N+1)=(NT(N)+T(n))/(N+1)$.

Тогда $N$ будет непрерывно возрастать, то есть интервал взятия среднего будет увеличиваться при каждом измерении. Может лучше умножать среднее на $N-1$, а результат суммирования делить на $N$ ?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.

Модераторы: maxal, Toucan, PAV, Karan, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group