2014 dxdy logo

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

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




На страницу 1, 2  След.
 
 Средняя температура
Сообщение18.10.2021, 15:44 
Добрый день, подскажите куда копать...

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

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

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

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

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

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

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

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

 
 
 
 Posted automatically
Сообщение18.10.2021, 15:58 
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Программирование»
Причина переноса: тут уместнее.


-- 18.10.2021, 16:00 --

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

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

 
 
 
 Re: Средняя температура
Сообщение18.10.2021, 16:10 
Цитата:
Вопрос уточните пож-ста. Хотите ли вы в апреле узнать температуру среднюю за февраль (или не только за этот февраль но и за все ферали за последние 10 лет)? Или всегда только за последние 30 дней?
И вот это поясните подробней что значит:

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

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

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

-- 18.10.2021, 15:12 --

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

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


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

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

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

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

-- 18.10.2021, 17:13 --

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

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

(Оффтоп)

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

 
 
 
 Re: Средняя температура
Сообщение18.10.2021, 17:16 
AndyJ в сообщении #1535329 писал(а):
Понимаю что здесь какая-то хитрая математика нужна, но не могу понять даже куда копать.
Хитрая математика тут, скорее всего, не нужна, а нужна четкая постановка задачи. Пока что вас попросту никто не может понять, поэтому сначала сформулируйте, что именно вы хотите - с использованием общеупотребительной терминологии и без "для примеров".

 
 
 
 Re: Средняя температура
Сообщение18.10.2021, 17:36 
Цитата:
Тогда зачем вам статистика за период? Смотрите на актуальные показания, на последнее считанное значение с термометра.

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

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

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

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

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

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

(Оффтоп)

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

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

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

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

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

 
 
 
 Re: Средняя температура
Сообщение18.10.2021, 17:54 
Аватара пользователя
AndyJ в сообщении #1535352 писал(а):
Проблема сохранить/удержать этот коэффициент не запоминая ВЕСЬ числовой ряд!


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

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


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

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

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

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

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

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

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

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

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

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

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

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

 
 
 
 Re: Средняя температура
Сообщение19.10.2021, 08:13 
Аватара пользователя
AndyJ в сообщении #1535371 писал(а):
Нужна эта самая формула!
Пусть за много N лет средняя температура равна $T(N)$. Это запомнили. Прошёл год со среднегодовой температурой $T(n)$, тогда средняя температура $T(N+1)=(NT(N)+T(n))/(N+1)$.

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

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

 
 
 [ Сообщений: 24 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group