Method and system for detecting events using activity profile data
By using the motion data recorded by the activity tracing device, calculating topological characteristics and digital characteristics, and automatically detecting eating and scratching behaviors, the problem of insufficient user input in the prior art is solved, and automatic monitoring and recording of the behavior of patients with diabetes and skin diseases is realized.
Patent Information
- Application Number
- CN202380022060.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-21
- Filing Date
- 2023-01-30
- Publication Date
- 2025-04-15
AI Technical Summary
The prior art is difficult to automatically detect when a person is eating or scratching without user input, resulting in diabetic patients who may miss insulin injections and it is difficult for patients with skin diseases to record and analyze scratching behavior.
Time series data is extracted, birth and death coordinate sets of topological features are calculated, digital features are generated, and feeding or scratching events are determined based on these features.
It realizes automatic detection of eating and scratching behavior without user input, helps diabetic patients inject insulin in a timely manner, and timely records and analyzes scratching behavior of skin disease patients.
Smart Images

Figure CN119836263A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to methods and systems for detecting events using actigraphy data. More specifically, the present disclosure relates to using accelerometer and / or gyroscope data recorded by an actigraphy device worn on the wrist of a human subject to detect whether the subject is performing or has performed certain actions or events. Background Art
[0002] The movement of the subject can be detected and / or measured by a wearable actigraphy device. The movement data can be analyzed to determine whether the subject is performing or has performed certain actions or events.
[0003] For people with diabetes, it is sometimes important to inject a dose of insulin shortly before or after taking food to prevent harmful increases in glucose levels, i.e., episodes of hyperglycemia. However, people with diabetes often miss their bolus insulin doses because they simply forget to inject before or after eating. This makes it more difficult for these people to keep their glucose levels within a healthy range.
[0004] For people who wish to lose weight, it may be desirable to keep an accurate record of the food they eat. Such a log can help such people and their health care providers identify opportunities to reduce food consumption and guide decisions about what to eat and when to eat.
[0005] Therefore, there is a need for methods and apparatus that automatically detect when a person is eating without requiring user input.
[0006] People with certain skin conditions may exhibit scratching behavior. These people may scratch themselves during the day when they are awake or at night when they are asleep. Keeping a log of the incidence and / or severity of scratching behavior may be useful for detecting such skin conditions, assessing the severity of such skin conditions, or assessing the progression of such skin conditions. Therefore, there is also a need for methods and devices that automatically detect when a person is scratching without requiring user input. Summary of the invention
[0007] According to an exemplary embodiment of the present disclosure, there is provided a computerized method for detecting whether a subject is experiencing an event using one or more processors, the method comprising: receiving time series data derived from data recorded by an actigraphy device worn on a wrist of the subject; calculating a birth and death coordinate set for each of a plurality of topological features in the received time series data; calculating a digital feature based on the birth and death coordinate set calculated for each of the plurality of topological features; and determining whether the time series data indicates that the subject is experiencing an event based on the calculated digital feature.
[0008] According to another embodiment of the present disclosure, a computerized method for training a machine learning model using one or more processors to detect whether a subject is experiencing an event is provided, the method comprising: receiving training data, the training data comprising: a plurality of time series data sets derived from data recorded by an actigraphy device worn on a wrist of the subject, and a ground truth label associated with each corresponding time series data set, the ground truth label indicating whether the corresponding data set is derived from data recorded by the actigraphy device when the subject is experiencing an event; calculating a plurality of types of digital features for each time series data set in the plurality of sets; for each model in the plurality of models, calculating a posterior probability that the model is the optimal model for detecting whether the subject is experiencing an event given the received training data, wherein each model in the plurality of models accepts a different subset of the plurality of types of digital features as input; selecting a reduced subset of the plurality of types of digital features based on the calculated probabilities; and training the machine learning model using the reduced subset of the types of digital features to detect whether the subject is experiencing an event.
[0009] Among other advantages, the method and / or system described herein provides a way to automatically detect when an object experiences an event without user input or intervention. The object may "experience" an event because the object is initiating a specific action or activity, or because an event that the object has not initiated is occurring on the object. The example of an "event" includes an eating event in which the object ingests food or drink, and a scratching event in which the object scratches a part of his or her body. This method and / or system can be deployed on a mobile device that detects an event. For example, in the case of detecting an eating event, this detected eating behavior can be used to remind people with diabetes to take their insulin meal doses, and / or keep a log of eating events. In the case of a scratching event, this detected scratching behavior can be used to update the log of the scratching behavior, which can then be analyzed (for example, by HCP or clinical researchers) for the presence, severity and / or progress of skin diseases. Another advantage of the currently disclosed method and / or system is that they can be implemented using a computing device with relatively moderate and / or limited computing resources (for example, processing speed, power and / or memory). Thus, in some embodiments, the disclosed methods and / or systems may be deployed primarily or solely on a user's mobile device that communicates with the user's actigraphy device. In such embodiments, the mobile device does not need to send data to a remote or cloud server for processing in order to detect events based on the actigraphy data. In some embodiments, the disclosed methods and / or systems may be deployed only on the user's actigraphy device (e.g., a smartwatch), without requiring the actigraphy device to communicate with an associated mobile device (e.g., a smartphone). Other advantages will be recognized by one of ordinary skill in the art. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The above and other features and advantages of the present disclosure and the manner in which they are obtained will become more apparent and will be better understood through the following description of embodiments of the present invention with reference to the accompanying drawings, in which:
[0011] Figure 1 A system for detecting whether a human subject is experiencing an event is depicted in accordance with some embodiments.
[0012] Figure 2 Depicted are exemplary processes that may be implemented by the system for detecting events in accordance with some embodiments.
[0013] Figures 3A-3G Depicted is an example showing how birth and death coordinate sets are computed for multiple topological features in an exemplary time series dataset, in accordance with some embodiments.
[0014] Figure 4 Depicted is a process for selecting a set of digital features for detecting whether a subject is experiencing an event using a Bayesian probabilistic approach in accordance with some embodiments.
[0015] Figure 5 Depicted is an example showing calculation of a posterior inclusion probability (PIP) of an evaluated digital feature, according to some embodiments.
[0016] Corresponding reference characters indicate corresponding parts throughout the several views.The exemplifications set out herein illustrate exemplary embodiments of the invention, and these exemplifications are not to be construed as limiting the scope of the invention in any way. DETAILED DESCRIPTION
[0017] The subject's motion can be detected and / or measured using an actigraphic device worn on the subject's body. One example of such an actigraphic device is a wrist-worn actigraphic device that incorporates an accelerometer and / or a motion sensor. Such actigraphic devices can be designed to be small and non-invasive so that they can be worn by the subject in his / her daily life and collect data over a relatively long period of time (e.g., one or more days).
[0018] Time series motion data collected or derived from such actigraphy devices can be analyzed to detect whether a subject is performing certain actions or activities. Such analysis and detection of actions / activities can be done without any user input from the subject or with minimal user input from the subject. This can be useful to minimize the burden on the user to automatically record certain actions or activities.
[0019] For example, time series motion data can be used to automatically detect whether a subject is eating. Automatic eating behavior detection has a wide range of practical clinical applications. For example, for people with diabetes, it is usually important to inject insulin in time before and after consuming food. However, people with diabetes often miss their mealtime doses because they simply forget to take insulin after a meal. One possible way to reduce missed mealtime doses is to use a real-time algorithm that can be deployed on a mobile device that detects eating behavior and reminds the patient to take their dose. Data passively collected from wearable sensors such as accelerometers and / or gyroscopes can provide valuable information and allow the user's (multiple) mobile devices to automatically prompt the user to take insulin after consuming food.
[0020] Time series motion data can also be used to automatically detect whether an object is scratching. Automatic scratching detection can be used to detect the presence and / or severity of a skin disease (e.g., atopic dermatitis) that a subject may suffer from. Tracking scratching behavior during an extended monitoring period (e.g., over a period of days or weeks) can also be used to assess the progress of this skin disease. Tracking the progress of skin diseases then has a wide range of beneficial applications. For example, the ability to track the progress of skin diseases may be useful in clinical trials to assess the efficacy of a certain intervention in alleviating or relieving skin diseases. This ability to track the progress of skin diseases is also useful in clinical practice, giving health care providers (HCPs) the ability to more closely monitor their patients and determine which treatments are effective or ineffective. However, manually keeping a log of scratching behavior is onerous for users. Scratching behavior may be difficult to quantify, and if scratching occurs when the user is sleeping at night, the user may not be able to accurately record the extent of the scratching behavior. Data passively collected from wearable sensors such as accelerometers and / or gyroscopes can provide valuable information to allow the user's mobile device to automatically record the user's scratching behavior.
[0021] For ease of explanation, the description herein focuses on using time series motion data to detect eating (i.e., detecting eating events) and / or scratching behavior (i.e., detecting scratching events). However, the digital features and techniques presented herein can be generalized to detect any desired user action or activity, or any event that an object may experience. For example, the techniques presented herein can be used to detect whether a user is walking, running, and / or exercising. The techniques presented herein can also be used to detect and / or infer insights into the manner in which a user is performing an action or activity. For example, the techniques proposed herein can be used not only to detect the presence of scratching, but also to assess the characteristics of scratching behavior, such as its duration, its severity, etc.
[0022] Such a detection algorithm will ideally (but not necessarily) run in real time so that the results can be presented to the user almost immediately when the action or activity occurs. It is also advantageous to make such a real-time algorithm as computationally efficient as possible so that it requires less computing resources and / or time to run. A lightweight algorithm can be deployed entirely or primarily on a user's mobile device (e.g., a smart phone, smart watch, and / or laptop computer) without the need to send data to a remote server over a network for processing. Such an algorithm may be easier to use in geographical locations where reliable network or Internet access is difficult to obtain, may be cheaper to implement on a large scale, and provide faster results to the user. Therefore, it is desirable to simplify such an algorithm so that it is easier or faster to run. The devices, systems, and methods disclosed herein are intended to address these and other problems.
[0023] The terms "logic", "control logic", "application", "process", "method", "algorithm" and "instructions" used herein may include software and / or firmware executed on one or more programmable processors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs), hardwired logic, or a combination thereof. Therefore, depending on the embodiment, the various logics may be implemented in any suitable manner and will remain consistent with the embodiments disclosed herein.
[0024] Figure 1 A system 100 for detecting events is depicted. The events may include eating events, where human subject 101 ingests food, or where human subject 101 ingests food or drink. Alternatively, the events may include scratching events, where human subject 101 scratches a part of his / her body. In other embodiments, the events may include other activities or actions performed by human subject 101. System 100 includes a wearable actigraphy device 120 worn on the wrist of subject 101. Actigraphy device 120 may optionally communicate wirelessly with computing device 110. Computing device 110 may also communicate with server 160 via network 150.
[0025] Computing device 110 illustratively includes a mobile device, such as a smart phone. Alternatively, any suitable computing device may be used, including but not limited to, for example, a laptop, desktop, tablet, or server computer. Computing device 110 includes processor 112, memory 116, display / user interface (UI) 118, and communication device 119.
[0026] The processor 112 includes at least one processor that executes software and / or firmware stored in the memory 116 of the computing device 110. The software / firmware code contains instructions that, when executed by the processor 112, cause the processor 112 to perform the functions described herein. Such instructions illustratively include an event detector model 114, which is operable to implement the functions described in further detail below. The memory 116 is any suitable computer-readable medium that can be accessed by the processor 112. The memory 116 can be a single storage device or multiple storage devices, can be located internal or external to the processor 112, and can include both volatile and non-volatile media. Exemplary memory 116 includes random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory, magnetic storage devices, optical disk storage devices, or any other suitable medium that is configured to store data and can be accessed by the processor 112.
[0027] Computing device 110 comprises display / user interface 118, and it communicates with processor 112, and is operable to provide user input data to system, and receives and displays data, information and prompts generated by system.User interface 118 comprises at least one input device, is used to receive user input and user input is provided to system.In the embodiment shown, user interface 118 is a graphical user interface (GUI), comprises touch screen display, and it is operable to display data and receive user input.Touch screen display allows user to interact with information, menu, button and other data presented, to receive information from system and provide user input to system.Alternatively, keyboard, keypad, microphone, mouse pointer or other suitable user input devices can be provided.
[0028] The computing device 110 also includes a communication device 119 that allows the computing device 110 to establish a wired and / or wireless communication link with other devices. The communication device 119 may include one or more wireless antennas and / or signal processing circuits for sending and receiving wireless communications, and / or one or more ports for receiving physical lines for sending and receiving data. Using the communication device 119, the computing device 110 can establish one or more short-range communication links, including one or more communication links 103 with the actigraphy device 120. Such short-range communication links can utilize any known wired or wireless communication technology or protocol, including but not limited to radio frequency communication (e.g., Wi-Fi, Bluetooth, Bluetooth Low Energy (BLE), Near Field Communication (NFC), RFID, etc.), infrared transmission, microwave transmission, and light wave transmission. Such short-range communication links can be unidirectional links (e.g., data only flows from the actigraphy device 120 to the computing device 110), or bidirectional links (e.g., data flows in both directions). The communication device 119 can also allow the computing device 110 to establish a short-range communication link with the server 160 via the network 150 and the communication links 104 and 105. Server 160 may be located remotely from computing device 110, for example, in another building, in another city, or even in another country or continent. Network 150 may include any cellular or data network suitable for relaying information from computing device 110 to and / or from server 160, potentially via one or more intermediate nodes or switches. Examples of suitable networks 150 include cellular networks, metropolitan area networks (MANs), wide area networks (WANs), and the Internet.
[0029] Actigraphy device 120 illustratively includes any sensor device that is worn on the body of human subject 101 and records data about the movement and / or physiological characteristics of subject 101. Actigraphy device 120 may include multiple sensors for detecting and / or measuring such data, such as accelerometer 124 and gyroscope 126. Each of accelerometer 124 and gyroscope 126 may be configured to measure and / or record accelerometer and gyroscope data in one, two or three dimensions. Although not shown, actigraphy device 120 may also include alternative or additional sensors, such as electromyography (EMG) sensors, mechanical myography sensors (MMG) sensors, sound or vibration sensors, light sensors, etc. Actigraphy device 120 may also include processing circuit 122, which may include any processing circuit that receives and processes data signals, and outputs the results in the form of one or more electrical signals as a result. Processing circuit 122 may include a processor (similar to processor 112), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), hardwired logic, or a combination thereof. The actigraphy device may also include a memory 127, which may include any possible type of memory described above. The actigraphy device also includes a communication device 128, which allows the actigraphy device 120 to communicate with the computing device 110 via the communication link 103 and relay the measured / recorded data to the computing device 110. Figure 1 As shown, actigraphy device 120 may be a wrist-worn actigraphy device worn on the dominant wrist of subject 101. Additionally, actigraphy device 120 may be worn on the non-dominant wrist of subject 101. Examples of suitable wrist-worn wearable sensors include Apple Etc. In addition, actigraphy device 120 may be worn on other parts of the body of subject 101 , such as the torso, neck, arms, or shoulders of subject 101 .
[0030] Server 160 illustratively includes any computing device configured to receive and process information from actigraphy device 120 or from computing device 110 directly or via network 150. Optionally, server 160 may also be configured to send a response, notification, or instruction to computing device 110, actigraphy device 120, or another device in response to the information. Server 160 includes processing circuit 162, memory 164, and communication device 166. Processing circuit 162 may include any possible type of processing circuit described previously. Processing circuit 162 may execute software and / or firmware stored in memory 164 of server 160. The software / firmware code contains instructions that, when executed by processing circuit 162, perform the functions described herein. Memory 164 may also be configured to store information about one or more people with diabetes, such as biographical information and / or medical information (e.g., insulin administration records, medical history, logs of subject scratching behavior, etc.). Information received from or sent to computing device 110 may also be stored in memory 164. Memory 164 may include any possible type of memory previously described. Communication device 166 allows server 160 to communicate with computing device 110 via communication link 105 , network 150 , and communication link 104 .
[0031] In some embodiments, the system 100 can be modified by omitting one or more components. For example, if the actigraphy device 120 is equipped with a long-distance communication interface, the actigraphy device 120 can communicate directly with the server 160 through the network 150, completely bypassing the computing device 110. In some embodiments, the server 160 can be omitted, and the methods and algorithms disclosed herein can be implemented only on the computing device 110, or only on the computing device 110 in combination with the activity measurement device 120. In some embodiments, both the computing device 110 and the server 160 can be omitted, and the methods and algorithms disclosed herein can be implemented only on the actigraphy device 120 without requiring the device 120 to communicate with any other device. In other embodiments, the system 100 can be modified by adding components. For example, the server 160 can be configured as a plurality of networked servers 160 that collaborate to process information. Such a configuration of networked servers can be referred to as a "cloud" of servers that perform the functions described herein. (Multiple) servers 160 can communicate with multiple computing devices 110 through the network 150. In other embodiments, there may be multiple wearable actigraphy devices 120 worn on the body of subject 101, each collecting the same or different types of data.
[0032] System 100 has been described herein as implementing event detector model 114 within processor 122 of actigraphy device 120. Event detector model 114 may be a dining detector model, a scratching detector model, or a model configured to detect some other type of object action or activity. As described in further detail below, event detector model 114 is configured to detect certain user actions or activities (e.g., dining, scratching) based on data measured and / or recorded by wearable actigraphy device 120. Event detector model 114 may include software instructions and / or logic stored in memory 127 and executed by processor 112 to implement the functions described herein. However, in other embodiments, detector 114 may take other forms. For example, the functions performed by detector model 114 may be implemented at least in part by dedicated hardware and / or firmware, such as a separate and dedicated processor and / or processing circuit. In some embodiments, the functions performed by detector 114 may also be implemented in whole or in part on computing device 110 and / or server 160.
[0033] Figure 2 An exemplary process 200 for detecting an event according to some embodiments is depicted. To simplify the description, Figure 2 The steps described in are described below as being implemented on the processing circuit 122 of the actigraphy device 120, for example as part of the event detector model 114. However, it should be understood that the following reference to Figure 2 Any of the steps described may be implemented on computing device 110 or server 160. In some embodiments, some or all of the above devices may collaborate to implement process 200, e.g., one device may perform some steps while another device performs other steps, or one device may perform some steps with the help of intermediate calculations and / or data provided by (multiple) other devices.
[0034] Process 200 begins at step 202, where processing circuitry 122 at an actigraphy device 120 receives time series data derived from raw data recorded by the actigraphy device 120 worn on a subject's wrist. In some embodiments, the raw data recorded by the actigraphy device may include accelerometer data (e.g., in three dimensions, such as along the x, y, and z axes) and gyroscope data (e.g., also in three dimensions, such as along the x, y, and z axes). For ease of illustration, let a x 、a y and a z denote the accelerometer data along the x-axis, y-axis, and z-axis respectively, and let g x , g y and g zRepresents gyroscope data along the x-axis, y-axis, and z-axis, respectively. Such raw data may be recorded using any suitable sampling rate. In an exemplary embodiment, a sampling rate of 50 Hz may be used, although faster or slower sampling rates may also be used. As previously described, although other types of actigraphy devices may also be used, the actigraphy device may include a wearable sensor worn on the dominant wrist or non-dominant wrist of the subject. In order to detect events that are primarily completed by one dominant hand (e.g., eating events that are primarily completed using the subject's dominant hand), the actigraphy device may be configured to be worn on the dominant wrist of the subject. The recorded raw data may include data recorded within a predetermined time period (such as a one minute period, a two minute period, a five minute period, a ten minute period, or another suitable time period). Therefore, in summary, in an exemplary embodiment, the raw recorded data may include six separate data streams: a x 、a y 、a z , g x , g y and g z The data were each recorded in parallel over one minute periods using a sampling rate of 50 Hz (ie, each of the six data streams had 3000 individual data points, for a total of 18000 data points, all for the same one minute period).
[0035] The received time series data may be derived from the original recorded data in various ways. In some embodiments, the received time series data may be the same as the original recorded data, that is, the time series data may also be a x 、a y 、a z , g x , g y and g z In other embodiments, the received time series data may be calculated based on one, some, or all of the recorded data. For example, the received time series data may be a ratio of the sum of the original recorded data (e.g., and / or ), the angle of the accelerometer data (e.g., and / or ) and / or the angle of the gyroscope data (e.g. and / or ). Other suitable ways of deriving the received time series data from the original recorded data may also be used. The received time series data may be derived from the original recorded data by the processor 122 of the actigraphy device 120 or by the processor 112 of the computing device 110.
[0036] At step 204, the computing device 110 calculates a set of birth and death coordinates for each of the plurality of topological features in the received time series data. Such coordinates may be calculated using techniques derived from the mathematical field of topological data analysis. The set of birth and death coordinates corresponding to each topological feature may also be referred to as a "persistence graph" in the field of topological data analysis. The topological features are derived from a set of sub-levels associated with a filter threshold. The set of sub-levels f of the time series data y(x) associated with the filter threshold t t - is defined as the set of times x for which y(x) is less than or equal to a threshold t. In mathematical notation, the set of sublevels f associated with the filter threshold t t - It can be expressed according to equation 1:
[0037] Equation 1: f t - ={x|y(x)≤t}.
[0038] Sublevel set f t - The topological feature inside is f t - A continuous time period (x) within a sub-level set that is not interrupted by any time gap. t - Can have zero, one, or multiple topological features.
[0039] Figures 3A-3G The diagram illustrates how birth and death coordinate sets are calculated for multiple topological features in an exemplary time series data set 302. The exemplary time series data 302 may be any processed time series data previously discussed as part of step 202. For clarity, Figures 3A-3G The time series data 302 presented in are merely illustrative values and not the result of any actual experiment or simulation. Figures 3A-3D In each of the above, the x-axis represents time and the y-axis represents the value or amplitude of the time series data 302. To reveal the topological features, the time series data 302 is analyzed while increasing the filtering threshold t from a minimum value corresponding to the minimum value of the time series data 302 to a maximum value corresponding to the maximum value of the time series data 302. Figures 3A-3G Each graph in is associated with a different filtering threshold t (labeled as 304 in the figure). For example, Figure 3A The filtering threshold 304 is 2, Figure 3B The filtering threshold 304 is 6, Figure 3C The filtering threshold 304 is 7, Figure 3D The filtering threshold 304 is 9, Figure 3E The filter threshold 304 is 12, Figure 3FThe filter threshold 304 is 13, Figure 3G The filtering threshold is 18.
[0040] In this simplified example, Figure 3A (whose filter threshold is 2) has a topological feature, represented by the Roman numeral "I". This feature "I" is the sub-level set The only continuous time period in . Figure 3B (whose filtering threshold is 6) has two topological features, represented by the Roman numerals "I" and "II". Similarly, each feature is associated with a sub-level set , that is, each feature is associated with a continuous time period in which the time series data 302 is below the filtering threshold 304. Similarly, Figure 3C (whose filtering threshold is 7) has three topological features, denoted as “I”, “II” and “III”, Figure 3D (whose filtering threshold is 9) has four topological features, denoted as “I”, “II”, “III” and “IV”, Figure 3E (whose filtering threshold is 12) has three topological features, denoted as “I+IV”, “II” and “III”, Figure 3F has two topological features, denoted as "I+IV" and "II+III", and Figure 3G It has a topological feature, represented as "(I+IV)+(II+III)".
[0041] As the filter threshold 304 increases, the topological features may be expected to change. Topological features that overlap in time are considered the "same" topological features. Thus, for example, Figure 3A and 3B The topological features “I” in are considered to be the “same” topological features because they overlap in time even though the filter threshold 304 increases from 2 to 6. As the filter threshold 304 increases, it can be expected that some topological features will merge. For example, Figure 3E As shown, as the filter threshold 304 increases from 9 to 12, the topological feature "I" (which first appears in Figure 3A in) and topological feature "IV" (which first appears in Figure 3D In this case, the topological feature with the earlier "birth" (described below) is considered alive, while the topological feature with the later "birth" is considered expired. For this reason, although for the sake of clarity, Figure 3E The merged topological features are labeled “I+IV”, but Figure 3E The merged features in may alternatively be simply labeled as feature "I" since feature "I" has an earlier birth than feature "IV". Similarly, Figure 3FAs shown, as the filter threshold 304 increases from 12 to 13, the topological feature "II" and the topological feature "III" merge. Figure 3B (when the filter threshold 304 is equal to 7, it first appears in Figure 3C ) has an earlier "birth", so feature "II" is considered alive, while feature "III" is considered expired. For this reason, although for the sake of clarity, Figure 3F The merged topological features are labeled "II+III", but Figure 3F The combined features in may alternatively be simply labeled as feature "II". Figure 3G As shown, as the filter threshold 304 increases from 13 to 18, the topological feature "I+IV" (or simply, the feature "I" as described above) and the topological feature "II+III" (or simply, the feature "II" as described above) merge. Figure 3A (when the filter threshold 304 is equal to 6, it first appears in Figure 3B ) has an earlier birth, so feature "I" is considered alive and feature "II" is considered mature. For this reason, although for clarity, Figure 3G The merged topological features are labeled as "(I+IV)+(II+III)", but Figure 3G The merged features in may alternatively be simply labeled as feature “I”.
[0042] The "birth" coordinate of a particular topological feature is the filter threshold level t at which the particular topological feature begins to exist when the filter threshold level increases from the minimum value of y(x) to the maximum value of y(x). Similarly, the "death" coordinate of a particular topological feature is the filter threshold level t at which the particular topological feature expires. As described above, a particular topological feature is considered "expired" when it merges with another topological feature having an earlier birth coordinate.
[0043] Go to Figures 3A-3G , it can be seen that the exemplary time series data 302 has four topological features. When the filter threshold level 304 is equal to 7, the topological feature "III" begins to exist, so feature "III" is considered to have a birth coordinate of 7. When the filter threshold level 304 is increased to 13, feature "III" expires, at which point feature "III" merges with feature "II". Therefore, topological feature "III" is considered to have a death coordinate of 13. Expressed together, topological feature "III" is considered to have birth-death coordinates expressed in the form [birth coordinate, death coordinate] of [7, 13].
[0044] When the filter threshold level 304 = 9, the topological feature "IV" similarly comes into existence, so feature "IV" is considered to have a birth coordinate of 9. Feature "IV" expires when the filter threshold level 304 equals 12, at which point feature "IV" merges with feature "I". Therefore, the topological feature "IV" is considered to have a death coordinate of 12. Expressed together, the topological feature "IV" is considered to have a birth-death coordinate of [9, 12].
[0045] When the filter threshold level 304 is equal to 6, topological feature "II" comes into existence, and thus feature "II" is considered to have a birth coordinate of 6. Feature "II" expires when the filter threshold level 304 is equal to 18, at which point feature "II" merges with feature "I". Thus, topological feature "II" is considered to have a death coordinate of 18. Expressed together, topological feature "II" is considered to have a birth-death coordinate of [6, 18].
[0046] When the filter threshold 304 is equal to 2, the topological feature "I" begins to exist, and thus the feature "I" is considered to have a birth coordinate of 2. Even when the filter threshold level 304 increases to the maximum value of the time series 302, i.e., 18, the feature "I" is not merged with any other topological features. Therefore, the feature "I" is considered to expire at the maximum value of the filter threshold 304, 18. Expressed together, the feature "I" is considered to have a birth-death coordinate of [2, 18].
[0047] exist Figures 3A-3G In the exemplary scenario shown, whenever two topological features are merged (e.g., when feature "I" is merged with feature "IV", or when feature "II" is merged with feature "III"), one of the merged features has an earlier birth coordinate than the other merged feature. Therefore, it is clear which merged features will survive and which merged features will expire. However, in some cases involving different time series data, two features with the same birth coordinates may be merged. In this case, the expired merged features and the surviving merged features can be determined in other ways. For example, the surviving / expiring features can be determined randomly. Or alternatively, features that appear earlier or later in time can be designated as surviving features.
[0048] Back to Figure 2In step 206, the computing device 110 computes a digital feature based on the calculated birth and death coordinate sets (i.e., persistence graphs) for each of the plurality of topological features. The digital feature may simply be a value derived in some way from the time series data 302. For example, in some embodiments, the computing device 110 may use all or some subset of the calculated birth and death coordinate sets (i.e., persistence graphs) as digital features. In some embodiments, in step 206, the computing device 110 may compute the lifespan persistence (L) of each of the plurality of topological features by subtracting the birth coordinates of the corresponding topological feature from the death coordinates of the corresponding topological feature. The computing device 110 may then compute the digital feature based on at least one of the mean, standard deviation, skewness, kurtosis, and entropy of the calculated lifespan persistence (L) over all topological features in the received time series data. In some embodiments, alternatively or additionally, the computing device 110 may compute the midlife persistence (M) of each of the plurality of topological features by computing the average of the birth and death coordinate sets of the corresponding topological feature. The computing device 110 may then calculate a numerical feature based on at least one of the mean, standard deviation, skewness, kurtosis, and entropy of the calculated mid-life persistence (M) over all topological features in the received time series data.
[0049] In some embodiments, at step 206, computing device 110 may calculate the digital feature based on the norm of the Gaussian persistence curve according to Equation 2:
[0050] Equation 2:
[0051] Where φ(x) is the probability density function of the standard normal distribution, Φ(x) is the cumulative density function of the standard normal distribution, b is the birth coordinate, d is the death coordinate, D is the set of all birth and death coordinate pairs (b, d), and σ is the standard deviation of the normal distribution. In some embodiments, σ can be a user-defined parameter. For example, the user can set v to a value of 1.
[0052] In step 208, the computing device 110 may determine whether the time series data indicates that an event (e.g., an eating event, a scratching event, or some other type of event) has occurred based on the calculated digital features. In many embodiments, the computing device 110 may make this determination based on multiple digital features (i.e., not just one digital feature). The computing device 110 may also make this determination based on other information. In some embodiments, the computing device 110 may use a rule-based logic method (e.g., if-then or nested if-then statements) to make this determination. In some embodiments, the computing device 110 may use a trained machine learning model to make this determination, the trained machine learning model accepts at least one digital feature calculated from step 206 as input, and outputs a probability and / or binary prediction about whether an event has occurred given the digital features of the input (e.g., for eating events, whether the object is eating; for scratching events, whether the object is scratching). The machine learning model may include a neural network model or one or more other suitable models, which will be further described herein.
[0053] If a machine learning model is used in step 208, the machine learning model can be pre-trained using training data. A plurality of training time series data sets similar to those discussed above in step 202 (e.g., where each training time series data set is recorded in one minute, two minutes, five minutes, ten minutes, or other time period) can be provided, in conjunction with a base real label indicating whether each training time series data set is associated with an event. For example, training data from a plurality of test subjects can be recorded, and the test subjects are observed to determine whether they are performing a specific target object action or activity. If the method discussed herein is used to detect eating events, the training data may include data on whether the object is eating when the training data is recorded. If the method discussed herein is used to detect scratching events, the training data may include data on whether the object is scratching when the training data is recorded. A set of birth and death coordinates for each topological feature, i.e., a persistence graph (similar to step 204), can be calculated, and one or more digital features can be calculated for each training time series data set (similar to step 206). These calculated digital features, combined with the base real event / no event labels, can be used to train the machine learning model. The machine learning model may be pre-trained by the same device (e.g., computing device 110) that uses the model to detect events. Alternatively, the machine learning model may be pre-trained by another device (such as server 160).
[0054] The machine learning model can take different forms and utilize any appropriate machine learning technique. In some embodiments, the machine learning model can adopt a gradient boosting machine learning technique, which gives a prediction model in the form of a set of weak prediction models, which can be a decision tree. Alternatively or additionally, the machine learning model can include a neural network model that includes trained weights. Examples of neural network models can include convolutional neural networks (CNNs) or simple neural networks or any variants thereof. The method for training the machine learning model can use any one or more training algorithms, such as, for example, gradient descent and / or any other suitable algorithm. The trained machine learning model can be configured to output an indication of whether the object is experiencing a specific event based on the calculated digital features, such as a binary indication (event versus no event) or the probability that the object is experiencing an event.
[0055] Figure 2 The process in can be modified by changing, rearranging, deleting and / or replacing any of the process steps 202, 204, 206 and / or 208. For example, in some embodiments, instead of calculating digital features according to steps 204 and 206, other types of digital features can be derived from the time series data received in step 202 in an alternative manner. Examples of other suitable numerical features derived from (where N indicates the number of data points) include: ·S i mean, standard deviation, skewness, kurtosis, and / or entropy; ·S i The range of max(s i )-min(si); ·S i energy, such as ·S i wavelength, for example ·S i the entropy of the frequency of ; and ·S i of zero crossing.
[0056] Any or all of the aforementioned digital features may also be used as part of step 208 to determine whether the time series data indicates an event, either as an alternative to or in addition to the digital features previously described in steps 204 and 206. Since many of the aforementioned digital features can be relatively easily calculated for time series data of appropriate length (e.g., in one minute, five minute, or ten minute increments), the aforementioned digital features can be calculated using a mobile device that has only modest or limited computing resources (e.g., computing power and / or memory). This allows process 200 to be implemented primarily or solely on an actigraphy device 120 (e.g., a smart watch) or a computing device 120 (e.g., a smart phone) without the need to send data to a remote server or cloud computing resource for calculation.
[0057] In some cases, in order to further reduce the computational burden on a computing device implementing process 200, it may be desirable to use only a subset of the aforementioned digital features to detect eating events. For example, the aforementioned machine learning model may be trained using only a selected subset of the aforementioned digital features—then during a testing phase, the model may be provided with data corresponding only to the selected subset of digital features. In this way, the computational time and / or resources required to implement both testing and use of the machine learning model may be reduced.
[0058] In such an embodiment, it may be useful to determine which of the above digital features are most suitable for detecting an event. Which digital features to use may be determined in advance in an offline manner before training and using a machine learning model. Ideally, the selected digital features will be the ones that contribute most to the accuracy and reliability of the final trained model.
[0059] Figure 4 Depicted is a process 400 for selecting a set of digital features for detecting an event using a Bayesian probability-based approach according to some embodiments. Figure 4 The steps described in are described as being implemented on server 160. Because the selection of digital features and the training of machine learning models usually take a lot of time and / or computing resources, such steps are usually performed on server 160 in an offline manner. However, it should be understood that the following reference Figure 4 Any of the steps described may be implemented on the actigraphy device 120 or the computing device 110. In some embodiments, some or all of the above devices may collaborate to implement the process 400, e.g., one device may perform some steps while another device performs other steps, or one device may perform some steps with the help of intermediate calculations and / or data provided by (multiple) other devices.
[0060] Process 400 begins at step 402, where server 160 receives training data. The training data may include multiple time series data sets that are derived from data recorded by an actigraphy device worn on a subject's wrist. The time series data may be similar to the time series data described above with respect to step 202 of process 200. In addition, the training data may include a ground truth label associated with each respective time series data set that indicates whether the respective data set is derived from data recorded by the actigraphy device while the subject is experiencing an event (e.g., a label indicating whether the respective data set is associated with an eating event, or whether the respective data set is associated with a scratching event). In some embodiments, the ground truth label may be a binary label indicating that an event occurred or did not occur.
[0061] At step 404, the server 160 calculates multiple types of digital features for each of the time series data sets in the plurality of sets. The types of digital features calculated at step 404 may include any of the types of digital features discussed above.
[0062] At step 406, server 160 calculates a posterior probability for each of the plurality of models. A model may include an underlying algorithm (e.g., a trained machine learning model) that accepts as input all or a subset of the digital features calculated at step 404 and outputs an indication of whether the subject is experiencing the event (e.g., a binary output indicating that the event occurred or did not occur). Each model evaluated by server 160 at step 406 accepts as input a different subset of the multiple types of digital features.
[0063] If the server 160 computes n types of digital features at step 404, the number of possible combinations of digital features, and therefore the number of models that can be evaluated at step 406, is 2. n . Because the number of models that can be evaluated grows exponentially with the number n of digital features, exploring all possible models in step 406 may be time- and / or resource-intensive, even for a modest number n of digital feature types. In some embodiments, to reduce time and / or computational resource requirements, server 160 may calculate posterior probabilities for only some of the “explored” models of all possible models that can be constructed using the digital features calculated in step 404. The posterior probabilities calculated by server 160 for the explored models correspond to the posterior probability that the corresponding model evaluated is the optimal model for detecting the target event given the received training data. As used herein, an explored model may be considered an “optimal” model if the corresponding explored model’s prediction of whether an object is experiencing an event matches the underlying true label with an accuracy that exceeds or matches (within some predefined tolerance threshold) that of any other possible model that can be constructed using any subset of the digital features calculated in step 404.
[0064] The following is a brief description of an exemplary method that server 160 can use to calculate such a posterior probability. Full details on how the posterior probability can be calculated can be found in "Bayesian variable selection for binary outcomes in high-dimensional genomic studies using non-local priors," Bioinformatics, 32(9), 2016, 1338-1345 (hereinafter referred to as "Nikooienejad 2016"), the entire contents of which are incorporated herein by reference.
[0065] Let y n =(y1, ..., y n ) T y represents a vector of training data consisting of independent binary observations. n is the number of observations, i.e., the number of time series datasets received by the server 160 in step 402. If the ground truth label of the i-th time series dataset indicates that the i-th dataset is associated with an event (e.g., an eating event or a scratching event), then the individual element y i is 1; otherwise y i It is 0.
[0066] Let p denote the number of digital feature types calculated by the server 160 at step 404. For ease of identification, the types of digital features calculated at step 504 may be indexed from 1 to p.
[0067] Let β k is the regression vector of px1 corresponding to model K. We denote model K = {k1, ..., kj}, where (1 ≤ k1 < ... < k j ≤p), and where k1...k j represents the index of the numeric features accepted as input by model K. Since these numeric features are accepted as input, it is assumed that β k1 (i.e. β k k1th entry of ) ≠ 0, ..., β kj (i.e. β k kth j entries)≠0, and β k All other elements of are 0.
[0068] The design matrix corresponding to model K is given by X k , which has k columns, where each column represents a numerical feature accepted as input by model K. We assume that X kEach column of X has been standardized so that each column has mean 0 and variance 1. k The i-th row of ik .
[0069] We further assume that the training data y n Each individual element y i According to the following distribution:
[0070] Equation 3:
[0071] Prior constraints on the model space and the regression parameter β k Under the assumption of a non-local prior density constraint on , the posterior probability of model K can then be considered as the probability that model K (with the probability distribution stated in Equation 3 above) is the model that generated the training data, assuming that the actual observed training data is represented by y n supply.
[0072] According to Bayes' theorem, the posterior probability that a particular model j is the best model in the set of possible models J is given by:
[0073] Equation 4: in
[0074] Equation 5: m k (y n )=∫π(y n |β k )π(β k )dβ k .
[0075] Specific beta k The probability distribution of π(y n |β k ) is given with regression coefficient β k The model K observes the training data y n The probability of , and can be calculated according to Equation 3 above. However, calculating the posterior probability of model j still requires calculating the prior density π(β k ) and the prior model probability of model K, i.e. p(k).
[0076] By specifying two parameters: τ and r, we can use non-local priors to calculate the prior density π(β k ). Specifically, π(β k ) can be calculated as:
[0077] Equation 6:
[0078] Here, β kis a vector of coefficients of length k, and r, τ > 0. The hyperparameter τ represents a scale parameter that determines the spread of the prior around 0, while r is analogous to the shape parameter in the inverse gamma distribution and determines the tail behavior of the density. τ and r are configurable parameters and can vary according to the embodiments. For example, in some embodiments, r can be set to 1 and τ can be set to 3, although other positive values are also possible. Details of methods for choosing appropriate values of r and τ are further discussed in Nikooienejad 2016, the entire content of which is incorporated herein.
[0079] The prior p(k) of model K can be calculated according to the following formula:
[0080] Equation 7:
[0081] where B(a, b) represents the beta function, and a and b are prior parameters that describe the underlying beta distribution of the marginal probability that the selected feature is associated with a non-zero regression coefficient. In some embodiments, based on the assumption that the best prediction model is sparse, server 160 can set and b = p - a. For large n, this means that we expect on average a feature vectors to be included in the model. Here, for the prior hyperparameter k * the choice reflects the belief that the number of models that can be constructed from the available covariates should be less than the number of possible binary responses. Similarly, by restricting a to be less than log(p), a relatively small prior probability is assigned to models that include more than log(p) covariates. Finally, server 160 can impose a deterministic constraint on the model size and define P(k) = 0 if k < n / 2.
[0082] In general, any search algorithm can be used to determine which models among all possible models are to be explored (i.e., to compute the posterior probability). For example, in some embodiments, a pure random search algorithm can be used, which selects a predetermined set of models for which to compute their posterior probabilities. In other embodiments, a simple birth-death process can be used to explore the model space. This scheme can first compute the posterior probability of an initial model that accepts a randomly determined set of digital feature types. At each iteration of the scheme, a number i between 1 and p is randomly selected. A candidate model is constructed by flipping the inclusion status of the ith digital feature - that is, if the current model includes the ith digital feature, the candidate model will not include the feature, and if the current model does not include the ith digital feature, the candidate model will include the feature. The scheme then determines whether to move from the current model to the candidate model (i.e., whether to accept the candidate model), which can be computed according to the probability r, where r is determined by the following formula:.
[0083] Equation 8:
[0084] This scheme explores the space of possible models by evaluating one model at a time and determining whether to move from the current model to a candidate model at each iteration according to Equation 8. After exploring a predetermined number N of candidate models (and computing N different posterior probabilities), the scheme can terminate.
[0085] Back to Figure 4 At step 408, server 160 may select a reduced subset of the multiple types of digital features based on the posterior probabilities calculated for each model at step 406. This may be accomplished by calculating a score for each respective type of digital feature calculated at step 404, the score indicating how much the respective type of digital feature contributes to the accuracy of the model used to detect the event. The score may be calculated based at least in part on the posterior probabilities calculated for each model at step 406. For example, the score for each respective digital feature may include the sum of the posterior probabilities for each model that includes the respective digital feature. Such a score is also referred to herein as a "posterior inclusion probability" or "PIP."
[0086] Figure 5 An example of how such a PIP is calculated at step 408 is presented. Consider an illustrative example where at the end of step 406, server 160 has calculated the posterior probabilities for four models. Each model accepts as input a different subset of three different digital features, represented in this example as digital features 1, 2, and 3. Model 1 (502) has a calculated posterior probability of 7% and accepts only digital features 1 and 3 as input. Model 2 (504) has a calculated posterior probability of 10% and accepts only digital features 3 as input. Model 3 (506) has a calculated posterior probability of 20% and accepts only digital features 2 and 3 as input. Model 4 (508) has a calculated posterior probability of 15% and accepts only digital features 1 and 2 as input. The PIP for digital feature 1 is the average of the posterior probabilities of the models that accept digital feature 1 as input. In this example, only models 1 and 4 accept digital feature 1 as input, so the PIP of digital feature 1 is the sum of 7% and 15% (the posterior probabilities of models 1 and 4, respectively), which is 22%. Similarly, the PIP of digital feature 2 is the sum of the posterior probabilities of the models that accept digital feature 2 as input. In this example, only models 3 and 4 accept digital feature 2 as input, so the probability score of digital feature 2 is the sum of 20% and 15% (the posterior probabilities of models 3 and 4, respectively), which is 35%. When the PIP of digital feature 3 is calculated similarly, the score in this example is 37%.
[0087] Once the PIPs of the digital features have been selected, a reduced subset of the digital features may be selected based on such PIPs. For example, the digital features may be ranked according to their PIPs, and the top M digital features of the rank may be selected, where M is a configurable parameter. In some embodiments, digital features having PIPs above a certain configurable threshold may be selected. In order to reduce the computational resources required to train and / or use a machine learning model, the reduced subset of digital features should be smaller than the PIPs in the example above. Figure 4 Step 404 calculates the number of digital features.
[0088] In some embodiments, the server 160 can use the published R package BVSNLP (Bayesian Variable Selection in High Dimensional Settings using Nonlocal Priors) published online by Amir Nikooienejad et al. on June 29, 2020 to calculate the posterior probability of each explored model. The BVSNLP algorithm is described in more detail in "Bayesian Variable Selection for Survival Data Using Inverse Moment Priors," Ann Appl Stat. 2020 June; 14 (2): 809-828 by Nikooienejad et al., the entire contents of which are incorporated herein. The BVSNLP algorithm was originally designed for high-dimensional settings, where the number of digital features p is much larger than the number of observations n, i.e., p>>n. This makes the BVSNLP algorithm effective in p but ineffective in n. In some embodiments, when the BVSNLP package is used to calculate the posterior probability according to the process described herein, the number of observations n may greatly exceed the number of digital features being evaluated. To improve the computational efficiency of the BVSNLP algorithm in this case, the complete training dataset can be randomly divided into batches (e.g., 6000 batches) with an equal number of observations (e.g., 1000 observations) in each batch. In each batch, the ratio of observations with the underlying true labels indicating events versus non-events can be kept the same as the original dataset to prevent any potential bias. Each batch can then be processed separately by the BVSNLP method. After the BVSNLP method is completed for each batch, the numerical features can be sorted according to their PIPs and the top X variables by PIP (where X is a configurable parameter) are extracted for each batch. Finally, in order to merge the outputs from all batches (e.g., all 6000 batches), the pooled lists of all selected features are grouped by variable name, and the PIPs of multiple instances of the feature are averaged. Finally, the top Y variables with the highest PIP are selected, where Y is a configurable parameter.
[0089] Reference again Figure 4 , at step 410, the machine learning model may be trained using only the reduced subset of the digital feature types selected at step 408. In this way, the computing resources and time required to train the machine learning model may be reduced. The computing resources required to use the trained machine learning model may also be reduced. In some embodiments, a machine learning model that accepts only the reduced subset of digital features selected using process 400 as input may be implemented on a mobile device, such as a smart phone, tablet, smart watch, or portable computer.
[0090] The terms "first", "second", "third", etc., whether used in the specification or in the claims, are provided to distinguish similar elements and are not necessarily intended to describe a sequential or chronological order. It should be understood that the terms so used are interchangeable where appropriate (unless clearly disclosed otherwise), and that the embodiments of the disclosure described herein are capable of operation in other sequences and / or arrangements than those described or illustrated herein.
[0091] Although the present invention has been described as having an exemplary design, the present invention may be further modified within the spirit and scope of the present disclosure. Therefore, the present application is intended to cover any variation, use or adaptation of the present invention using its general principles. In addition, the present application is intended to cover such deviations from the present disclosure that are known in the art to which the present invention belongs or within conventional practice.
[0092] Various aspects are described in this disclosure, including but not limited to the following:
[0093] 1. A computerized method for detecting whether a subject is experiencing an event using one or more processors, the method comprising: receiving time series data derived from data recorded by an actigraphy device worn on a wrist of the subject; calculating a birth and death coordinate set for each of a plurality of topological features in the received time series data; calculating a digital feature based on the birth and death coordinate set calculated for each of the plurality of topological features; and determining whether the time series data indicates that the subject is experiencing an event based on the calculated digital feature.
[0094] 2. The method of aspect 1, wherein each topological feature of the plurality of topological features is associated with a continuous time period during which the time series data is below a filtering threshold.
[0095] 3. The method of aspect 2, wherein calculating the birth and death coordinate sets includes increasing a filtering threshold to identify the birth and death coordinate sets.
[0096] 4. The method of aspect 3, wherein the birth coordinates of each topological feature correspond to a first level of the filtering threshold at which the topological feature first appears as the filtering threshold increases.
[0097] 5. The method of any one of aspects 2-4, wherein the death coordinates of each topological feature specify a second level of the filtering threshold at which the topological feature first disappears as the filtering threshold increases.
[0098] 6. The method of any one of aspects 2-5, wherein the total number of topological features at a specified level of the filtering threshold corresponds to the Betti number of the time series data at the specified level of the filtering threshold.
[0099] 7. The method of any one of aspects 1-6, wherein calculating the digital feature comprises calculating the life persistence (L) of each topological feature in the plurality of topological features by subtracting the birth coordinates of the topological feature from the death coordinates of the topological feature.
[0100] 8. The method of aspect 7, wherein the digital features include at least one of the mean, standard deviation, skewness, kurtosis and entropy of the calculated life persistence (L) of each topological feature.
[0101] 9. The method of any one of aspects 1-6, wherein calculating the numerical features comprises calculating the midlife persistence (M) of each topological feature by calculating the average of the birth and death coordinate sets of the topological feature.
[0102] 10. The method of aspect 9, wherein the numerical features include at least one of the mean, standard deviation, skewness, kurtosis, and entropy of the calculated mid-life persistence (M) of each topological feature.
[0103] 11. The method of any of aspects 1-10, wherein the received time series data is derived from at least one of accelerometer data and gyroscope data.
[0104] 12. The method of aspect 11, wherein the received time series data is from a x 、a y and a z The components are derived from the recorded accelerometer data.
[0105] 13. The method of aspect 11, wherein the received time series data is from a x , g y and g z Components derived from the recorded gyroscope data.
[0106] 14. A method according to any of aspects 1-13, wherein determining whether the time series data indicates that the subject is experiencing an event comprises providing the calculated numerical features to a trained machine learning model and obtaining a prediction from the trained model as to whether the calculated numerical features indicate that the subject is experiencing an event.
[0107] 15. The method of any of aspects 1-14, wherein the actigraphy device is worn on the subject's dominant wrist.
[0108] 16. The method of any one of aspects 1-15, wherein the method is performed entirely on a handheld mobile device.
[0109] 17. The method of any one of aspects 1-16, wherein the event comprises a meal event.
[0110] 18. The method of any one of aspects 1-16, wherein the event comprises a scratching event.
[0111] 19. A system for detecting whether a subject is experiencing an event, the system comprising: a memory storing computer executable instructions; and one or more processors configured to execute the instructions to implement the method of any one of aspects 1-16.
[0112] 20. The system of aspect 19, further comprising an actigraphy device.
[0113] 21. A non-transitory computer-readable medium storing instructions which, when executed by one or more processors, are operable to cause the one or more processors to perform the method of any of aspects 1-18.
[0114] 22. A computerized method for training a machine learning model to detect whether a subject is experiencing an event using one or more processors, the method comprising: receiving training data, the training data comprising: a plurality of time series data sets derived from data recorded by an actigraphy device worn on a wrist of the subject, and a ground truth label associated with each corresponding time series data set, the ground truth label indicating whether the corresponding data set is derived from data recorded by the actigraphy device while the subject is experiencing an event; calculating multiple types of digital features for each time series data set in the plurality of sets; for each model in the plurality of models, calculating a posterior probability that the model is the optimal model for detecting whether the subject is experiencing an event given the received training data, wherein each model in the plurality of models accepts a different subset of the plurality of types of digital features as input; selecting a reduced subset of the plurality of types of digital features based on the calculated probabilities; and training the machine learning model using the reduced subset of digital feature types to detect whether the subject is experiencing an event.
[0115] 23. The method of aspect 22, wherein the plurality of models is less than the plurality of possible subsets of the plurality of types of digital features.
[0116] 24. The method of any of aspects 22-23, wherein selecting a reduced subset based on the calculated probability comprises: for each type of digital features among multiple types of digital features, calculating a posterior inclusion probability by summing the calculated probabilities of each model among multiple models using the digital features of that type as input; and selecting a reduced subset based on the calculated posterior inclusion probability.
[0117] 25. The method of aspect 24, wherein selecting the reduced subset based on the calculated probability comprises: sorting each type of digital features according to the calculated posterior inclusion probability; and selecting a predetermined number of digital features having the highest calculated posterior inclusion probability.
[0118] 26. The method of any of aspects 22-25, wherein the time series data is derived from at least one of accelerometer data and gyroscope data.
[0119] 27. The method of aspect 26, wherein the received time series data is from a x 、a y and a z The components are derived from the recorded accelerometer data.
[0120] 28. The method of aspect 26, wherein the received time series data is from a x , g y and g z Components derived from the recorded gyroscope data.
[0121] 29. The method of any of aspects 22-28, wherein the actigraphy device is worn on the subject's dominant wrist.
[0122] 30. The method of any one of claims 22-29, wherein the event comprises a meal event.
[0123] 31. The method of any one of claims 22-29, wherein the event comprises a scratching event.
[0124] 32. A system for training a machine learning model to detect whether an object is experiencing an event, the system comprising: a memory storing computer executable instructions; and one or more processors configured to execute the instructions to implement the method of any of aspects 22-29.
[0125] 33. The system of aspect 30, further comprising an actigraphy device.
[0126] 34. A non-transitory computer readable medium storing instructions which, when executed by one or more processors, are operable to cause the one or more processors to perform the method of any of aspects 22-29.
Claims
1. A computerized method for detecting, using one or more processors, whether a subject is experiencing an event, the method comprising: receiving time series data derived from data recorded by an actigraphy device worn on a wrist of a subject; calculating a set of birth and death coordinates for each of a plurality of topological features in the received time series data; calculating a numerical feature based on a set of birth and death coordinates calculated for each of a plurality of topological features; as well as A determination is made based on the calculated digital features whether the time series data indicates that the subject is experiencing an event. 2 . The method of claim 1 , wherein each of the plurality of topological features is associated with a continuous time period during which the time series data is below a filtering threshold.
3. The method of claim 2, wherein calculating birth and death coordinate sets comprises increasing a filtering threshold to identify birth and death coordinate sets. 4 . The method of claim 3 , wherein the birth coordinates of each topological feature correspond to a first level of the filter threshold at which the topological feature first appears as the filter threshold increases. 5 . The method according to claim 2 , wherein the death coordinates of each topological feature specify a second level of the filtering threshold at which the topological feature first disappears as the filtering threshold increases.
6. A method according to any one of claims 2-5, wherein the total number of topological features at a specified level of filtering threshold corresponds to the Betti number of the time series data at the specified level of filtering threshold.
7. The method according to any one of claims 1-6, wherein calculating the digital feature comprises calculating the life persistence (L) of each topological feature of a plurality of topological features by subtracting the birth coordinates of the topological feature from the death coordinates of the topological feature.
8. The method of claim 7, wherein the digital features include at least one of a mean, a standard deviation, a skewness, a kurtosis, and an entropy of the calculated lifetime persistence (L) of each topological feature.
9. The method according to any one of claims 1-6, wherein calculating the numerical features comprises calculating the mid-life persistence (M) of each topological feature by calculating the average of the birth and death coordinate sets of the topological feature.
10. The method of claim 9, wherein the numerical features include at least one of a mean, a standard deviation, a skewness, a kurtosis, and an entropy of the calculated mid-life persistence (M) of each topological feature.
11. The method of any one of claims 1-10, wherein the received time series data is derived from at least one of accelerometer data and gyroscope data.
12. The method according to claim 11, wherein the received time series data is from a x 、a y and a z The components are derived from the recorded accelerometer data.
13. The method according to claim 11, wherein the received time series data is from a x , g y and g z Components derived from the recorded gyroscope data.
14. A method according to any one of claims 1-13, wherein determining whether the time series data indicates that the subject is experiencing an event includes providing the calculated digital features to a trained machine learning model and obtaining a prediction from the trained model as to whether the calculated digital features indicate that the subject is experiencing an event.
15. The method of any one of claims 1-14, wherein the actigraphy device is worn on the subject's dominant wrist.
16. The method of any one of claims 1-15, wherein the method is performed entirely on a handheld mobile device.
17. The method of any one of claims 1-16, wherein the event comprises a meal event.
18. The method of any one of claims 1-16, wherein the event comprises a scratching event.
19. A system for detecting whether a subject is experiencing an event, the system comprising: a memory storing computer executable instructions; as well as One or more processors configured to execute instructions to implement the method of any one of claims 1-16.
20. The system of claim 19, further comprising an actigraphy device.
21. A non-transitory computer readable medium storing instructions which, when executed by one or more processors, are operable to cause the one or more processors to perform the method of any one of claims 1-18.
22. A computerized method for training a machine learning model using one or more processors to detect whether a subject is experiencing an event, the method comprising: Receive training data, the training data comprising: a plurality of time series data sets derived from data recorded by an actigraphy device worn on a wrist of a subject, and a ground truth label associated with each respective time series data set, the ground truth label indicating whether the respective data set was derived from data recorded by the actigraphy device while the subject was experiencing an event; Compute multiple types of numerical features for each time series dataset in multiple sets; For each model in a plurality of models, calculating a posterior probability that the model is an optimal model for detecting whether a subject is experiencing an event given received training data, wherein each model in the plurality of models accepts as input a different subset of the plurality of types of digital features; selecting a reduced subset of the plurality of types of digital features based on the calculated probabilities; and A reduced subset of digital feature types is used to train a machine learning model to detect whether a subject is experiencing an event.
23. The method of claim 22, wherein the plurality of models is less than the plurality of possible subsets of the plurality of types of digital features.
24. The method of any one of claims 22-23, wherein selecting the reduced subset based on the calculated probability comprises: For each type of digital feature in a plurality of types of digital features, calculating a posterior inclusion probability by summing the probabilities computed by each of a plurality of models using the type of digital feature as input; and The reduced subset is selected based on the computed posterior inclusion probability.
25. The method of claim 24, wherein selecting the reduced subset based on the calculated probability comprises: Each type of numeric feature is ranked according to the calculated posterior inclusion probability; as well as A predetermined number of numerical features with the highest computed posterior inclusion probabilities are selected.
26. The method of any one of claims 22-25, wherein the time series data is derived from at least one of accelerometer data and gyroscope data.
27. The method according to claim 26, wherein the received time series data is from a x 、a y and a z The components are derived from the recorded accelerometer data.
28. The method according to claim 26, wherein the received time series data is from a x , g y and g z Components derived from the recorded gyroscope data.
29. A method according to any one of claims 22 to 28, wherein the actigraphy device is worn on the subject's dominant wrist.
30. The method of any one of claims 22-29, wherein the event comprises a meal event.
31. The method of any one of claims 22-29, wherein the event comprises a scratching event.
32. A system for training a machine learning model to detect whether a subject is experiencing an event, the system comprising: a memory storing computer executable instructions; as well as One or more processors configured to execute instructions to implement the method of any one of claims 22-29.
33. The system of claim 30, further comprising an actigraphy device.
34. A non-transitory computer readable medium storing instructions which, when executed by one or more processors, are operable to cause the one or more processors to perform the method of any one of claims 22-29.