Neighbourhood Feature Engineering

Using POI features, Satellite Image Embeddings & NLP embeddings for neighbourhood feature engineering.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Population-Weighted Transit Accessibility Score

To calculate the transit accessibility scores for area A, we subdivide the area into n x n grid cells a1, a2, ... , am in A. For each transit mode t, let Lt be the set of unique lines of that mode. The per-cell score for mode t is:

st(ai) = Σl ∈ Lt exp( −d(ai, l) / d0,t )

where d(ai, l) is the distance from cell ai to the nearest stop of line l, and d0,t is the characteristic decay distance for mode t (metro: 800m, tram: 600m, bus: 400m). Each line contributes at most once (nearest stop wins).

The area score for each mode is the population-weighted mean:

St,A = Σi st(ai) · p(ai) / Σi p(ai)

This produces three independent features per area: Smetro (max 3), Stram (max 2), and Sbus (max ≈ number of routes in range). No quality weights are applied — the ML model learns the relative importance of each mode.

Data sources: OASA GTFS feed (bus + metro), OpenStreetMap (tram), GHS-POP (population weights).

Hansen, W. G. (1959). How accessibility shapes land use. Journal of the American Institute of Planners, 25(2), 73–76.