Я будую додаток для android, яке записує дані акселерометра під час сну, щоб аналізувати тенденції сну та необов'язково будити користувача протягом бажаного часу під час легкого сну.
Я вже створив компонент, який збирає та зберігає дані, а також сигнал тривоги. Мені все-таки потрібно боротися зі звітом, що відображає та зберігає дані про сон, по-справжньому змістовному та зрозумілому способу, який, бажано, також піддається аналізу.
Кілька картинок говорять про дві тисячі слів: (Я можу розмістити лише одне посилання через низьку кількість представників)
Ось нефільтровані дані, сума руху, зібрана з інтервалом 30 секунд
І ті ж дані, згладжені власним проявом ковзного середнього згладжування
редагувати) обидві діаграми відображають калібрування - є мінімальний фільтр "шум" та максимальний фільтр обрізання, а також рівень тригера тривоги (біла лінія)
На жаль, жодне з цих варіантів не є оптимальними рішеннями: перше - це важко зрозуміти середньому користувачеві, а друге, яке простіше зрозуміти, приховує багато того, що насправді відбувається. Зокрема, усереднення знімає деталі шипів у русі - і я думаю, що це може бути значущим.
То чому ці діаграми такі важливі? Ці часові ряди відображаються впродовж ночі як зворотній зв’язок з користувачем і будуть зберігатися для перегляду / аналізу пізніше. Згладжування в ідеалі знизить вартість пам’яті (як оперативної пам’яті, так і пам’яті), а також зробить рендерінг швидше на цих телефонах / пристроях, де голодує ресурс.
Очевидно, що є кращий спосіб згладити дані. У мене є деякі нечіткі ідеї, такі як використання лінійної регресії для з'ясування "різких" змін у русі та модифікація мою середню згладжування відповідно. Мені справді потрібні ще кілька вказівок і вкладів, перш ніж зануритися головою в те, що можна вирішити більш оптимально.
Спасибі!