[ieee 2011 ieee international conference on pervasive computing and communications workshops (percom...

6
Exploiting Human State Information to Improve GPS Sampling Athanasios Bamis and Andreas Savvides ENALAB, Yale University New Haven, CT 06520 {athanasios.bamis, andreas.savvides}@yale.edu Abstract—A large collection of mobile sensing applications depend on the knowledge of the user’s whereabouts and are heavily based on GPS location measurements. Although knowledge of location is very desirable, in many mobile applications excessive GPS sampling is very energy taxing thus posing a barrier to application sustainability. To mitigate this problem, in this paper we examine how to reduce GPS sensing redundancies by extracting the state of a person and using it to drive GPS sampling on mobile phones. Using a GPS dataset we first describe how to extract the spatio-temporal states of the user. We then use the knowledge of the user’s state to reduce GPS sampling rate, helping to make mobile applications more sustainable. Keywords-Human Behavior Recognition, GPS Sampling, Spatio-Temporal Activities I. I NTRODUCTION Frequent GPS sampling and data transmission can incur a significant energy burden on mobile devices, limiting the battery’s lifetime down to even 7 hours [7]. This rapid battery draining poses a significant barrier that outweighs the benefits of GPS applications for many users. Today, most applications handle this issue by requiring manual input from the user on the frequency of GPS sampling or they opt to update user locations very infrequently when running in the background. To mitigate some of the issues related to GPS sampling, the authors of [11] attempt to use accelerometer data to infer when the user remains in the same area and use this information to shut down the GPS. In [5] Constandache et al. present the EnLoc system that uses historical information to adjust the sampling rate aiming to minimize the average localization error given an energy budget. Lin et al. attempt to combine these methods in a more generic framework [13] that tries to select the optimal localization method to accomodate the accuracy required by the user. These approaches are based on the observation that human motion at a macroscopic level is very predictable [8], [16] in the sense that people tend to spend most of their time in a limited number of locations. In this paper we take this idea a step further by propos- ing a method for dynamically adapting the GPS sampling frequency according to a high-level user behavior profile extracted from the data. The key motivation for our approach is that the interesting information from GPS comes when users transition from one place to another. This is the time when applications need the relevant location changes to fuel status updates, safety services, location-based reminders, triggers and more. To conserve resources we therefore try to extract a model that identifies the places where each user spends time, and use it to reduce GPS sampling during those times. Our primary objective is to find the states of the user in terms of time spent in specific places that consistently repeat. These include the times a user spends at home, in the office and other activities that occur persistently in the user’s routine. These states summarize the persistent components of a user’s schedule that indicate the start-time and duration of each place visit. The challenge in this problem lies in coming up with an appropriate representation for the geographic boundaries of each place at an appropriate level of granularity to avoid having redundant states. For example, when the user is at work and work time includes arbitrary transitions between buildings in the same vicinity, we would like to avoid characterizing each of those transitions as a new state. Instead, we would like to discover the entire area that can be characterized as work. Our paper outlines a method for discovering the geo- graphic regions in which a user spends time from GPS data and then applies that to drive more efficient GPS sampling. Using a week long dataset we show how to extract classes of Spatio-Temporal Activities(STAs) that approximate well hu- man activities. Our evaluation shows that using the proposed lightweight algorithm we can extract the same information with a fraction of the GPS samples. II. MODELING HUMAN ROUTINES A. The nature of human behavior Attempting to capture the behavior of a person or, more generally, any system by any model requires that we first have sufficient information about the states that the system can be in. The state of a dynamic system is some compact representation of the past activity of the system and it is complete enough to allow on the basis of the inputs to determine exactly what the output of the system will be and also to update its future state. In the case of a person we need to define states in the stochastic context with no inputs. Typical models are based on the Markov property, according to which future states of the model depend only on the current state. Therefore, if the states of the model and the transition probabilities are known, then we have a The Third International Workshop on Information Quality and Quality of Service for Pervasive Computing 978-1-61284-937-9/11/$26.00 ©2011 IEEE 32

Upload: andreas

Post on 24-Mar-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Exploiting Human State Information to Improve GPS Sampling

Athanasios Bamis and Andreas SavvidesENALAB, Yale UniversityNew Haven, CT 06520

{athanasios.bamis, andreas.savvides}@yale.edu

Abstract—A large collection of mobile sensing applicationsdepend on the knowledge of the user’s whereabouts andare heavily based on GPS location measurements. Althoughknowledge of location is very desirable, in many mobileapplications excessive GPS sampling is very energy taxing thusposing a barrier to application sustainability. To mitigate thisproblem, in this paper we examine how to reduce GPS sensingredundancies by extracting the state of a person and using it todrive GPS sampling on mobile phones. Using a GPS dataset wefirst describe how to extract the spatio-temporal states of theuser. We then use the knowledge of the user’s state to reduceGPS sampling rate, helping to make mobile applications moresustainable.

Keywords-Human Behavior Recognition, GPS Sampling,Spatio-Temporal Activities

I. INTRODUCTION

Frequent GPS sampling and data transmission can incura significant energy burden on mobile devices, limiting thebattery’s lifetime down to even 7 hours [7]. This rapidbattery draining poses a significant barrier that outweighsthe benefits of GPS applications for many users. Today, mostapplications handle this issue by requiring manual inputfrom the user on the frequency of GPS sampling or theyopt to update user locations very infrequently when runningin the background.

To mitigate some of the issues related to GPS sampling,the authors of [11] attempt to use accelerometer data toinfer when the user remains in the same area and use thisinformation to shut down the GPS. In [5] Constandache etal. present the EnLoc system that uses historical informationto adjust the sampling rate aiming to minimize the averagelocalization error given an energy budget. Lin et al. attemptto combine these methods in a more generic framework[13] that tries to select the optimal localization methodto accomodate the accuracy required by the user. Theseapproaches are based on the observation that human motionat a macroscopic level is very predictable [8], [16] in thesense that people tend to spend most of their time in a limitednumber of locations.

In this paper we take this idea a step further by propos-ing a method for dynamically adapting the GPS samplingfrequency according to a high-level user behavior profileextracted from the data. The key motivation for our approachis that the interesting information from GPS comes whenusers transition from one place to another. This is the time

when applications need the relevant location changes to fuelstatus updates, safety services, location-based reminders,triggers and more. To conserve resources we therefore tryto extract a model that identifies the places where each userspends time, and use it to reduce GPS sampling during thosetimes. Our primary objective is to find the states of the userin terms of time spent in specific places that consistentlyrepeat. These include the times a user spends at home, in theoffice and other activities that occur persistently in the user’sroutine. These states summarize the persistent componentsof a user’s schedule that indicate the start-time and durationof each place visit. The challenge in this problem liesin coming up with an appropriate representation for thegeographic boundaries of each place at an appropriate levelof granularity to avoid having redundant states. For example,when the user is at work and work time includes arbitrarytransitions between buildings in the same vicinity, we wouldlike to avoid characterizing each of those transitions as a newstate. Instead, we would like to discover the entire area thatcan be characterized as work.

Our paper outlines a method for discovering the geo-graphic regions in which a user spends time from GPS dataand then applies that to drive more efficient GPS sampling.Using a week long dataset we show how to extract classes ofSpatio-Temporal Activities(STAs) that approximate well hu-man activities. Our evaluation shows that using the proposedlightweight algorithm we can extract the same informationwith a fraction of the GPS samples.

II. MODELING HUMAN ROUTINES

A. The nature of human behavior

Attempting to capture the behavior of a person or, moregenerally, any system by any model requires that we firsthave sufficient information about the states that the systemcan be in. The state of a dynamic system is some compactrepresentation of the past activity of the system and it iscomplete enough to allow on the basis of the inputs todetermine exactly what the output of the system will beand also to update its future state. In the case of a personwe need to define states in the stochastic context with noinputs. Typical models are based on the Markov property,according to which future states of the model depend onlyon the current state. Therefore, if the states of the modeland the transition probabilities are known, then we have a

The Third International Workshop on Information Quality and Quality of Service for Pervasive Computing

978-1-61284-937-9/11/$26.00 ©2011 IEEE 32

complete understanding of the system. For our problem, oneimportant fact that has to be established is what constitutesthe state of human behavior with respect to the places wherepeople spend time. We call this the macroscopic behaviorof humans.

The structure of such a model is typically defined by anexpert or learned in a supervised manner using a labeledtraining set. However, the highly stochastic nature of humanbehavior makes this a very challenging task for macroscopicbehaviors. Human behaviors typically take place over awide range of temporal and geographical scales, and areoften interleaved with each other and segmenting them isessentially identical to detecting their instances. The Markovproperty often required by most common models holds onlyafter properly selecting the states of the model, generally avery difficult problem. Selecting the states of the model tomake it generic enough to capture a large number of differentbehaviors will require a large amount of training data. On theother hand, if the model is specific to a particular behaviorits ability to generalize will be limited. Adding to theseproblems the fact that a training set will often be unavailable,together with the sparsity and noise in sensor measurementsand the fact that algorithms are often required to run inembedded, battery-operated devices makes the problem verycomplex.

To constrain the scope of the problem we first examine hu-man behavior at two different granularities, at the city leveland inside the home. At the city level, human movementin space tends to be highly sequential with respect to areageometries. People tend to spend time at places that can bedescribed as geometric regions. They also tend to transitionbetween such places sequentially and within specific timeintervals. To model this behavior we will start by identifyingthe regions in which people spend time as the state ofour model and then apply repeating subsequence miningtechniques to identify the transition probabilities betweenthese states [14].

Inside the home, the nature of the human movement isdifferent. As space becomes smaller, movements becomemore permuted and are no longer sequences in the strictsense as in the case of GPS traces at city level. Nonetheless,these movements have structure and individual routines willtend to trigger the same set of sensors. Although the structureof the patterns is not known, a model can be constructed bygrouping together collections of sensor events that tend tooccur together repeatedly over time. Subsequently, insteadof attempting to directly model the structure of patterns wewill attempt to directly discover the set of their constituentevents in the data stream by mining temporal associationsbetween events.

In this paper we concentrate our effort in modelingbehavior at the city level and defer fine-grained modelinginside the home as future work.

Figure 1. Locations visited in four consecutive days by one of the authorsof the paper. With red circles are annotated some of the activities of theuser that were manually discovered.

B. States from GPS Traces

As an illustrative example Figure 1 shows the locationsover time visited by one of the authors over four consecutivedays. The notion of STAs [3] begins to emerge in the figure.By inspecting the data a human can identify certain activitiesthat appear as dense “bubbles” of points in space and time.In the example, the user was at his house during the nightand at his office during most of the morning and afternoon.Activities such as dinner occur frequently at the same areasand at approximately the same time. In Figure 1 the uservisited a plaza with restaurants to have dinner late in theevening two out of the four days.

The STAs will appear as dense bubbles of points in thedataset for two main reasons. The first is noise. Current GPStechnology is fairly inaccurate in the sense that even whilenot moving consecutive GPS measurements will rarely beexactly the same. To what is worse, when GPS coverageis lost (e.g., when indoors) the location will have to be re-estimated using cell tower and Wi-Fi information (if suchinformation is available) which can introduce further noisein the actual measurements. The second and most importantreason has to do with the way people tend to move andspend time in physical space. If we examine one of thesebubbles closely, we will realize that they actually consistof smaller bubbles connected through paths of points. Thiscan be explained by considering a user at her office as anexample. The user will spend most of her time at her desk,something that will result in a distribution of points aroundthe area of the desk. However, occasionally she will moveto other areas of the office such as the restroom, the meetingroom, the cafeteria etc.

STAs that repeat across days correspond to activities thatthe user performs persistently at approximately the sameplace and for the same time interval. They are likely there-

33

fore to be states or part of states in any model describingthe behavior of the user. Thus, our goal after extracting theSTAs will be to group them into classes according to thesimilarity of their spatio-temporal attributes, namely the areawhere they took place, their start time and their duration.Even though approaches like [12] or [9] have attempted tomodel the macroscopic behavior of humans, to the best ofour knowledge, our approach is the first to consider time asthe key parameter for identifying human states.

III. DISCOVERING CLASSES OF FREQUENTSPATIO-TEMPORAL ACTIVITIES

To extract STAs our goal is to design an appropriatemetric that detects when the user is consistently mov-ing away from an area and use it to cluster togetherpoints that should belong to the same STA. Thus, start-ing from a sequence of time-stamped locations M ={(x0, y0, t0), . . . , (xn, yn, tn)} the goal of the STA extrac-tion algorithm is to identify the set A of all STAs in M.Each STA in A will consist of all the points that correspondto locations and time intervals where the mobility of the userremained low with respect to our metric and a user-specifiedthreshold.

Given a set of events A let the similarity function Sim :A × A → [0, 1] indicate how similar two STAs ai, aj ∈ Aare according to their parameters. If Sim(ai, aj) = 1then the two STAs are considered identical, whereas ifSim(ai, aj) = 0 then we consider that the two STAs have nosimilarity. We say that ai and aj overlap if Sim(ai, aj) >Sover, where the overlap threshold Sover ∈ [0, 1] is a user-specified parameter that indicates when two STAs can beconsidered instances of the same activity, slightly skewedor shifted in space and time. Given this similarity functionSim and the overlap threshold Sover, the goal of the STAclustering becomes then to partition the set of STAs A intoclusters C = {C0, . . . , CK} according to the following twoproperties:

1) the similarity of an STA with members of the sameclass is higher than its similarity with members ofother classes, and

2) there exists an ordering of STAs in the class, such thatconsecutive STAs in the ordering overlap.

