Original: P REDICTING F LOOR -L EVEL FOR C ALLS WITH R ECURRENT N EURAL N ETWORKS AND S MARTPHONE S ENSOR D ATA
Revised: P REDICTING F LOOR -L EVEL FOR C ALLS WITH R ECURRENT N EURAL N ETWORKS AND S MARTPHONE S ENSOR D ATA

Original: Anonymous authors
Revised: Anonymous authors

Original: Paper under double-blind review
Revised: Paper under double-blind review

Original: A BSTRACT
Revised: A BSTRACT

Original: In cities with tall buildings, emergency responders need  accurate ﬂoor-level location to ﬁnd 911 callers quickly.
Revised: In cities with tall buildings, emergency responders need an accurate ﬂoor-level location to ﬁnd 911 callers quickly.

Original: We introduce a system to estimate a victim’s ﬂoorlevel via their mobile device’s sensor data in a two-step process.
Revised: We introduce a system to estimate a victim’s ﬂoor-level via their mobile device’s sensor data in a two-step process.

Original: First, we train aRecurrent Neural Network (RNN) using Long Short-Term Memory (LSTM) hidden units to determine when a smartphone enters or exits a building.
Revised: First, we train a Long Short-Term Memory (LSTM) network to determine when a smartphone enters or exits a building via GPS signal changes.

Original: Second, we use a barometer equipped smartphone to measure the change in barometric pressure from the entrance of the building to the victim’s indoor location.
Revised: Second, we use a barometer equipped smartphone to measure the change in barometric pressure from the entrance of the building to the victim’s indoor location.

Original: Unlike impractical previous approaches, our system is the ﬁrst that does not require the use of beacons, previous knowledge of the building infrastructure or knowledge of user behavior.
Revised: Unlike impractical previous approaches, our system is the ﬁrst that does not require the use of beacons, prior knowledge of the building infrastructure, or knowledge of user behavior.

Original: We demonstrate real-world feasibility through 63 experiments across ﬁve different tall buildings throughout New York City. Our system predicted the correct ﬂoor-levelwithin ± 1 ﬂoor with 91% accuracy.
Revised: We demonstrate real-world feasibility through 63 experiments across ﬁve different tall buildings throughout New York City where our system predicted the correct ﬂoor-level with 100% accuracy.

Original:  I NTRODUCTION
Revised:  I NTRODUCTION

Original: Indoor caller ﬂoor-level location plays a critical role during 911 emergency calls.
Revised: Indoor caller ﬂoor-level location plays a critical role during 911 emergency calls.

Original: In one use case, it can help pinpoint heart attack victims or a child calling on behalf of an incapacitated adult.
Revised: In one use case, it can help pinpoint heart attack victims or a child calling on behalf of an incapacitated adult.

Original: In another use case, it can help locate ﬁreﬁghters and other emergency personnel within a tall or burning building.
Revised: In another use case, it can help locate ﬁreﬁghters and other emergency personnel within a tall or burning building.

Original: In cities with tall buildings, traditional methods that rely on GPS or Wi-Fi fail to provide reliable accuracy for these situations.
Revised: In cities with tall buildings, traditional methods that rely on GPS or Wi-Fi fail to provide reliable accuracy for these situations.

Original: In these emergency situations knowing the ﬂoor location of a victim can speed up the victim search by a factor proportional to the number of ﬂoors in that building.
Revised: In these emergency situations knowing the ﬂoor location of a victim can speed up the victim search by a factor proportional to the number of ﬂoors in that building.

Original: In recent years methods that rely on smartphone sensors and Wi-Fi positioning (Xue et al., 2017) have been used to formulate solutions to this problem.
Revised: In recent years methods that rely on smartphone sensors and Wi-Fi positioning (Xue et al., 2017) have been used to formulate solutions to this problem.

Original: In this paper we introduce a system capable of delivering an estimated vertical ﬂoor locationwithin four meters by combining deep learning with barometric pressure data obtained from a Bosch bmp280 sensor  designed for ”ﬂoor-level accuracy” and available in most smartphones today (Bosch, 2016) (comScore, 2017).
Revised: In this paper we introduce a system capable of delivering an estimated vertical ﬂoor location by combining deep learning with barometric pressure data obtained from a Bosch bmp280 sensor (Bosch, 2016) designed for ”ﬂoor-level accuracy” and available in most smartphones today 1 .

Original: Our method focuses on providing the most accurate ﬂoor location estimate without relying on external sensors placed inside the building, prior knowledge of the building or user behavior.

Original: It relies simply on sensors aboard a smartphone and assumes our system could be used by an arbitrary user at an arbitrary time and place.

Original: As such, we trade-off accuracy for simplicity and viability in the realworld and develop a system that can be deployed on barometer and GPS equipped smartphones.

Original: Furthermore, we show that in our trials, our system can achieve 91% ﬂoor-level accuracy after learning an estimated ﬂoor-ceiling height via clustering repeated visits to the building.

Original: In this paper, we make two contributions.
Revised: We make two contributions.

Original: The ﬁrst is anRNN with LSTM (Hochreiter & Schmidhuber, 1997)hidden-units which we abbreviate as IOLSTM trained to classify a mobile phone as either indoors or outdoors that improves on a previous classiﬁer developed by (Avinash et al., 2010).
Revised: The ﬁrst is an LSTM (Hochreiter & Schmidhuber, 1997) trained to classify a smartphone as either indoors or outdoors using GPS, RSSI, and magnetometer sensor readings.

Original: Because neural networks have not been tried in this type of application, we compare performance against strong baseline classiﬁers, feed-forward neural network, logistic regression, SVMmodels and Random Forest models.
Revised: This model improves on a previous classiﬁer developed by (Avinash et al., 2010) and is compared against other classiﬁers: feed-forward neural networks, logistic regression, SVM and Random Forests.

Original: The second is an algorithm that uses a two-step process to predict the ﬂoor level for a user using a smart-phone with a GPS sensor and barometer.
Revised: The second is an algorithm that uses the LSTM output to measure the change in barometric pressure of the smartphone from the building entrance to the smartphone’s current location within the building and estimate its ﬂoor-level location by clustering height measurements through repeated building visits.

Original: In step 1, we train an
Revised: Our method focuses on providing the most accurate ﬂoor location estimate without relying on external sensors placed inside the building, prior knowledge of the building, or user behavior.

Original: IOLSTM to classify a smartphone as indoors or outdoors using the smartphone’s sensor data.
Revised: It merely relies on a smartphone equipped with GPS and barometer sensors and assumes an arbitrary user could use our system at a random time and place.

Revised: We offer an extensive discussion of potential problems and provide solutions to real-world deployments (appendix B).

Original: In step 2, we measure the change in barometric pressure of the smartphone from the building entrance to the smartphone’s current location within the building and estimate its ﬂoor-level location by clustering height measurements through repeated building visits. Our 63  experiments across six different buildings in New York City  show that the system can estimate the vertical displacement inside a building with 91% accuracy andan absolute ﬂoor-level with a one ﬂoor margin of error. 
Revised: We conducted 63 test experiments across six different buildings in New York City to show that the system can estimate the vertical displacement inside a building with 100.0% accuracy and a one-ﬂoor margin of error. Further, we show that by learning the ﬂoor-ceiling height via clustering repeated visits we can achieve 100% accuracy without a margin of error. We’ve also made all code, data and data collection app open-source on github.

Original:  R ELATED W ORK
Revised:  R ELATED W ORK

Original: Current approaches used to identify ﬂoor-level location fall into two broad categories.
Revised: Current approaches used to identify ﬂoor-level location fall into two broad categories.

Original: The ﬁrst approach classiﬁes user activity, i.e., walking, stairs, elevator, and generates a prediction based on movement offset (Avinash et al., 2010)
Revised: The ﬁrst method classiﬁes user activity, i.e., walking, stairs, elevator, and generates a prediction based on movement offset (Avinash et al., 2010)

