Estimating Walkability

How can we most accurately measure walkability?

Aaron Weinstock, ESRI R&D Arlington



Overall Goal for Walkability Model:

Produce a formula that sensibly measures the walkability of an area at a given point. Ideally, this model allows for as much or as little user interaction as desired.


1. Overall Model


Motivation: A model of walkability should be based on the proximity of places at which to complete daily errands, the number of these types of places, the characteristics of the area, and the individual habits/characteristics of the person doing the walking.

Model:

\(W_{o} = \sum_{c=1}^{t} [s_c\sum_{i=1}^{v_c} \alpha(p_{(i),c}) \cdot \beta(p_{(i),c})]\)


Definitions:

  1. \(W_{o} =\) walkability at a user selected origin point \(o\)

  2. \(c =\) ID value for user specified “diverse use categories” (DUC) of interest; DUC include grocery stores, schools, etc.

    • Default model will include \(c = 1, 2, 3, 4\) for 4 DUC: grocery stores, transit stops, schools, and healthcare facilities

  3. \(t =\) total number of user selected DUC

    • (from above) Default model will have \(t = 4\)

  4. \(s_c =\) user selected weight assigned to DUC \(c\)

    • Default model (which has \(t = 4\)) will have \(s_c = 0.25, \ \forall c\). If \(t\) is changed and \(s_c\) are not specified, the default model will have \(s_c = \frac{1}{t}, \ \forall c\)

    • Note that \(\sum_{c=1}^{t} s_c = 1\) is required

  5. \(p_{(i),c} =\) point \(i\) in DUC \(c\), where \(i\) represents the rank of closeness between \(p_{(i),c}\) and \(o\) amongst all points \(v_c\)

  6. \(v_c =\) total number of points in DUC \(c\) within a user selected walk time distance; by the definition of \(p_{(i),c}\), it also represents the maximum closeness rank of these points

  7. \(\alpha(p_{(i),c}) =\) the weight for point \(p\) with closeness rank \(i\) in DUC \(c\) based on the walk time distance between \(p_{(i),c}\) and \(o\); defined by a function detailed below, which includes a component for consideration of area characteristics and personal habits

  8. \(\beta(p_{(i),c}) =\) the weight for point \(p\) with closeness rank \(i\) in DUC \(c\) based on the rank of closeness between \(p_{(i),c}\) and \(o\); defined by a function detailed below

Assumptions:

  1. An unbounded, additive model is appropriate for measuring walkability in our context. By this model, \(W_o \ \epsilon \ [0, \infty]\); however, to have \(W_o = \infty\), you would require infinitely many points within a 1 minute walk of \(o\) for all DUC, plus a desire to have an infinite number of points within a walkable distance of \(o\) for all DUC.

2. Model Components


1. Point Distance Weighting Function


Motivation: Even if we allow users to define a “maximum walkable distance”, they’d likely still prefer to walk next-door than to walk the maximum walkable distance. Consequently, a weighting function allows us not only to weight points based on distance, but – by taking user inputs – allows us to structure this distance weighting based on a person’s walking habits and area.

Function:

