Patent Description:
The one or more embodiments relate generally to the field of human computer interaction technology, and more particularly to a method, apparatus and system for calibrating a user activity model used by a mobile device.

The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also be inventions.

<CIT> discloses a sensor system including one or more gyroscopes and one or more accelerometers, for measuring subtle motions of a user's body. The system estimates physiological parameters of a user, such as heart rate, breathing rate and heart rate variability. When making the estimates, different weights are assigned to data from different sensors. For at least one estimate, weight assigned to data from at least one gyroscope is different than weight assigned to data from at least one accelerometer. Also, for at least one estimate, a weight assigned to one or more sensors located in a first region relative to the user's body is different than a weight assigned to one or more sensors located in a second region relative to the user's body. <CIT> discloses an apparatus for determining activity likelihood function values for an activity classification for two or more past epochs based, at least in part, on signals from one or more sensors of a mobile device. A method may comprise, for each of a plurality of activity classifications, determining activity likelihood function values for each of the plurality of activity classifications for two or more past epochs. The activity likelihood function values may be based on signals from one or more sensors of a mobile device. <CIT> discloses a method of operating an electronic device that includes collecting initial motion activity data from at least one sensor of the electronic device, and generating a initial probabilistic context of the electronic device relative to its surroundings from the initial collected motion activity data using a motion activity classifier function. <CIT> discloses determining sensor signals corresponding to motions of a computing device. Activities of a user corresponding to the computing device are determined by selecting activity types which are based on the sensor signals, a set of user characteristics associated with the user, a classification of the set of user characteristics, and signal parameters.

Human activity monitoring devices are becoming increasingly popular. Different devices can use different approaches to interpreting data collected from device sensors. Problems can arise however, when models used to interpret sensor data are based on samples from a mainstream group of people.

The following presents a summary to provide a basic understanding of one or more embodiments of the invention. Its sole purpose is to present concepts in a simplified form as a prelude to the more detailed description that is presented later. The invention relates to a method according to independent claim <NUM>, a mobile device according to independent claim <NUM> and a computer-readable recording medium according to independent claim <NUM>. Advantageous embodiments appear from the dependent claims. In one or more embodiments described herein, devices, systems, methods, and computer-implemented methods are described that can facilitate calibrating a user activity model of a user device.

The included drawings are for illustrative purposes and serve only to provide examples of possible structures and process steps for the disclosed techniques.

Applications of methods and apparatus according to one or more embodiments are described in this section. These examples are being provided solely to add context and aid in the understanding of the present disclosure. It will thus be apparent to one skilled in the art that the techniques described herein may be practiced without some or all of these specific details. In other instances, well known process steps have not been described in detail in order to avoid unnecessarily obscuring the present disclosure. Other applications are possible, such that the following examples should not be taken as definitive or limiting either in scope or setting.

In the following detailed description, references are made to the accompanying drawings, which form a part of the description and in which are shown, by way of illustration, specific embodiments. Although these embodiments are described in sufficient detail to enable one skilled in the art to practice the disclosure, it is understood that these examples are not limiting.

One or more embodiments may be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, a computer readable medium such as a computer readable storage medium containing computer readable instructions or computer program code, or as a computer program product comprising a computer usable medium having a computer readable program code embodied therein.

The figures in the following description relate to preferred embodiments by way of illustration only. It should be noted that from the following discussion, alternative embodiments of the structures and methods disclosed herein will be readily recognized as viable alternatives that may be employed without departing from the principles of what is claimed.

Generally speaking, one or more embodiments can improve the accuracy of the use of human-computer interaction (HCI) technologies, specifically, HCI interactions where a device selects an activity likely to be occurring based on sensor data of the device. As described further below, one or more embodiments can modify the output of a trained model without retraining the estimators of the model, and in some circumstances described herein, embodiments described herein can significantly increase the accuracy and F-<NUM> scores for the identification of activities for certain types of users and activity classes.

<FIG> illustrates an example of a system <NUM> that can calibrate an activity model used by device <NUM> based on weights generated by personal weight determiner <NUM>, in accordance with one or more embodiments.