Essentially, classes of STAs will consist of very similarSTAs and the parameter Sover will control how similar theSTAs in a class have to be. Thus, using the overlap thresholdwe can prevent merging in the same class STAs that eventhough they have positive similarity with members of theclass they cannot be considered similar enough.

A. Spatio-Temporal Activity Extraction

STAs correspond to dense clusters of points. To this end,existing lightweight solutions like [2], [9], [10] attempt tosummarize information for the current cluster (e.g., usingits centroid) and based on that determine whether the

Figure 2. Overview of the STA Extraction algorithm.

next measurement belongs to the cluster. Essentially, theseapproaches can be seen as simplifications of traditionaldensity-based clustering approaches like DBSCAN [6], ST-DBSCAN [4] or OPTICS [1]. It is well-known that thesealgorithms are very sensitive to the parameter selection anddo not perform well in clusters of different density. Inaddition, these algorithms do not perform well for clustersthat don’t have uniform density (see e.g. the discussion in[15]). However, this is typically the case with STAs.

To extract STAs from the stream of locations we attemptto identify their borders by monitoring the motion of the userto detect consistent changes. In particular, for the measure-ment at time t we add some additional delay of Nbuf

2 pointsand we estimate the distance dist[t] of these points withthe distance of the Nbuf

2 points before the measurement attime t. We expect that when the user makes small transitionsinside the area of the activity, the increased distance betweenconsecutive points will be canceled out by averaging theneighborhood of the current sample. Therefore, dist[t] willtend to 0 while the user remains in the same STA. On theother hand when the user consistently moves away fromthe current STA the distance dist[t] will keep increasingat each step. This will be true in the case that the useris moving rapidly outside the activity (e.g., driving) for asmall number of samples, since the value of dist[t] willraise sharply, but also in the case that the user is movingslowly away from the current activity for a large numberof consecutive samples (e.g., walking slowly away from thecurrent location). Moreover, note that even if the user keepsmoving fast inside an STA (e.g., running around a court)changes in the value of the distance dist[t] will remainsmall. This happens because dist[t] will take into accountthe average distance between all points in the consecutivebuffers, which will remain approximately constant since theuser remains in the same area.