Original: (Song et al., 2014).
Revised: (Song et al., 2014).

Original: The second category uses a barometer to calculate altitude or relative changes between multiple barometers (Parviainen et al., 2008) (Li et al., 2013)
Revised: The second category uses a barometer to calculate altitude or relative changes between multiple barometers (Parviainen et al., 2008) (Li et al., 2013)

Original: (Xia et al., 2015).
Revised: (Xia et al., 2015).

Original: We note that elevation can also be estimated using GPS.
Revised: We note that elevation can also be estimated using GPS.

Original: Although
Revised: Although

Original: GPS works well for horizontal coordinates (latitude and longitude), GPS is not accurate in urban settings with tall buildings and provides inaccurate vertical location (Lammel et al., 2009).
Revised: GPS works well for horizontal coordinates (latitude and longitude), GPS is not accurate in urban settings with tall buildings and provides inaccurate vertical location (Lammel et al., 2009).

Original: Song et al.
Revised: Song et al.

Original: (2014) describe three modules which model the mode of ascent as either elevator, stairs or escalator.
Revised: (2014) describe three modules which model the mode of ascent as either elevator, stairs or escalator.

Original: Although these methods show early signs of success, they require infrastructure support and tailored tuning for each building.
Revised: Although these methods show early signs of success, they required infrastructure support and tailored tuning for each building.

Original: For example, the iOS app (Wonsang, 2014) used in this experiment requires that the user state the ﬂoor height and lobby height to generate predictions.
Revised: For example, the iOS app (Wonsang, 2014) used in this experiment requires that the user state the ﬂoor height and lobby height to generate predictions.

Original: Avinash et al.
Revised: Avinash et al.

Original: (2010) use a classiﬁer to detect whether the user is indoors or outdoors.
Revised: (2010) use a classiﬁer to detect whether the user is indoors or outdoors.

Original: Another classiﬁer detects whether a user is walking, climbing stairs or standing still.
Revised: Another classiﬁer identiﬁes whether a user is walking, climbing stairs or standing still.

Original: For the elevator problem, they build another classiﬁer and attempt to measure the displacement via thresholding.
Revised: For the elevator problem, they build another classiﬁer and attempt to measure the displacement via thresholding.

Original: While this method shows promise, it needs to be calibrated to the user’s step size to achieve high accuracy and the ﬂoor estimates rely on observing how long it takes a user to transition between ﬂoors.
Revised: While this method shows promise, it needs to be calibrated to the user’s step size to achieve high accuracy, and the ﬂoor estimates rely on observing how long it takes a user to transition between ﬂoors.

Original: This method also relies on pre-training on a speciﬁc user.
Revised: This method also relies on pre-training on a speciﬁc user.

Original: Li et al.
Revised: Li et al.

Original: (2013) conduct a study of the feasibility of using barometric pressure to generate agood prediction for ﬂoor-level.
Revised: (2013) conduct a study of the feasibility of using barometric pressure to generate a prediction for ﬂoor-level.

Original: Their ﬁrst method measures the pressure difference between a reference barometer and a ”roving” barometer.
Revised: The author’s ﬁrst method measures the pressure difference between a reference barometer and a ”roving” barometer.

Original: The second method uses a single barometer as both the reference and rover barometer, and sets the initial pressure reading by detecting Wi-Fi points near the entrance.
Revised: The second method uses a single barometer as both the reference and rover barometer, and sets the initial pressure reading by detecting Wi-Fi points near the entrance.

Original: This method also relies on knowing beforehand the names of the Wi-Fi access points near the  entrance.
Revised: This method also relies on knowing beforehand the names of the Wi-Fi access points near the building entrance.

Original: Xia et al.
Revised: Xia et al.

Original: (2015) equip a building with reference barometers in each ﬂoor.
Revised: (2015) equip a building with reference barometers on each ﬂoor.

Original: Their method thus allows them to identify the ﬂoor without knowing the ﬂoor height.
Revised: Their method thus allows them to identify the ﬂoor-level without knowing the ﬂoor height.

Original: This method also requires equipping the building with pressure sensors beforehand.
Revised: This technique also requires ﬁtting the building with pressure sensors beforehand.

Original:  D ATA D ESCRIPTION
Revised:  D ATA D ESCRIPTION

Original: To our knowledge there does not exist a dataset for predicting ﬂoor heights.
Revised: To our knowledge, there does not exist a dataset for predicting ﬂoor heights.

Original: As such, we built an iOS app named Sensory 1 to aggregate data from the smartphone’s sensors.
Revised: As such, we built an iOS app named Sensory 3 to aggregate data from the smartphone’s sensors.

Original: We installed Sensory on an iPhone 6s and set to stream data at a rate of 1 sample per second.
Revised: We installed Sensory on an iPhone 6s and set to stream data at a rate of 1 sample per second.

Original: Each datum consisted of the following: indoors, created at, session id, ﬂoor, RSSI strength, GPS latitude, GPS longitude, GPS vertical accuracy, GPS horizontal accuracy, GPS course, GPS speed, barometric relative altitude, barometric pressure, environment context, environment mean bldg ﬂoors, environment activity, city name, country name, magnet x, magnet y, magnet z, magnet total.
Revised: Each datum consisted of the following: indoors, created at, session id, ﬂoor, RSSI strength, GPS latitude, GPS longitude, GPS vertical accuracy, GPS horizontal accuracy, GPS course, GPS speed, barometric relative altitude, barometric pressure, environment context, environment mean bldg ﬂoors, environment activity, city name, country name, magnet x, magnet y, magnet z, magnet total.

Original: Each trial consisted of a continuous period oftime of Sensory streaming.
Revised: Each trial consisted of a continuous period of Sensory streaming.

Original: We started and ended each trial by pressing the start button and stop button on the Sensory screen.
Revised: We started and ended each trial by pressing the start button and stop button on the Sensory screen.

Original: We separated data collection by two different motives; the ﬁrst to train the classiﬁer, the second to make ﬂoor predictions.
Revised: We separated data collection by two different motives; the ﬁrst to train the classiﬁer, the second to make ﬂoor-level predictions.

Original: The same sensory setup was used for both with two minor adjustments: 1) Locations used to train the classiﬁer differed from locations used to make building predictions.
Revised: The same sensory setup was used for both with two minor adjustments: 1) Locations used to train the classiﬁer differed from locations used to make building predictions.

Original: The indoor feature was only used to measure the classiﬁer accuracy in the real world.
Revised: The indoor feature was only used to measure the classiﬁer accuracy in the real world.

Original: 3. D ATA C OLLECTION FOR I NDOOR -O UTDOOR C LASSIFIER
Revised: 3. D ATA C OLLECTION FOR I NDOOR -O UTDOOR C LASSIFIER

Original: Our system operates on a time-series of sensor data collected by an iPhone 6s.
Revised: Our system operates on a time-series of sensor data collected by an iPhone 6s.

Original: Although the iPhone has many sensors and measurements available, we only use six features as determined by forests of trees feature reduction (Kawakubo & Yoshida, 2012).
Revised: Although the iPhone has many sensors and measurements available, we only use six features as determined by forests of trees feature reduction (Kawakubo & Yoshida, 2012).

Original: Speciﬁcally, we monitor the smartphone’s barometric pressure P , GPS vertical accuracy GV , GPS horizontal accuracy GH , GPS Speed GS , device RSSI  level rssi and magnetometer total reading M .
Revised: Speciﬁcally, we monitor the smartphone’s barometric pressure P , GPS vertical accuracy GV , GPS horizontal accuracy GH , GPS Speed GS , device RSSI 4 level rssi and magnetometer total reading M .

Original: All these signals can be gathered from the GPS transmitter, magnetometer and radio sensors embedded on the smartphone.
Revised: All these signals are gathered from the GPS transmitter, magnetometer and radio sensors embedded on the smartphone.