Device <NUM> can take any of a variety of forms, including but not limited to, a cellular telephone, personal computer, a personal digital assistant, smart watch, and any other device that has sensors <NUM> capable of sensing different conditions. In this regard, it will be appreciated that while the components of touch sensitive device <NUM> are illustrated as being within a single housing, this is optional, and these components may be located in separately housed components, such as external sensors configured to provide data to device <NUM>, e.g., a heart rate monitor, pace sensor, step sensor, and other similar sensor components that can be external to the housing of device <NUM>.

Device <NUM> can include various I/O components, including but not limited to touch sensing system <NUM>, display system <NUM>, audio system <NUM>, and sensors <NUM>, these being coupled in this example via interface unit <NUM> to signal processing unit <NUM>. Signal processing unit <NUM> can receive signals from interface unit <NUM> that can be in digital form, and prepare the signals for further processing. Signal processing unit <NUM> may perform at least one of sampling, quantization and encoding processes to convert such analog signals into a digital signal. Signal processing unit <NUM> may provide the digital signals to processor <NUM> and other system components.

In one or more embodiments, display system <NUM> can output an image using display <NUM>, touch sensing system <NUM> can receive touch input using touch sensing surface <NUM>, and audio system output audio using audio sensor <NUM> (e.g., a microphone and or connection to a microphone) and audio output <NUM>, such as a speaker or connection to a speaker.

Device <NUM> can also have processor <NUM> such as a micro-processor, microcontroller, or any other type of programmable control device, or a preprogrammed or dedicated processing or control system. Used by processor <NUM>, device <NUM> can further include memory system <NUM>. Memory system <NUM> can be capable of providing programming and other forms of instructions to processor <NUM> and that can be used for other purposes. Memory system <NUM> may include read only memory, random access semiconductor memory or other types of memory or computer readable media that may be permanently installed or separably mounted to device <NUM>. Additionally, device <NUM> can also access another memory system <NUM> that is separate from touch sensitive device <NUM> by way of communication system <NUM>. In one or more embodiments, database <NUM> can also be provided to store programs and other data, e.g., generated personal weights.

Communication system <NUM> can take the form of any optical, radio frequency or other circuit or system that can convert data into a form that can be conveyed to an external device by way of an optical signal, radio frequency signal or other form of wired or wireless signal. Communication system <NUM> may be used for a variety of purposes including but not limited to sending and receiving instruction sets and exchanging data with remote sensors or memory systems.

According to one embodiment of the invention, at least some of the functions of general model components <NUM>, personal weight applier <NUM>, personal weight determiner <NUM>, interface unit <NUM>, signal processing unit <NUM>, database <NUM>, and other components discussed below, can be program modules to control or communicate with other commonly known hardware components or components for executing software. In one or more embodiments, program modules can be included in device <NUM> in the form of operating systems, application program modules or other program modules, and can be physically stored in a variety of commonly known storage devices. Further, the program modules can be stored in a remote storage device that may communicate with touch sensitive device <NUM> by way of communication system <NUM>. Such program modules can also include, but are not limited to, routines subroutines, programs, objects, components, data structures and the like for performing specific tasks or executing specific abstract data types as described below in accordance with the present invention. Such program modules may also be expressed in terms of configurations of hardware adapted to perform the functions associated with such modules.

To further describe the functions and capabilities of one or more embodiments, general model components <NUM>, personal weight applier <NUM>, and personal weight determiner <NUM> are discussed with examples below.

<FIG> illustrates a more detailed view of general model components <NUM> and the operation of personal weight applier <NUM> and personal weight determiner <NUM>, in accordance with one or more embodiments. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

One approach that can be used to recognize activities combines the sensor data with a model that can interpret the data. For example, when a device is in the pocket of a sitting person, example sensor outputs can include the angle of the device as measured by a gyroscope sensor, the stillness of the device measured by an accelerometer, a lack of touches on a touch interface of the device, and other combinations of data, both known and discoverable by experimental use. Based on this example sensor data, a device can determine that the user of the device is likely to be currently sitting, and provide functions based on this determination, e.g., turn off location detecting sensors, provide notifications by a custom vibration, and other actions associated with the determination.

