Original: P REDICTING FLOOR LEVEL FOR C ALLS WITH N EURAL N ETWORKS AND S MARTPHONE S ENSORD ATA
Revised: P REDICTING FLOOR LEVEL FOR C ALLS WITH N EURAL N ETWORKS AND S MARTPHONE S ENSOR

Original: Anonymous authors Paper under double-blind review
Revised: D ATA

Original: A BSTRACT
Revised: A BSTRACT

Original: In cities with tall buildings, emergency responders need an 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 ﬂoor level 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 a neural network to determine when a smartphone enters or exits a building via GPS signal changes.
Revised: First, we train a neural 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, prior 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
Revised: We demonstrate real-world feasibility through 63 experiments across ﬁve different tall buildings throughout New

Original: York City where our system predicted the correct ﬂoor level with 100% accuracy.
Revised: 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 level 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 level 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 that delivers an estimated ﬂoor level by combining deep learning with barometric pressure data obtained from a Bosch bmp280 sensor designed for ”ﬂoor level accuracy” (Bosch, 2016) and available in most smartphones today 1 .
Revised: In this paper we introduce a system that delivers an estimated ﬂoor level by combining deep learning with barometric pressure data obtained from a Bosch bmp280 sensor designed for ”ﬂoor level accuracy” (Bosch, 2016) and available in most smartphones today 1 .

Original: We make two contributions: the ﬁrst is an LSTM (Hochreiter & Schmidhuber, 1997) trained to classify a smartphone as either indoors or outdoors (IO) using GPS, RSSI, and magnetometer sensor readings.
Revised: We make two contributions: the ﬁrst is an LSTM (Hochreiter & Schmidhuber, 1997) trained to classify a smartphone as either indoors or outdoors (IO) using GPS, RSSI, and magnetometer sensor readings.

Original: Our model improves on a previous classiﬁer developed by (Avinash et al., 2010).
Revised: Our model improves on a previous classiﬁer developed by (Avinash et al., 2010).

Original: We compare the LSTM against feedforward neural networks, logistic regression, SVM, HMM and Random Forests as baselines.
Revised: We compare the LSTM against feedforward neural networks, logistic regression, SVM, HMM and Random Forests as baselines.

Original: The second is an algorithm that uses the classiﬁer output to measure the change in barometric pressure of the smartphone from the building entrance to the smartphone’s current location within the building.
Revised: The second is an algorithm that uses the classiﬁer output to measure the change in barometric pressure of the smartphone from the building entrance to the smartphone’s current location within the building.

Original: The algorithm estimates the ﬂoor level by clustering height measurements through repeated building visits or a heuristic value detailed in section 4.5.
Revised: The algorithm estimates the ﬂoor level by clustering height measurements through repeated building visits or a heuristic value detailed in section 4.5.

Original: We designed our method to provide the most accurate ﬂoor level estimate without relying on external sensors placed inside the building, prior knowledge of the building, or user movement behavior.
Revised: We designed our method to provide the most accurate ﬂoor level estimate without relying on external sensors placed inside the building, prior knowledge of the building, or user movement behavior.

Original: 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: 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.

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

Original: We conducted 63 test experiments across six different buildings in New York City to show that the system can estimate the ﬂoor level inside a building with 65.0% accuracy when the ﬂoor-ceiling distance in the building is unknown.
Revised: We conducted 63 test experiments across six different buildings in New York City to show that the system can estimate the ﬂoor level inside a building with 65.0% accuracy when the ﬂoor-ceiling distance in the building is unknown.

Original: However, when repeated visit data can be collected, our simple clustering method can learn the ﬂoor-ceiling distances and improve the accuracy to 100%.
Revised: However, when repeated visit data can be collected, our simple clustering method can learn the ﬂoor-ceiling distances and improve the accuracy to 100%.

Original: All code, data and data collection app are available open-source on github.
Revised: All code, data and data collection app are available 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 method 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 required 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 identiﬁes 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 a prediction for ﬂoor level.
Revised: (2013) conduct a study of the feasibility of using barometric pressure to generate a prediction for ﬂoor level.

Original: The author’s ﬁ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 building 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 on each ﬂoor.
Revised: (2015) equip a building with reference barometers on each ﬂoor.

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

Original: This technique also requires ﬁtting 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: Thus, we built an iOS app named Sensory 3 to aggregate data from the smartphone’s sensors.
Revised: Thus, 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 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 level 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 4 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 are gathered from the
Revised: All these signals are gathered from the

Original: GPS transmitter, magnetometer and radio sensors embedded on the smartphone.
Revised: GPS transmitter, magnetometer and radio sensors embedded on the smartphone.

Original: Appendix tableshows 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: Appendix
Revised: Appendix

Original: B.5 describes the data collection procedure.
Revised: B.5 describes the data collection procedure.