Original: Appendix table 5 shows an example of data points collected by our system.
Revised: Appendix tableshows an example of data points collected by our system.

Original: We calculate the total magnetic ﬁeld strength from the three axis x, y, z provided by the magnetometer by using equation 1.
Revised: We calculate the total magnetic ﬁeld strength from the three-axis x, y, z provided by the magnetometer by using equation 1.

Original: The data collection procedure is detailed in appendix B.
Revised: Appendix B.5 describes the data collection procedure.

Original: [Equation]
Revised: [Equation]

Original: 3.1. D ATA C OLLECTION FOR F LOOR P REDICTION
Revised: 3.1. D ATA C OLLECTION FOR F LOOR P REDICTION

Original: The data used to predict the ﬂoor-level was collected separately from the IOLSTM classiﬁer data.
Revised: The data used to predict the ﬂoor-level was collected separately from the LSTM classiﬁer data.

Original: We treat this dataset as the validation and testing set and only use it to measure system performance.
Revised: We treat this dataset as the validation and testing set and only use it to measure system performance.

Original: We collected 63 trials among ﬁve different buildings throughout New York City to explore the generality of our system.
Revised: We gathered 63 trials among ﬁve different buildings throughout New York City to explore the generality of our system.

Original: Our building sampling strategy attempts to diversify the locations of buildings, building sizes and building material.
Revised: Our building sampling strategy attempts to diversify the locations of buildings, building sizes and building material.

Original: The buildings tested explore a wide-range of possible results because of  range of building heights found in New York City (Appendix 4).
Revised: The buildings tested explore a wide-range of possible results because of the range of building heights found in New York City (Appendix 4).

Original: As such, our experiments are a good representation of expected performance in a real-world deployment.
Revised: As such, our experiments are a good representation of expected performance in a real-world deployment.

Original: The procedure described in appendix B.6 generates data used to predict a ﬂoor change from the entrance ﬂoor to the end ﬂoor.
Revised: The procedure described in appendix B.6 generates data used to predict a ﬂoor change from the entrance ﬂoor to the end ﬂoor.

Original: We count ﬂoors by setting the ﬂoor we enter to 1.
Revised: We count ﬂoors-levels by setting the ﬂoor we enter to 1.

Original: Positive ﬂoor changes means ascend,  negative changes means descend.
Revised: Positive ﬂoor changes mean ascend, and negative mean descend.

Original: This trial can also be performed by starting indoors and walking outdoors.
Revised: This trial can also be performed by starting indoors and walking outdoors.

Original: In this case our system would predict the person to be outdoors.
Revised: In this case, our system would predict the person to be outdoors.

Original: If a building has multiple entrances, our system may not give the correct numerical ﬂoor value as one would see in an elevator.
Revised: If a building has multiple entrances at different ﬂoor-levels, our system may not give the correct numerical ﬂoor value as one would see in an elevator.

Original: Our system will also be off in buildings that skip the 13th ﬂoor or have odd ﬂoor numbering.
Revised: Our system will also be off in buildings that skip the 13th ﬂoor or have odd ﬂoor numbering.

Original: The GPS lag tended to be less signiﬁcant when going from inside to outside which made outside predictions trivial for our system.
Revised: The GPS lag tended to be less signiﬁcant when going from inside to outside which made outside predictions trivial for our system.

Original: As such, we focus our trials on the much harder outside to inside prediction problem.
Revised: As such, we focus our trials on the much harder outside to inside prediction problem.

Original: 3.1. D ATA C OLLECTION FOR F LOOR C LUSTERING
Revised: 3.1. D ATA C OLLECTION FOR F LOOR C LUSTERING

Original: To explore the feasibility and accuracy of our proposed clustering system we conducted 41 separate trials in the Uris Hall building using the same device across two different days.
Revised: To explore the feasibility and accuracy of our proposed clustering system we conducted 41 separate trials in the Uris Hall building using the same device across two different days.

Original: We picked the ﬂoors to visit through a random number generator.
Revised: We picked the ﬂoors to visit through a random number generator.

Original: The only data we collected was the raw sensor data andwe did not tag the ﬂoor level we traveled to.
Revised: The only data we collected was the raw sensor data and did not tag the ﬂoor-level.

Original: We wanted to estimate the ﬂoor level via completely unsupervised data to simulate a real-world deployment of the clustering mechanism.
Revised: We wanted to estimate the ﬂoor-level via entirely unsupervised data to simulate a real-world deployment of the clustering mechanism.

Original: We used both the elevator and stairs arbitrarily to move from the ground ﬂoor to the destination ﬂoor.
Revised: We used both the elevator and stairs arbitrarily to move from the ground ﬂoor to the destination ﬂoor.

Original:  M ETHODS
Revised:  M ETHODS

Original: In the following section, we present the overall system for estimating the ﬂoor-level locationof a mobile device inside a building using only inputs from the sensors on-board the mobile device.
Revised: In this section, we present the overall system for estimating the ﬂoor-level location inside a building using only readings from the smartphone sensors.

Revised: Although any classiﬁer can be used, our experiments show that LSTMs are more accurate than the baselines, produce less false positive outdoor predictions, and can be build upon to develop full end-to-end ﬂoor-level prediction systems.

Original: We will describe the neural network architecture we designed to classify a device as either indoors or outdoors.
Revised: The LSTM classiﬁes a device as either indoors or outdoors.

Original: Next we’ll present an algorithm to identify indoor/outdoor transitions (IO), an algorithm to measure the relative vertical displacement based on the device’s barometric pressure, and a clustering based method to estimate the absolute ﬂoor-level.
Revised: Another algorithm identiﬁes indoor/outdoor transitions (IO), measures relative vertical displacement based on the device’s barometric pressure, and estimates absolute ﬂoor-level via clustering. 4. D ATA F ORMAT

Original: 4. R ECURRENT N EURAL N ETWORK A RCHITECTURE{+From our overall signal sequence { x 1 , x 2 , x j , ..., x n } we classify a set of k consecutive sensor readings X i = { x 1 , x 2 , ..., x k } as y = 
 if the device is indoors or y = 0 if outdoors. In our experiments we use the middle value x j of each X i as the y label such that X i = { x j − 1 , x j , x j +1 } and y i = x j .+}
Revised: {+From our overall signal sequence { x 1 , x 2 , x j , ..., x n } we classify a set of k consecutive sensor readings X i = { x 1 , x 2 , ..., x k } as y = 
 if the device is indoors or y = 0 if outdoors. In our experiments we use the middle value x j of each X i as the y label such that X i = { x j − 1 , x j , x j +1 } and y i = x j .+}

Original: The ﬁrst key component of our system, the IOLSTM, classiﬁes each device reading as either indoors or outdoors (IO).
Revised: The idea is that the network learns the relationship for the given point by looking into the past and future around that point. This design means our system has a lag of k/ 2 − 1 second before the network can give a valid prediction. We chose k = 3 as the number of points in X by random-search (Bergstra & Bengio, 2012) over the point range [1 , 30] . Fixing the window to a small size k allows us to use other classiﬁers as baselines to the LSTM and helps the model perform well even over sensor reading sequences that can span multiple days.

Revised: 4. I NDOOR -O UTDOOR C LASSIFICATION LSTM

Revised: The ﬁrst key component of our system is a classiﬁer which labels each device reading as either indoors or outdoors (IO).

Original: This critical step allows us to focus on a subset of the user’s activity, namely the part when they are indoors.
Revised: This critical step allows us to focus on a subset of the user’s activity, namely the part when they are indoors.

Original: We conduct our ﬂoor predictions in this subspace only.
Revised: We conduct our ﬂoor predictions in this subspace only.

Original: When a user is outside, we assume they are at ground level.
Revised: When a user is outside, we assume they are at ground level.

Original: This implies that our system does not detect ﬂoor-level in open spaces and may show a user who is on the roof as being at ground level.
Revised: Hence our system does not detect ﬂoorlevel in open spaces and may show a user who is on the roof as being at ground level.

