<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Occupant Location Prediction Using Association Rule Mining</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Conor Ryan</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kenneth N. Brown</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Cork Constraint Computation Centre, Department of Computer Science, University College Cork</institution>
          ,
          <country country="IE">Ireland</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2012</year>
      </pub-date>
      <fpage>23</fpage>
      <lpage>28</lpage>
      <abstract>
        <p>1 HVAC systems are significant consumers of energy, however building management systems do not typically operate them in accordance with occupant movements. Due to the delayed response of HVAC systems, prediction of occupant locations is necessary to maximize energy efficiency. In this paper we present an approach to occupant location prediction based on association rule mining, which allows prediction based on historical occupant movements and any available real time information. We show how association rule mining can be adapted for occupant prediction and show the results of applying this approach on simulated and real occupants.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Office buildings are significant consumers of energy: buildings
typically account for up to 40% of the energy use in industrialised
countries [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], and of that, over 70% is consumed in the operation of
the building through heating, ventilation, air conditioning (HVAC)
and lighting. A large portion of this is consumed under static
control regimes, in which heating, cooling and lighting are applied
according to fixed schedules, specified when the buildings were
designed, regardless of how the buildings are actually used. To
improve energy efficiency, the building management system
should operate the HVAC systems in response to the actual
behavior patterns of the occupants. However, heating and cooling
systems have a delayed response, and so to satisfy the needs of the
occupants, the management system must predict the occupant
behaviour . The prediction system should be accurate at both bulk
and individual levels: the total number of occupants of a building
or a zone determine the total load on the HVAC system, while
knowing the presence and identity of an occupant of an individual
office allows us to avoid waste through unnecessary heating or
cooling without discomforting the individual.
      </p>
      <p>We believe that in most office buildings, the behaviour of the
occupants tends to be regular. The regularity may be based on the
time of day, or particular days of the week or times of the year.
Behaviour within a day may also be dependent on behaviour earlier
in the day, or dependent on the behaviour of other associated
individuals. We require a system which is able to recognise these
time and feature based patterns across different levels of
granularity from observed data. Further, many office users now use
electronic calendars to manage their schedules, and information in
these calendars may support or override the regular behaviour. The
reliability of the calendar data will depend on the individual
maintaining it, and so the prediction system needs to be able to
learn occupant-specific patterns from the calendars.</p>
      <p>
        We propose the use of association rule mining for learning
individual occupant behaviour patterns, using the Apriori algorithm
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. From the individual patterns, we then aggregate behaviour to
produce bulk occupancy predictions. We show how the algorithm
can be extended to represent time series, incorporating calendar
entries. We then propose a number of transformations of the
learning mechanism, pruning itemsets and rules to focus in on
useful rules, and extending the generation of itemsets in areas
where useful patterns will be found. We evaluate the performance
empirically on both simulated and real observed data, and show a
14% increase in accuracy over the base algorithm, reaching up to
79% accuracy in predicting occupant locations on real data and up
to 85% accuracy in predicting whether rooms are occupied on
simulated data.
      </p>
      <p>
        The remainder of the paper is organized as follows: Section 2
provides an overview of association rules and the existing work on
location prediction. Section 3 details the modifications we make to
the mining process. In Section 4 we outline the datasets we use for
evaluation and present our results. We conclude the paper in
Section 5.
2
2.1
Existing methods for predicting occupant locations include
bayesian networks[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], neural networks[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], state predictors[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ],
context predictors[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], eigenbehaviors [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        The Bayesian network approach presented in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] predicts the
occupant’s next location based on the sequence of their previous
locations and the current time of day and day of the week. Based
on the current room and the day/time, it also predicts the duration
of the occupant’s stay in the current room. This results in separate
predictions for the occupant’s next location and for the time they
will move there.
      </p>
      <p>
        The neural network approach uses a binary codification of the
