|
|
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Еть несколько температурных датчиков в комнате, нужно по ним определить температуру в комнате :), чтоб управлять отоплением. Но если ктото, например, откроет дверь и показания одного из датчиков резко упадут, это не должно сильно сказываться на результатах. Подозреваю подобные алгоритмы есть в математике или статистике, но сам не силен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 21:12 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Смотря сколько датчиков у тебя в комнате... Если много-много-много, то можно и статистикой заниматься. А если у тебя всего один термометр, то достаточно просто брать разницу между "текущим" значением и последним измерением, умножать эту разницу на некий коэффициент (зависящий от частоты измерения, чувствительности термометра и тд) и соответственно менять "текущее" значение. А если датчиков несколько, то берешь среднее из них и ... делаешь тоже самое. Но перед полезно будет добавить коэффициент доверия для каждого датчика. Например тот что у двери и тот что в центре комнаты будут по разному себя вести на кратковременное открывание двери, значит и доверять им надо по разному. А вот когда датчиков очень много, и индивидуально к ним подойти не реально, тогда можешь запустить статистику на полную мощность. С высчитыванием медианы и квантилей с отбрасыванием выбросов. И подсчетом всего остального что можно подсчитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 23:38 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Попробуйте использовать производящие функции, мне кажется вам это подойдёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 01:49 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
- рассчитать среднее по всем датчикам - рассчитать на его основе среднеквадратичное отклонение (СКО) выборки - если СКО превышает заданное, то отбросить из выборки датчик у которого разница со средним наибольшая по модулю - пересчитать среднее - повторять, пока не останутся 2 датчика или не будет достаточно малым СКО В вашем случае предельное СКО - это допустимый разброс температуры датчиков, думаю где-то 1-3 градуса, хотя вам лучше знать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 03:10 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, а через производящие функции анализ произвести разве не быстрее ? Как я понял, автор выделяет несколько датчиков, у окон, у дверей, и не хочет чтобы скачки на этих датчиках сильно влияли на среднюю температуру(как написал White Owl-автором подразумевается некий коэффициент доверия), потому мне показалось что с помощью ряда оценить всё это проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 03:20 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
iskatelsqlПодозреваю подобные алгоритмы есть в математике или статистике, но сам не силен. Скорее всего, хорошо пойдёт медиана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 03:54 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
SashaMercuryAnatoly Moskovsky, а через производящие функции анализ произвести разве не быстрее ? Как я понял, автор выделяет несколько датчиков, у окон, у дверей, и не хочет чтобы скачки на этих датчиках сильно влияли на среднюю температуру(как написал White Owl-автором подразумевается некий коэффициент доверия), потому мне показалось что с помощью ряда оценить всё это проще. Не может быть никакого коэффициента доверия. Датчику либо доверяют либо нет. Если доверяют то он участвует в среднем безо всяких коэффициентов. Выше я привел конкретный алгоритм. Вообще, данное решение об отбросе датчиков можно (и вероятно нужно) выполнить и за одну итерацию, а не так как я описал. - рассчитать среднее по всем датчикам - рассчитать на его основе среднеквадратичное отклонение (СКО) выборки - отбросить датчики у которых разница со средним по модулю превыхает 3*СКО (правило 3-х сигм) - пересчитать среднее Это стандартный подход в метрологии для отброса заведомо (с вероятностью 99.73%) неверных измерений (я просто не сразу про него вспомнил, т.к. 20 лет прошло с тех пор как :)). А ваши производящие функции..., вы для начала приведите алгоритм - потом посмотрим что быстрее, проще и правильнее :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 05:07 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyНе может быть никакого коэффициента доверия. Датчику либо доверяют либо нет это просто весовые коэффициенты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 05:10 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Выкидывание измерений не годится для "среднего по больнице", а в случае ТС - возникнут проблемы с постоянно открытой дверью: уже пару минут как надо "прибавить жару", а мы всё ждём, пока упадёт температура в комнате. P.S. Лично я - реализовал бы любой сценарий или даже несколько и начал бы отлаживаться "на реальных данных". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 05:15 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, да, эмпирики в управлении отоплением очень много ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 05:19 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovуже пару минут как надо "прибавить жару", а мы всё ждём, пока упадёт температура в комнате. Если температура еще не упала, то жару пока не надо прибавлять :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 05:21 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyЕсли температура еще не упала, то жару пока не надо прибавлять :) так значение имеет не только моментальное значение, но и скорость изменения ( привет соседнему топику ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 05:36 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
... а если дверь открыли для того, чтобы проветрить комнату, то, возможно, и просто не надо. В любом случае "отсеять ненадёжные показания" и "что делать с (принципиально) разными показаниями" - две совершенно отдельные задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 05:38 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Eсли подробнее, то предлагал ввести характеристику(норму) температуры в комнате. Например где k_i -весовые коэффициенты, у окон и дверей они минимальны, потому их изменение не будет сильно влиять на норму ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 06:39 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Мне показалось что автор хочет минимизировать влияние температурных датчиков в определённых местах, а не отбрасывать неверные показания, потому рассуждал так. Хотя с другой стороны, зачем они(датчики и окон/дверей) тогда нужны?, если не учитывать их показания. Мне кажется нужна более развёрнутая постановка задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 06:43 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky- рассчитать среднее по всем датчикам - рассчитать на его основе среднеквадратичное отклонение (СКО) выборки - если СКО превышает заданное, то отбросить из выборки датчик у которого разница со средним наибольшая по модулю - пересчитать среднее - повторять, пока не останутся 2 датчика или не будет достаточно малым СКО В вашем случае предельное СКО - это допустимый разброс температуры датчиков, думаю где-то 1-3 градуса, хотя вам лучше знать.Зачем так навороченно то? Описанный алгоритм найдет значение возле медианы, только и всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 06:53 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Математики однако :) Температуру мерить по максимальному значению. Если в разных углах разная температура - надо вентилятор включать чтобы переместил воздух из теплого угла в холодный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 07:51 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
iskatelsqlпоказания одного из датчиков резко упадут, это не должно сильно сказываться на результатах.В системах автоматического управления для достижения данной цели вводят "инерционность" в одно из звеньев цепи управления. Проще всего это сделать в самом датчике, отрегулировав его так, чтобы показания не менялись "резко". Если ваш датчик не позволяет сделать такую (программно-аппаратную) настройку, придётся вводить "инерционность" в какое-то из следующих звеньев. Для программной реализации такого инерционного звена можете использовать "математическую модель" резистора и конденсатора. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 08:58 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
можно так: T[новое] = T[предыдущее]*(1-K)+Т[измерение с датчика]*K, К = от 0 до 1, подбирается опытным путем, зависит от частоты опроса датчика ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 12:03 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
White OwlЗачем так навороченно то? Описанный алгоритм найдет значение возле медианы, только и всего. Я уже написал - этот алг. неверный. Метрологически верный я привел следом. У коэффициентов есть одна большая проблема - вы их должны подобрать. Тогда как это вообще не требуется для данной задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 13:17 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyЯ уже написал - этот алг. неверный. Метрологически верный я привел следомТолько от другой задачи. В отличии от десятка вольметров, которые измеряют напряжение одной батарейки и должны показать одно и то же напряжение, десять точных, идеально откалиброванных термометров, размещённых в разных местах помещения могут (и будут) показывать разную температуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 13:23 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Изопропилтак значение имеет не только моментальное значение, но и скорость изменения Самое интересное что отбрасывание значений по 3 сигмам вполне учитывает динамику. Пока дверь не начала влиять на другие датчики, датчик у двери не учитывается. Как только начала - начинает учитываться. А скорости рассчитывать, это можно, но не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 13:27 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovдесять точных, идеально откалиброванных термометров, размещённых в разных местах помещения могут (и будут) показывать разную температуру. Вопрос здесь имхо начинается с постановки задачи. Допустим, на кухне я открыл окно, включил плиту и при этом хочу комфортную температуру на диване. Не очень понимаю, как то или иное среднее поможет мне реализовать это желание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 13:28 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovдесять точных, идеально откалиброванных термометров, размещённых в разных местах помещения могут (и будут) показывать разную температуру. А что для выборки из принципиально разных значений уже нельзя посчитать среднее? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 13:30 |
|
||
|
Подскажите алгоритм "хитрого" среднего значения
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyА что для выборки из принципиально разных значений уже нельзя посчитать среднее? :)Считать - можно. Будет ли осмысленным такое вычисление - вопрос. Пример уже привёл softwarer. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 13:32 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38779910&tid=1341188]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
175ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 518ms |

| 0 / 0 |