Original: We treat these scenarios as edge-cases and focus our attention on ﬂoor-level location when indoors.
Revised: We treat these scenarios as edge-cases and focus our attention on ﬂoor-level location when indoors.

Original: Our IOLSTM is a 3-layerRNN with LSTMhidden units. The RNN is fed n consecutive device signal readings as the input X and attempts to label the output y as 1 if the device is indoors or 0 if the device is outdoors. For any set P i of n points we try to predict the label
Revised: We use a 3-layer LSTM as our primary classiﬁer.

Original: y i for the middle point p i .

Original: Through this setup, we allow the network to make an IO prediction for any given p i by using the points P i

Original: = { p i − 1 , p i , p i +1 }

Original: [-when k = 
-]
Revised: [-when k = 
-]

Original: The idea is that the network learns the relationship for the given point by looking into the past and future around that point. This design means our system has a lag of n/ 2 − 1 second before the network can give a valid prediction. We chose n = 11 as the number of points in X by random-search (Bergstra & Bengio, 2012) over the point range [1 , 30] . The IOLSTM network is given the set P i as the input X and the label for point p
Revised: The LSTM performed as well as our baseline fully connected neural network but opens future directions for end-to-end systems that don’t separate the indoor-outdoor classiﬁcation task from the ﬂoor-prediction task.

Original: i as label y .

Original: The network minimizes the binary cross-entropy between the true indoor state y of example i and the IOLSTM predicted indoor state IOLSTM ( X )
Revised: We train the LSTM to minimize the binary cross-entropy between the true indoor state y of example i and the LSTM predicted indoor state LSTM ( X )

Original: =
Revised: =

Original: ˆ y of example
Revised: ˆ y of example

Original: i .
Revised: i .

Original: This objective cost function C can be formulated as:
Revised: This objective cost function C can be formulated as:

Original: [Equation]
Revised: [Equation]

Original: Figure 4.1 shows the overall architecture.
Revised: Figure 4.2 shows the overall architecture.

Original: The ﬁnal output of the IOLSTM is a time-series T = { t 1 , t 2 , ..., t i , t n } where each t i = 0 , t i = 1 if the point is outside or inside respectively.
Revised: The ﬁnal output of the LSTM is a time-series T = { t 1 , t 2 , ..., t i , t n } where each t i = 0 , t i = 1 if the point is outside or inside respectively.

Original: The IO classiﬁer is the most critical part to our system.
Revised: The IO classiﬁer is the most critical part of our system.

Original: The accuracy of the ﬂoor predictions is dependent on the IO transition prediction accuracy.
Revised: The accuracy of the ﬂoor predictions depends on the IO transition prediction accuracy.

Original: The classiﬁer exploits the GPS signal, which does not cut out immediately when walking into a building.
Revised: The classiﬁer exploits the GPS signal, which does not cut out immediately when walking into a building.

Original: We call this the ”lag effect.”
Revised: We call this the ”lag effect.”

Original: The lag effect renders our system ineffective in 1-2 story houses or  glass buildings.
Revised: The lag effect hurts our system’s ineffectiveness in 1-2 story houses, glass buildings, or ascend methods that may take the user near a glass wall.

Original: A large lag means the user could have already moved between ﬂoors by the time the classiﬁer catches up.
Revised: A substantial lag means the user could have already moved between ﬂoors by the time the classiﬁer catches up.

Original: This will throw off results by 1-2 ﬂoors depending on how fast the device has moved between ﬂoors.
Revised: This will throw off results by 1-2 ﬂoor-levels depending on how fast the device has moved between ﬂoors.

Original: The same effect is problematic when the classiﬁer prematurely transitions indoors as the device could have been walking up or down a sloped surface before entering the building.
Revised: The same effect is problematic when the classiﬁer prematurely transitions indoors as the device could have been walking up or down a sloped surface before entering the building.

Original: We correct for most of these errors by looking at a window of size w around the exact classiﬁed transition point.
Revised: We correct for most of these errors by looking at a window of size w around the exact classiﬁed transition point.

Original: We use the minimum device barometric pressure in this window as our p 0 .
Revised: We use the minimum device barometric pressure in this window as our p 0 .

Original: We set w = 20 based on our observations of lag between the real transition and our predicted transition during experiments.
Revised: We set w = 20 based on our observations of lag between the real transition and our predicted transition during experiments.

Original: This location ﬁx delay was also observed by Nawarathne et al Nawarathne et al.
Revised: This location ﬁx delay was also observed by Nawarathne et al. Nawarathne et al.

Original: to be between 0 and 60 seconds with most ﬁxes happening between 0 and 20 seconds.
Revised: to be between 0 and 60 seconds with most ﬁxes happening between 0 and 20 seconds.

Original: 4. I NDOOR -O UTDOOR TRANSITION DETECTOR
Revised: 4. I NDOOR -O UTDOOR TRANSITION DETECTOR

Original: Given our IOLSTM IO predictions, we now need to identify when a transition into or out of a building occurred.
Revised: Given our LSTM IO predictions, we now need to identify when a transition into or out of a building occurred.

Original: This part of the system classiﬁes a sub-sequence s i
Revised: This part of the system classiﬁes a sub-sequence s i

Original: = T i : i + | V 1 | of IOLSTM predictions as either an IO transition or not.
Revised: = T i : i + | V 1 | of LSTM predictions as either an IO transition or not.

Original: Our classiﬁer consists of two binary vector masks 
Revised: Our classiﬁer consists of two binary vector masks V 1 , V

Original: [Equation]
Revised: [Equation]

Original: that are convolved across T to identify each subset s i ∈ S at which an IO transition occurred.
Revised: that are convolved across T to identify each subset s i ∈ S at which an IO transition occurred.

Original: Each subset s i is a binary vector of in/out predictions.
Revised: Each subset s i is a binary vector of in/out predictions.

Original: We use the Jaccard similarity (Choi et al., 2010) as an appropriate measure of distance between V 1 , V 2 and any s i .
Revised: We use the Jaccard similarity (Choi et al., 2010) as an appropriate measure of distance between V 1 , V 2 and any s i .

Original: As we traverse each subset s i we add the beginning index b i of s i to B when the Jaccard distances
Revised: As we traverse each subset s i we add the beginning index b i of s i to B when the Jaccard distances

Original: J 1 ≥ 0 .
Revised: J 1 ≥ 0 .

Original: 4 or J 2 ≥ 0 .
Revised: 4 or J 2 ≥ 0 .

Original: 4 as given by Equation 5.
Revised: 4 as given by Equation 5.

Original: We deﬁne J j , j = { 1 , 2 } by
Revised: We deﬁne J j , j = { 1 , 2 } by

Original: [Equation]
Revised: [Equation]

Revised: The Jaccard distances J 1 , J 2 where chosen through a grid search from [0 . 2 , 0 . 8] .

Revised: The length of the masks V 1 , V 2 were chosen through a grid search across the training data to minimize the number of false positives and maximize accuracy.

Original: Once we have each beginning index b i of the range s i , we merge nearby b i s and use the middle of each set b as an index of T describing an indoor/outdoor transition.
Revised: Once we have each beginning index b i of the range s i , we merge nearby b i s and use the middle of each set b as an index of T describing an indoor/outdoor transition.

Original: At the end of this step, B contains all the IO transitions b into and out of the building.
Revised: At the end of this step, B contains all the IO transitions b into and out of the building.

Original: The overall process is illustrated by
Revised: The overall process is illustrated by

Original: Figure 2 and described in Algorithm 1.
Revised: Figure 2 and described in Algorithm 1.

Original: 4. E STIMATING THE DEVICE ’ S VERTICAL HEIGHT
Revised: 4. E STIMATING THE DEVICE ’ S VERTICAL HEIGHT