location sequences as input to a neural network. In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] both local
and global predictors are considered. A local predictor is a network
which is trained on and predicts a particular occupant, and thus
deals only with codified location sequences. The global predictor
takes all occupants’ location sequences, along with associated
occupant codes, as training data, and can make predictions for any
occupant.
      </p>
      <p>
        The state predictor approach in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] uses a two-level context
predictor with two-state predictors. This method selects a two-state
predictor based on the occupant’s sequence of previous locations.
Each state within the selected predictor is a prediction; the current
state is used as the prediction, and the state may then change
depending on whether the prediction was accurate. Being a
twostate predictor, each possible location has two corresponding states,
so a maximum of two incorrect predictions for any given sequence
is necessary to change future predictions, resulting in fast
retraining if an occupant changes their behavior.
      </p>
      <p>The second level of this predictor can store the frequencies of
the possible next locations for each sequence, instead of state
predictors. This makes it equivalent to a markov model approach.</p>
      <p>These approaches all predict the occupant’s next location, and
with the exception of the Bayesian network, only use the
occupant’s recent locations. Our application requires longer term
predictions and we believe there may be more general associations
between the occupants’ locations at different times which allow for
such predictions. Association rule mining is intended to discover
general patterns in data and so we propose to investigate whether
association rule mining can be used to predict occupant locations.
2.2</p>
    </sec>
    <sec id="sec-2">
      <title>Association Rules</title>
      <p>
        Association rule mining was introduced in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] as an unsupervised
approach to finding patterns in large datasets. The original
application was discovering patterns in datasets of transactions,
where each transaction was a market basket, i.e. a set of purchased
items. In that application items were literals, simple strings which
are either present or absent in a transaction; however the algorithm
can be applied without modification to sets of attribute/value pairs.
We chose the Apriori algorithm as it is the most basic association
rule mining algorithm and thus simplest to modify.
      </p>
      <p>Let U be a universe of items. A dataset D is a set of instances
  , where each instance is a set of items from U. An itemset X
is a subset of U. The frequency of X, , is the number of
instances I in D for which   , while the support is:</p>
      <p>  </p>
      <p>An association rule is an implication of the form    where
X and Y are itemsets such that     . This rule states that
each instance which contains X tends to contain Y. The support of
the rule is   . The confidence of the rule is how often it
is correct as a fraction of how often it applies:
(1)
(2)</p>
      <p>Apriori uses breadth first search to find all frequent itemsets.
First all itemsets of size 1 are enumerated. Itemsets whose support
falls below the support threshold (infrequent itemsets) are
removed, as any superset of an infrequent itemset will also be
infrequent. Candidate itemsets of size 2 are then generated by
combining all frequent itemsets of size 1, and infrequent itemsets
of size 2 are removed. This process continues, finding frequent
itemsets of size n by generating candidates from the itemsets of
size n-1 and removing infrequent itemsets, until an n where no
frequent itemsets exist is reached.</p>
      <p>Once the frequent itemsets have been found, for each frequent
itemset X all rules of the form      where    and
   are generated, and those which do not obey the confidence
threshold are discarded.
3</p>
    </sec>
    <sec id="sec-3">
      <title>ADAPTING ASSOCIATION RULE</title>
    </sec>
    <sec id="sec-4">
      <title>MINING FOR OCCUPANT PREDICTION</title>
      <p>The first task in applying association rule mining is to determine
the format of the dataset. We define an instance to be a single day
for a single occupant, recording for each time slot the location of
the occupant. It also includes a set of scheduled locations,
specifying where the occupant's calendar stated they would be.
Finally, each instance records which occupant and day of the week
it applies to. Thus the set of attributes in our dataset is  
       , where d is the day, o is the occupant,  is the
occupant’s location at time slot n, and  is the location the
occupant was scheduled to be in at time n. Our objective then is to
find rules which predict the value of an attribute in    based on
the other attributes. In order to be able to compare confidences
meaningfully, we restrict our attention to rules which predict single
attributes.</p>
      <p>Although this format is all that is needed to run Apriori, it is