Original: [Equation]
Revised: [Equation]

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

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

Original: We treat the ﬂoor level dataset as the testing set used only to measure system performance.
Revised: We treat the ﬂoor level dataset as the testing set used only to measure system performance.

Original: We gathered 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 the 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 ﬂoor levels by setting the ﬂoor we enter to 1.
Revised: We count ﬂoor levels by setting the ﬂoor we enter to 1.

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 at different ﬂoor levels, 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 and did not tag the ﬂoor level.
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 entirely 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 this section, we present the overall system for estimating the ﬂoor level location inside a building using only readings from the smartphone sensors First, a classiﬁer network classiﬁes a device as either indoors or outdoors.
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 First, a classiﬁer network classiﬁes a device as either indoors or outdoors.

Original: The next parts of the algorithm identify indoor/outdoor transitions (IO), measure relative vertical displacement based on the device’s barometric pressure, and estimate absolute ﬂoor level via clustering.
Revised: The next parts of the algorithm identify indoor/outdoor transitions (IO), measure relative vertical displacement based on the device’s barometric pressure, and estimate absolute ﬂoor level via clustering.

Original: 4. D ATA F ORMAT
Revised: 4. D ATA F ORMAT

Original: From our overall signal sequence { x 1 , x 2 , x j , ..., x n } we classify a set of d consecutive sensor readings X i = { x 1 , x 2 , ..., x d } as y = 1 if the device is indoors or y = 

Revised: From our overall signal sequence { x 1 , x 2 , x j , ..., x n } we classify a set of d consecutive sensor readings X i = { x 1 , x 2 , ..., x d } as y = 1 if the device is indoors or y =

Original: if outdoors.
Revised: if outdoors.

Original: 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 =
Revised: 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 =

Original: x j .
Revised: x j .

Original: The idea is that the network learns the relationship for the given point by looking into the past and future around that point.
Revised: The idea is that the network learns the relationship for the given point by looking into the past and future around that point.

Original: This design means our system has a lag of d/ 2 − 1 second before the network can give a valid prediction.
Revised: This design means our system has a lag of d/ 2 − 1 second before the network can give a valid prediction.

Original: We chose d = 3 as the number of points in X by random-search (Bergstra & Bengio, 2012) over the point range [1 , 30] .
Revised: We chose d = 3 as the number of points in X by random-search (Bergstra & Bengio, 2012) over the point range [1 , 30] .

Original: Fixing the window to a small size d 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: Fixing the window to a small size d 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.

Original: [Figure]
Revised: 4. I NDOOR -O UTDOOR C LASSIFICATION N EURAL N ETWORKS

Original: The ﬁrst key component of our system is a classiﬁer which labels each device reading as either indoors or outdoors (IO).
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: Hence 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 ﬂoor level 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: Although our baselines performed well, the neural networks outperformed on the test set.
Revised: Although our baselines performed well, the neural networks outperformed on the test set.

Original: Furthermore, the LSTM serves as the basis for future work to model the full system within the LSTM; therefore, we use a 3-layer LSTM as our primary classiﬁer.
Revised: Furthermore, the LSTM serves as the basis for future work to model the full system within the LSTM; therefore, we use a 3-layer LSTM as our primary classiﬁer.

Original: 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 )
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.2 shows the overall architecture.
Revised: Figure 4.2 shows the overall architecture.

Original: 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.
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 of our system.
Revised: The IO classiﬁer is the most critical part of our system.

Original: The accuracy of the ﬂoor predictions depends 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 hurts our system’s effectiveness in 1-2 story houses, glass buildings, or ascend methods that may take the user near a glass wall.
Revised: The lag effect hurts our system’s effectiveness in 1-2 story houses, glass buildings, or ascend methods that may take the user near a glass wall.

Original: A substantial 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 ﬂoor levels 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., 2014) to be between 0 and 60 seconds with most GPS ﬁxes happening between 0 and 20 seconds.[Figure]
Revised: This location ﬁx delay was also observed by (Nawarathne et al., 2014) to be between 0 and 60 seconds with most GPS ﬁxes happening between 0 and 20 seconds.

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

Original: [Figure]

Original: Given our LSTM 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 LSTM 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 V 1 ,V
Revised: Our classiﬁer consists of two binary vector masks V 1 ,

Revised: [Equation]

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]

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

Original: 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.
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 LSTM 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 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.
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.3).
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) (Milette &
Revised: To generate the relative change in height m ∆ we can use the international pressure equation (6) (Milette &

Original: Stroud, 2012).
Revised: Stroud, 2012).

Original: [Equation]

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 be 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 tough 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 to estimate the ﬂoor level of a device accurately.
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 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 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 the 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 six different models,
Revised: In the indoor-outdoor detection task we compare six different models,