Original: This part of the system determines the vertical offset measured in meters between the device’s inbuilding location, and the device’s last known IO transition.
Revised: This part of the system determines the vertical offset measured in meters between the device’s inbuilding location, and the device’s last known IO transition.

Original: In previous work (Song et al., 2014) suggested the use of a reference barometer or beacons as a way to determine the entrances to a building.
Revised: In previous work (Song et al., 2014) suggested the use of a reference barometer or beacons as a way to determine the entrances to a building.

Original: Our second key contribution is to use the IOLSTM IO predictions to help our system identify these indoor transitions into the building.
Revised: Our second key contribution is to use the LSTM IO predictions to help our system identify these indoor transitions into the building.

Original: The IOLSTM provides a self-contained estimator of a building’s entrance without relying on external sensor information on a user’s body or beacons placed inside a building’s lobby.
Revised: The LSTM provides a self-contained estimator of a building’s entrance without relying on external sensor information on a user’s body or beacons placed inside a building’s lobby.

Original: This algorithm starts by identifying the last known transition into a building.
Revised: This algorithm starts by identifying the last known transition into a building.

Original: This is relatively straightforward given the set of IO transitions B produced by the previous step in the system, Section 4.2.
Revised: This is relatively straightforward given the set of IO transitions B produced by the previous step in the system, Section 4.3.

Original: We can simply grab the last observation b n ∈ B and set the reference pressure p 0 to the lowest device pressure value within a 15 second window around b n .
Revised: We can simply grab the last observation b n ∈ B and set the reference pressure p 0 to the lowest device pressure value within a 15-second window around b n .

Original: A 15 second window accounts for the observed 15 second lag that the GPS sensor needs to release the location lock from serving satellites.
Revised: A 15-second window accounts for the observed 15-second lag that the GPS sensor needs to release the location lock from serving satellites.

Original: The second datapoint we use in our estimate is the device’s current pressure reading p 1 .
Revised: The second datapoint we use in our estimate is the device’s current pressure reading p 1 .

Original: To generate the relative change in height m ∆ we can use the international pressure equation (6) 
Revised: To generate the relative change in height m ∆ we can use the international pressure equation (6) (Milette &

Revised: Stroud, 2012).

Original: [Equation]
Revised: [Equation]

Original: As a ﬁnal output of this step in our system we have a scalar value m ∆ which represents the relative height displacement measured in meters, between the entrance of the building and the device’s current location.
Revised: As a ﬁnal output of this step in our system we have a scalar value m ∆ which represents the relative height displacement measured in meters, between the entrance of the building and the device’s current location.

Original: 4. R ESOLVING AN ABSOLUTE FLOOR  LEVEL
Revised: 4. R ESOLVING AN ABSOLUTE FLOOR - LEVEL

Original: This ﬁnal step converts the m ∆ measurement from the previous step into an absolute ﬂoor level.
Revised: This ﬁnal step converts the m ∆ measurement from the previous step into an absolute ﬂoor-level.

Original: This speciﬁc problem is ill-deﬁned because of the variability in building numbering systems.
Revised: This speciﬁc problem is ill-deﬁned because of the variability in building numbering systems.

Original: Certain buildings may start counting ﬂoors at 1 while others at 0.
Revised: Certain buildings may start counting ﬂoors at 1 while others at 0.

Original: Some buildings also avoid labeling the 13th ﬂoor or a maintenance ﬂoor.
Revised: Some buildings also avoid labeling the 13th ﬂoor or a maintenance ﬂoor.

Original: Heights between ﬂoors such as lobbies or food areas may besigniﬁcantly larger than the majority of the ﬂoors in the building.
Revised: Heights between ﬂoors such as lobbies or food areas may be larger than the majority of the ﬂoors in the building.

Original: It is therefore very difﬁcult to derive an absolute ﬂoor number consistently without prior knowledge of the building infrastructure.
Revised: It is therefore tough to derive an absolute ﬂoor number consistently without prior knowledge of the building infrastructure.

Original: Instead, we predict a ﬂoor-level indexed by the cluster number discovered by our system.
Revised: Instead, we predict a ﬂoor-level indexed by the cluster number discovered by our system.

Original: We expand on an idea explored by Xia et al.
Revised: We expand on an idea explored by Xia et al.

Original: (2015) to generate a very accurate representation of ﬂoor heights between building ﬂoors through repeated building visits.
Revised: (2015) to generate a very accurate representation of ﬂoor heights between building ﬂoors through repeated building visits.

Original: The authors used clusters of barometric pressure measurements to account for drift between sensors.
Revised: The authors used clusters of barometric pressure measurements to account for drift between sensors.

Original: We generalize this concept toaccurately estimate the ﬂoor-level of a device.
Revised: We generalize this concept to estimate the ﬂoor-level of a device accurately.

Original: First, we deﬁne the distance between two ﬂoors within a building d i,j as the tape-measure distance from ”carpet to carpet” between ﬂoor i and ﬂoor j .
Revised: First, we deﬁne the distance between two ﬂoors within a building d i,j as the tape-measure distance from ”carpet to carpet” between ﬂoor i and ﬂoor j .

Original: Our ﬁrst solution aggregates m ∆ estimates across various users and their visits to the building.
Revised: Our ﬁrst solution aggregates m ∆ estimates across various users and their visits to the building.

Original: As the number M of m ∆ ’s increases, we approximate the true latent distribution of ﬂoor heights which we can estimate via the observed m ∆ measurement clusters K .
Revised: As the number M of m ∆ ’s increases, we approximate the true latent distribution of ﬂoor heights which we can estimate via the observed m ∆ measurement clusters K .

Original: We generate each cluster k i ∈ K by sorting all observed m ∆ ’s and grouping points that are within 1.5 meters of each other.
Revised: We generate each cluster k i ∈ K by sorting all observed m ∆ ’s and grouping points that are within 1.5 meters of each other.

Original: We pick 1.5 because it is a value which was too low to be an actual d i,j distance as observed from an 1107 building d i,j dataset of New York City buildings from the Council on tall buildings and urban habitat (sky, 2017).
Revised: We pick 1.5 because it is a value which was too low to be an actual d i,j distance as observed from an 1107 building d i,j dataset of New York City buildings from the Council on tall buildings and urban habitat (sky, 2017).

Original: During prediction time, we ﬁnd the closest cluster k to the device’s m ∆ value and use the index of that cluster as the ﬂoor level.
Revised: During prediction time, we ﬁnd the closest cluster k to the device’s m ∆ value and use the index of that cluster as the ﬂoor-level.

Original: Although this actual number may not match the labeled number in the building, it provides the true architectural ﬂoor level which may be off by one depending on the counting system used in that building.
Revised: Although this actual number may not match the labeled number in the building, it provides the true architectural ﬂoor-level which may be off by one depending on the counting system used in that building.

Original: Our results are surprisingly accurate and are described in-depth in section 5.
Revised: Our results are surprisingly accurate and are described in-depth in section 5.

Original: When data from other users is unavailable, we simply divide the m ∆ value by an estimator ˆ m from the sky (2017) dataset.
Revised: When data from other users is unavailable, we simply divide the m ∆ value by an estimator ˆ m from the sky (2017) dataset.

Original: Across the 1107 buildings, we found a bi-modal distribution corresponding to ofﬁce and residential buildings.
Revised: Across the 1107 buildings, we found a bi-modal distribution corresponding to ofﬁce and residential buildings.

Original: For residential buildings we let ˆ m r = 3 .
Revised: For residential buildings we let ˆ m r = 3 .

Original: 24 and ˆ m o = 4 .
Revised: 24 and ˆ m o = 4 .

Original: 02 for ofﬁce buildings, Figure 6 shows the dataset distribution by building type.
Revised: 02 for ofﬁce buildings, Figure 6 shows the dataset distribution by building type.

Original: If we don’t know the type of building, we use ˆ m = 3 . 63 which is the mean of both estimates.
Revised: If we don’t know the type of building, we use ˆ m = 3 . 63 which is the mean of both estimates.