unlikely to produce usable results. The items in our dataset have
semantics which are critical for the eventual application, but
Apriori by default treats them all as equivalent.</p>
      <p>The location attributes    represent an ordered list of
time/location pairs which it is our objective to predict. However,
Apriori has no concept of the importance of or ordering over these
items, so it will produce rules which run counter to the order, i.e.
rules which use later locations to predict earlier locations, and
which make useless predictions, e.g. predicting timetable entries.</p>
      <p>A further important attribute distinction is that    and
   are actual location data, whereas d and are data labelling
the location data, i.e. meta-data. Due to this their values are in a
sense fixed. For example, in an instance which describes occupant
A’s movements on a Monday, d and o are fixed at Monday and A
respectively, whereas all the other attributes can, in principle, take
any value in their domain. This affects the meaning of the support
metric as the maximum support for any itemset which includes d or
o will be less than 1. Since support is used to determine which
itemsets are considered frequent, patterns which occur frequently
for certain days and/or agents will be rated as less frequent due to
the inclusion of other days and agents in the dataset.</p>
      <p>A problem with regard to the content of the data is that the
many common patterns tend to be the least interesting, while we
require low frequency patterns to be found in order to make
predictions in unusual circumstances. Consider for example an
occupant who has a 90% chance of being in their office in any
      </p>
      <p>The purpose of an association rule mining algorithm is to find
the set of rules which are above user-specific thresholds of
confidence and support. The first step is to find all itemsets which
are ‘frequent’ according to the support threshold. Association rules
are then generated from these itemsets, and any rules which fall
below the user-specified minimum confidence are discarded.
Confidence is used to measure the reliability of a rule in terms of
how often it is correct according to the training data. Finding the
frequent itemsets is the more difficult step, as the desired itemsets
must be found among the total    itemsets which can be
generated.
timeslot from 9am to 5pm. In this case, any pattern of the form “in
at N implies in at M” where N and M are between 9-5 will have
support of at least 80%, thus all such patterns will be found. But
there is no real correlation there; all these patterns could be
summarized simply as “the occupant is likely to be in”. At the
extreme opposite end, we have days when the occupant does not
turn up at all, due to illness or other reasons – a very obvious
pattern which would be represented by rules such as "out at 9,10,11
implies out at 12”. Such rules could have confidence close to 100%
if the occupant tends to be in in the morning, but if absences are
rare the itemset behind the rule will have such low support it won’t
even be a candidate. Since enumerating every itemset is not
feasible, we wish to eliminate the common uninteresting ones and
focus on the less common but interesting ones.
3.1</p>
    </sec>
    <sec id="sec-5">
      <title>Candidate/Rule Pruning</title>
      <p>As mentioned above, standard Apriori has no concept of the
relationships between the items in an instance which exist in
occupancy data. Due to this it will by default generate some useless
rules. The important features are that the location attributes   
represent an ordered list and that they are the only attributes we
wish to predict. As an itemset which does not contain any of these
attributes cannot produce a rule which predicts any of them, we
eliminate itemsets which do not contain some subset of   
during candidate elimination. This prunes areas of the itemset
lattice which could not provide useful predictions.</p>
      <p>With regard to rule generation, we only wish to predict the
