Uncertain Data for Bus Stop Identification Meg Campbell Blind users of public transit still face challenges finding bus stops in areas that they do not know well. We would like to extend OneBusAway to provide basic information about each stop that would allow blind users to locate it more readily (eg: markers such as bus shelters, benches, a description of the bus stop pole, and other physical information about the stop that can be felt rather than seen.) Metro possesses some information about bus stops beyond what they make publicly available on their site. However, this information is incomplete, frequently out of date, and contains only some of the fields we need. We can supplement it with information obtained from crowdsourcing, where individual users provide feedback about the current state of a bus stop in order to give us data that Metro lacks in a more up-to-date form. One approach to obtaining this data that we have been exploring is using Mechanical Turk to obtain responses. Bus stops are identified on Google maps, and then presented to the worker as a Google street view. The workers are asked to identify whether certain markers are present or not and to locate them on the screen, giving GPS coordinates for each labeled object. Fig 1: The interface used by workers on MTurk to label stop landmarks Responses from many workers are then collected as an aggregate to give probabilistic results (eg: 75% of workers believe there is a bus shelter at a particular stop.) This MTurk study was performed as a joint project between UW and the University of Maryland, covering a subset of bus stops in the DC and Seattle areas. It does not provide comprehensive data for every Seattle bus stop but serves as a preliminary data source to evaluate MTurk as a means of obtaining this information. Data Collection Because this project is a continuation of outside research the early part of my work was focused on completing data collection. We chose audit areas around UW, downtown Seattle, Washington DC, and College Park, Maryland to use as the initial test of the MTurk data collection method. A several square mile radius was chosen in advance for each area. Then all positions marked on Google Maps as being bus stops were used as data points and presented as panoramic views to the workers on MTurk. Additionally, we visited each stop on the list in person and took photos exhaustively documenting the current state of the bus stop. There were two goals to this phase of the data collection. Firstly, we wanted to evaluate how accurate the MTurk workers were at applying labels to the given Google Maps image. Secondly, we wanted to evaluate how accurately the Google data reflects the current state of the bus stops in those areas. In order to accomplish this for each stop three sets of data were collected: the MTurk worker’s labels from the interface, the researchers’ labels from the same MTurk interface, and a dataset representing “ground truth” of the researchers manually counting bus stop attributes from current photos. We found the labels produced by the MTurk workers to be largely accurate against the Google Maps data when enough workers labeled a single stop; this will be discussed in further detail below. On average, I found that about 17.6% of Seattle bus stops identified by Google maps were false positives that were not present in Google street view. Of the bus stops found in the physical survey, 93.7% were identified on Google maps. MTurk Data Data collection on MTurk is conducted as individual assignments to workers for which workers are paid when the whole assignment is completed. A single “assignment” in the BusStopLabeler was defined as being 14-16 randomly chosen labeling tasks, where each labeling task refers to completely labeling a single stop. The full schema of this data is provided in the appendix below. Fig 2: Subset of the relevant tables and fields from the MTurk data tables For the purposes of aggregating the data afterwards, the fields shown in Figure 2 are the most relevant ones. For each bus stop the specific labeling task that produced data for it can be found by PanoramaID. These tasks are part of a larger assignment, which may or may not have been completed (meaning all tasks in the assignment were finished and submitted). For the purposes of our study we only considered labels from completed assignments in order to avoid cases in which some labels had been placed but the worker had not finished the full task. Each labeling task is associated with some number of labels, which contain both a GIS location and the type of label used. A label may also be flagged as deleted if the user placed the label but withdrew it prior to submission. Only undeleted labels are considered for the purpose of this study. In order to produce a full table of the probabilistic traits of a bus stop, first all labels for each LabelingTask must be collected into a single row representing that specific task’s view of the bus stop. The null columns— meaning no labels were placed for a given attribute—must be replaced with explicit 0s in order to preserve the overall counts when using aggregation on all rows. Once rows of data representing each labeling task have been generated, these can be grouped by the internal bus stop ID and processed into the overall probabilistic expectations for the stop. At this step I kept only the most common guess for each trait. For example, if the beliefs stated that there was a 60% probability of being 2 shelters and a 40% probability of being 1 shelter, I did not preserve any information about the distribution other than the most likely choice and its probability. Ties were broken arbitrarily by the max function. (These were very uncommon; with more than 15 respondents most bus stops tended towards pronounced trends of certainty, with exceptions discussed in more detail below.) Fig 3: MTurk probability table (subset of columns) MTurk and Metro With the table of MTurk probabilities assembled, the MTurk data was joined to the Metro data to combine the data into a single most probable deduction about the stop. Join For applications using geographical data the standard approach is to use a spatial database. Using the latitude and longitude coordinates the tables were joined using a radius from the official (Metro) location of the stop (Mamoulis). The initial approach used a very strict radius because stops were frequently so close together. Using a 10 foot radius (0.00003 degrees latitude and 0.00004 degrees longitude) the first approach successfully joined only 4% of the MTurk data with the Metro database. Ideally, the aim of the project would be to join all data obtained through crowdsourcing with all of the official Metro data. However, false positives would be an extremely bad outcome for this kind of work. Telling a user a patently false thing about a stop (eg: it has 5 benches, when in actuality it has 2) is actually worse than providing no information, because it will obfuscate the process of stop finding. Therefore, the reliability of the information is crucial, and the join algorithm needs to err heavily on the side of omitting information rather than using more information but allowing false positives. When the radius requirements were substantially relaxed (30 feet) the join still only used 42% of the MTurk data but also obtained false positives. In order to cut down on the false positives, a variable joining method was suggested, which would use a stricter join radius in areas where bus stops were known to be very close together (such as downtown) and a wider radius in other areas. Using this tuning and specifically keeping the strict (15 foot) radius for downtown only, the join utilized 47% of the MTurk data without any false positives. Manual analysis of the joined bus stop data indicated that every stop was correctly joined, with 100% accuracy, even for bus stops as close as across the street from each other. However, a large amount of the MTurk data was not able to be used without compromising the accuracy in this step. Simple Stop Info The resulting data from the join has probabilistic spatial information. The primary purpose of the application is to give information about each specific stop; therefore, the main focus of the research is on this step, generating a “most likely” description of a specific stop. A simple algorithm was applied by assigning weights to the value of the information (Sarkar). The starting assumption is that the Metro data is a reliable source, but may be outdated. Metro data marked as having been updated this year received a likelihood weighting of 0.9; 0.7 for the previous year; and 0.5 for anything earlier. MTurk data will be weighted according to the probability assigned to each feature. For features about which data exists in both Metro and MTurk databases (such as shelters, benches, etc) the probability of the truth of each assignment will be compared and the more probable choice will be stored along with the number of features as the “most likely” bus stop scenario. Fig 4: Bus stop summary The weights of this algorithm could be tuned further in order to weight the selection of information differently. However, in practice, the Metro data virtually never improved on the bus stop expectations generated by the MTurk data. The best use of these weights would be to set them to very low probabilities (eg: 0.5, 0.3, and 0.2) so that they would only provide data when uncertainty was very low on MTurk; for example, for bus stops that could not be easily labeled in the Turk interface because the image was obscured by something such as a bus parked in front of the stop. Path Search The primary intent of the research was to provide a reliable description of the attributes of specific bus stops. However, once each stop is adequately characterized, it is possible to look at paths of bus stops in order to get an overall perspective on their accessibility. Hua and Pei provide some alternative algorithms that describe probabilistic queries on paths. These are designed to provide greater accuracy than earlier approaches which considered simply the average properties between two endpoints. However, unlike Hua’s examples, the paths generated by a Metro bus stop search are inherently discrete rather than continuous. Once a user is on the bus, all buses are effectively equal in terms of accessibility. The variances are between specific bus stops (and, beyond the scope of the available data, on the paths between bus stops.) The probability of a single bus stop being accessible does not impact in any way the probability that the next stop on the route will be accessible. Therefore, in practice discretizing the algorithm in this way essentially results in an accessibility “score” for a route rather than an overall probability that the route is accessible. Partially this is because there is no meaningful way to provide a probability answer to this question. All stops are functionally accessible to blind Metro users in that they can be reached; we are simply trying to evaluate the degree to which they can be easily identified. For a bus stop route A containing stops A, B, C, … the accessibility score is then defined as the sum of the products of each stop’s accessibility score and the strength of that belief, 𝐴𝑃 = 𝐴𝐴 ∗ 𝑃𝐴 + 𝐴𝐵 ∗ 𝑃𝐵 + 𝐴𝐶 ∗ 𝑃𝐶 + ⋯ Each individual stop’s accessibility score is the number of identifiable features present. For example, a bus stop with two benches and one shelter would have an accessibility score of 3. Fig 5: Bus stop path accessibility rankings A higher score represents a more probably identifiable string of stops. However, in order to account for variance in path length, it is the case that equal length paths should only ever be compared to each other. A shorter path will always be higher in “accessibility” than a longer path, due to the fact that every stop identification increases uncertainty. Therefore, these queries identify the shortest length paths (smallest number of stops) and compare only these paths to each other, assigning a route score to only these. Results & Conclusions The primary aim of this project is to generate an accurate listing of the attributes of a bus stop in order to make the stop more accessible to blind and low vision users of public transit. To do this, we obtained official bus stop information both from Metro and from Mechanical Turk. The data from Metro is insufficient in the level of detail for our purposes, so the MTurk data—or other crowdsourced additional data—is absolutely necessary in order to fully describe the stop. To determine the success of the MTurk data, a random sampling of half of the Seattle bus stops in the set were chosen and the MTurk results were visually compared to photos of each stop. Of the bus stops chosen, the MTurk data correctly characterized the bus stop in all features 42.3% of the time. When the data was incorrect, 86.7% of the time the discrepancy resulted from an omission of features. 2 0 Delta Features Idenitfied 0 2 4 6 8 10 12 14 16 18 -2 -4 -6 -8 -10 -12 Correct Number of Features Fig 5: Errors in Stop Identification, MTurk data only The vast majority of identification errors in stops came from failing to label features rather than adding extraneous labels. The MTurk data sampling omitted 51.1% of the correct labels. Only 2.2% of labels placed were incorrect additional labels for features that were not present. In general, this trend is more desirable than the inverse; the requirement to not have false positives is much more important than the need to capture all data. However, the omissions are still substantial. The hope would be that joining the MTurk data with the Metro data would correct some of these label omissions. However, in the subset of data viewed, the Metro join only improved the bus stop description 3.8% of the time. In 73.1% of cases it had no effect, while 23.1% of the time it actually made the MTurk estimation worse. In 2/3 of those cases, it removed correctly labeled data. Both data sets err heavily on the conservative side. Possibly in the case of MTurk, because submitting extra labels takes more time and work, it is uncommon for many extraneous labels to be posted to a stop. Because the MTurk estimate is conservative in the first place, one improvement to the join algorithm would be to only make modifications in order to add in omitted labels, never to remove those placed. In practice, the MTurk data had many more applicable fields than the Metro data. Declining to use the Metro data altogether in favor of crowdsourced data would not substantially damage the performance of the app. However, how to correctly associate the crowdsourced data by latitude and longitude with the official bus stop location data remains an issue, as the app must still associate these two pieces of information in order to present Metro-only data such as bus routes and times. References Hua, M, and Jian Pei. Ranking queries on uncertain data. New York: Springer, 2011. Mamoulis, N. Spatial data management. San Rafael, Calif: Morgan & Claypool Publishers, 2012. Sarkar, S., & Dey, D. 2009. Relational Models and Algebra for Uncertain Data. In C. Aggarwal (Ed.), Managing and Mining Uncertain Data (45-73). New York, NY: Springer. Appendix SIS data: Fields and descriptions from Metro Field Accessibility Level ADA Landing Pad ATIS Transfer Point Authorizatio n Awning Bay Bearing Code Bollards Created By Cross Street Curb Curb Height Curb Paint Begin Date End Date Date Mapped Date Created Displaceme nt Display X Display Y Ditch Extension Surface Extension Width FareZone From Cross Curb Info Sign Anchor Info Sign Intersection Juris Comments All entries are changed to "Yes," "Limited," or "Not Access" when signs are ordered. Yes/No I don't think this is maintained in its source data. Defaults to GIS assignment; can overwrite from drop-down list. Refers to authorizing business or jurisdiction that owns the property. Yes/No P&R or Transit Center bay assignment Direction of coach travel. N/S/E/W Yes/No Either Planner name or "SIS data load" Defaults to GIS assignment; can overwrite from drop-down list. Color(s) of paint; drop-down list. Date the current Stop Status began. Many stops have multiple "instances" of temporal data. Default is 1/1/4000; can overwrite Yes/No Drop-down list: asphalt, concrete, dirt, grass, landscape, stone, pavers, footing, other, gravel, unknown, none Freeform entry Defaults to GIS assignment; can overwrite from drop-down list. Drop-down list of choices "Info Signs" are stand-alone signs that don't have route information; drop-down list of sign types to choose from. Location of stop relative to On/Cross intersection: near side, far side, etc. Defaults to GIS assignment; can overwrite from drop-down list. Jurisdiction in which the stop is located; may not be property owner. See "Authorization.") Last Edited Latitude Layover Group Longitude News Box On Street Other Covered Area Other Transit Sign Paint Length Parking Strip Surface Percent From % Passing Pullout Retaining Wall RFP District Ride Free Area Flag Rte Sign Post Anchor Rte Sign Post Type Rte Sign Type Rte Sign Mounting Dir Schedule Holder Shelters Shoulder Surface Shoulder Width Side Side Cross Side On Sidewalk Width Stop Owner Special Sign Stop Length Stop Status Stop Type Stop Name Date Not used currently Not used currently Street on which stop is located Can refer to overpass, etc., that protects riders from weather. Yes/No E.g. "towaway," "school" Length of curb paint; may differ from stop length Asphalt, Concrete, Dirt, Grass, Landscape, Stone, Pavers, Footing, Other, Gravel, Unknown, None Not used currently Not used currently; Yes/No Not used currently; Yes/No Route Facilities Planning District Defaults to No; only option Drop-down list: band, base plate, bolt, cncrt-asphlt, concrete, cncrt-earth, earth, none, unknown, foundation, moveable pad Drop-down list: 2in metal, 4in wood, light, none, pillar, strain, utility, unknown, art pole, not Metro Drop-down list of sign types Direction of sign relative to street: drop-down list - away, flush, toward… Drop-down list of options Freeform entry Not used currently; same options as Parking Strip Surface Freeform entry Side of street in GIS Location relative to cross street the stop is located - N/S/E/W Side of On Street on which stop is located - N/S/E/W (E.g., On Street runs N/S, "Side On" would be on E or W of On Street Freeform entry Transit Agency "owning" stop: Metro, ST, PT, CT, Seattle, etc. Signs for operators; drop-down list Freeform entry Active, Planned, Closed, Inactive. Stop may have multiple instances of the same or different stop statuses depending on dates. Indicates if stop has special use or restrictions; drop-down list. "Public" name of stop for signage, enunciator, Trip Planner, etc. Street Address Stop Comment Strip Width Traffic Signal Trans Link ID Walkway Surface Xcoord Ycoord Zip Code Not used currently. Freeform Freeform entry; used to note details for which there are no fields available. Not used currently. Freeform Not used currently. Yes/No Not used currently; same options as Parking Strip Surface MTurk data: schema graphic from University of Maryland See separately submitted image for larger file.