Method and system for detecting events using actigraphy data

A computerized method using actigraphy data from wearable devices automatically detects events like eating or scratching, addressing the need for user input by employing topological feature analysis and machine learning, enhancing diabetes management and skin condition tracking.

JP7789226B2Active Publication Date: 2025-12-19ELI LILLY & CO
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024547711
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-06-21
Filing Date
2023-01-30
Publication Date
2025-12-19
Estimated Expiration
2043-01-30

AI Technical Summary

Technical Problem

Existing methods require user input for detecting events such as eating or scratching, which can be cumbersome and lead to missed insulin doses for diabetes management or inaccurate tracking of skin conditions.

Method used

A computerized method using actigraphy data from wearable devices to automatically detect events like eating or scratching through topological feature analysis and machine learning, enabling real-time detection without user input, suitable for deployment on mobile devices with modest computational resources.

Benefits of technology

Enables real-time detection of eating events and scratching events without user intervention, facilitating timely insulin administration and accurate tracking of skin conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007789226000023
    Figure 0007789226000023
  • Figure 0007789226000024
    Figure 0007789226000024
  • Figure 0007789226000025
    Figure 0007789226000025
Patent Text Reader

Abstract

A computerized method is provided for detecting whether a subject is experiencing an event (e.g., a feeding event or a scratching event). The method may include receiving time series data derived from data recorded by an actigraphy device worn on the subject's wrist, and calculating a set of birth and death coordinates for each topological feature of a plurality of topological features in the received time series data. The method may further include calculating a digital feature based on the calculated set of birth and death coordinates, and determining whether the subject is experiencing the event based on the calculated digital feature. In some embodiments, a method is also provided for using a Bayesian method to select digital features for use in detecting whether a subject is experiencing an event.
Need to check novelty before this filing date? Find Prior Art

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 a particular activity or event. [Background technology]

[0002] A subject's movements can be detected and / or measured by a wearable actigraphy device, and this movement data can be analyzed to determine whether a subject is performing or has performed a particular action or event.

[0003] For people with diabetes, it is sometimes important to inject a bolus of insulin just before or just after eating food to prevent harmful increases in glucose levels, i.e., hyperglycemic episodes. However, people with diabetes often forget to administer their bolus insulin because they simply forget to inject themselves before or after eating food. This can make it more difficult for such people to maintain their glucose levels within a healthy range.

[0004] It may be desirable for a person trying to lose weight to keep an accurate log of the foods they eat. Such a log can help the person, as well as their healthcare provider, identify opportunities to reduce food consumption and guide decisions regarding what and when to eat.

[0005] Therefore, there is a need for a method and device for automatically detecting when a person is eating without requiring user input.

[0006] Individuals suffering from certain skin conditions may exhibit scratching behavior. Such individuals may scratch themselves during the day while awake, or at night while asleep. Maintaining 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 for automatically detecting when an individual 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 including: receiving time series data derived from data recorded by an actigraphy device worn on the subject's wrist; calculating a set of birth and death coordinates for each topological feature of a plurality of topological features in the received time series data; calculating a digital feature based on the calculated set of birth and death coordinates for each topological feature 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, there is provided a computerized method for using one or more processors to train a machine learning model to detect whether a subject is experiencing an event, the method including: receiving training data including a plurality of sets of time series data derived from data recorded by an actigraphy device worn on the subject's wrist; and a ground truth label associated with each respective set of time series data indicating whether the respective set of data is derived from data recorded by the actigraphy device while the subject is experiencing an event; calculating a plurality of types of digital features for each set of time series data in the plurality of sets; calculating, for each model of the plurality of models, a posterior probability that the model is an optimal model for detecting whether the subject is experiencing the event given the received training data, wherein each model of the plurality of models accepts as input a different subset of the plurality of types of digital features; selecting a narrowed subset of the plurality of types of digital features based on the calculated probability; and training the machine learning model using the narrowed subset of the types of digital features to detect whether the subject is experiencing the event.

[0009] Among other advantages, the methods and / or systems described herein provide an approach to automatically detect when a subject is experiencing an event without user input or intervention. A subject may "experience" an event either because the subject initiates a specific behavior or activity, or because an event not initiated by the subject occurs to the subject. Examples of "events" include eating events, in which a subject consumes food or drink, and scratching events, in which a subject scratches a part of their body. Such methods and / or systems may be deployed on a mobile device that detects events. For example, when detecting an eating event, such detected eating behavior can be used to remind a person with diabetes to take their insulin bolus and / or maintain a log of eating episodes. In the case of a scratching event, such detected scratching behavior may be used to update the scratching behavior log, which may in turn be analyzed (e.g., by an HCP or clinical researcher) for the presence, severity, and / or progression of the skin condition. Another advantage of the disclosed methods and / or systems is that they may be implemented using computing devices with relatively modest and / or limited computing resources (e.g., processing speed, power, and / or memory). As a result, the disclosed methods and / or systems, in some embodiments, may be deployed primarily or solely on a user's mobile device in communication with the user's actigraphy device. In such embodiments, the mobile device does not need to transmit data to a remote or cloud server for processing in order to detect events based on actigraphy data. In some embodiments, the disclosed methods and / or systems may be deployed solely on a 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 those skilled in the art. [Brief explanation of the drawings]

[0010] The above and other features and advantages of the present disclosure, and the manner in which they are achieved, will become more apparent and will be better understood by reference to the following description of embodiments of the invention taken in conjunction with the accompanying drawings. [Figure 1] 1 illustrates a system for detecting whether a human subject is experiencing an event, according to some embodiments. [Figure 2] 1 illustrates an exemplary process for detecting an event that may be implemented by a system, according to some embodiments. [Figure 3A] 10 shows an example illustrating how to calculate a set of birth and death coordinates for multiple topological features in an exemplary set of time series data, according to some embodiments. [Figure 3B] 10 shows an example illustrating how to calculate a set of birth and death coordinates for multiple topological features in an exemplary set of time series data, according to some embodiments. [Figure 3C] 10 shows an example illustrating how to calculate a set of birth and death coordinates for multiple topological features in an exemplary set of time series data, according to some embodiments. [Figure 3D] 10 shows an example illustrating how to calculate a set of birth and death coordinates for multiple topological features in an exemplary set of time series data, according to some embodiments. [Figure 3E] 10 shows an example illustrating how to calculate a set of birth and death coordinates for multiple topological features in an exemplary set of time series data, according to some embodiments. [Figure 3F] 10 shows an example illustrating how to calculate a set of birth and death coordinates for multiple topological features in an exemplary set of time series data, according to some embodiments. [Figure 3G] 10 shows an example illustrating how to calculate a set of birth and death coordinates for multiple topological features in an exemplary set of time series data, according to some embodiments. [Figure 4]10 illustrates a process of using a Bayesian probabilistic approach to select a set of digital features to use in detecting whether a subject is experiencing an event, according to some embodiments. [Figure 5] 10 shows an example illustrating calculating posterior inclusion probability (PIP) of an evaluated digital feature according to some embodiments.