\(\alpha(p_{(i),c}) = \left\{ \begin{array}{11} minmax[e^{\gamma_u \cdot d_{p_{(i),c}}}] & \mbox{if } \gamma_{u} < 0 \\ minmax[1 - d_{p_{(i),c}}] & \mbox{if } \gamma_{u} = 0 \\ minmax[1 - e^{\gamma_u \cdot d_{p_{(i),c}}}] & \mbox{if } \gamma_{u} > 0 \end{array} \right. , \quad \mbox{such that } 1 < d_{p_{(i),c}} < b_{u,c}\)


Definitions:

  1. \(\alpha(p_{(i),c}) =\) the point distance weight for point \(p\) with closeness rank \(i\) in DUC \(c\)

  2. \(minmax[] =\) the min-max normalizer; ensures all weights are bounded by \([0,1]\)

  3. \(d_{p_{(i),c}} =\) the walk-time distance between \(o\) and point \(p\) with closeness rank \(i\) in DUC \(c\)

  4. \(u =\) an identifier for the user

  5. \(b_{u,c} =\) the user selected maximum walk time distance from \(o\) (in minutes) to a point in DUC \(c\)

    • Default model will have \(b_{u,c} = 10 \ minutes, \ \forall c\)

    • Note that even though \(\alpha(i)\) is constrained by \(d_{c(i)} \ \epsilon \ [1, b_{u,c}]\), the function itself is created on \([1, 2b_{u,c}-1]\), to ensure that even the points occuring the maximum walk time distance away from the origin \(o\) have weight > 0. Specifically, these bounds allow those points to have weight = 0.5.

  6. \(\gamma_{u} =\) a user-specific decay parameter defining the exponential decrease of point weight as distance increases; based on responses to a series of questions about the user’s walking habits (e.g. do you like walking?), and summary statistics about the area around \(o\) bounded by \(b_{u,c}\) (e.g. percent of city crimes occuring in that area)

\(\gamma_{u} = \Phi^{-1}(0.5 + ...)\)

  • Where:

    1. \(\Phi^{-1} =\) the inverse normal cdf for a normal distribution with \(\mu = 0\) and \(\sigma^{2}\) dependent on the number of questions/information requested by function

    2. \(...\) represents the questions/information ultimately input into this function

    This function defaults to \(\gamma_{u} = 0\)

Because the decay parameter defaults to 0, the function overall defaults to linear decay (such that points occurring the maximum walkable distance away from the origin have weight 0.5).

Assumptions:

  1. Despite a user specifying a maximum walk time distance they’d allow, all walk times in that range are not equal to some extent unique to a user.

  2. Some form of exponential decay is desirable for modeling a user’s walking habits with relationship to distance. For some, there might be a steep drop at low walk times, such that walking a distance at the higher end of their walk time range is very undesirable; for others, the drop might occur at high walk times, or simply does not occur within their walk time range (i.e. all times in the range are about equivalent).

  3. For a maximum walk time distance \(b_{u,c}\) minutes, it is reasonable to think that walking between 0 and 1 minutes is twice as preferable as walking between \(b_{u,c} - 1\) and \(b_{u,c}\) minutes.

  4. We can use area information and user responses to a set array of questions to understand the relationship between walking habits and distance.

  5. The habit-distance relationship is constant across all DUC.

  6. All inputs in the decay parameter function have a fixed significance with regard to the habit-distance relationship (e.g. the effect of high crime on the habit-distance relationship is constant amongst all walkers).

  7. (WLOG) For every “only negative” effect on habit-distance relationship included as a parameter in the calculation of \(\gamma_u\), an “only positive” effect is included.

    • Example: it is safe to assume that the presence of any crime makes a person want to walk less, so inclusion of crime as an input parameter can only decrease \(\gamma_u\). Without an effect that can only increase \(\gamma_u\) (such as, maybe, street trees) and increases it with the exact-reverse pattern with which crime decreases it, the distribution of possible values for \(\gamma_u\) will not be centered at 0, which is undesirable.

2. Point Closeness Weighting Function


Motivation: At some point, having “more” of something doesn’t make an area much more walkable; for example, a user probably doesn’t need 6 grocery stores within a walkable distance, so the 6th grocery furthest grocery store within a walkable distance shouldn’t contribute a huge amount to walkability. Consequently, a point number weighting function, which weighs points within walkable distance for a particular DUC based on rank of closeness to the origin, acts like a “marginal utility” curve.

Function:

\(\beta(p_{(i),c}) = minmax[\frac{1}{1+e^{-k \cdot (i - n_c - 0.5)}}] , \quad \mbox{such that } 1 < i < v_c\)


Definitions:

  1. \(\beta(p_{(i),c}) =\) point closeness weight for point \(p\) with closeness rank \(i\) in DUC \(c\)

  2. \(k =\) a fixed steepness value at which the curve decreases

  3. \(n_c =\) a user selected desired number of points in DUC \(c\) that a user would like to have within a walkable distance of \(o\)

    • Default model will have \(n_c = 1, \ \forall c\)

  4. \(i =\) the rank of closeness between \(i\) and \(o\); it also acts as an identifier of points in \(p_c\)

  5. \(v_c =\) the maximum closeness rank of the points (by way of its definition as the total number of points within walkable distance of \(o\))

    • Note that even though \(\beta(i)\) is constrained by \(i \ \epsilon \ [1, p_c]\), the function itself is created on \([1, 100]\), to ensure that even the furthest point within \(b_{u,c}\) from \(o\) has weight > 0.

Assumptions:

  1. Marginal utility can be applied to having things within a walkable distance of you.

  2. Logistic decay is appropriate for modeling marginal utility of having points in a DUC close to you. This means that, given a desired number \(n_c\), points \(1, 2, ..., n_c\) will have rather high weight, followed by a steep drop such that points \(n_c + 1, n_c + 2, ..., p_c\) will have rather low weight.

  3. The rate \(k\) at which marginal utility drops off after the occurrence of the \(n_c\)th point in DUC \(c\) is constant amongst all walkers. Furthermore, we can accurately estimate/guess this rate.