我想在我的应用中为用户进行睡眠分析。我认为CoreMotion Framewrok应该会有所帮助。
func queryActivityStartingFromDate(start: NSDate!, toDate end: NSDate!, toQueue queue: NSOperationQueue!, withHandler handler: CMMotionActivityQueryHandler!)
所以我使用上面的API来获取最近7天的用户运动数据。现在,我获得了CMMotionActivity对象的列表。我的问题是如何从这数千个CMMotionActivity对象计算用户睡眠状态。是否有任何算法?或任何其他方式来实现睡眠分析。非常感谢!
CMMotionActivity
包含stationary
属性,在您的情况下可能有用。
要查找连续的不活动时间段,并与位置,时区和CMDeviceMotion
数据配对,您应该开始检测数据集中的模式。使用统计变化来定义阈值并微调结果。
注意,您将做出可能不正确的假设。例如,有些人睡在行驶的车辆上。
我发现此pdf有用ftp://ftp.tik.ee.ethz.ch/pub/students/2010-HS/SA-2010-26.pdf
您解决了这个问题了吗?