Original: We give a summary of the overall algorithm in  appendix (2).
Revised: We give a summary of the overall algorithm in the appendix (2).

Original:  E XPERIMENTS A ND R ESULTS
Revised:  E XPERIMENTS A ND R ESULTS

Original: We separate our evaluation into two different tasks: The Indoor-Outdoor classiﬁcation task and the ﬂoor-level prediction task.
Revised: We separate our evaluation into two different tasks: The Indoor-Outdoor classiﬁcation task and the ﬂoor-level prediction task.

Original: In the Indoor-Outdoor detection task we compare the RNN model against four other baseline models.
Revised: In the Indoor-Outdoor detection task, we compare the RNN model against four other baseline models.

Original: In the ﬂoor-level prediction task we evaluate the full system.
Revised: In the ﬂoor-level prediction task, we evaluate the full system.

Original: 5. I NDOOR -O UTDOOR C LASSIFICATION R ESULTS
Revised: 5. I NDOOR -O UTDOOR C LASSIFICATION R ESULTS

Revised: In this ﬁrst task our goal is to predict whether a device is indoors or outdoors using data from sensors on

Original: [Table]
Revised: [Table]

Original: In this ﬁrst task our goal is to predict whether a device is indoors or outdoors using data from sensors on-board a mobile device.

Original: All indoor-outdoor classiﬁers are trained and validated on data from 35 different trials for a total of 5082 datapoints.
Revised: All indoor-outdoor classiﬁers are trained and validated on data from 35 different trials for a total of 5082 datapoints.

Original: The data collection process is described in section 3.1.
Revised: The data collection process is described in section 3.1.

Original: We used 80% training, 20% validation split.
Revised: We used 80% training, 20% validation split.

Original: We don’t test on this data, but instead test from separately collected data obtained from the procedure in section 3.1.1.
Revised: We don’t test on this data, but instead test from separately collected data obtained from the procedure in section 3.1.1.

Original: We train the IOLSTM for 24 epochs with a batch size of 128 and optimize using Adam (Kingma & Ba, 2014) with a learning rate of 0 . 004 .
Revised: We train the LSTM for 24 epochs with a batch size of 128 and optimize using Adam (Kingma & Ba, 2014) with a learning rate of 0 . 004 .

Original: We choseour hyper-parameters for the network and number of points in X througha random search (Bergstra & Bengio, 2012) on the hyper-parameter space.
Revised: We chose the learning-rate, number of layers, k size, number of hidden units and dropout through random search (Bergstra & Bengio, 2012).

Original: We designed the IOLSTM network architecture through experimentation and picked the best architecture based on validation performance.
Revised: We designed the LSTM network architecture through experimentation and picked the best architecture based on validation performance.

Revised: Training logs were collected through the python test-tube (Falcon, 2017) library and are available on the github repository.

Original: RNN architecture: Layer 1 has LSTM cell with 50 neurons followed by a dropout layer set to 0 .
Revised: LSTM architecture: Layers 1 and 2 have 50 neurons followed by a dropout layer set to 0 .

Original: Layer 2 is the same as layer 1 but with 18 neurons.

Original: Layer 3 is an LSTM with 2 units fed directly into a 1-neuron feed-forward model with a sigmoid activation function.
Revised: Layer 3 has 2 units fed directly into a 1-neuron feed-forward layer with a sigmoid activation function.

Original: We evaluate the IOLSTM against a number of baseline methods, a feed-forward model, SVM, logistic regression and Random Forest.
Revised: We evaluate the LSTM against a number of baseline methods, a feed-forward neural network, SVM, logistic regression and Random Forest.

Original: Table 1 gives the performance for each model.
Revised: Table 1 gives the performance for each model.

Original: The LSTM model outperforms all other models by a large margin and generalizes better than the fully-connected network on theheld out test set.
Revised: The LSTM and feed forward models outperform all other baselines in the test set.

Original: 5. F LOOR -L EVEL P REDICTION R ESULTS
Revised: 5. F LOOR -L EVEL P REDICTION R ESULTS

Original: [Table]
Revised: [Table]

Original: -4+

Original: We measure our performance in terms of number of ﬂoors traveled.
Revised: We measure our performance in terms of number of ﬂoors traveled.

Original: For each trial, the error between the target ﬂoor f and the predicted ﬂoor ˆ f is their absolute difference.
Revised: For each trial, the error between the target ﬂoor f and the predicted ﬂoor ˆ f is their absolute difference.

Original: Our system does not report the absolute ﬂoor number as it may be different depending on where the user entered the building or how the ﬂoors are numbered within a building.
Revised: Our system does not report the absolute ﬂoor number as it may be different depending on where the user entered the building or how the ﬂoors are numbered within a building.

Original: We ran two tests with different m values.
Revised: We ran two tests with different m values.

Original: In the ﬁrst experiment we used m = m r = 4 .
Revised: In the ﬁrst experiment we used m = m r = 4 .

Original: 02 across all buildings.
Revised: 02 across all buildings.

Original: This heuristic predicted the correct ﬂoor level within 1 ﬂoor with 73% accuracy.
Revised: This heuristic predicted the correct ﬂoorlevel with 65% accuracy.

Original: In the second experiment we used a speciﬁc m value for each individual building.
Revised: In the second experiment we used a speciﬁc m value for each individual building.

Original: This second experiment predicted the correct ﬂoor with 91% accuracy and a 1-ﬂoor margin of error.
Revised: This second experiment predicted the correct ﬂoor with 100% accuracy.

Original: These results show that a proper m value can increase the accuracy dramatically.
Revised: These results show that a proper m value can increase the accuracy dramatically.

Original: Table 2 describes our results.
Revised: Table 2 describes our results.

Original: In each trial we either walked up or down the stairs or took the elevator to the destination ﬂoor, according to the procedure outlined in section 3.1.1.
Revised: In each trial we either walked up or down the stairs or took the elevator to the destination ﬂoor, according to the procedure outlined in section 3.1.1.

Original: The system had no prior information about the buildings in these trials and made predictions solely from the classiﬁer and barometric pressure difference.
Revised: The system had no prior information about the buildings in these trials and made predictions solely from the classiﬁer and barometric pressure difference.

Original: 5. F LOOR L EVEL C LUSTERING R ESULTS
Revised: 5. FLOOR - LEVEL C LUSTERING R ESULTS

Original: In this section we show results for estimating the ﬂoor-level through our clustering system.
Revised: In this section we show results for estimating the ﬂoor-level through our clustering system.

Original: The data collected here is described in detail in section 3.1.2.
Revised: The data collected here is described in detail in section 3.1.2.

Original: In this particular building, the ﬁrst ﬂoor  is 5 meters away from the ground, while the next two subsequent ﬂoors have a distance of 3.
Revised: In this particular building, the ﬁrst ﬂoor [Table] is 5 meters away from the ground, while the next two subsequent ﬂoors have a distance of 3.

Original: meters and remainder ﬂoors a distance of 3.5.
Revised: meters and remainder ﬂoors a distance of 3.5.

Original: To verify our estimates, we used a tape-measure in the stairwell to measure the distance between ﬂoors from ”carpet to carpet.”
Revised: To verify our estimates, we used a tape-measure in the stairwell to measure the distance between ﬂoors from ”carpet to carpet.”

Original: Table 3 compares our estimates against the true measurements.
Revised: Table 3 compares our estimates against the true measurements.

Original: Figure 5 in the appendix shows the resulting k clusters from the trials in this experiment.
Revised: Figure 5 in the appendix shows the resulting k clusters from the trials in this experiment.

Revised:  F UTURE D IRECTION

Original: [Table]
Revised: Choosing an LSTM for our tasks allows us to decouple the indoor/outdoor classiﬁcation task from the ﬂoor-level estimation task. A natural next step is to integrate both systems to generate ﬂoorlevel predictions from raw sensor readings. We’re currently experimenting with hyerarchical LSTM models inspired by the works of Ghosh et al. and (Henderson et al., 2017).