In some implementations, device <NUM> can determine the occurrence of different activities by employing general model components <NUM>. Included in these components are individual estimators 215A-D that can utilize some or all of analyze sensors <NUM> data and detect a specific activity or combinations of activities associated with the individual estimators 215A-D. For example, estimator 215A can be configured to determine a likelihood that device <NUM> is in pocket of a user, e.g., by analyzing light sensor, accelerometer, and gyroscope data. Alternatively, estimator 215A can be configured to identify a combination of activities, e.g., device <NUM> is in a pocket, and the user is sitting, sensor data associated with this example being discussed with the introduction above. In another alternative, these two activities can be identified by different estimators 215C-D, and, the results can be grouped into an estimator group <NUM>, with a single value being provided for the combination.

In some circumstances, general model components <NUM>, being trained with data designed to accurately measure a majority of users, can be inaccurate for a minority of users. For example, when detecting a "standing up from sitting" activity, the data collected for the standard model may not apply accurately to children, people with disabilities, or elderly people, e.g., the speed and mechanics of the movements of the majority of people can be significantly changed based on youth, disability, or advanced age. Another example activity that can be inaccurately evaluated by standard models, in some circumstances, is a "running" activity. Different users have different concepts of running, with, in some circumstances, the running activity of an elderly person being evaluated as walking, e.g., because of the speed and vigorousness of the movements.

One reasons that the above inaccuracies can occur is that the models used to analyze sensors <NUM> data to determine likely activities are not customized to the specifics of a particular user. To improve the accuracy of the determination of likely activities by a device, one or more embodiments can receive an indication from a standard model regarding a particular activity, e.g., a determined likelihood that a user of a device is currently walking, and as detailed below, based on a custom assessment of the user of the device, can apply a weight to this value, e.g., making the activity more likely, less likely, or the same likelihood. This changed value can then be evaluated by an activity trigger component <NUM> of general model components <NUM> to determine whether the modified likelihood is sufficient to trigger activity output <NUM>. In an example, activity output <NUM> can cause actions to be performed associated with walking, e.g., step detection, turning on location determining sensors, and other activities associated with walking.

In one or more embodiments, the weighting of output from estimators 215A-D can also be termed as tuning, calibrating, adjusting, boosting, and other similar terms. As noted above, estimators can generate output (e.g., likelihoods of an activity occurring), and as described herein, this output can also be termed estimators parameters. As used herein, weights can be termed personal weights, individual weights, estimator weights, and other similar terms. The terms described in this paragraph are only examples of equivalent terms, and other terms used herein can have equivalent or similar meanings without being specifically noted.

It should also be noted that, as used in multiple example embodiments described herein the nonlimiting example model used by estimators can be a gradient boosting machine (GBM), e.g., a machine learning (ML) approach. One having skill in the relevant art(s), given the description herein, would understand the methodology behind the training of standard estimators, e.g., GBM ML models. As discussed further herein, in one or more embodiments, data collected using sensors <NUM> can be used to determine weights (WJP) applied to alter results the GBM. Notwithstanding the discussion of GBM models herein, one having skill in the relevant art(s), given the description herein would appreciate that other models can also be calibrated based on one or more embodiments.

In one or more embodiments, to address some of the circumstances noted above, personal weight determiner <NUM> can receive sensor <NUM> data and select weights 225A-C to modify the output values of general model components <NUM>, including estimators 215A-215D. In this approach, one or more embodiments can use a transfer learning based approach where a standard model has already trained on an available data set and provided on device <NUM>, and once a user has the device, changes can be made to the standard results based on a smaller, individualized data set. To generate this data set, one or more embodiments can do one or more of, collecting data from everyday, normal use (e.g., walking is done frequently), or specifically prompt a user to perform a specific activity, at a specific time, e.g., sitting, running, driving, and other activities.