[0011] Corresponding reference characters indicate corresponding parts throughout the several views. The exemplifications set forth herein illustrate exemplary embodiments of the present invention, and such exemplifications should not be construed as limiting the scope of the present invention in any way. DETAILED DESCRIPTION OF THE INVENTION

[0012] A subject's movements can be detected and / or measured using an actigraphy device worn on the subject's body. One example of such an actigraphy device is a wrist-worn actigraphy device incorporating an accelerometer and / or motion sensor. Such actigraphy devices can be designed to be small and non-invasive so that they can be worn by the subject as they go about their daily lives and collect data over a relatively long period of time (e.g., one or more days).

[0013] Time-series movement data collected or derived from such actigraphy devices can be analyzed to detect whether a subject is engaging in a particular behavior or activity. This analysis and detection of behavior / activity may occur without requiring any user input from the subject, or with only minimal user input from the subject. This can be useful for minimizing the burden on the user to automatically record particular behaviors or activities.

[0014] For example, time-series motion data may be used to automatically detect whether a subject is eating. Automatic eating behavior detection has a wide range of practical clinical applications. For example, it is often important for people with diabetes to inject insulin at the appropriate time before or after eating food. However, people with diabetes often forget to take their insulin after eating, resulting in missed bolus doses. One possible approach to reducing the number of missed bolus doses is to use real-time algorithms deployable on mobile devices that detect eating behavior and remind patients to take their doses. Passively collected data from wearable sensors, such as accelerometers and / or gyroscopes, can provide useful information and enable a user's mobile device to automatically prompt the user to take insulin after eating food.

[0015] Time-series movement data may also be used to automatically detect whether a subject is scratching. Automatic scratching detection may be useful for detecting the presence and / or severity of a skin condition (e.g., atopic dermatitis) from which a subject may be suffering. Tracking scratching behavior over a long-term monitoring period (e.g., over a period of several days or weeks) may also be useful for assessing the progression of such a skin condition. Tracking the progression of a skin condition, in turn, has a wide range of beneficial applications. For example, the ability to track the progression of a skin condition may be useful in clinical trials to evaluate the effectiveness of specific interventions in alleviating or reducing a skin condition. Such an ability to track the progression of a skin condition may also be useful in clinical practice by providing health care providers (HCPs) with the ability to more closely monitor their patients and determine which treatments are effective or ineffective. However, manually maintaining a log of scratching behavior is cumbersome for users. Scratching behavior can be difficult to quantify, and if scratching occurs at night while the user is asleep, the user may not be able to accurately record the extent of the scratching behavior. Passively collected data from wearable sensors such as accelerometers and / or gyroscopes can provide useful information to enable a user's mobile device to automatically log the user's scratching behavior.

[0016] For ease of explanation, the description herein focuses on the use of time-series movement data to detect eating (i.e., detect eating events) and / or to detect scratching behavior (i.e., detect scratching events). However, the digital features and techniques presented herein can be generalized to detect any desired user behavior or activity, or any event that can be experienced by a subject. For example, the techniques presented herein can be used to detect whether a user is walking, running, and / or exercising. The techniques presented herein may also be used to detect and / or infer insights regarding the manner in which a user is performing a particular behavior or activity. For example, the techniques presented herein can be used not only to detect the presence of scratching, but also to evaluate characteristics of the scratching behavior, such as its duration, its intensity, etc.

[0017] Such detection algorithms would ideally (but not necessarily) be executed in real time, so that results could be presented to the user almost immediately after the occurrence of a behavior or activity. It would also be advantageous for such real-time algorithms to be as computationally efficient as possible, requiring fewer computational resources and / or time to execute. Lightweight algorithms may be deployable entirely or primarily on a user's mobile device (e.g., a smartphone, smartwatch, and / or laptop computer) without requiring data to be transmitted over a network to a remote server for processing. Such algorithms may be easier to use in geographic locations where reliable network or Internet access is difficult, may be cheaper to implement at scale, and may provide faster results to users. Consequently, it is desirable to simplify such algorithms to make them easier or faster to execute. The devices, systems, and methods disclosed herein are directed to addressing these issues, among other issues.

[0018] As used herein, the terms "logic," "control logic," "application," "process," "method," "algorithm," and "instructions" may include software and / or firmware executing on one or more programmable processors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), hardwired logic, or combinations thereof. Thus, according to an embodiment, various logic may be implemented in any suitable manner and still be in accordance with the embodiments disclosed herein.

[0019] 1 shows a system 100 for detecting events. The events may include an eating event, in which a human subject 101 eats food, or a scratching event, in which the human subject 101 consumes food or drink. Alternatively, the events may include a scratching event, in which the human subject 101 scratches a part of their body. In yet other embodiments, the events may include other activities or behaviors exhibited by the subject 101. The system 100 includes a wearable actigraphy device 120 worn on the wrist of the human subject 101. The actigraphy device 120 may optionally be in wireless communication with a computing device 110. The computing device 110 may also be in communication with a server 160 via a network 150.

[0020] Computing device 110 illustratively includes a mobile device such as a smartphone. Alternatively, any suitable computing device may be used, including, but not limited to, a laptop, desktop, tablet, or server computer. Computing device 110 includes a processor 112, memory 116, a display / user-interface (UI) 118, and a communication device 119.

[0021] Processor 112 includes at least one processor that executes software and / or firmware stored in memory 116 of computing device 110. The software / firmware code includes instructions that, when executed by processor 112, cause processor 112 to perform functions described herein. Such instructions illustratively include event detector model 114 operable to implement functions described in more detail below. Memory 116 is any suitable computer-readable medium accessible by processor 112. Memory 116 may be a single storage device or multiple storage devices, may be located internal or external to processor 112, and may 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, optical disk storage, or any other suitable medium configured to store data and accessible by processor 112.

[0022] Computing device 110 includes a display / user interface 118 that communicates with processor 112 and operates to provide user input data to the system and to receive and display data, information, and prompts generated by the system. User interface 118 includes at least one input device for receiving and providing user input to the system. In the illustrated embodiment, user interface 118 is a graphical user interface (GUI) that includes a touchscreen display operable to display data and receive user input. The touchscreen display allows a user to interact with presented information, menus, buttons, and other data to receive information from and provide user input to the system. Alternatively, a keyboard, keypad, microphone, mouse pointer, or other suitable user input device may be provided.