Original:  C ONCLUSION
Revised:  C ONCLUSION

Original: In this paper we presented a system that can predict a device’s ﬂoor level within ± 1 ﬂoors with 91% accuracy.
Revised: In this paper we presented a system that predicted a device’s ﬂoor-level with 100% accuracy intrials across New York City.

Original: Unlike previous systems explored by Avinash et al.
Revised: Unlike previous systems explored by Avinash et al.

Original: , Song et al.
Revised: , Song et al.

Original: (2014), Parviainen et al.
Revised: (2014), Parviainen et al.

Original: , Li et al.
Revised: , Li et al.

Original: , Xia et al.
Revised: , Xia et al.

Original: , our system is completely self-contained and can generalize to various types of tall buildings which can exceed 19 or more stories.
Revised: (2015), our system is completely selfcontained and can generalize to various types of tall buildings which can exceed 19 or more stories.

Original: This makes our system realistic for real-world deployment with little to no infrastructure support required.
Revised: This makes our system realistic for real-world deployment with little to no infrastructure support required.

Original: We also introduced the IOLSTM, a Recurrent Neural Network using Long Short-Term Memory hidden units that solves the indoor-outdoor classiﬁcation problem with 91 .
Revised: We also introduced an LSTM, that solves the indoor-outdoor classiﬁcation problem with 89 .

Original: 1% accuracy.
Revised: 8% accuracy.

Original: The IOLSTM outperforms our baseline feed-forward network, SVM, random forest, logistic regression andoutperforms a previous systems designed by Radu et al.
Revised: The LSTM matched our baseline feed-forward network, and outperformed SVMs, random forests, logistic regression and previous systems designed by Radu et al.

Original: (2014) and Zhou et al.
Revised: (2014) and Zhou et al.

Revised: The LSTM model also serves as a ﬁrst step for future work modeling the overall system end-to-end.

Original: Finally, we showed that we can learn the distribution of ﬂoor heights within a building by aggregating m ∆ measurements across different visits to the building.
Revised: Finally, we showed that we can learn the distribution of ﬂoor heights within a building by aggregating m ∆ measurements across different visits to the building.

Original: This method allows us to generate precise ﬂoor level estimates via unsupervised methods.
Revised: This method allows us to generate precise ﬂoor-level estimates via unsupervised methods.

Original: Our overall system marries these different elements to make our system a feasible approach to speed up real-world emergency rescues in cities with tall buildings.
Revised: Our overall system marries these different elements to make our system a feasible approach to speed up real-world emergency rescues in cities with tall buildings.

Original: A PPENDIX B R EAL - WORLD CONSIDERATIONS
Revised: A PPENDIX B R EAL - WORLD CONSIDERATIONS

Original: In this section we explore potential pitfalls of our system in a real-world scenario and offer potential solutions.
Revised: In this section we explore potential pitfalls of our system in a real-world scenario and offer potential solutions.

Original: B. E XTERNAL PRESSURE CHANGES AND PRESSURE DRIFT
Revised: B. E XTERNAL PRESSURE CHANGES AND PRESSURE DRIFT

Original: One of the main criticisms for barometric pressure based systems is the unpredictability of barometric pressure as a sensor measurement due to external factors and changing weather conditions.
Revised: One of the main criticisms for barometric pressure based systems is the unpredictability of barometric pressure as a sensor measurement due to external factors and changing weather conditions.

Original: Critics have cited the discrepancy between pressure-sealed buildings and their environments, weather pattern changes, and changes in pressure due to ﬁres (Roberson, 2014).
Revised: Critics have cited the discrepancy between pressure-sealed buildings and their environments, weather pattern changes, and changes in pressure due to ﬁres (Roberson, 2014).

Original: Li et al.
Revised: Li et al.

Original: (2013) used a reference weather station at a nearby airport to correct weather induced pressure drift.
Revised: (2013) used a reference weather station at a nearby airport to correct weather induced pressure drift.

Original: They showed the ability to correct weather drift changes with a maximum error of 2.
Revised: They showed the ability to correct weather drift changes with a maximum error of 2.

Original: meters.
Revised: meters.

Original: Xia et al.
Revised: Xia et al.

Original: (2015) also used a similar approach but instead adjust their estimates by reading temperature measurements obtained from a local weather station.
Revised: (2015) also used a similar approach but instead adjust their estimates by reading temperature measurements obtained from a local weather station.

Original: We experimented with the method described by (Li et al., 2013) and conducted a single trial as a proof of concept.
Revised: We experimented with the method described by (Li et al., 2013) and conducted a single trial as a proof of concept.

Original: We measured the pressure reading p from an iPhone device on a table over 7 hours while simultaneously querying weather data w every minute.
Revised: We measured the pressure reading p from an iPhone device on a table over 7 hours while simultaneously querying weather data w every minute.

Original: By applying the offset equation 7 we attempt to normalize the p i reading to the ﬁrst p 0 reading generated by the device
Revised: By applying the offset equation 7 we attempt to normalize the p i reading to the ﬁrst p 0 reading generated by the device

Original: [Equation]
Revised: [Equation]

Original: we were able to stay close to the initial p 0 estimate over the experiment period.
Revised: we were able to stay close to the initial p 0 estimate over the experiment period.

Original: We did ﬁnd that the resolution from the local weather station needed to be ﬁne-grained enough to keep the error from drifting excessively.
Revised: We did ﬁnd that the resolution from the local weather station needed to be ﬁne-grained enough to keep the error from drifting excessively.

Original: Figure 3 shows the result of our experiment.
Revised: Figure 3 shows the result of our experiment.

Original: B. T IME SENSITIVITY
Revised: B. T IME SENSITIVITY

Original: Our method works best when an offset m ∆ is predicted within a short window of making a transition within the building.
Revised: Our method works best when an offset m ∆ is predicted within a short window of making a transition within the building.

Original: (Li et al., 2013) explored the stability of pressure in the short term and found the pressure changed less than 0.1 hPa every 10 minutes (Li et al., 2013) on average.
Revised: (Li et al., 2013) explored the stability of pressure in the short term and found the pressure changed less than 0.1 hPa every 10 minutes (Li et al., 2013) on average.

Original: The primary challenge arises in the case when a user does not leave their home for an extended period of hours.
Revised: The primary challenge arises in the case when a user does not leave their home for an extended period of hours.

Original: In this situation, we can use the previously discussed weather offset method from section B.1, or via indoor navigation technology.
Revised: In this situation, we can use the previously discussed weather offset method from section B.1, or via indoor navigation technology.

Original: We can use the device to list Wi-Fi access points within the building and tag each cluster location using RSSI ﬁngerprinting techniques as described by Zhang et al.
Revised: We can use the device to list Wi-Fi access points within the building and tag each cluster location using RSSI ﬁngerprinting techniques as described by Zhang et al.

Original: Ergen et al.
Revised: Ergen et al.

Original: (2014) and Tahat et al.
Revised: (2014) and Tahat et al.

Original: With these tags in place, we can use the average ﬂoor level tags of the nearest n Wi-Fi access points once the delay between the building entrance and the last user location is too large.
Revised: With these tags in place, we can use the average ﬂoor-level tags of the nearest n Wi-Fi access points once the delay between the building entrance and the last user location is too large.

Original: We could not test this theory directly because of the limitations
Revised: We could not test this theory directly because of the limitations

Original: Apple places on their API to show nearby Wi-Fi access points to non-approved developers.
Revised: Apple places on their API to show nearby Wi-Fi access points to non-approved developers.

Original: B. D IFFERENCES BETWEEN BAROMETERS
Revised: B. D IFFERENCES BETWEEN BAROMETERS

Original: Another potential source of error is the difference between barometric pressure device models.
Revised: Another potential source of error is the difference between barometric pressure device models.