In one or more embodiments, once one or more estimators 215A-D generate likelihoods of the occurrence of different activities, in accordance with general model components <NUM>, activity trigger component <NUM> can evaluate the one or more likelihoods of the activities identified by estimators 215A-D and determine whether to trigger the occurrence of events associated with one or more activities, e.g., an activity output <NUM>. Stated differently, activity trigger component <NUM> can evaluate multiple estimators 215A-D by using ensemble algorithms like Random Forests. In this algorithm, the average of the outputs of relevant estimators is determined, e.g., models in the ensemble. Once the outputs are aggregated, a determination of a triggered activity can be made by activity trigger component <NUM>. Considered within this context, weighting of estimator 215A-D outputs by one or more embodiments can be termed boosting ensemble methods.

Returning to the example, for an example person moving quickly, both walking estimator 215A and running estimator 215B, can generate likelihoods that respective activities are occurring. In a simple determination, activity trigger component <NUM> can select the highest likelihood and compare this value to a threshold to determine a walking or running activity. In other approaches combinations of other sensors <NUM> can also provide relevant data, e.g., an accelerometer could determine the vigorousness which an individual is moving.

In one or more embodiments, personal weight applier <NUM> can apply weights to individual estimator outputs before these estimates are evaluated by activity trigger component <NUM>. Thus, in an example where a model determines that a likelihood of running is <NUM>% and a likelihood of walking is <NUM>%, for a person (e.g., a child or disabled person) determined (by analysis of sensor data by personal weighting determiner <NUM>) to be subject to false running negative results (e.g., the <NUM>% value is erroneously assigned), personal weight determiner <NUM> can apply a weight 225B that identifies the running estimator 215B as likely having a falsely low value, and personal weight applier <NUM> can apply weight 225B and increase the likelihood of running being determined from <NUM>% to <NUM>%, thereby beneficially adjusting the application of general model components <NUM>.

It is important to note that, in one or more embodiments using this approach, estimators 215A-D are not modified, this being beneficial because, in some circumstances, the estimators 215A-D could not be altered on device <NUM>. With this approach, in some circumstances, one or more embodiments can improve the accuracy of the system for a specific user of device <NUM>, without having to change the installed models. In an additional benefit of not modifying estimators 215A-D, the retraining of aspects of a standard model in device <NUM> can require significant computing resources and time, e.g., potentially more resources than device <NUM>, potentially being a smartwatch, has available.

In yet another benefit of the one or more approaches described herein, in some circumstances, the retraining of a standard device model may be impracticable because only a limited data set is available for retraining. For example, a GBM can be trained on data based on 'running' and 'walking' activities available from many users. However, this data set may not represent every kind of human behavior in real life. This may result in decrease in the accuracy of activity recognition.

Turning now to additional detail regarding sensors <NUM>, these component can include, but are not limited to:.

The analysis of data from sensor <NUM> can be performed by different system components, including personal weight determiner <NUM>, using a variety of functions, including, but not limited to:.

Personal weight determiner <NUM> can also use other approaches to determine weights, including but not limited to, basic heuristics, decision trees, Support Vector Machine, Random Forest, Naive Bayes, elastic matching, dynamic time warping, template matching, k-means clustering, K-nearest neighbors algorithm, neural network, Multilayer perceptron, multinomial logistic regression, gaussian mixture models, and AdaBoost.

<FIG> depicts example formulas <NUM> that can describe the modifying of GBM model parameters, in accordance with one or more embodiments. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

<FIG> depicts example formulas <NUM> that can describe using loss functions to select a weight 225A to be applied to an estimator 215A, in accordance with one or more embodiments. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

<FIG> depicts a flowchart <NUM> of the one-user-out cross validation (CV) procedure for tuning the GBM model weights and model evaluation, in accordance with one or more embodiments. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

In this section, flowchart <NUM> is discussed using two publicly available data sets. The first data set is called "Daily and Sports Activities Data Set," and the second data set is called "PAMAP2 Data-set: Physical Activity Monitoring. " In one or more embodiments, one-user-out cross-validation (CV) and F-<NUM> scores can be compared using these data sets for a baseline GBM and a tuned GBM. Flowchart <NUM> shows the flowchart of the one-user-out CV procedure for tuning the GBM weights and model evaluation, with the baseline GBM one-user-out CV being calculated by training GBM using (N-<NUM>) training users data at block <NUM>. At block <NUM>, for tuning the GBM weights, the Nth user's data is split to Sets A and B. Initially, at block <NUM>, GBM weights are tuned on Set A and then, at block <NUM>, the tuned GBM is used, at block <NUM>, to make predictions for Set B and vice versa, with blocks <NUM> and <NUM>. By using this approach, one or more embodiments can use a tuned GBM to calculate one-user-out CV, with a part of the tuning data being used as a validation set to choose the final model based on validation set accuracy.