future based on the past (i.e. rules which obey the ordering of
  , and we only wish to predict a single location at a time in
order to allow meaningful comparison of the rules at rule selection
time. Thus our rule generation is as follows: for every itemset
{  ,   , where l is a location item and x is any other type
of item,  is the consequent and all other items are the antecedent.
3.2</p>
    </sec>
    <sec id="sec-6">
      <title>Support Modification</title>
      <p>In 2.1 we provided the typical definition of support, the proportion
of the instances which contain the itemset/rule. To deal with the
reduction in support for itemsets which contain metadata items, we
redefine support as follows:
  
(3)</p>
      <p>For market basket items, which can in principle occur in every
instance, this is the same definition. In the case of our metadata
attribute/value pairs however, this definition results in a different
value which is normalized such that the maximum value of
supp(X) is always 1 for comparison to other support values.</p>
      <p>Using this modified support threshold in Apriori allows it to
find itemsets when have a lower support due to their metadata
attributes. However this greatly increases the area of the itemset
lattice which is explored for any given support threshold. Thus, in
order to conserve memory, we mine each possible combination in a
separate pass. For every combination of metadata attributes/values
C, we initialize Apriori with all itemsets of size    which are
a superset of C, instead of standard 1-itemsets. This allows the
generation of every itemset which contains that metadata
combination in a separate pass.
3.3</p>
    </sec>
    <sec id="sec-7">
      <title>Windowing</title>
      <p>Some important patterns have such low support that trying to find
them by simply lowering the support threshold would result in a
combinatorial explosion. Instead we will use the structure of the
data to target them specifically. An example of such a pattern is a
full day of absence: a very obvious pattern, but one which occurs
so infrequently that it won’t be learned. As our location attributes
form an ordered list we can define subsets of them which are
consecutive, temporal windows over the location data. By mining
these subsets individually, we can reduce the size of the space of
itemsets while still discovering the itemsets which describe
consecutive elements of the low support patterns.</p>
      <p>We define a window as:        
where i and j denote the first and last timeslots, and n and m
denote the beginning and length of the window respectively. In the
windowing phase, we search within every window of the chosen
length. This approach ignores patterns which span times which do
not fit within a window. We choose to focus on patterns which
occur in consecutive time slots as predicting occupant locations
based on their most recent movements has been shown to work by
the other approaches discussed in 2.2.</p>
      <p>For distinct patterns windowing is sufficient to find rules which
will make the correct predictions should the pattern recur. Taking
the example of an occupant who is absent all day, within each
window we will learn that consecutive hours of absence imply
absence in the next hour. Taken in combination, these rules will
state that at any hour of the day, consecutive absence implies
continued absence, although we are still not learning sequences in
the same sense as the approaches in 2.2, as the individual rules are
still tied to specific time slots. These rules are added to the rules
mined from the complete instances.
3.4</p>
    </sec>
    <sec id="sec-8">
      <title>Rule Selection</title>
      <p>Once the rules are generated we need a mechanism to choose a rule
to make a prediction. When a prediction is required, values for any
subset of the possible attributes can be supplied in the form of an
itemset V. A target for the prediction  is also given. We search
the generated rules for all rules    where    and   .
From these we select the rule with the highest confidence to make
the prediction2.
4</p>
    </sec>
    <sec id="sec-9">
      <title>EXPERIMENTAL EVALUATION</title>
      <p>
        To test our approach we use three different datasets: (i) data
obtained from a simulator which generates occupancy patterns, (ii)
data recorded by occupants of the 4C lab in UCC, and (iii) data
from the Augsburg Indoor Location Tracking Benchmarks [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
4.1
      </p>
    </sec>
    <sec id="sec-10">
      <title>Occupancy Simulator</title>
      <p>
        We have developed an occupancy simulator loosely based on the
work of [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. We model the activities which the occupants engage in
during the day to determine their location. The model can also be
viewed as a markov chain, where each state is a set of generated
events and each transition adds a new event to the set.
2 Confidence provided the highest accuracy over several evaluated metrics,
though the difference was marginal
      </p>
      <p>We have a set of agents A for whom we wish to generate
locations over a period of time. To determine these locations we
have a set of tasks T which can be assigned to agents. Each task
has a set of attributes, enumerated below, which determine the
agent’s location for a period of time. To assign tasks to agents we
have a set of roles R, each of which contains a set of tasks. Each
agent then has a set of roles which apply to them. A role is chosen
for each agent from their respective set at the beginning of each
day based on a probability distribution over their possible roles.</p>
      <p>Roles are defined as           where 
and are sets of possible arrival and finish times outside which the
agent is absent,  is a set of possible durations for the role,  is a
flag indicating whether the agent may attend meetings in this role,
and    are sets of tasks of different types.</p>
      <p>There are three different types of task in order to represent
different kinds of activities which can occur. These types differ in
how the task’s start time is selected and the order in which the
tasks are evaluated:</p>
      <p>Primary tasks are evaluated first:        where
 is a set of possible start times,  is a set of possible durations,
 is a set of possible locations, and  is the base probability of the
task occurring. Values are chosen from , and  based on
associated probability distributions. A primary task will not occur
if the agent is not available at the time chosen.</p>
      <p>Secondary tasks are evaluated once all primary tasks are done:
       where the attributes are as above, except
that times are selected from  in a set order until a free time slot is
found. A secondary task will not occur if the agent is not free at
any of the possible times.</p>
      <p>For every empty slot which is left unassigned at the end of the
process, a tertiary task is select to fill the slot:    .</p>
      <p>Tertiary tasks are selected based on an associated probability
distribution in the role. They have fixed duration and can appear
multiple times, and so their only property is a location.</p>
      <p>Primary tasks represent activities which must occur at a fixed
time if they occur and take priority over other tasks, while
secondary and tertiary tasks represent less important and
miscellaneous activities which are scheduled around other tasks.</p>
      <p>We also model meetings, which are essentially tasks involving
multiple agents. Because they involve multiple agents, each
meeting has a set of relevant agents rather than each agent having a
set of meetings. We have two types of meetings:</p>
      <p>Primary meetings are evaluated before all other tasks and
meetings:         . Primary meetings have
the same attributes as primary tasks. In addition, they have a set of
required agents , whom all must be available for the meeting to
occur, and a set of optional agents , who will attend if possible.</p>
      <p>Secondary meetings are evaluated after primary meetings and
primary tasks:         . Secondary meetings
have the same properties as secondary tasks. In addition, they have
a set of agents  a minimum number of available agents required
for the meeting to occur .</p>
      <p>The model used to generate the data used in this evaluation
includes 8 agents. 3 of these are lecturers, the remaining 5 are
students. The lecturers each have a one person office, which they
leave to give lectures and labs at fixed times with high probability.
The students share an open plan office, which they leave to have
one-on-one meetings with their supervisor (one of the lecturers).
All agents also go to lunch, choosing whether to remain in the
building or leave based on individual probabilities, attend a weekly
group meeting which is dependent on certain agents being present
to run it, and have a chance of missing an entire day due to illness.
To simulate how a system using this approach would actually
function, we use a contiguous dataset which is split such that there
is 2 months of training data with the following 3 weeks as test data.
4.2</p>
    </sec>
    <sec id="sec-11">
      <title>UCC Data</title>
      <p>To gather data to test our approach, five occupants of the 4C lab in
University College Cork including the authors manually recorded
their movements over a period of 1-2 months using google
calendar. Each occupant recorded their location by room code if
within a campus building, or marked themselves as ‘away’ if off
campus. The data was recorded from 8am to 6pm with half-hour
granularity, with any occupancy of significantly shorter duration
than 30 minutes filtered out. The occupants also recorded their
timetables for the time period, which recorded the locations they
were scheduled to be in in the same format as the record of their
actual movements. 20 locations were frequented by the occupants
including the ‘away’ location. The test set for this evaluation was
the most recent two weeks of data for each occupant, while the
training set was all the preceding data each occupant had recorded,
which covered between 3 and 7 weeks.
4.3</p>
    </sec>
    <sec id="sec-12">
      <title>Augsburg Dataset</title>
      <p>This external dataset contains data on 4 occupants for 1-2 weeks in
summer and 1-2 months in fall. The format of the dataset is a series
of timestamped locations for each occupant. In order to be able to
apply Apriori to the data, we converted it to the same timeslot
format as our gathered data. An occupant’s location in each
timeslot is the location they spent the majority of that timeslot in
according to the original data. Following this conversion there are
7 locations frequented by the occupants including ‘away’.
4.4</p>
    </sec>
    <sec id="sec-13">
      <title>Experiments</title>
      <p>We generate rules from each training set using a minimum support
and confidence of 0.2 and 0.5 respectively. During windowing we
use a window size of 6 slots and a minimum support of 0.05. We
evaluate the predictions of the association rules for each test set by
predicting the location of each occupant at each time slot in the test
set and recording the following statistics:
• Overall Accuracy: The percentage of predictions made
which were correct
•
•</p>
      <p>Exact Occupancy: The percentage of room/time
combinations for which the correct occupancy was
exactly predicted
Binary Occupancy: The percentage of room/time
combinations for which the room was correctly predicted
to be occupied or not</p>
      <p>Occupancy level prediction accuracy is only available on the
simulated dataset, as the collected dataset does not feature shared
rooms, rendering occupant location prediction and occupancy level
prediction essentially the same.</p>
      <p>We test the association rules on their ability to predict with and
without the timetable data available, and their ability to predict
next-hour and next-day. The former determines whether the values
of    are available when predicting, and is marked ‘no
Timetable’ if they are not. The latter determines whether   
are available, where n is the time slot being predicted, ’Next Hour’
if this information is available, and ‘Next Day’ if it is not.
4.5
4.5.1</p>
    </sec>
    <sec id="sec-14">
      <title>Results</title>
      <sec id="sec-14-1">
        <title>Algorithm Modification</title>
        <p>Overall
Accuracy
Table 2 shows the prediction accuracy for the agents in the
generated data. These agents have a high probability of attending
their timetabled tasks and narrow windows within which they
arrive at and leave the building. Due to this their overall behavior is
quite predictable, resulting in only a 5% drop in accuracy when
predicting next-day locations without timetable data compared to
next-hour predictions. The variations in their behavior, such as
missing tasks or entire days, are purely random and thus
unpredictable, reducing the accuracy in all tests.</p>
        <p>The exact and binary occupancy level accuracy values vary due
to the open plan office which the students share. The exact
occupancy is the same as or slightly lower than the overall
accuracy as the occupancy for the open plan office can be predicted
incorrectly if any one student is predicted incorrectly. The binary
occupancy accuracy is significantly higher due to the high
probability of the open plan office being occupied by at least one
student coupled with the high probability of correctly predicting
the presence of at least one student.
4.5.3</p>
      </sec>
      <sec id="sec-14-2">
        <title>UCC Data</title>
        <p>Table 3 shows higher overall accuracy on the UCC data than on the
generated data, which may indicate that the regular habits of
individual people are less random than the probability model in our
simulator. The drop in accuracy for next-day predictions compared
to next-hour predictions shows that more intelligent predictions of
the real occupants’ movements later in the day can be made based
on their movements earlier on, if that information is available.</p>
        <p>Figure 1 shows the overall accuracy across the day. The next
day and next hour predictions are of equal accuracy at the
beginning and end of the day and at lunch time, as these are the
times at which people’s movements are most reliable.</p>
        <p>Outside these times, data on the occupant’s movements that day
are needed to make accurate predictions. The next-day predictions
drop in accuracy at 14:00. This is due to the system being unable to
make a prediction for 14:00 without information on earlier
movements, indicating that relevant rules based solely on historical
movements at that time were below the confidence threshold.</p>
        <p>Figure 2 shows per-occupant overall accuracy for next-hour and
next-day predictions. In all cases next-day predictions are equal or
worse than next-hour predictions, but the degree varies between the
agents. One occupant is predictable enough that the overall
accuracy is equal, though this does not necessarily mean that
exactly the same predictions were made in both tests.</p>
        <p>The availability of timetable data makes no difference to the
accuracy of the predictions in either case. In general the timetable
entries in this dataset are weekly meetings. Without the presence of
irregularly scheduled meetings no extra useful correlations can be
found. Furthermore meetings can be cancelled, relocated or
rescheduled without sufficient notice to update the timetable, or the
occupant can be absent, all of which will reduce the reliability of
the timetable-related rules.</p>
        <p>



</p>
        <p>A recurring pattern in the selection of rules is the use of
timetable entries to predict movements before the meeting, and the












use of those predicted movements to predict attendance at the
meeting. This does not help accuracy on next-day predictions, as in
these cases the meetings are always scheduled every week and thus
do not allow discrimination between different patterns of
movement. However, this does show that in cases where the
meeting may or may not be scheduled, the timetable data could
improve accuracy for times before the scheduled event, as well as
for the event itself.</p>
      </sec>
      <sec id="sec-14-3">
        <title>Augsburg Dataset</title>
        <p>
          Table 4 shows overall accuracy on two evaluations on this data.
The ‘Two Season’ evaluation trains on the summer data and tests
on the fall data. Our prediction accuracy is low while accuracy
levels of 70-80% are achieved in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. We believe there are two
reasons for this. First, the occupant patterns are predictable
sequences but at irregular times of day and our approach cannot
learn a sequence of movements independently of the time at which
it occurs. If an occupant repeats the same sequence of movements
at different times, other approaches will treat this as reinforcement
of a single sequence, whereas our approach will attempt to learn
rules representing multiple separate sequences. Second, the
evaluation in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] only predicts the destination of an occupant
when they move rather than predicting their location at each time
slot.
        </p>
        <p>The ‘Two Season’ evaluation limits the training data to a
maximum of two weeks for each occupant, therefore we also
evaluated a split of the fall data where the final week is used for
testing, leaving approximately a month of preceding data per
occupant for training. The increased training set results in a
significant increase in accuracy, however our approach still has
difficulty predicting these occupants.
5</p>
      </sec>
    </sec>
    <sec id="sec-15">
      <title>CONCLUSIONS AND FUTURE WORK</title>
      <p>In this paper we presented an approach for applying association
rule mining to the problem of predicting future occupant locations.
We implemented our approach using a modification of a standard
association rule mining algorithm, and presented experimental
results which show that our modification of the algorithm can
predict actual occupant movements with a high degree of accuracy,
but is dependent on the types of patterns in the occupancy data.</p>
      <p>In comparison to standard approaches, association rule mining
has some benefits and drawbacks. While most other approaches
predict an occupant’s next location from a sequence representing
the occupant’s recent movements, our aim is to predict for any time
slot using whatever information is available, whether it be the
occupant’s recent movements the same day, or simply their
historical patterns. This is successful on two of the datasets, but our
approach’s inability to learn time-independent sequences means we
fall short of the existing approaches on the third dataset. We intend
to perform a deeper investigation of how our approach compares to
existing approaches on our datasets.</p>
      <p>There is existing work on extending Apriori to add new
functionality, including sequence mining and mining with
taxonomies. As part of our future work we intend to integrate these
features into our modified Apriori. Sequence mining will allow it
to perform better on datasets similar to the Augsburg dataset, as
well as improving performance on the other datasets, by finding
time-independent patterns. Taxonomies would allow the
specification of a hierarchy over the possible locations an occupant
may occupy. For example, we may generalize all locations to a
simple in or out of office value for each occupant, and then find
that in some cases where we cannot predict an occupant’s exact
location with high confidence, we can be highly confident that they
will not be in their office.</p>
      <p>We also wish to consider inter-instance mining. In many cases
an occupant’s movements will depend on other occupants, for
example a meeting not occurring due to someone being absent. By
learning patterns between occupants we could recognize these
cases and improve our prediction accuracy.</p>
      <p>
        The eventual goal is to integrate this approach with occupant
localization systems such as [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], and predictive control systems
such as [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Using occupant localization data, a system based on
our approach could provide the predictions necessary for more
energy efficient building control.i
i This work is funded by Science Foundation Ireland as part of the ITOBO
project under grant No. 07.SRC.I1170.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>World</given-names>
            <surname>Business</surname>
          </string-name>
          <article-title>Council for Sustainable Development, Energy Efficiency in Buildings: Facts and</article-title>
          <string-name>
            <surname>Trends - Full</surname>
            <given-names>Report</given-names>
          </string-name>
          , (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Agrawal</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Srikant</surname>
          </string-name>
          ,
          <article-title>Fast Algorithms for Mining Association Rules in Large Databases</article-title>
          ,
          <source>Proceedings of the 20th International Conference on Very Large Data Bases</source>
          ,
          <fpage>487</fpage>
          -
          <lpage>499</lpage>
          , (
          <year>1994</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Petzold</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pietzowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Bagci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Trumler</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Ungerer</surname>
          </string-name>
          ,
          <article-title>Prediction of Indoor Movements Using Bayesian Networks</article-title>
          ,
          <source>LoCA</source>
          <year>2005</year>
          , LNCS
          <volume>3479</volume>
          ,
          <fpage>211</fpage>
          -
          <lpage>222</lpage>
          , (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>L.</given-names>
            <surname>Vintan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gellert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Petzold</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Ungerer</surname>
          </string-name>
          ,
          <article-title>Person Movement Prediction Using Neural Networks</article-title>
          ,
          <source>Technical Report</source>
          , Institute of Computer Science, University of Augsburg, (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Petzold</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Bagci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Trumler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Ungerer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Vintan</surname>
          </string-name>
          ,
          <article-title>Global State Context Prediction Techniques Applied to a Smart Office Building, The Communication Networks and Distributed Systems Modeling</article-title>
          and Simulation Conference, San Diego, CA, USA, (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>C.</given-names>
            <surname>Voigtmann</surname>
          </string-name>
          , Sian Lun Lau,
          <string-name>
            <given-names>K.</given-names>
            <surname>David</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A Collaborative</given-names>
            <surname>Context Prediction Technique</surname>
          </string-name>
          , Vehicular Technology Conference, (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>N.</given-names>
            <surname>Eagle</surname>
          </string-name>
          and
          <string-name>
            <given-names>A. S.</given-names>
            <surname>Pentland</surname>
          </string-name>
          , Eigenbehaviors: Identifying structure in routine,
          <source>Behavioral Ecology and Sociobiology</source>
          , vol.
          <volume>63</volume>
          , no.
          <issue>7</issue>
          ,
          <fpage>1057</fpage>
          -
          <lpage>1066</lpage>
          , (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Jan</given-names>
            <surname>Petzold</surname>
          </string-name>
          , Augsburg Indoor Location Tracking Benchmarks, Context Database, Institute of Pervasive Computing, University of Linz, Austria. http://www.soft.uni-linz.ac.at/Research/Context Database/index.php, (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>G.</given-names>
            <surname>Zimmermann</surname>
          </string-name>
          ,
          <article-title>Modeling and Simulation of Individual User Behavior for Building Performance Predictions</article-title>
          ,
          <source>Proceedings of the Summer Computer Simulation Conference (SCSC)</source>
          ,
          <fpage>913</fpage>
          -
          <lpage>920</lpage>
          , San Diego, California, (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Petzold</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Bagci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Trumler</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Ungerer</surname>
          </string-name>
          .
          <article-title>Comparison of Different Methods for Next Location Prediction</article-title>
          ,
          <source>EuroPar</source>
          <year>2006</year>
          , LNCS
          <volume>4128</volume>
          ,
          <fpage>909</fpage>
          -
          <lpage>918</lpage>
          , (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>W.</given-names>
            <surname>Najib</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Klepal</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.B.</given-names>
            <surname>Wibowo</surname>
          </string-name>
          ,
          <article-title>MapUme: Scalable middleware for location aware computing applications</article-title>
          ,
          <source>International Conf. on Indoor Positioning and Indoor Navigation (IPIN)</source>
          , (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A. E.D.</given-names>
            <surname>Mady</surname>
          </string-name>
          , G. Provan,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ryan</surname>
          </string-name>
          and &amp;
          <string-name>
            <surname>K. N. Brown</surname>
          </string-name>
          ,
          <article-title>Stochastic Model Predictive Controller for the Integration of Building Use and Temperature Regulation</article-title>
          ,
          <source>AAAI</source>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>