To extract meaningful results from the STA clusteringstep, our algorithm needs to differentiate between transientand permanent transitions of the user outside their currentSTA. If we consider the value of dist[t] to be approximatelyconstant when the user is inside an STA, then the effectof the user movement can be considered as additive noiseon the signal dist[t]. Such noise poses problems to theselection of a proper threshold Dthres for discovering the

34

Figure 3. Example of the notion of STAs and their comparison.STAs a1 and a2 belong to the same class, which is different fromthe class of a3.

boundaries of the STAs. To compensate for that we smoothour signal using a modified weighted moving average filter.The resulting algorithm is depicted in Figure 2.

B. Similarity of Spatio-Temporal Activities

Each STA in A will initially correspond to a clusterof points. However, comparing a set of points directly isdifficult and requires a significant amount of computation.Instead, we chose to represent every STA using using Axis-Aligned Bounding Boxes (AABB). An AABB is the boxwith the smallest volume that encloses all points in theset, subject to the constraint that the edges of the box areparallel to the coordinate axes. Using AABBs to representSTAs, the problem of comparing STAs becomes equivalentto comparing the relative overlap of their correspondingAABBs (see Figure 3).

Given the set of locations of an STA, let x, y and t be theminimum and x, y and t the maximum coordinates in space(x, y) and time (t) respectively. This means that x, x and y, ydefine the area where the STA took place and t is the startand t the end time of the STA. For GPS coordinates x couldrepresent latitude and y longitude of the measurements. TheAABB that corresponds to the STA can then be representedusing these six values as:

a =

x xy yt t

.

To simplify the problem, for the rest of the paper werepresent each STA as the AABB that contains it.

Let I(ai, aj) = ai∩aj be the AABB that is defined by theintersection of STAs ai and aj . Clearly, the more ai and ajoverlap the greater the volume of I(ei, ej) will be. However,a large amount of overlap between ai and aj indicated by alarge volume of I(ai, aj) does not guarantee that ai and ajare similar. In order to be similar, we also require that thesize of the intersection is large with respect to the size of

Figure 4. An example of the STA Clustering algorithm. At “Step0” each STA is a separate cluster and each cluster is representedby the AABB that contains all its members. At each step the twomost similar clusters are merged, until no more merges can occur.

the STAs. To account for this, define the similarity of twoSTAs as:

S(ai, aj) =∑

d∈{x,y,t}

wd · od (1)

where wx + wy + wt = 1 and

od =

{max(di,dj)−min(di,dj)

min(di,dj)−max(di,dj)if max(di, dj) > min(di, dj)

0 otherwise.

In equation (1) each term od in the sum takes a valuein the interval [0, 1] with 0 indicating that the STAs do notoverlap in this dimension and 1 indicating that the STAsoverlap perfectly in this dimension. The parameters wx, wy

and wt control the contribution of each dimension to thevalue of the similarity.

C. Spatio-Temporal Activity Clustering

Given the similarity function described in the previoussubsection, our goal becomes to group STAs into classes.To detect the number of classes and assign STAs to them atthe same time, we chose to use an agglomerative clusteringalgorithm. Our algorithm attempts to discover clusters in abottom-up fashion, where at each step the two most similarclusters are merged.

Since each cluster consists of a number of STAs, in orderto estimate the similarity between clusters, we chose toapproximate each of them using the AABB that enclosesall STAs contained in it. Then the similarity of the clustersis defined in the same way that similarity between STAs isdefined. The main benefit of approximating a cluster usingan AABB is that it significantly reduces the complexity fordiscovering the clusters that need to be merged at everystep. In particular after we have merged two clusters, thesimilarity of the new cluster with all other remaining clusterscan be computed in linear time.

However, the AABBs of two clusters could potentiallyhave positive similarity even if none of their STAs intersectleading to potentially meaningless merges of classes. De-pending on the requirements of the user, such merges might

35

Figure 5. Areas of the STAs extracted from a 23-day long tracecollected by one of the authors. Each STA appears with a differentcolor.

be desirable or not. In particular, two clusters can be mergedonly if their similarity is higher than the specified overlapthreshold Sover. However, when Sover < 0.5 even thoughtwo clusters might overlap their STAs don’t necessarily haveto overlap too. This can cause our algorithm to stuck intolocal optima. Therefore, we require that in order to mergetwo clusters at a step, a pair of their members have tooverlap. An example of how the STA Clustering algorithmworks is shown in Figure 4.

IV. EXPLOITING STA KNOWLEDGE TO ADJUST THEGPS SAMPLING RATE

In this section we provide an early assessment of theimprovements in GPS sampling that we can achieve byexploiting knowledge about STAs. Our intuition is that aftersome initial training phase, we will be able to use STAClasses to infer if the user is currently inside an STA.Assuming that we have a priori knowledge of STAs we showthat we can achieve significant reduction in the number ofGPS measurements while keeping the resultant error low.

We demonstrate our approach using a 23-day long GPStrace collected by one of the authors. The sampling ratefor this trace was 5 seconds, but there are certain gaps inareas where the GPS signal was lost. The total number ofmeasurements in the dataset is 255,730. The main reason wechose to use this dataset is that, thanks to its size, we wereable to replay it and make visually sure that the discoveredSTAs are correct and correspond to actual activities of theauthor1. After running the STA Extraction algorithm on thedataset we were able to discover 58 STAs part of them shownin Figure 5.

We argue that an oracle that has a priori knowledge ofthe existing STAs will be able to use the centroid of eachSTA as an approximation for the location of the user whileinside it. In particular, instead of using the GPS to get anew sample when inside an STA, the oracle can use thecentroid of the STA as an approximation. By the definitionof STAs we expect that the actual location of the user, while

1A video showing the STA Extraction algorithm operating on a small partof this trace can be found at http://www.youtube.com/watch?v=fZ2pbo-njZk

inside an STA, will be very close to the centroid of the STA.This stems from the observation that people tend to spendmost of their time in specific areas (e.g., home, office, gym,restaurant). The mean absolute error, standard deviation ofthe absolute error and the reduction in the number of samplesthat such an oracle can achieve for our trace are labeled as“T1” in Figures 6(a), 6(b) and 6(c) respectively. Thesefigures show that if the exact STAs were known a priori, wecould reduce the number of samples by about 95%, whilekeeping our mean absolute error at less than 9.3m and witha standard deviation that doesn’t exceed 16m.

By increasing the number of samples that we use insideeach STA we can significantly decrease the error. In par-ticular, instead of just using the centroid of an STA wecan periodically take some samples and use the last suchsample as an approximation of the current location of theuser. In the extreme case, we could use only one suchmeasurement; the first measurement that falls inside an STA.The results for this case are shown in Figures 6(a), 6(b) and6(c) with label “T2”. Clearly, using just one measurementdoesn’t produce good results, since this measurement is notrepresentative for the actual location of the user. Therefore,the next experiments labeled with “T3” and “T4” attemptedto use more samples inside each STA. In particular, “T3”shows the case where when inside an STA the sampling ratewas increased to 5min and “T4” the case where the samplingrate was increased to 1min (from the original 5sec). Note,also, that when we are not inside an STA the sampling rateremains 5sec. From experiments “T3” and “T4” it becomesapparent that by intelligently using knowledge about theSTAs we can reduce the sampling rate up to 88% for thecase of “T4” while keeping our error less than 3.15m andwith an std of 8.8m. To make sure that this is not an artifactof our trace, we adjusted the sampling rate for our entiretrace to 5 min. We labeled this experiment “T5” and theresults indicate that the mean error in this case would beequal to 53.4m and the std equal to 428.8m. This error isabout 10 times higher than the case of “T3”, where we usedthe increased sampling rate only inside the STAs.

However, it is possible that our results are due to improperselection of our samples. More specifically, it could be thecase that the samples we chose deterministically where notour best option in order to capture the actual location ofthe user at that particular 5min time window. To this end,we performed an additional experiment, labeled “T6”, whereinstead of using a deterministic sampling rate when inside anSTA, we assigned a probability that we will use each sample.We chose the probability so that approximately the samenumber of samples as in the case of “T3” were used, as canbe seen in Figure 6(c). The results reported correspond to theaverages over 10 experiments. From Figures 6(a) and 6(b)it appears that in the case of “T6” we have slightly reducedmean absolute error and std. As a final experiment labeled“T7” we provide the results when using the same sampling

36

Figure 6. Results for the experiments described in Section IV. (a) Mean absolute error. (b) Standard deviation for absolute error. (c)Reduction in the number of samples used. (d) Comparison of error distributions for tests “T6” and “T7”.

probability for the entire dataset. Even though in this casethe mean and std of the error are significantly smaller thanthe case of “T5”, they are still much larger than the caseof “T6”. In particular, the mean error is more than 4 timeslarger and the std is more than 15 times larger. To makethis more clear, Figure 6(d) compares the distributions oferrors for the cases of “T6” and “T7”. Therefore, it becomesapparent that intelligent use of a priori knowledge of STAscan lead in significant optimizations in the GPS sampling. Inour case, we demonstrated that the estimate for the locationof the user can remain within at most 100m from his actualposition even when using less than 10% of the originalmeasurements.

V. CONCLUSION

In this paper we proposed the use of human state infor-mation as a criterion for deciding when to perform sensorsampling. To demonstrate our idea we focused on the caseof GPS sampling. After introducing the notion of Spatio-Temporal Activities (STAs) as representative instantiationsof human states, we presented algorithms for extractingSTAs from location traces and grouping them into classesaccording to their spatio-temporal similarity. Our evaluationhas shown that with a priori knowledge of STAs, GPSservices require 10 times less samples than the originaldatasets. As future work, our goal is to use STA Classesto predict the occurrence of STAs and use our predictionsto optimally adjust the GPS sampling rate.

REFERENCES

[1] M. Ankerst, M. M. Breunig, H.-P. Kriegel, and J. Sander. Optics:Ordering points to identify the clustering structure. In SIGMODConference, pages 49–60. ACM Press, 1999.

[2] D. Ashbrook and T. Starner. Learning significant locations andpredicting user movement with gps. In ISWC, pages 101–108. IEEEComputer Society, 2002.

[3] A. Bamis and A. Savvides. Lightweight extraction of frequent spatio-temporal activities from gps traces. In RTSS. IEEE, 2010.

[4] D. Birant and A. Kut. ST-DBSCAN: An algorithm for clusteringspatial-temporal data. Data & Knowledge Engineering, 60(1):208–221, 2007.

[5] I. Constandache, S. Gaonkar, M. Sayler, R. Choudhury, and L. Cox.EnLoc: Energy-efficient localization for mobile phones. In INFO-COM, pages 2716–2720. IEEE, 2009.

[6] M. Ester, H.-P. Kriegel, J. Sander, and X. Xu. A density-basedalgorithm for discovering clusters in large spatial databases withnoise. In KDD, pages 226–231, 1996.

[7] S. Gaonkar, J. Li, R. Choudhury, L. Cox, and A. Schmidt. Micro-blog: sharing and querying content through mobile phones and socialparticipation. In MobiSys, pages 174–186. ACM, 2008.

[8] M. Gonzalez, C. Hidalgo, and A. Barabasi. Understanding individualhuman mobility patterns. Nature, 453(7196):779–782, 2008.

[9] R. Hariharan and K. Toyama. Project lachesis: Parsing and modelinglocation histories. In M. J. Egenhofer, C. Freksa, and H. J. Miller,editors, GIScience, volume 3234 of Lecture Notes in ComputerScience, pages 106–124. Springer, 2004.

[10] J. H. Kang, W. Welbourne, B. Stewart, and G. Borriello. Extractingplaces from traces of locations. Mobile Computing and Communica-tions Review, 9(3):58–68, 2005.

[11] M. Kjærgaard, J. Langdal, T. Godsk, and T. Toftkjær. Entracked:energy-efficient robust position tracking for mobile devices. InMobiSys, pages 221–234. ACM, 2009.

[12] L. Liao, D. J. Patterson, D. Fox, and H. A. Kautz. Learning andinferring transportation routines. Artif. Intell., 171(5-6):311–331,2007.

[13] K. Lin, A. Kansal, D. Lymberopoulos, and F. Zhao. Energy-accuracyaware localization for mobile devices. In MobiSys. ACM, 2010.

[14] D. Lymberopoulos, A. Bamis, and A. Savvides. Extracting spatiotem-poral human activity patterns in assisted living using a home sensornetwork. Universal Access in the Information Society, pages 1–14,2010.

[15] G. Nosovskiy, D. Liu, and O. Sourina. Automatic clustering andboundary detection algorithm based on adaptive influence function.Pattern Recognition, 41(9):2757–2776, 2008.

[16] C. Song, Z. Qu, N. Blumm, and A. Barabasi. Limits of predictabilityin human mobility. Science, 327(5968):1018, 2010.

37