<FIG> includes a table <NUM> that provides example features that can be used for activity classification, in accordance with one or more embodiments. To illustrate different concepts, a Daily and Sports Activities Data-Set is discussed below in conjunction with <FIG> and <FIG>. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

An example Daily and Sports Activities Data-Set has <NUM> different activities performed by <NUM> different subjects. The data is collected using accelerometer, gyroscopes, and magnetometers attached at different parts of body of the subjects.

<FIG> depicts a comparison <NUM> between a baseline of a GBM model having one-user-out CV accuracy with other ML models, in accordance with one or more embodiments. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

To illustrate aspects of different embodiments discussed herein, data of an accelerometer sensor <NUM> attached to an arm/wrist are shown in chart <NUM> for four different activities from this data set: Running, Biking, Resting and Walking. In this example, the data was collected at <NUM> of sampling frequency, with one second of latency, e.g., a total of <NUM> samples, collected every second, are used to generate one instance of features in chart <NUM>. <FIG> shows different features <NUM> that were computed using these samples. These features were calculated using accelerometer data about X, Y, and Z axes.

Initially, in <FIG>, for comparison, the baseline GBM model with one-user-out CV accuracy is depicted as compared with other types of ML models. It should be noted that for 'Rest' and 'Run' classes, every model has high accuracy. However, in this example, the GBM performs better than other models for 'Bike' and 'Walk' classes. In one or more embodiments, these can be handled differently because there is more variety in how users walk and cycle than how users walk and run. One or more embodiments can generate weights based on these types of factors, leading to an increase in accuracy, in some circumstances. This is also due to the reason that different users could walk and do cycling differently than other users.

<FIG>, and <FIG>, continuing this example, respectively depict charts <NUM>-<NUM> and table <NUM>, with accuracy shown before and after the use of generated weights, as described herein. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

As depicted in the example data of eight subjects shown in <FIG>, embodiments of the tuning algorithm can be used on the Daily and Sports Activities data set to improve one-user-out CV accuracy. <FIG>, and table <NUM> in <FIG>, depict the average increase in the accuracy of each subject before after applications of one or more embodiments described herein. For example, it can be seen that there is some increase in the accuracy of every subject, with a significant increase in the accuracy of 'Bike' and 'Walk' class for subject #<NUM> from <NUM>% and <NUM>% to <NUM>% and <NUM>% respectively. Also, for subject #<NUM>, there is an increase of accuracy for the 'Bike' activity from <NUM>% to <NUM>%.

<FIG> depicts a chart <NUM> that shows an average increase in the overall one-user-out CV accuracy for each class after tuning the baseline GBM, in accordance with one or more embodiments. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

As shown, the example baseline accuracy is <NUM>%, <NUM>%, <NUM>% and <NUM>% for the 'Bike,' 'Rest,' 'Run,' and 'Walk' classes respectively. It should be noted that these accuracy values increase to <NUM>%, <NUM>%, <NUM>%, and <NUM>% respectively, after the one or more of the approaches described herein are applied. Thus, in this example, in some circumstances more than <NUM>% error reduction can be achieved by tuning the GBM on specific user's data, in accordance with one or more embodiments.

<FIG> depicts a chart <NUM> that depicts a comparison in receiver operating characteristic (ROC) curves for subject #<NUM> and #<NUM> for 'Bike' and 'Walk' classes, to illustrate aspects of one or more embodiments. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

As depicted in chart <NUM>, for the subject #<NUM> 'Bike' class, the Area Under Curve (AUC) value increases significantly from <NUM> to <NUM> after tuning, after processing in accordance with one or more embodiments. It should further be noted that, for this data, table <NUM> of <FIG> shows a comparison of the F-<NUM> scores of baseline GBM and GBM tuned in accordance with one or more embodiments, with the overall F-<NUM> score increasing from <NUM> to <NUM>.