Original: Xia et al.
Revised: Xia et al.

Original: (2015) conducted a thorough comparison between seven different barometer models.
Revised: (2015) conducted a thorough comparison between seven different barometer models.

Original: They concluded that although there was signiﬁcance variation between barometer accuracies, the errors were consistent and highly correlated between each device.
Revised: They concluded that although there was signiﬁcance variation between barometer accuracies, the errors were consistent and highly correlated between each device.

Original: They also speciﬁcally mentioned that the Bosch BMP180 barometer, the older generation model to the one used in our research, provided the most accurate measurements from the other barometers tested.
Revised: They also speciﬁcally mentioned that the Bosch BMP180 barometer, the older generation model to the one used in our research, provided the most accurate measurements from the other barometers tested.

Original: In addition, Li et al.
Revised: In addition, Li et al.

Original: (2013) also conducted a thorough analysis using four different barometers.
Revised: (2013) also conducted a thorough analysis using four different barometers.

Original: Their results are in line with Xia et al.
Revised: Their results are in line with Xia et al.

Original: and show a high correlation and a constant offset between models.
Revised: and show a high correlation and a constant offset between models.

Original: They also noted that within the same model (Bosch BMP180) there was also a measurement variation but it was constant (Li et al., 2013).
Revised: They also noted that within the same model (Bosch BMP180) there was also a measurement variation but it was constant (Li et al., 2013).

Original: B. B ATTERY I MPACT
Revised: B. B ATTERY I MPACT

Original: Our system relies on continuous GPS and motion data collected on the mobile device.
Revised: Our system relies on continuous GPS and motion data collected on the mobile device.

Original: Continuously running the GPS and motion sensor on the background can have an adverse effect on battery life.
Revised: Continuously running the GPS and motion sensor on the background can have an adverse effect on battery life.

Original: Zhou et al.
Revised: Zhou et al.

Original: (2012) showed that GPS drained the battery roughly double as fast across three different devices.
Revised: (2012) showed that GPS drained the battery roughly double as fast across three different devices.

Original: Although GPS and battery technology has improved dramatically since 2012, GPS still has a large adverse effect on battery life.
Revised: Although GPS and battery technology has improved dramatically since 2012, GPS still has a large adverse effect on battery life.

Original: This effect can vary across devices and software implementation.
Revised: This effect can vary across devices and software implementation.

Original: For instance, on iOS the system has a dedicated chip that continuously reads device sensor data (Estes, 2013).
Revised: For instance, on iOS the system has a dedicated chip that continuously reads device sensor data (Estes, 2013).

Original: This approach allows the system to stream motion events continuously without rapidly draining battery life.
Revised: This approach allows the system to stream motion events continuously without rapidly draining battery life.

Original: GPS data, however, does not have the same hardware optimization and is known to drain battery life rapidly.
Revised: GPS data, however, does not have the same hardware optimization and is known to drain battery life rapidly.

Original: Nawarathne et al. conducted a thorough study of the impact of running GPS continuously on a mobile device.
Revised: Nawarathne et al. conducted a thorough study of the impact of running GPS continuously on a mobile device.

Original: They propose a method based on adjusted sampling rates to decrease the negative impact of GPS on battery life.
Revised: They propose a method based on adjusted sampling rates to decrease the negative impact of GPS on battery life.

Original: For real-world deployment this approach would still yield fairly ﬁne-grained resolution and would have to be tuned by a device manufacturer for their speciﬁc device model.
Revised: For real-world deployment this approach would still yield fairly ﬁne-grained resolution and would have to be tuned by a device manufacturer for their speciﬁc device model.

Original: [Table] [Table]
Revised: [Table] [Table]

Original: [Table] [Table][Table]
Revised: [Table] [Table]

Original: [Table] [Table][Table]
Revised: [Table] [Table]

Original: [Table] [Table]
Revised: [Table] [Table]

Original: C A LGORITHM REFERENCES
Revised: C A LGORITHM REFERENCES

Original: 1: procedure F IND IOI NDEXES (T) 2:
Revised: 1: procedure F IND IOI NDEXES (T) 2:

Original: V 1 = [1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0] 3:
Revised: V 1 = [1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0] 3:

Original: V 2 = [0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1] 4:
Revised: V 2 = [0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1] 4:

Original: S =
Revised: S =

Original: [] 5: (cid:46) Find Jacc ≥ 0 .6: for i ∈ { 1 , ..., | T | − | V 1 |} do 7: s i =
Revised: [] 5: (cid:46) Find Jacc ≥ 0 .6: for i ∈ { 1 , ..., | T | − | V 1 |} do 7: s i =

Original: { t i , ..., t i + | V 1 | } 8: if J ( s i , V 1 ) >
Revised: { t i , ..., t i + | V 1 | } 8: if J ( s i , V 1 ) >

Original: = 0 .
Revised: = 0 .

Original: 4 or J ( s i , V 2 ) >
Revised: 4 or J ( s i , V 2 ) >

Original: = 0 .
Revised: = 0 .

Original: 4 then 9:
Revised: 4 then 9:

Original: S ← i 10: (cid:46)
Revised: S ← i 10: (cid:46)

Original: Merge s i ranges 11: merged = [] 12: for each b i ∈ S do 13: if b i + 2 <
Revised: Merge s i ranges 11: merged = [] 12: for each b i ∈ S do 13: if b i + 2 <

Original: =
Revised: =

Original: b i − 1 then 14: merged [ i ] ← Merge( b i , b
Revised: b i − 1 then 14: merged [ i ] ← Merge( b i , b

Original: i − 1 ) 15: 16: transitions = [] 17: for each m i ∈ merged do 18: transitions ← Middle ( m i ) 19: return transitions
Revised: i − 1 ) 15: 16: transitions = [] 17: for each m i ∈ merged do 18: transitions ← Middle ( m i ) 19: return transitions

Original: Algorithm
Revised: Algorithm

Original: 1: procedure P REDICT F LOOR 2:
Revised: 1: procedure P REDICT F LOOR 2:

Original: T = CaptureData ( GPS, baro, RSSI, magnet ) (cid:46) Classify each reading as IO 3: for t ∈ T do 4: t IO = NNIO ( t ) 5: (cid:46) Locate last IO transition 6:
Revised: T = CaptureData ( GPS, baro, RSSI, magnet ) (cid:46) Classify each reading as IO 3: for t ∈ T do 4: t IO = NNIO ( t ) 5: (cid:46) Locate last IO transition 6:

Original: B = FindIOTransitionIndexes ( T ) 7: b n = B [ n ] 8: if b n,IO = 0 then return ”outdoors” 9:
Revised: B = FindIOTransitionIndexes ( T ) 7: b n = B [ n ] 8: if b n,IO = 0 then return ”outdoors” 9:

Original: (cid:46) Compute m ∆ 10: p 1 = devicePressure ( T n ) 11: p 0 = devicePressure ( b n ) 12: m ∆ = f floor ( p 0 , p 1 ) 13: (cid:46) Find the nearest k cluster 14: for k i ∈ K do 15: ˆ f = |
Revised: (cid:46) Compute m ∆ 10: p 1 = devicePressure ( T n ) 11: p 0 = devicePressure ( b n ) 12: m ∆ = f floor ( p 0 , p 1 ) 13: (cid:46) Find the nearest k cluster 14: for k i ∈ K do 15: ˆ f = |

Original: k
Revised: k

Original: i − m ∆ | ≤ 1 .16: (cid:46) Estimate ﬂoor level 17: if exists ˆ f then 18: ˆ f = i 19: else 20: ˆ f = m ∆ bestM
Revised: i − m ∆ | ≤ 1 .16: (cid:46) Estimate ﬂoor-level 17: if exists ˆ f then 18: ˆ f = i 19: else 20: ˆ f = m ∆ bestM

Original: () return ˆ f
Revised: () return ˆ f