[0023] Computing device 110 further includes a communication device 119 that enables computing device 110 to establish wired and / or wireless communication links with other devices. Communication device 119 may include one or more wireless antennas and / or signal processing circuitry for transmitting and receiving wireless communications and / or one or more ports for receiving physical wires for transmitting and receiving data. Using communication device 119, computing device 110 can establish one or more short-range communication links, including one or more of communication links 103 with actigraphy device 120. Such short-range communication links may 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 may be either unidirectional links (e.g., data flowing only from actigraphy device 120 to computing device 110) or bidirectional links (e.g., data flowing in both directions). Communication device 119 may also enable computing device 110 to establish a long-distance communication link with server 160 via network 150 and communication links 104 and 105. Server 160 may be located remotely from computing device 110, for example, in another building, another city, or even another country or continent. Network 150 may include any cellular or data network adapted to relay information from computing device 110 to and / or from server 160, possibly through one or more intermediate nodes or switches. Examples of suitable networks 150 include a cellular network, a metropolitan area network (MAN), a wide area network (WAN), and the Internet.

[0024] Actigraphy device 120 illustratively includes any sensor device worn on the body of subject 101 and recording data related to the movements and / or physiological characteristics of human 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 electromyogram (EMG) sensors, mechanomyogram (MMG) sensors, sound or vibration sensors, optical sensors, etc. Actigraphy device 120 may also include processing circuitry 122, which may include any processing circuitry that receives and processes data signals and outputs the results in the form of one or more electrical signals. 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 memory 127, which may include any of the possible types of memory described above. The actigraphy device also includes a communication device 128, which enables actigraphy device 120 to communicate with computing device 110 via communication link 103 and relay measured / recorded data to computing device 110. As shown in FIG. 1 , actigraphy device 120 may be a wrist-worn actigraphy device worn on the wrist of subject 101's dominant hand. In addition, actigraphy device 120 may be worn on subject 101's non-dominant wrist. Examples of suitable wrist-worn wearable sensors include Apple Watch®, FitBit®, etc. Additionally, actigraphy device 120 may be worn on other parts of subject's 101 body, such as the torso, neck, arm, or shoulder of subject 101.

[0025] Server 160 illustratively comprises any computing device configured to receive and process information from either actigraphy device 120 or computing device 110, either 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 a processing circuit 162, a memory 164, and a communication device 166. Processing circuit 162 may include any of the possible types of processing circuitry previously described. Processing circuit 162 is capable of executing software and / or firmware stored within memory 164 of server 160. The software / firmware code, when executed by processing circuit 162, includes instructions that perform the functions described herein. Memory 164 may also be configured to store information regarding one or more persons with diabetes, such as biographical and / or medical information (e.g., insulin administration records, medical history, a log of the subject's scratching behavior, etc.). Information received from or sent to computing device 110 may also be stored in memory 164. Memory 164 may include any of the possible types 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.

[0026] In some embodiments, system 100 may be modified by omitting one or more components. For example, if actigraphy device 120 is equipped with a long-range communication interface, actigraphy device 120 may communicate directly with server 160 over network 150, bypassing computing device 110 entirely. In some embodiments, server 160 may be omitted, and the methods and algorithms disclosed herein may be implemented solely on computing device 110, or solely on computing device 110 in conjunction with actigraphy device 120. In some embodiments, both computing device 110 and server 160 may be omitted, and the methods and algorithms disclosed herein may be implemented solely on actigraphy device 120, without requiring actigraphy device 120 to communicate with any other devices. In other embodiments, system 100 may be modified by adding components. For example, server 160 may be configured as multiple networked servers 160 working together to process information. Such a configuration of networked servers may be referred to as a "cloud" of servers performing the functions described herein. Server 160 may communicate with multiple computing devices 110 over network 150. In yet other embodiments, there may be multiple wearable actigraphy devices 120 attached to the body of subject 101, each collecting the same or different types of data.

[0027] System 100 is described herein as implementing event detector model 114 within processor 122 of actigraphy device 120. Event detector model 114 may be an eating detector model, a scratching detector model, or a model configured to detect some other type of subject behavior or activity. As described in further detail below, event detector model 114 is configured to detect whether a particular user behavior or activity (e.g., eating, scratching) occurs 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 functionality described herein. However, detector 114 may take other forms in other embodiments. For example, the functionality performed by detector model 114 may be implemented at least in part by dedicated hardware and / or firmware, such as a separate dedicated processor and / or processing circuitry. In some embodiments, the functionality performed by detector 114 may also be implemented in whole or in part on computing device 110 and / or server 160.

[0028] FIG. 2 shows an exemplary process 200 for detecting an event, according to some embodiments. For ease of explanation, the steps set forth in FIG. 2 are described below as being implemented on processing circuit 122 of actigraphy device 120, e.g., as part of event detector model 114. However, it should be understood that any of the steps described below with respect to FIG. 2 may be implemented on either computing device 110 or server 160. In some embodiments, some or all of the aforementioned devices may cooperate to implement process 200; for example, one device may perform some of the steps while another device performs other steps, or one device may perform some of the steps with the aid of intermediate calculations and / or data provided by other devices.

[0029] Process 200 begins at step 202, where processing circuit 122 of actigraphy device 120 receives time series data derived from raw data recorded by actigraphy device 120 worn on the 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., in three dimensions, such as along the x, y, and z axes). For ease of explanation, a x , a y , and a z Let denote the accelerometer data along the x-axis, y-axis, and z-axis, respectively, and g x , g y , and g z Let x, y, and z denote gyroscope data along the x-axis, y-axis, and z-axis, respectively. Such raw data may be recorded using any suitable sampling rate. In one exemplary embodiment, a sampling rate of 50 Hz may be used, although faster or slower sampling rates may also be used. As described above, the actigraphy device may have wearable sensors worn on the subject's dominant or non-dominant wrist, although other types of actigraphy devices may be used. To detect events primarily performed by one dominant hand (e.g., for eating events primarily performed using the subject's dominant hand), the actigraphy device may be configured to be worn on the subject's dominant wrist. The recorded raw data may include data recorded over a predetermined period of time, such as 1 minute, 2 minutes, 5 minutes, 10 minutes, or another suitable period of time. Thus, in summary, in one exemplary embodiment, the raw recorded data is divided into six separate data streams: a x , a y , a z , g x , g y , and g zThe data may include six data streams, each recorded over a simultaneous one-minute period using a sampling rate of 50 Hz (i.e., each of the six data streams has 3,000 distinct data points, for a total of 18,000 data points, all over the same one-minute period).