<FIG> and <FIG>, to illustrate additional aspects of one or more embodiments, respectively depict charts <NUM> and table <NUM> showing illustrative data from another example dataset. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

This second example data set, named PAMAP2, is populated with accelerometer data for three different activities (e.g., Biking, Resting, and Walking) performed by nine different subjects. In this example, this data set was collected at <NUM>, with one second of latency, e.g., data for <NUM> samples are shown.

For this second example, a process similar to the process shown in flowchart <NUM> of <FIG> is used for training the baseline GBM to find on-user-out CV accuracy. Charts <NUM>-<NUM> of <FIG> shows an average increase in the one-user-out CV accuracy of each class of subjects, and an overall increase in the CV accuracy, based on tuning the GBM an accordance with one or more embodiments described herein.

As a further example, <FIG> depicts table <NUM> with a comparison of F-<NUM> scores for baseline GBM and GBM tuned in accordance with one or more embodiments. It should be noted that there is an overall F-<NUM> score increase from <NUM> to <NUM> shown, as well as a significant increase in the subject F-<NUM> score of subject #<NUM>, e.g., from <NUM> to <NUM>.

In an additional illustration of features of one or more embodiments, <FIG> further indicates in chart <NUM> that 'Walk' accuracy of subject #<NUM> increases from <NUM>% to <NUM>%. <NUM> also shows an overall one-user-out CV increase for each class, with the baseline accuracy for the 'Bike', 'Rest' and 'Walk' classes respectively being <NUM>%, <NUM>% and <NUM>%. Additional benefits of one or more embodiments are illustrated by an respective increase of the accuracy of these classes from the baseline value to <NUM>%, <NUM>% and <NUM>%.

One or more embodiments described above may be implemented in the form of program instructions that can be executed by various computer components, and may be stored on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures and the like, separately or in combination. The program instructions stored on the computer-readable recording medium may be specially designed and configured for one or more embodiments, or may also be known and available to those skilled in the computer software field. Examples of the computer-readable recording medium include the following: magnetic media such as hard disks, floppy disks and magnetic tapes; optical media such as compact disk-read only memory (CD-ROM) and digital versatile disks (DVDs); magneto-optical media such as optical disks; and hardware devices such as read-only memory (ROM), random access memory (RAM) and flash memory, which are specially configured to store and execute program instructions. Examples of the program instructions include not only machine language codes created by a compiler or the like, but also high-level language codes that can be executed by a computer using an interpreter or the like. The above hardware devices may be changed to one or more software modules to perform the operations of one or more embodiments, and vice versa.

Claim 1:
A method for calibrating a user activity model used by a mobile device (<NUM>), the method comprising:
receiving sensor data from a sensor (<NUM>) of the mobile device (<NUM>), wherein the sensor (<NUM>) is operable to detect a plurality of different activities of a user of the mobile device;
from the sensor (<NUM>), collecting user-specific training data for a specific user of the mobile device (<NUM>) performing the plurality of different activities;
generating a weight (225A-C) for each of the different activities based on the user-specific training data;
for the specific user, inputting the sensor data into a trained general model (<NUM>) of the mobile device (<NUM>) that outputs a likelihood result for each of the plurality of different activities, wherein the general model (<NUM>) is a machine learning model that was trained based on sensor data from a plurality of different users performing the plurality of different activities;
applying the weight (225A-C), which is based on sensor data from the sensor (<NUM>) of the mobile device (<NUM>) and a specific user performing one or more of the plurality of different activities, to adjust each likelihood result without modifying the general model, wherein each likelihood is determined by an estimator (215A) of the user activity model by applying preconfigured criteria to the sensor data;
determining a first one of the different activities is being performed by the specific user by selecting a highest value of the adjusted likelihood results; and
performing an action on the mobile device (<NUM>) for the specific user based on the determination of the first activity, the determination being based on the weight (225A-C) and the likelihood of the first activity.