Tôi đang xây dựng một ứng dụng Android ghi lại dữ liệu gia tốc trong khi ngủ, để phân tích xu hướng giấc ngủ và tùy ý đánh thức người dùng gần thời gian mong muốn trong khi ngủ nhẹ.
Tôi đã xây dựng thành phần thu thập và lưu trữ dữ liệu, cũng như báo động. Tôi vẫn cần phải giải quyết con thú hiển thị và lưu dữ liệu giấc ngủ theo cách thực sự có ý nghĩa và rõ ràng, một cách tốt nhất cũng là cho vay để phân tích.
Một vài bức ảnh nói hai ngàn từ: (Tôi chỉ có thể đăng một liên kết do đại diện thấp)
Đây là dữ liệu chưa được lọc, tổng số chuyển động, được thu thập tại các khoảng thời gian 30 giây
Và cùng một dữ liệu, được làm mịn bằng biểu hiện của riêng tôi về làm mịn trung bình di chuyển
chỉnh sửa) cả hai biểu đồ phản ánh hiệu chuẩn - có bộ lọc 'nhiễu' tối thiểu và bộ lọc cắt tối đa, cũng như mức kích hoạt cảnh báo (đường trắng)
Thật không may, cả hai đều không phải là giải pháp tối ưu - thứ nhất hơi khó hiểu đối với người dùng trung bình và thứ hai, dễ hiểu hơn, ẩn giấu rất nhiều điều đang thực sự xảy ra. Cụ thể, tính trung bình loại bỏ chi tiết của các gai trong chuyển động - và tôi nghĩ chúng có thể có ý nghĩa.
Vậy tại sao những biểu đồ này rất quan trọng? Các chuỗi thời gian này được hiển thị suốt đêm dưới dạng phản hồi cho người dùng và sẽ được lưu trữ để xem xét / phân tích sau đó. Việc làm mịn lý tưởng sẽ giảm chi phí bộ nhớ (cả RAM và lưu trữ) và giúp hiển thị nhanh hơn trên các điện thoại / thiết bị bị thiếu tài nguyên này.
Rõ ràng có một cách tốt hơn để làm mịn dữ liệu - Tôi có một số ý tưởng mơ hồ, chẳng hạn như sử dụng hồi quy tuyến tính để tìm ra những thay đổi 'sắc nét' trong chuyển động và điều chỉnh độ mịn trung bình di chuyển của tôi theo. Tôi thực sự cần thêm một số hướng dẫn và đầu vào trước khi tôi lao đầu vào một cái gì đó có thể được giải quyết tối ưu hơn.
Cảm ơn!