[0030] The received time series data may be derived from the raw recorded data in various ways. In some embodiments, the received time series data may be the same as the raw recorded data, i.e., 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 according to one, some, or all of the recorded data. For example, the received time series data may be calculated as a ratio of the sum of the raw recorded data (e.g.,

number

number

number

[0031] In step 204, the computing device 110 computes a set of birth and death coordinates for each topological feature of the plurality of topological features in the received time series data. Such coordinates can be calculated using techniques drawn from the mathematical field of topological data analysis. The set of birth and death coordinates corresponding to each topological feature is sometimes referred to in the field of topological data analysis as a "lifetime diagram." The topological features are derived from sub-level sets associated with a filtration threshold. The sub-level set for the time series data y(x) associated with the filtration threshold t

number

number

[0032]

number

[0033] Sublevel Set

number

number

number

[0034] 3A-3G graphically illustrate how to calculate a set of birth and death coordinates for multiple topological features in an exemplary set of time series data 302. The exemplary time series data 302 can be any of the processed time series data previously discussed as part of step 202. For clarity, the time series data 302 presented in FIGS. 3A-3G are merely example values ​​and are not the result of any actual experiments or simulations. In each of FIGS. 3A-3D, the x-axis represents time and the y-axis represents the value or magnitude of the time series data 302. To reveal 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. Each of FIGS. 3A-3G is associated with a different filtering threshold t (marked 304 in the figures). For example, FIG. 3A has a filtering threshold 304 of 2, FIG. 3B has a filtering threshold 304 of 6, FIG. 3C has a filtering threshold 304 of 7, FIG. 3D has a filtering threshold 304 of 9, FIG. 3E has a filtering threshold 304 of 12, FIG. 3F has a filtering threshold 304 of 13, and FIG. 3G has a filtering threshold of 18.

[0035] In this simplified example, Figure 3A (with a filtering threshold of 2) has one topological feature, denoted by the Roman numeral "I." This feature "I" is found in the sublevel set

number

number

[0036] As the filtering threshold 304 increases, topological features may be expected to change. Topological features that overlap in time are considered the “same” topological feature. Thus, for example, topological feature “I” in FIGS. 3A and 3B is considered the “same” topological feature even when the filtering threshold 304 is increased from 2 to 6 because these features overlap in time. As the filtering threshold 304 increases, some topological features may be expected to merge. For example, as shown in FIG. 3E, when the filtering threshold 304 is increased from 9 to 12, topological feature “I” (which appears first in FIG. 3A) and topological feature “IV” (which appears first in FIG. 3D) merge. In such a situation, topological features with earlier “births” (as described below) are considered to survive, while topological features with later “births” are considered to expire. For that reason, while FIG. 3E labels the merged topological feature “I+IV” for clarity, the merged feature in FIG. 3E may alternatively be labeled simply as feature “I” because feature “I” has an earlier birth than feature “IV.” Similarly, as shown in FIG. 3F , when the filtering threshold 304 is increased from 12 to 13, topological feature “II” and topological feature “III” merge. Because topological feature “II” (first appearing in FIG. 3B when the filtering threshold 304 is equal to 6) has an earlier “birth” than feature “III” (first appearing in FIG. 3C when the filtering threshold 304 is equal to 7), feature “II” is considered to survive, and feature “III” is considered to expire. Therefore, while FIG. 3F labels the merged topological feature “II+III” for clarity, the merged feature in FIG. 3F may alternatively be labeled simply as feature “II.” Finally, as shown in FIG. 3G, as the filtering threshold 304 increases from 13 to 18, topological feature “I+IV” (or simply feature “I” as discussed above) and topological feature “II+III” (or simply feature “II” as discussed above) merge.Because topological feature "I" (which first appears in FIG. 3A when filtering threshold 304 is equal to 2) has an earlier birth than topological feature "II" (which first appears in FIG. 3B when filtering threshold 304 is equal to 6), feature "I" is considered to survive and feature "II" is considered to expire. Thus, although FIG. 3G labels the merged topological feature "(I+IV)+(II+III)" for clarity, the merged feature in FIG. 3G may alternatively be labeled simply as feature "I."

[0037] The "birth" coordinate for a particular topological feature is the filtering threshold level t at which the particular topological feature emerges as the filtering threshold level increases from the minimum of y(x) to the maximum of y(x). Similarly, the "death" coordinate for a particular topological feature is the filtering threshold level t at which the particular topological feature expires. A particular topological feature is considered to "expire" when it merges with another topological feature that has an earlier birth coordinate, as discussed above.

[0038] 3A-3G, it can be seen that the exemplary time series data 302 has four topological features. Topological feature "III" emerges when the filtering threshold level 304 is equal to 7; therefore, feature "III" is considered to have a birth coordinate of 7. Feature "III" expires when the filtering threshold level 304 is increased to 13, at which point feature "III" merges with feature "II." Therefore, topological feature "III" is considered to have a death coordinate of 13. Expressed collectively, topological feature "III" is considered to have birth-death coordinates expressed in the form [birth coordinate, death coordinate] of [7, 13].

[0039] Topological feature "IV" similarly appears when filtering threshold level 304=9, and therefore feature "IV" is considered to have a birth coordinate of 9. Feature "IV" expires when filtering threshold level 304 equals 12, at which point feature "IV" merges with feature "I." Topological feature "IV" is therefore considered to have a death coordinate of 12. Expressed collectively, topological feature "IV" is considered to have birth-death coordinates of [9,12].

[0040] Topological feature "II" comes into existence when filtering threshold level 304 is equal to 6, and therefore feature "II" is considered to have a birth coordinate of 6. Feature "II" expires when filtering threshold level 304 is equal to 18, at which point feature "II" merges with feature "I". Topological feature "II" is therefore considered to have a death coordinate of 18. Expressed collectively, topological feature "II" is considered to have birth-death coordinates of [6,18].

[0041] Topological feature "I" comes into existence when filtering threshold 304 is equal to 2, and therefore feature "I" is considered to have birth coordinates of 2. Feature "I" does not merge with any other topological feature even when filtering threshold level 304 is increased to the maximum value of time series 302, i.e., 18. Therefore, feature "I" is considered to expire at the maximum value of filtering threshold 304, which is 18. Expressed collectively, feature "I" is considered to have birth-death coordinates of [2,18].

[0042] In the example scenario shown in FIGS. 3A-3G, each time two topological features merged (e.g., when feature "I" merged with feature "IV" or when feature "II" merged with feature "III"), one of the merging features had an earlier birth coordinate than the other merging feature. Therefore, it was clear which merged feature would survive and which would expire. However, when the time series data differs, two features with the same birth coordinate may merge. In such cases, the expiring and surviving merged features may be determined in other ways. For example, the surviving / expiring features may be determined randomly. Alternatively, a feature that occurs earlier or later in time may be designated as the surviving feature.

[0043] Returning to FIG. 2 , at step 206, the computing device 110 calculates a digital feature based on the calculated set of birth and death coordinates (i.e., lifetime diagram) for each topological feature in the plurality of topological features. The digital feature may simply be a value derived in some manner from the time series data 302. For example, in some embodiments, the computing device 110 may use all or some subset of the calculated set of birth and death coordinates (i.e., lifetime diagram) as the digital feature. In some embodiments, at step 206, the computing device 110 may calculate a life duration (L) for each respective topological feature in the plurality of topological features by subtracting the birth coordinate for that respective topological feature from the death coordinate for that respective topological feature. The computing device 110 may then calculate the digital feature based on at least one of the mean, standard deviation, skewness, kurtosis, and entropy of the calculated life durations (L) across all topological features in the received time series data. In some embodiments, alternatively or additionally, the computing device 110 may calculate the median life duration (M) for each respective topological feature in the plurality of topological features by calculating the mean average of the means of the set of birth and death coordinates for that respective topological feature. The computing device 110 may then calculate a digital feature based on at least one of the mean, standard deviation, skewness, kurtosis, and entropy of the calculated median life durations (M) across all topological features in the received time series data.

[0044] In some embodiments, in step 206, the computing device 110 may calculate the digital signature based on the norm of the Gaussian lifetime curve according to Equation 2.

[0045]

number

[0046] At step 208, the computing device 110 may determine, based on the calculated digital features, whether the time-series data indicates that an event (e.g., an eating event, a scratching event, or some other type of event) occurred. 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 make this determination using a rule-based logical approach (e.g., if-then or nested if-then statements). In some embodiments, the computing device 110 may make this determination using a trained machine learning model that accepts at least one digital feature calculated from step 206 as input and outputs a probability and / or binary prediction as to whether an event occurred (e.g., in the case of an eating event, whether the subject is eating; for a scratching event, whether the subject is scratching) based on the input digital features. The machine learning model may include a neural network model or any other suitable model or models, as further described herein.

[0047] If a machine learning model is used in step 208, the machine learning model may be pre-trained using training data. Multiple sets of training time series data similar to those discussed above in step 202 (e.g., each set of training time series data recorded for 1 minute, 2 minutes, 5 minutes, 10 minutes, or other time periods) may be provided, along with ground truth labels indicating whether each set of training time series data is associated with an event. For example, training data may be recorded from multiple test subjects being observed to determine whether they are undertaking the behavior or activity of a particular target subject. If the methods discussed herein are used to detect eating events, the training data may include data regarding whether the subject was eating or not eating at the time the training data was recorded. If the methods discussed herein are used to detect scratching events, the training data may include data regarding whether the subject was scratching or not scratching at the time the training data was recorded. A set of birth and death coordinates, i.e., a lifetime map, for each topological feature may be calculated (similar to step 204), and one or more digital features may be calculated for each set of training time series data (similar to step 206). These calculated digital features, along with ground truth event / non-event labels, may be used to train a machine learning model. The machine learning model may be pre-trained by the same device (e.g., computing device 110) that is using the model to detect events. Alternatively, the machine learning model may be pre-trained by another device, such as server 160.

[0048] The machine learning model may take different forms and may utilize any suitable machine learning technique. In some embodiments, the machine learning model may employ gradient boosting machine learning techniques to provide a predictive model in the form of an ensemble of weak predictive models, which may be decision trees. Alternatively, or additionally, the machine learning model may include a neural network model including trained weights. Examples of neural network models may include a convolutional neural network (CNN) or a simple neural network, or any variant thereof. The method for training the machine learning model may use any training algorithm, such as gradient descent and / or any other suitable algorithm. The trained machine learning model may be configured to output an indication of whether the subject is experiencing a particular event, for example, a binary indication (event vs. non-event) or a probability that the subject is experiencing the event, based on the calculated digital features.

[0049] 2 may be modified by changing, rearranging, deleting, and / or replacing any of 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 may be derived in alternative ways from the time series data received in step 202.

number

number

number

[0050] 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. Because many of the aforementioned digital features can be relatively easily computed for appropriate lengths of time (e.g., 1-, 5-, or 10-minute increments) of time series data, the aforementioned digital features may be computed using a mobile device possessing only modest or limited computational resources (e.g., computing power and / or memory). This allows process 200 to be implemented primarily or solely on actigraphy device 120 (e.g., a smartwatch) or computing device 120 (e.g., a smartphone) without requiring that data be transmitted to a remote server or cloud computing resources for computation.

[0051] In some cases, it may be desirable to detect eating events using only a subset of the aforementioned digital features to further reduce the computational load on a computing device implementing process 200. For example, the aforementioned machine learning model may be trained using only a selected subset of the aforementioned digital features, and then, during a testing phase, the model may be provided with data corresponding to only the selected subset of the digital features. In this manner, the computational time and / or resources required to implement both the testing and use of the machine learning model may be reduced.

[0052] In such embodiments, it may be useful to determine which of the aforementioned digital features is best to use to detect the event. This determination of which digital feature to use may be made in advance, offline, before training and using the machine learning model. Ideally, the selected digital feature is the digital feature that will contribute most to the accuracy and reliability of the final trained model.

[0053] FIG. 4 illustrates a process 400 for using a Bayesian probability-based approach to select a set of digital features to use in detecting an event, according to some embodiments. For ease of explanation, the steps illustrated in FIG. 4 are described below as being implemented on server 160. Because selecting digital features and training machine learning models generally requires a significant amount of time and / or computational resources, such steps are generally performed on server 160 in an offline manner. However, it should be understood that any of the steps described below with respect to FIG. 4 may be implemented on either actigraphy device 120 or computing device 110. In some embodiments, some or all of the aforementioned devices may cooperate to implement process 400; for example, one device may perform some of the steps while another device performs other steps, or one device may perform some of the steps with the help of intermediate calculations and / or data provided by the other device.

[0054] Process 400 begins at step 402, in which server 160 receives training data. The training data may include multiple sets of time series data derived from data recorded by an actigraphy device worn on the 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 set of time series data, the ground truth label indicating whether the respective set of data is derived from data recorded by the actigraphy device while the subject was experiencing an event (e.g., a label indicating whether the respective set of data is associated with an eating event or whether the respective set of data is associated with a scratching event). In some embodiments, the ground truth label may be a binary label indicating either that the event occurred or did not occur.

[0055] In step 404, server 160 calculates multiple types of digital features for each set of time series data in the multiple sets. The types of digital features calculated in this step 404 may include any of the types of digital features previously discussed.

[0056] In step 406, server 160 calculates the posterior probability for each model of the plurality of models. A model may include a latent algorithm (e.g., a trained machine learning model) that accepts as input all or a subset of the digital features calculated in step 404 and outputs an indication of whether the subject is experiencing an event (e.g., a binary output indicating either that the event occurred or did not occur). Each model evaluated by server 160 in step 406 accepts as input a different subset of the plurality of types of digital features.

[0057] If the server 160 calculates n types of digital features in step 404, the number of possible combinations of digital features, and therefore the number of models that can be evaluated in step 406, is 2 n , where σ is the number of models that can be evaluated. Because the number of models that can be evaluated increases exponentially with the number n of digital features, exploring all possible models in step 406 can 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 a subset of the “explored” models among 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 respective model being evaluated is an optimal model for detecting the target event given the received training data. As used herein, a explored model may be considered an “optimal” model if its prediction of whether a subject is experiencing an event matches the ground truth label with an accuracy that exceeds or matches (within a certain predefined tolerance threshold) the accuracy of any other possible model that can be constructed using any subset of the digital features calculated in step 404.

[0058] The following is a simplified description of one exemplary way in which server 160 can calculate such posterior probabilities: Full details regarding how this posterior probability can be calculated can be found in Nikooinejad et al., "Bayesian variable selection for binary outcomes in high-dimensional genomic studies using non-local priors," Bioinformatics, 32(9), 2016, 1338-1345 (referred to herein as "Nikooienejad 2016"), the entire contents of which are incorporated herein by reference.

[0059] y n =(y1,...,y n ) T Let y denote a vector of training data consisting of independent binary observations, and n is the number of observations, i.e., the number of sets of time series data received by server 160 in step 402. i is 1 if the ground truth label of the ith set of time series data indicates that the ith set of data is associated with an event (e.g., a feeding event or a scratching event); otherwise, y i is 0.

[0060] Let p represent the number of digital feature types calculated by server 160 in step 404. For ease of identification, the digital feature types calculated in step 504 may be indexed from 1 to p.

[0061] β k Let be the regression vector of px1 corresponding to model K. Denote model K = {k1,...,kj}, where (1≦k1<... <k j ≦p) and k1...k j represents the index of the digital features accepted as input by model K. As these digital features are accepted as input, β k1 (i.e., β k (k1th entry of )≠0,...,β kj (i.e., β k k j th entry) ≠ 0, and β k Assume all other elements of are zero.

[0062] The design matrix corresponding to model K is X k and has k columns, each column representing a digital feature accepted as input by model K. k Assume that each column of X is standardized so that each column has a mean of 0 and a variance of 1. k The i-th row of xik It is expressed as:

[0063] Furthermore, the training data y n Each individual element of y i Assume that is distributed according to:

[0064]

number

[0065] Prior constraints on the model space and regression parameters β k Under the assumption of a nonlocal prior density constraint on y, the posterior probability of model K is that the actually observed training data is y n This can be thought of as the probability that model K (which has the probability distribution shown in Equation 3 above) is the model that generated the training data, assuming it is provided by

[0066] From Bayes' theorem, the posterior probability that a particular model j is the best model out of a set J of possible models is specified as:

[0067]

number

[0068] Specific beta k Probability distribution π(y n |β k ) is the regression coefficient β k Given a model K with training data y -n is the likelihood of observing , which can be calculated according to Equation 3 above. However, to calculate the posterior probability of model j, the prior density π(β k ), as well as the prior model probability for model K, i.e., p(k).

[0069] Prior distribution density π(β k ) can be calculated using a non-local prior by specifying two parameters τ and r. Specifically, π(βk ) can be calculated as follows:

[0070]

number

[0071] Here, β k is a vector of coefficients of length k, with r, τ>0. The hyperparameter τ represents a scale parameter that determines the variance of the prior distribution around 0, and r is similar to the shape parameter in an inverse gamma distribution and determines the tail behavior of the density. τ and r are configurable parameters and may be changed depending on the embodiment. For example, in some embodiments, r may be set to 1 and τ may be set to 3, although other positive values ​​are possible. Details regarding methods for selecting appropriate values ​​for r and τ are further discussed in Nikooinejad 2016, the entire contents of which are incorporated herein.

[0072] The prior probability of the model Kp(k) can be calculated according to the following formula:

[0073]

number

number

number

[0074] Generally, any search algorithm for determining which of all possible models to explore (i.e., for calculating the posterior probability for it) can be used. For example, in some embodiments, a purely random search algorithm that selects a predetermined set of models for calculating the posterior probability can be used. In other embodiments, a simple birth-death process can be used to explore the model space. Such a scheme can calculate the posterior probability of an initial model that first accepts a randomly determined set of digital feature types. In each iteration of this scheme, a number i between 1 and p is randomly selected. A candidate model is constructed by inverting the inclusion status of the i-th digital feature, i.e., if the current model includes the i-th digital feature, the candidate model does not include that feature, and if the current model does not include the i-th digital feature, the candidate model includes that feature. Then, this scheme can calculate whether to move from the current model to the candidate model (i.e., whether to accept the candidate model) according to a probability r. Here, r is determined as follows.

[0075]

Number

[0076] Such a scheme explores the possible model space by evaluating one model at a time and determining whether to move from the current model to the candidate model in each iteration according to Equation 8. After exploring a predetermined number N of candidate models (and calculating N different posterior probabilities), the scheme can end.

[0077] Returning to FIG. 4 , in step 408, server 160 may select a narrowed subset of the multiple types of digital features based on the posterior probability calculated for each model in step 406. This may be done by calculating a score for each type of digital feature calculated in step 404 that indicates the extent to which the digital feature contributed to the accuracy of the model for detecting the event. The score may be calculated based at least in part on the posterior probability calculated for each model in step 406. For example, the score for each digital feature may include the sum of the posterior probabilities for each model that includes the digital feature. Such a score may also be referred to herein as a “posterior inclusion probability” or “PIP.”

[0078] 5 shows an example of how such a PIP is calculated in step 408. Consider an illustrative example in which, at the end of step 406, server 160 has calculated the posterior probabilities of four models. Each model accepts as input a different subset of three different digital features, denoted 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 inputs. Model 2 (504) has a calculated posterior probability of 10% and accepts only Digital Features 3 as inputs. Model 3 (506) has a calculated posterior probability of 20% and accepts only Digital Features 2 and 3 as inputs. Model 4 (508) has a calculated posterior probability of 15% and accepts only Digital Features 1 and 2 as inputs. The PIP for Digital Feature 1 is the average of the posterior probabilities of the models accepting Digital Feature 1 as input. In this example, only models 1 and 4 accept digital feature 1 as an input, so the PIP for 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 for digital feature 2 is the sum of the posterior probabilities of the models that accept digital feature 2 as an input. Under this example, only models 3 and 4 accept digital feature 2 as an input, so the probability score for 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 for digital feature 3 is calculated similarly, the score in this example is 37%.

[0079] Once the PIPs of the digital features are selected, a narrowed 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 ranked digital features may be selected, where M is a configurable parameter. In some embodiments, digital features with PIPs above a certain configurable threshold may be selected. To reduce the computational resources required to train and / or use the machine learning model, the narrowed subset of digital features should be less than the number of digital features calculated in step 404 of FIG. 4.

[0080] In some embodiments, server 160 can calculate the posterior probabilities of each explored model using the public R package BVSNLP (Bayesian Variable Selection in High Dimensional Settings using Nonlocal Priors), published online by Amir Nikooienejad et al. on June 29, 2020. The BVSNLP algorithm is described in Nikooienejad et al., "Bayesian Variable Selection for Survival Data Using Inverse Moment Priors," Ann Appl Stat. 2020 June;14(2):809-828, 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 efficient in p but not in n. In some embodiments, when the BVSNLP package is used to calculate posterior probabilities according to the process described herein, the number of observations n can significantly exceed the number of digital features being evaluated. To improve the computational efficiency of the BVSNLP algorithm in such a scenario, the complete training dataset can be randomly divided into batches (e.g., 6,000 batches) with an equal number of observations (e.g., 1,000 observations) in each batch. In each batch, the ratio of observations with ground truth labels indicating an event to observations with ground truth labels not indicating an event can be kept the same as in the original dataset to prevent any potential bias. Each batch can then be processed separately by the BVSNLP method. After the BVSNLP method is performed on each batch, the digital features can be ranked according to their PIPs and the top X variables by PIPs extracted for each batch (where X is a configurable parameter).Finally, to merge the output from all batches (e.g., all 6,000 batches), the pooled list of all selected features is grouped by variable name and the PIPs of multiple instances of the feature are averaged. Finally, the top Y variables with the highest PIPs are selected, where Y is a configurable parameter.

[0081] 4 , at step 410, a machine learning model may be trained using only the narrowed subset of the types of digital features selected in step 408. In this manner, the computational resources and time required to train the machine learning model may be reduced. The computational resources required to use the trained machine learning model may also be reduced. In some embodiments, a machine learning model that accepts as input only the narrowed subset of digital features selected using process 400 may be implemented on a mobile device, such as a smartphone, tablet, smartwatch, or portable computer.

[0082] The terms "first," "second," "third," and the like, whether used herein or in the claims, are provided to distinguish between similar elements and do not necessarily describe a sequential or chronological order. It is to be understood that the terms so used are interchangeable under appropriate circumstances (unless otherwise expressly disclosed), and that the disclosed embodiments described herein are capable of operation in other orders and / or configurations than those described or illustrated herein.

[0083] While this invention has been described as having an exemplary design, the present invention can be further modified within the spirit and scope of this disclosure. This application is therefore intended to cover any variations, uses, or adaptations of the invention using its general principles. Further, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains.

[0084] Various aspects are described in this disclosure, including but not limited to the following aspects. 1. A computerized method for detecting whether a subject is experiencing an event, using one or more processors, the computerized method comprising: receiving time series data derived from data recorded by an actigraphy device worn on the subject's wrist; calculating a set of birth and death coordinates for each topological feature of a plurality of topological features in the received time series data; calculating a digital feature based on the calculated set of birth and death coordinates for each topological feature in 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. 2. The method of aspect 1, wherein each topological feature in the plurality of topological features is associated with a contiguous segment of time during which the time series data is below a filtering threshold. 3. The method of aspect 2, wherein calculating the set of birth and death coordinates includes increasing a filtering threshold to identify the set of birth and death coordinates. 4. The method of embodiment 3, wherein the birth coordinate for each topological feature corresponds to a first level of the filtering threshold at which the topological feature first appears as the filtering threshold increases. 5. The method of any one of aspects 2-4, wherein the death coordinate for each topological feature specifies a second level of the filtering threshold at which the topological feature first disappears as the filtering threshold increases. 6. The method according to any one of aspects 2 to 5, wherein the total number of topological features at the specified level of the filtering threshold corresponds to the Betti number of the time series data at the specified level of the filtering threshold. 7. The method of any one of aspects 1-6, wherein calculating the digital signature includes calculating a lifespan duration (L) for each topological feature in the plurality of topological features by subtracting a birth coordinate for the topological feature from a death coordinate for the topological feature. 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 span (L) for each topological feature. 9. The method of any one of aspects 1-6, wherein calculating the digital features includes calculating a median life span (M) for each topological feature by calculating an average of the averages of the set of birth and death coordinates for that topological feature. 10. The method of aspect 9, wherein the digital features include at least one of the mean, standard deviation, skewness, kurtosis, and entropy of the calculated median life span (M) for each topological feature. 11. The method of any one of aspects 1-10, wherein the received time series data is derived from at least one of accelerometer data and gyroscope data. 12. The method of aspect 11, wherein the received time series data is derived from recorded accelerometer data having ax, ay, and az components. 13. The method of aspect 11, wherein the received time series data is derived from recorded gyroscope data having gx, gy, and gz components. 14. The method of any one of aspects 1-13, wherein determining whether the time series data indicates that the subject is experiencing the event comprises providing the calculated digital features to a trained machine learning model; and obtaining a prediction from the trained model regarding whether the calculated digital features indicate that the subject is experiencing the event. 15. The method of any one of aspects 1-14, wherein the actigraphy device is worn on the wrist of the subject's dominant hand. 16. The method of any one of aspects 1-15, wherein the method is implemented entirely on a handheld mobile device. 17. The method of any one of aspects 1-16, wherein the event comprises a feeding event. 18. The method of any one of aspects 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; and one or more processors configured to execute the instructions to perform a method described in any one of aspects 1-16. 20. The system of aspect 19, further comprising an actigraphy device. 21. A non-transitory computer-readable medium storing instructions operable, when executed by one or more processors, to cause the one or more processors to perform a method described in any one of aspects 1-18. 22. A computerized method for using one or more processors to train a machine learning model to detect whether a subject is experiencing an event, the computerized method comprising: receiving training data including multiple sets of time series data derived from data recorded by an actigraphy device worn on the subject's wrist; and ground truth labels associated with each respective set of time series data indicating whether the respective set of data is derived from data recorded by the actigraphy device while the subject is experiencing an event; calculating multiple types of digital features for each set of time series data in the multiple sets; calculating, for each model of the multiple models, a posterior probability that the model is an optimal model for detecting whether the subject is experiencing an event given the received training data, wherein each model of the multiple models accepts as input a different subset of the multiple types of digital features; selecting a narrowed subset of the multiple types of digital features based on the calculated probability; and training the machine learning model using the narrowed subset of the types of digital features to detect whether the subject is experiencing the event. 23. The method of aspect 22, wherein the plurality of models is less than the number of possible subsets of the plurality of types of digital features. 24. The method of aspect 22 or 23, wherein selecting the narrowed subset based on the calculated probabilities includes: calculating, for each type of digital feature in the plurality of types of digital features, a posterior inclusion probability by summing the calculated probabilities for each model among the plurality of models that use the type of digital feature as an input; and selecting the narrowed subset based on the calculated posterior inclusion probability. 25. The method of aspect 24, wherein selecting the narrowed subset based on the calculated probabilities includes ranking each type of digital feature according to the calculated posterior inclusion probability, and selecting a predetermined number of digital features having the highest calculated posterior inclusion probability. 26. The method of any one of aspects 22-25, wherein the time series data is derived from at least one of accelerometer data and gyroscope data. 27. The method of aspect 26, wherein the received time series data is derived from recorded accelerometer data having ax, ay, and az components. 28. The method of aspect 26, wherein the received time series data is derived from recorded gyroscope data having gx, gy, and gz components. 29. The method of any one of aspects 22-28, wherein the actigraphy device is worn on the wrist of the subject's dominant hand. 30. The method of any one of aspects 22-29, wherein the event comprises a feeding event. 31. The method of any one of aspects 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; and one or more processors configured to execute the instructions to perform a method described in any one of aspects 22-29. 33. The system of aspect 30, further comprising an actigraphy device. 34. A non-transitory computer-readable medium storing instructions operable, when executed by one or more processors, to cause the one or more processors to perform a method described in any one of aspects 22-29.

Claims

1. 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 the subject's wrist; calculating birth and death coordinates for each topological feature of a plurality of topological features in the received time series data; calculating a digital feature based on the calculated birth and death coordinates for each topological feature in the plurality of topological features; determining whether the time series data indicates that the subject is experiencing the event based on the calculated digital signature; each topological feature in the plurality of topological features is associated with a consecutive segment of time during which the time series data is below a filtering threshold; calculating the birth and death coordinates for each topological feature includes increasing the filtering threshold to identify the birth and death coordinates of the topological features; Computerized methods.

2. The method of claim 1 , wherein the birth coordinate for each topological feature corresponds to a first level of the filtering threshold at which the topological feature first appears as the filtering threshold increases.

3. The method of claim 1 , wherein the death coordinate for each topological feature specifies a second level of the filtering threshold at which the topological feature first disappears as the filtering threshold increases.

4. The method of claim 1 , wherein the total number of topological features at a specified level of the filtering threshold corresponds to a Betti number of the time series data at the specified level of the filtering threshold.

5. 2. The method of claim 1 , wherein calculating the digital features comprises calculating a lifespan duration (L) for each topological feature in the plurality of topological features by subtracting the birth coordinate for the topological feature from the death coordinate for the topological feature.

6. The method of claim 5 , wherein the digital features include at least one of the mean, standard deviation, skewness, kurtosis, and entropy of the calculated life span (L) for each topological feature.

7. 2. The method of claim 1, wherein calculating the digital features comprises calculating a median life duration (M) for each topological feature by calculating an average of the birth and death coordinate averages for the topological feature.

8. The method of claim 7 , wherein the digital features include at least one of the mean, standard deviation, skewness, kurtosis, and entropy of the calculated mean life duration (M) for each topological feature.

9. The method of claim 1 , wherein the received time series data is derived from at least one of accelerometer data and gyroscope data.

10. The received time series data is x , a y , and a z 10. The method of claim 9, wherein the component is derived from recorded accelerometer data.

11. The received time series data is g x , g y , and g z 10. The method of claim 9, wherein the component is derived from recorded gyroscope data.

12. 2. The method of claim 1, wherein determining whether the time series data indicates the subject is experiencing the event comprises: providing the calculated digital features to a trained machine learning model; and obtaining a prediction from the trained model regarding whether the calculated digital features indicate the subject is experiencing the event.

13. The method of claim 1 , wherein the actigraphy device is worn on the subject's dominant wrist.

14. The method of claim 1 , wherein the method is performed entirely on a handheld mobile device.

15. The method of claim 1 , wherein the event comprises a feeding event.

16. The method of claim 1 , wherein the event comprises a scratch event.

17. 1. A system for detecting whether a subject is experiencing an event, the system comprising: a memory for storing computer-executable instructions; and one or more processors configured to execute the instructions to perform the method of any one of claims 1 to 16.

18. 20. The system of claim 17, further comprising an actigraphy device.

19. A non-transitory computer readable medium storing instructions operable, when executed by one or more processors, to cause the one or more processors to perform the method of any one of claims 1 to 16.

20. 1. 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: a plurality of sets of time series data derived from data recorded by an actigraphy device worn on the subject's wrist; a ground truth label associated with each respective set of time series data, the ground truth label indicating whether the respective set of data is derived from data recorded by the actigraphy device while the subject was experiencing the event; and receiving training data, calculating a plurality of types of digital features for each set of time series data in the plurality of sets; calculating, for each model of a plurality of models, a posterior probability that the model is an optimal model for detecting whether the subject is experiencing the event given received training data, wherein each model of the plurality of models accepts as input a different subset of the plurality of types of digital features; selecting a narrowed subset of the plurality of types of digital features based on the calculated probabilities; and and training a machine learning model using the narrowed subset of types of digital features to detect whether the subject is experiencing the event.

21. The method of claim 20 , wherein the plurality of models is less than the number of possible subsets of the plurality of types of digital features.

22. Selecting the narrowed subset based on the calculated probabilities includes: calculating, for each type of digital feature in the plurality of types of digital features, a posterior inclusion probability by summing the calculated probabilities for each model in the plurality of models that uses the type of digital feature as an input; and selecting the narrowed subset based on the calculated posterior inclusion probability.

23. Selecting the narrowed subset based on the calculated probabilities includes: ranking each type of digital feature according to the calculated posterior inclusion probability; and selecting a predetermined number of digital features having the highest calculated posterior inclusion probabilities.

24. The method of claim 20 , wherein the time series data is derived from at least one of accelerometer data and gyroscope data.

25. The received time series data is a x , a y , and a z 25. The method of claim 24, wherein the component is derived from recorded accelerometer data.

26. The received time series data is g x , g y , and g z 25. The method of claim 24, wherein the component is derived from recorded gyroscope data.

27. 21. The method of claim 20, wherein the actigraphy device is worn on the subject's dominant wrist.

28. 21. The method of claim 20, wherein the event comprises a eating event.

29. The method of claim 20 , wherein the event comprises a scratch event.

30. 1. A system for training a machine learning model to detect whether a subject is experiencing an event, the system comprising: a memory for storing computer-executable instructions; and one or more processors configured to execute the instructions to perform the method of any one of claims 20 to 29.

31. 31. The system of claim 30, further comprising an actigraphy device.

32. A non-transitory computer readable medium storing instructions operable, when executed by one or more processors, to cause the one or more processors to perform the method of any one of claims 20 to 29.

Citation Information

Patent Citations

  • Systems and methods for monitoring and measuring itch

    JP2020507434A

  • Automatic detection of physical behavior events and corresponding adjustment of medication administration systems

    JP2022506115A

  • Prediction based delivering or guiding of therapy for diabetes

    US20210060246A1