Skip to content
/ thesis Public

Publishing my thesis in public-readable format and testing some web programming

Notifications You must be signed in to change notification settings

radumas/thesis

Repository files navigation

Analyzing Transit Equity Using Automatically Collected Data

Abstract

By inferring individual passengers’ origins, destinations, and transfers using automatically collected transit data, transit providers can obtain and analyze larger volumes of information, with more accuracy, and at more frequent intervals than are available through traditional origin- destination (OD) surveys. Automatic OD inference can be an input into the analysis and reporting of agencies’ social goals, such as the provision of equitable service regardless of race, national origin, or ethnicity, which is federally required in the USA by Title VI of the Civil Rights Act of 1964. The methodology prescribed in the Title VI regulation, however, has not adapted to the opportunity to supplement supply metrics with passenger-centric demand metrics through the availability of OD data. The goal of this thesis is to demonstrate a preliminary methodology to link automatically inferred OD information from regular transit users to the demographic data of public transit commuters from the US Census’s American Community Survey, and to examine variation in passenger-centric metrics such as journey time and speed.

This study infers origins and destinations in the context of the Massachusetts Bay Transportation Authority (MBTA). From a sample month of these data, an example of a passenger-centric analysis is performed by comparing travel times and speeds of trips with origins in areas home to predominantly Black or African American transit commuters to travel times and speeds of trips with origins in areas home to predominantly White transit commuters. Commuters from predominantly Black or African American census tracts are found to have longer travel times and slower speeds relative to commuters from tracts where commuters are predominantly White. Differences are within agency specified margins, but are significant, in particular for journeys involving bus transfers. Short-term solutions such as through-routing of important bus routes and increasing reliability of bus departures at terminals and long-term solutions such as faster, more frequent Diesel Multiple Unit rail service are proposed and evaluated to mitigate these differences.

Thesis Supervisor: John P. Attanucci
Research Associate of Civil and Environmental Engineering
Thesis Supervisor: Frederick P. Salvucci
Senior Lecturer of Civil and Environmental Engineering

Web-version of Master's Thesis

Publishing the thesis for my dual Master's at MIT in Tranportation and City Planning in a more accesible format while testing some web programming. I'm using jekyll on a machine running Ubuntu 14.04 for this project. This is work in progress, which you can see here. Until the libraries host the pdf, you can find that [here](https://radumas.github.io/thesis/raw_thesis/Thesis Final.pdf) (16MB pdf).

Workflow

  1. Install Jekyll. In Ubuntu 14.04 this required installing ruby 2.2.2 using the gorails guide and the rbenv method. First installing dependencies

     sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev
    

then running

cd
git clone git://github.com/sstephenson/rbenv.git .rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL

git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

git clone https://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash

rbenv install 2.2.2
rbenv global 2.2.2
ruby -v

then "telling Rubygems not to install the documentation for each package locally and then install Bundler"

echo "gem: --no-ri --no-rdoc" > ~/.gemrc
sudo gem install bundler

Optional Ubuntu step nodejs is required install it, and then fix the problem with the nodejs being run under the nodejs command when most node-related things expect node.

sudo apt-get install nodejs
sudo ln -s /usr/local/bin/nodejs /usr/bin/node

In the project directory typing bundle init and then editing the newly created Gemfile to contain

source 'https://rubygems.org'
gem 'github-pages'

then installing with bundle install

  1. Convert thesis from docx to markdown using pandoc. This extracts images from the thesis to a folder. Chapter titles were not rendered with the header markdown, but these will become individual posts so it didn't matter. Not all images were extracted, since some were excel graphs that weren't images. I just screenshot those from the pdf into .png files and added the links.

The mathjax flag should convert equations to MathJax for display

    pandoc -f docx -t markdown_github -o index.md --mathjax --extract-media=images Thesis.docx

Most headers had to be manually modified since, I think, Word also thought of them as lists. Pandoc converted a number of headers with <span> and <anchor> tags, I think with a table of contents in mind. So these were manually removed, and the headings properly formatted. MathJax equations had to be surrounded by <div> or <span> tags. Tables with complex formatting did not survive conversion from .docx to .md, nor do they survive conversion to html in pandoc. I extracted the tables and saved them in word as .htm using the option "Web Page, Filtered". This produces some heavy (with repeated properties) and unreadable code, but it displays.... sort of. I had to make sure that numbered formatting values in the tags were quoted, and removed width declarations that didn't include a percentage (e.g. "width=400").

Numbered and unordered lists had to be tweaked slightly using gedit.

  1. Build site with bundle exec jekyll build

  2. Commit to github

    git add --all
    git commit -m "MESSAGE"
    git push origin gh-pages
    
  3. While the Code for America Annual Report is a beautiful webpage, it doesn't really follow the principles of Jekyll terribly closely, i.e., most sections are individually styled, which leads to more editing of SASS than I would've wanted, so I used the Notepad theme

Can add reversed to the liquid loops {% for p in site.posts reversed %} to display posts in order to display them in chronological order of their filenames, which makes working with the files less of a hassle.

TODO

  • Split Chapters into posts
  • Add MBTA & NSERC logos to acknowledgements
  • Link to about page
  • Find missing images
  • Equation 42 temporarily deleted so jekyll will build properly. Need to fix MathJax notation
  • Fix Table 5.7
  • Fix Table 5.8
  • Fix Table 5.9
  • Fix Table 5.10
  • Fix Table 5.25
  • Fix Table 6.3
  • Add links to other theses
  • Format citations somehow
  • Footnotes are at the end
  • Make the thing lay-person readable