Original: LSTM, feedforward neural networks, logistic regression, SVM, HMM and Random Forests.
Revised: LSTM, feedforward neural networks, logistic regression, SVM, HMM and Random Forests.

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

Original: In this ﬁrst task, our goal is to predict whether a device is indoors or outdoors using data from the smartphone sensors.
Revised: In this ﬁrst task, our goal is to predict whether a device is indoors or outdoors using data from the smartphone sensors.

Revised: [Table]

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

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 with this data but instead test from separately collected data obtained from the procedure in section 3.1.1.[Table]
Revised: We don’t test with this data but instead test from separately collected data obtained from the procedure in section 3.1.1.

Original: 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 . 006 .
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 . 006 .

Original: We chose the learning-rate, number of layers, d size, number of hidden units and dropout through random search (Bergstra & Bengio, 2012).
Revised: We chose the learning-rate, number of layers, d size, number of hidden units and dropout through random search (Bergstra & Bengio, 2012).

Original: We designed the LSTM 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.

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

Original: LSTM architecture: Layers one and two have 50 neurons followed by a dropout layer set to 0 .
Revised: LSTM architecture: Layers one and two have 50 neurons followed by a dropout layer set to 0 .

Original: Layer 3 has two neurons fed directly into a one-neuron feedforward layer with a sigmoid activation function.
Revised: Layer 3 has two neurons fed directly into a one-neuron feedforward layer with a sigmoid activation function.

Original: Table 1 gives the performance for each classiﬁer we tested.
Revised: Table 1 gives the performance for each classiﬁer we tested.

Original: The LSTM and feedforward models outperform all other baselines in the test set.
Revised: The LSTM and feedforward models outperform all other baselines in the test set.

Original: 5. FLOOR LEVEL P REDICTION R ESULTS
Revised: 5. FLOOR LEVEL P REDICTION R ESULTS

Revised: [Table]

Original: Classiﬁer(
Revised: Classiﬁer

Revised: [Table]

Revised: m

Revised: [Table]

Revised: [Table]

Revised: m

Original: [Table]
Revised: [Table]

Revised: bldg conditional)

Original: [Table]
Revised: [Table]

Original: We measure our performance in terms of the number of ﬂoors traveled.
Revised: We measure our performance in terms of the 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 with 65% accuracy.
Revised: This heuristic predicted the correct ﬂoor level 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 100% accuracy.
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: [Table]5. FLOOR LEVEL C LUSTERING R ESULTS
Revised: [Table]

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 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.

Original:  F UTURE D IRECTION
Revised:  F UTURE D IRECTION

Original: Separating the IO classiﬁcation task from the ﬂoor prediction class allows the ﬁrst part of our system to be adopted across different location problems.
Revised: Separating the IO classiﬁcation task from the ﬂoor prediction class allows the ﬁrst part of our system to be adopted across different location problems.

Original: Our future work will focus on modeling the complete problem within the LSTM to generate ﬂoor level predictions from raw sensor readings as inspired by the works of Ghosh et al.
Revised: Our future work will focus on modeling the complete problem within the LSTM to generate ﬂoor level predictions from raw sensor readings as inspired by the works of Ghosh et al.

Original: and (Henderson et al., 2017).
Revised: and (Henderson et al., 2017).

Original:  C ONCLUSION
Revised:  C ONCLUSION

Original: In this paper we presented a system that predicted a device’s ﬂoor level with 100% accuracy intrials across New York City.
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: (2015), our system is completely selfcontained 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 no infrastructure support required.
Revised: This makes our system realistic for real-world deployment with no infrastructure support required.

Original: We also introduced an LSTM, that solves the indoor-outdoor classiﬁcation problem with 90 .
Revised: We also introduced an LSTM, that solves the indoor-outdoor classiﬁcation problem with 90 .

Original: 3% accuracy.
Revised: 3% accuracy.

Original: The LSTM matched our baseline feedforward network, and outperformed SVMs, random forests, logistic regression and previous systems designed by Radu et al.
Revised: The LSTM matched our baseline feedforward 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.

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

Original: Finally, we showed that we could 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 could 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 various elements to make it a feasible approach to speed up real-world emergency rescues in cities with tall buildings.
Revised: Our overall system marries these various elements to make it 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 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 substantial.
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 substantial.

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ﬁcant variation between barometer accuracies, the errors were consistent and highly correlated with each device.
Revised: They concluded that although there was signiﬁcant variation between barometer accuracies, the errors were consistent and highly correlated with each device.

Original: They also speciﬁcally mentioned that the
Revised: They also speciﬁcally mentioned that the

Original: 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: 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.
Revised: Nawarathne et al.

Original: (2014) conducted a thorough study of the impact of running GPS continuously on a mobile device.
Revised: (2014) 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] [Table]
Revised: [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