This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Estimating Parking Occupancy using Smart Meter Transaction Data

Daniel Jordon Robert C. Hampshire  and  Tayo Fabusuyi
Abstract.

The excessive search for parking, known as cruising, generates pollution and congestion. Cities are looking for approaches that will reduce the negative impact associated with searching for parking. However, adequately measuring the number of vehicles in search of parking is difficult and requires sensing technologies.

In this paper, we develop an approach that eliminates the need for sensing technology by using parking meter payment transactions to estimate parking occupancy and the number of cars searching for parking. The estimation scheme is based on Particle Markov Chain Monte Carlo. We validate the performance of the Particle Markov Chain Monte Carlo approach using data simulated from a GI/GI/sGI/GI/s queue. We show that the approach generates asymptotically unbiased Bayesian estimates of the parking occupancy and underlying model parameters such as arrival rates, average parking time, and the payment compliance rate. Finally, we estimate parking occupancy and cruising using parking meter data from SFpark, a large scale parking experiment and subsequently, compare the Particle Markov Chain Monte Carlo parking occupancy estimates against the ground truth data from the parking sensors. Our approach is easily replicated and scalable given that it only requires using data that cities already possess, namely historical parking payment transactions.

The research was carried out when the authors were all affiliated with the University of Michigan Transportation Research Institute.

1. Introduction

Finding an available parking space is an annoyance of modern life. The search for parking has external costs as well given that excess driving increases traffic congestion and pollutes the environment. In response to these negative externalities, city officials are deploying parking information and pricing systems. Parking occupancy information and market based parking pricing strategies reduce the time to find a parking space and pollution ([fabusuyi2014, pierce2013getting, millard2014curb, chatman2014theory]). These strategies require cities to install both parking occupancy sensors and automated payment stations. However, on-street parking sensors are expensive to install and maintain, and many cities cannot afford to deploy parking sensors. In contrast to parking sensors, the automated payment stations are more affordable and more widely deployed. In this paper, we attempt to answer the following question: is it possible to estimate parking occupancy and the number of drivers searching for parking using only parking meter payment data?

Two challenges stand in the way of answering this question. First, a large fraction of drivers do not pay at all or do not pay enough to cover their parking time. For example, in San Francisco the non-payment rate is roughly 30 percent, driven in part by the perennial problem with the abuse of disabled parking placards for on-street parking [SIRA2014]. Figure 1 plots the probability distribution of the non-payment rates in San Francisco. During metered hours, only 70% of parking time is paid for on the modal block. The second challenge is that drivers almost never pay for the exact amount of parking that they need, as they either pay too much or too little.

Refer to caption
Figure 1. Probability distribution of ratio of paid parking time to occupied time. We observe many blocks experience a low payment compliance rate. Seventy-five percent of the occupied time on the modal block is paid for. Source: San Francisco Metropolitan Transportation Authority

It is these challenges that are estimation approach seeks to address. Specific contributions of our approach include the:

  • The introduction of a modeling framework to infer parking occupancy and the time to find parking given a sequence of parking meter payments using a variant of the Particle Markov Chain Monte Carlo (PMCMC) method. We show that this algorithm generates asymptotically unbiased estimates of parking occupancy of the underlying model parameters, such as arrival rates, average parking time, and non-compliance rates (§4.3).

  • The use of a stochastic queueing model to provide constraints for inferring the unobserved parking occupancy and the model parameters. (§3.1).

  • The validation of the performance of the proposed methods with data from a large scale parking experiment called SFpark5.2) and with simulated data from GI/GI/sGI/GI/s queue (§5.1).

The sample path construction for the GI/GI/sGI/GI/s queue is the foundation of the our queueing inference methods. The sample path formulation leads to a flexible modelling framework for inference. Our proposed method extends to time varying model parameters (arrival rates, service rates, etc). For the ease of exposition, we focus on the case of constant model parameters. Furthermore, our methods extends to the case of random order of service. There exists an analogous sample path construction of a GI/GI/s queue with random order of service (see Sutton and Jordon [sutton2011bayesian]). For the ease of exposition, we focus on the first come first served service discipline.

The balance of the paper is organized as follows: Section 2 provides a review of the existing literature. The details of the application of a stochastic queuing model to parking occupancy is discussed in Section 3. Information on the computational algorithm and how the queuing behavior is inferred from smart parking meter transaction data is provided in Section 4. Numerical experiments are carried out in Section 5 and Section 6, the last section, concludes.

2. Literature Review

Traffic congestion has a huge negative impact not just on local municipalities but also on the global economy. It increases pollution, wastes energy, and costs billions in lost time and productivity. A significant contributor to traffic congestion is vehicles searching for parking and it is estimated that in busy areas, an average of 30 percent of traffic congestion is from drivers cruising for open parking spots [shoup2006cruising]. Also contributing to this problem is the increase in vehicle ownership [Schaller2021], a development which adds to the scarcity of parking spaces, particularly, on-street parking. Monitoring on-street parking is a much more difficult task than monitoring garage parking, which is relatively easy to compute through gate counts of entering and exiting vehicles. And cities often price on-street parking significantly lower than off-street parking, leading drivers rationally to choose to cruise [millard2014curb].

Intelligent transportation systems (ITS) such as smart parking solutions are being used to help relieve such congestion and help drivers navigate this situation by providing real-time and predictive information about current and future traffic and parking availability [fabusuyi2014]. One well-known smart parking solution to the “cruising for parking” problem was SFpark [SIRA2014]. SFpark was a Federal Highway Administration (FHWA) funded parking management project in San Francisco, California from 2009 to 2014. The City of San Francisco installed close to 12,000 magnetometer sensors in 8000 parking spaces, creating a wireless sensor network to collect and distribute information on parking availability [6]. Though conceived as a demonstration project, the problems with replicating the program elsewhere include the enormous cost, which is out of the reach of most cities, the limited life-cycle of the fixed sensors, and the variable pricing mechanism used by SFpark [fabusuyi2018].

Apart from the demonstration program, other approaches of managing on-street parking include sensing using smartphones [nawaz2013] or through sensors attached to vehicles [mathur2010] which requires drivers to opt into the program. Crowdsensing, via on-vehicle sensors, is another opt-in system since it depends entirely on the willingness of drivers to attach the sensors to their vehicles and to provide information for others to use [Liao2016]. Other forms of sensing include a combination of on-vehicle sensors and crowdsourcing [roman2018]. User opt-in is required in this type of project as well.

Detecting parking occupancy is also carried out via vehicle to infrastructure (V2I) communication. An example is a novel on-street parking management system that detects parking occupancy using low-cost Bluetooth beacon transmitters installed in vehicles that are connected to receivers located near on-street parking spots [Chen2019]. Some of these solutions are being advocated by the private sector or by the private sector in partnership with academia. These include the use of radar sensors mounted on streetlights by Siemens called Integrated Smart Parking Solution [Siemens2015]. Here, the radar sensors are mounted on streetlights to scan a bigger area than can be done from a single vehicle. The radar sensors monitor both traffic flows and parking spots, to help provide information to drivers searching for parking

Ford Motor Company and Georgia Institute of Technology (Georgia Tech) have collaborated to build a system that gives information about on-street parking availability using sonars and radars on existing cars [Ford2015]. This technology is available to Ford drivers as a paid service. Other systems use vehicles’ pre-installed parking sensors to better classify on-street areas into either legal or illegal parking spots in order to give more accurate information to drivers searching for parking [coric2013]. Using data from parking meters or kiosks is yet another method of collecting valuable parking information for drivers given that parking meters or kiosks are responsible for 95 percent of on-street paid parking spots [Yang2017]. These transaction data have been used with other data to provide not just the real time information on parking availability but also to forecast short term on-street parking occupancy. Yang et. al. [Yang2019], for example, use a deep neural network -based model that uses parking meter transactions along with traffic and weather conditions to predict parking occupancy. Yang et. al. earlier approach [Yang2017] simulated individual payment and parking behavior using a probabilistic payment model, which when accumulated over all transactions, creates time-varying occupancy estimations with a low error rate.

The use of parking kiosks or meters to estimate parking occupancy is however, complicated by the fact that drivers can neglect to pay for parking, pay more than required for their time spent, or pay less than required. We can use the parking meter payments in a queueing process model of on-street parking to create a queueing inference engine (QIE) [larson1990queue, bertsimas1992deducing, mandelbaum1998estimating]. However, our approach builds on the literature in three significant ways. First, our underlying queueing model has no restriction on the inter-arrival time distribution. Second, our parking meter data makes up a subset of service commencement times, in contrast to the QIE whose observations are the complete set of departure times. Additionally, we only observe a noisy estimate of the service times; namely the payment amounts. Finally, we introduce a completely different framework based on simulating the queuing process and Markov chain Monte Carlo methods.

Our approach is innovative given that the authors know of no existing work that applies a QIE approach for estimating on-street parking spaces using parking meter transaction data. Our approach improves on the San Francisco Municipal Transportation Authority [SIRA2014, demisch2016demand] regression-based model for estimating hourly parking occupancy using payment data. First, our model provides predictions at the time scale of observed payments while SFMTA’s regression-based approach is at the hourly level. Secondly, our framework learns the model parameters on the fly, while previous methods require the user to tune the regression approach for each geographic region. Thus, the ease of replicating our approach is afforded users as they can deploy our method more broadly compared to the regression-based approach.

3. Models

3.1. Parking Model

The unit of analysis is a single on-street parking block with ss parking spaces. We model parking occupancy at the block level as a GI/GI/sGI/GI/s stochastic queueing model. We define {αj}\{\alpha_{j}\} to be a sequence of random independent inter-arrival times of the drivers with a general distribution and {νj}\{\nu_{j}\} as a sequence of random independent parking (service) times with a general distribution. These inter-arrival and service times are the random input primitives to the queue. The queue transforms the random input primitives into arrival times, service start times, and departure times. The physics of the queue determine the values of these outputs. The queue transforms the random primitives according to the set of equations (see [kiefer1955theory, krivulin1994recursive, sutton2011bayesian])

aj\displaystyle a_{j} =aj1+αj\displaystyle=a_{j-1}+\alpha_{j}
bji\displaystyle b_{ji} =max{dj|aj<aj,pj=i}\displaystyle=\max\{d_{j^{\prime}}|a_{j^{\prime}}<a_{j},p_{j^{\prime}}=i\}
cj\displaystyle c_{j} =mini(0,s]bji\displaystyle=\min_{i\in(0,s]}b_{ji}
pj\displaystyle p_{j} =argminbji\displaystyle=\operatorname*{arg\,min}b_{ji}
uj\displaystyle u_{j} =max{aj,cj}\displaystyle=\max\{a_{j},c_{j}\}
(1) dj\displaystyle d_{j} =νj+uj\displaystyle=\nu_{j}+u_{j}

where the outputs are the sequences of arrival times {aj}\{a_{j}\} and departure times {dj}\{d_{j}\}. Intermediate variables assist the transformation; uju_{j} is the service start time of jj-th arrival, the jj-th arrival parks at space hjh_{j}, and cjc_{j} is the first time a parking space becomes available to serve the jj-th arrival. This transformation is one-to-one and invertible [sutton2011bayesian]. Additionally, the likelihood of any set of NN arrival and departure times is

(2) p(𝐚,𝐝)=j=1Nhα(ajaj1)hν(djuj)p(\mathbf{a},\mathbf{d})=\prod_{j=1}^{N}h_{\alpha}(a_{j}-a_{j-1})\cdot h_{\nu}(d_{j}-u_{j})

where hαh_{\alpha} is the density of the inter-arrival times with parameters θ1\theta_{1} and hνh_{\nu} is the density of the service times with parameters θ2\theta_{2}. This product form of the likelihood is due to the independence of the inter-arrival times and the service times.

These equations correspond to drivers parking at available spaces in the order they arrive. We can extend our results to random order of service by slightly modifying the queue input and output equations [sutton2011bayesian]. For ease of presentation, we focus on the first-come-first-served (FCFS) service discipline

Using this transformation, we construct the number of parked cars, the number of cars searching for parking, and the time needed to find an available parking space.

3.2. Payment Observation Model

We now introduce payments into the parking model. We assume that a driver pays immediately after parking. The driver pays at an automated payment station that aggregates payments for all ss spaces on the block. After the kk-th driver parks, the time remaining on the meter is

mk=max(mk1+βk(τkτk1),0)m_{k}=\max(m_{k-1}+\beta_{k}-(\tau_{k}-\tau_{k-1}),0)

where βk\beta_{k} is the amount paid time by the kk-th parking driver and τk\tau_{k} is the time of the kk-th payment. The payment amount relates to the true parking time ν\nu through a general joint distribution. For the sake of simplicity, we assume that the payment amount is the mixture of two distributions. The first component of the mixture is an exponential distribution with a mean equal to the true parking time. The second component of the mixture is a point mass at zero which represents the probability, pp, of a driver not paying for parking.

The observations consist of the time of each payment τ1:K\tau_{1:K} and the time remaining on the meter m1:Km_{1:K}. We focus on analyzing a batch of observations y1:K=(τ,m)1:Ky_{1:K}=(\tau,m)_{1:K}.

3.3. State Space

An important feature of the model is that not all parking drivers pay for parking. Therefore, the number of payments do not correspond to the number of arriving vehicles. We now introduce a random variable to track the number of arriving vehicles. Let the random variable J(k)J(k) be the number of arriving drivers before the kk-th observed payment. Since the kk-th payment occurs at time τk\tau_{k}, the number of arrivals up to the kk-th payment satisfies

(3) J(k)=argmaxn{i=J(k1)+1n1{βi>0}1},J(k)=J(k1)+xk\\ J(k)=\operatorname*{arg\,max}_{n}\bigg{\{}\sum_{i=J(k-1)+1}^{n}1_{\{\beta_{i}>0\}}\leq 1\bigg{\}},\quad J(k)=J(k-1)+x_{k}

where xkx_{k} is a geometric random variable with rate P(βk=0)P(\beta_{k}=0)

The number of arrivals before the kk-th payment, J(k)J(k), evolves according to a Markov chain at payment times. It is a counting process with independent increments. The number of arrivals until kk payments has a negative binomial distribution with parameter 1p1-p and kk.

The state space is the total number of arrivals and the corresponding collection of arrival times, service start times, and departures times of all customers in the queue at the time of the kk-th payment

xk=(j(k),a1:j(k),u1:j(k),d1:j(k)).x_{k}=(j(k),a_{1:j(k)},u_{1:j(k)},d_{1:j(k)}).

The state has two components, the number of arrivals before the kk-th payment and the queueing quantities for these arrivals. The dimension of xkx_{k} grows randomly with kk due to the unknown number of arrivals between payments.

4. Inference

Let θ\theta be the parameters of the inter-arrival time, service time and payment distributions in the parking and payment models. Our goal is to estimate the

(4) p(θ,x1:K|y1:K)=pθ(x1:K,y1:K)p(θ)p(y1:K)p(\theta,x_{1:K}\,|y_{1:K})=\frac{p_{\theta}(x_{1:K},y_{1:K})\cdot p(\theta)}{p(y_{1:K})}

where p(θ)p(\theta) is the prior distribution on the model parameters

pθ(x1:K,y1:K)\displaystyle p_{\theta}(x_{1:K},y_{1:K}) =pθ(x1:K)pθ(y1:K|x1:K)\displaystyle=p_{\theta}(x_{1:K})\cdot p_{\theta}(y_{1:K}|x_{1:K})
=μθ(x1)k=2Kfθ(xk|xk1)k=1Kgθ(yk|xk)\displaystyle=\mu_{\theta}{(x_{1})}\prod_{k=2}^{K}f_{\theta}(x_{k}|x_{k-1})\cdot\prod_{k=1}^{K}g_{\theta}(y_{k}|x_{k})

where the process {xn;n1}\{x_{n};n\geq 1\} has an initial density μθ()\mu_{\theta}(\cdot) and the payments are independent of each other given the state and have a common density gθ(y|x)g_{\theta}(y|x) where xx is the state the system. The transition probability is

fθ(xk|xk1)=pj(k)j(k1)1(1p)j=j(k1)j(k)hα(ajaj1)hν(djuj).f_{\theta}(x_{k}|x_{k-1})=p^{j(k)-j(k-1)-1}(1-p)\cdot\prod_{j=j(k-1)}^{j(k)}h_{\alpha}(a_{j}-a_{j-1})\cdot h_{\nu}(d_{j}-u_{j}).

This joint density pθ(x1:K,y1:K)p_{\theta}({x_{1:K},y_{1:K}}) has the form of a Feynman-Kac model. The rich literature on Feynman-Kac models (see Del Moral [del2000branching]) provides the theoretical foundation for the proposed computational algorithms.

4.1. Particle Filter

The GI/GI/sGI/GI/s queue transformation constrains the likely values of the random primitives given the payment observations. First, we consider the case where the parameters of the inter-arrival, service time, and payment distributions are known. Our goal is to compute the posterior distribution of the state given payment observations pθ(x1:K|y1:K)p_{\theta}(x_{1:K}|y_{1:K}). The traditional Kalman filter [kalman1960new] does not apply to this goal because the dynamics of the state are neither linear nor does it have a Gaussian distribution. The queueing inference engine techniques [larson1990queue, bertsimas1992deducing, mandelbaum1998estimating] do not apply to the goal either due to the general nature of the distribution of the random primitives.

The solution is to simulate sample trajectories from pθ(x1:K|y1:K)p_{\theta}(x_{1:K}|y_{1:K}) using Sequential Monte Carlo (SMC), also known as a particle filter [gordon1993novel, doucet2009tutorial]. The particle filter approximates the posterior distribution over state trajectories using NN particles. The particle filter proceeds in three steps. First, for each particle we simulate a one-step state transition. Next, we compute an importance weight for each particle based on the likelihood of observing the current payment given the state of the particle. Finally, we propagate, kill, or replicate each particle in proportion to its importance weight. Particles with larger weights have a higher likelihood of replicating, and those with smaller weights tend to die out. In this way, the surviving particles approximate samples from the posterior distribution pθ(x1:K|y1:K)p_{\theta}(x_{1:K}|y_{1:K}). For any number of particles, the particle filter produces an unbiased estimate of the posterior distribution [doucet2009tutorial]. It also produces an unbiased estimate of the likelihood of the observations

(5) p^(y1:K)=k=1K(1Nn=1Nwk(n))\hat{p}(y_{1:K})=\prod_{k=1}^{K}\bigg{(}\frac{1}{N}\sum_{n=1}^{N}w_{k}^{(n)}\bigg{)}

where wk(n)w_{k}^{(n)} is the importance weight of the nn-th particle at step kk.

The two ingredients of the particle filter are the state transition probabilities and the observation likelihood model. The particle filter requires only the ability to simulate the one step transitions of the state. The observation likelihood model is more complex to compute than the state transitions.

Data: Payment Observations over time y1:Ky_{1:K}
Input: θ\theta, Number of particles NN, and Effective Sample Size threshold, NESSN_{ESS}
Sample initial state 𝐱0~p(𝐱0|θ)\tilde{\mathbf{x}_{0}}\sim p(\mathbf{x}_{0}|\theta);
W0(n)1NW_{0}^{(n)}\leftarrow\frac{1}{N} and L0(θ)=1L^{0}(\theta)=1;
for k=1,,Kk=1,\ldots,K do
       for n=1,,Nn=1,\ldots,N do
             Sample 𝐱~k(n)f(𝐱k|𝐱k1(n))\tilde{\mathbf{x}}^{(n)}_{k}\sim f(\mathbf{x}_{k}|\mathbf{x}^{(n)}_{k-1}) using Equation (3.1);
             𝐱~1:k(n)(𝐱1:k1(n),𝐱~k(n))\tilde{\mathbf{x}}^{(n)}_{1:k}\leftarrow(\mathbf{x}^{(n)}_{1:k-1},\tilde{\mathbf{x}}^{(n)}_{k});
             Sample y~k(n,h)gk(;𝐱~k(n))\tilde{y}^{(n,h)}_{k}\sim g_{k}(\cdot;\tilde{\mathbf{x}}^{(n)}_{k}) for each h=1,Hh=1\ldots,H using the sample path equations;
             wk(n)wk1(n)gϵ(yk)w_{k}^{(n)}\leftarrow w_{k-1}^{(n)}\cdot g_{\epsilon}(y_{k}) using Equation (6);
             Lk+1(θ)Lk(θ)1Nn=1Nwk(n)L^{k+1}(\theta)\leftarrow L^{k}(\theta)\cdot\frac{1}{N}\sum_{n=1}^{N}w_{k}^{(n)};
            
       end for
      
      Wk(n)wk(n)n=1Nwk(n)W_{k}^{(n)}\leftarrow\frac{w_{k}^{(n)}}{\sum_{n=1}^{N}w_{k}^{(n)}} for each n=1,,Nn=1,\ldots,N;
      
      if n=1N1[wk(n)]2NESS\sum_{n=1}^{N}\frac{1}{[w_{k}^{(n)}]^{2}}\leq N_{ESS} then
            
            Resample particles with replacement according to a multinomial distribution with weights {Wk}\{W_{k}\}. Let nn^{*} be the resampled index for particle nn where P{n=l}=Wk(n)P\{n^{*}=l\}=W_{k}^{(n)} for l=1,Nl=1,\ldots\,N. ;
            
            For n=1,,Nn=1,\ldots,N, set 𝐱1:k(n)=𝐱~1:kn\mathbf{x}^{(n)}_{1:k}=\tilde{\mathbf{x}}^{n^{*}}_{1:k} and the weights are uniform wk(n)=1/Nw_{k}^{(n)}=1/N. ;
            
      else
            
            𝐱1:k(n)𝐱~1:k(n)\mathbf{x}^{(n)}_{1:k}\leftarrow\tilde{\mathbf{x}}^{(n)}_{1:k} for each n=1,,Nn=1,\ldots,N;
            
       end if
      
end for
Output: Distribution of state trajectories over time, pθ(𝐱1:k|y1:k)p_{\theta}(\mathbf{x}_{1:k}|y_{1:k}), and likelihood estimate p^θ(y1:K)=k=1K1Nn=1Nwk(n)\hat{p}_{\theta}(y_{1:K})=\prod_{k=1}^{K}\frac{1}{N}\sum_{n=1}^{N}w_{k}^{(n)}
.
Algorithm 1 Particle Filter with ABC target.

4.2. Approximate Bayesian Computation (ABC)

In this section, we construct the observation likelihood, g(yk|𝐱k)g(y_{k}|\mathbf{x}_{k}), of the kk-th observation given the state. The observations consist of the payment time and time remaining on the meter just after the kk-th payment. The time of the kk-th payment must correspond to either an arrival time or a departure time of a previous arrival. However, the structure of the departure times is complex and does not preserve arrival order. Further, the departure times depend on residual service times that are difficult to compute for general service distributions. The amount of the kk-th payment depends on the service time of the corresponding driver who need not be the kk-th arrival. These factors make the likelihood challenging to compute in closed form, therefore, we simulate an estimate of the likelihood density.

For each particle we simulate HH realizations of the kk-th payment given the state xkx_{k}. This simulation is fast due to the sample path construction of the queue and payment models. A particle receives a high weight if the simulated kk-th payments are “close” to the observed kk-th payment, and receives a low weight otherwise. This is called approximate Bayesian computation (ABC) [marjoram2003markov, beaumont2002approximate]. Jasra et al. [jasra2012filtering] and Calvet et al. [calvet2014accurate] successfully use ABC in the particle filtering context. The full algorithm appears in Algorithm 1. We approximate the likelihood density function by using a kernel-based distance metric in the observation space

(6) g~ϵ(yk)=1Hϵh=1HK(yky~k(h)ε)\tilde{g}_{\epsilon}(y_{k})=\frac{1}{{H\cdot\epsilon}}\sum\limits_{h=1}^{H}{K\left({\frac{{{y_{k}}-\tilde{y}^{(h)}_{k}}}{\varepsilon}}\right)}

where ϵ\epsilon is the bandwidth of the kernel, a HH is the number of simulations.

4.3. Particle Marginal Metropolis-Hastings (PMMH)

We turn to jointly estimating both model parameters. We are interested in the parameters of the inter-arrival time distribution (λ\lambda), the service time distribution (μ\mu) and payment probability (pp). We implement the Particle Markov Chain Monte Carlo method (PMCMC) [andrieu2010particle]. This combines two powerful methods: Markov Chain Monte Carlo and the particle filter. Specifically, we use the Particle Marginal-Metropolis Hastings (PMMH) method. The outputs of PMMH are an estimate of the data likelihood, p^θ(y1:K)\hat{p}_{\theta}(y_{1:K}), and samples from the posterior distribution p(θ,x1:K|y1:K)p(\theta,x_{1:K}\,|y_{1:K}).

The key idea of the approach is that the particle filter generates state proposals within the Metropolis-Hastings algorithm. The particle filter also generates an estimate of the likelihood pθ(y1:k)p_{\theta}(y_{1:k}) which is part of the proposal acceptance probability. We accept joint state and parameters proposals that explore parts of the posterior distribution that are more likely. In essence, we are searching over time evolution of the state space and parameters that are the most likely given the observed sequence of payments.

Here is how it works. The input to the method is a batch of payments observations, y1:Ky_{1:K}. First, we generate proposed values for the parameters using a Gaussian random walk proposal mechanism. Next, we run the particle filter to generate a proposed state trajectory x1:Kx_{1:K} under the posterior distribution and we generate a likelihood estimate p^θ(y1:K)\hat{p}_{\theta}(y_{1:K}) under the proposed parameters. We accept the proposed parameters and state trajectory according to an acceptance probability that depends on the likelihood and the parameter proposal distribution. We iterate this process which results in unbiased estimates of joint distribution over the parameters and the state trajectory. The estimates are consistent for any number of particles. The output of PMMH is a distribution of accepted state proposal-parameter pairs. Each accepted proposal of the MCMC step consists of both a state trajectory and corresponding model parameters.

We modify the PMMH algorithm by plugging in the ABC particle filter to generate the state proposals. The full algorithm appears in Algorithm 2. In their discussion of Andrieu et al. [andrieu2010particle], Cornebise and Peters [cornebise2009comments] advocate this approach when the likelihood is intractable. Our main result shows that the ABC-PMMH methods generates unbiased estimates of the the target joint distribution as the number of particles and simulated ABC observations go to infinity.

Theorem 4.1.

The ABC-PMMH converges to the correct posterior distribution when the number of particles grows appropriately with the size of the kernel density estimator, that is

limN|logpθABClogpθ|0,\mathop{\lim}\limits_{N\to\infty}\left|{\log p_{\theta}^{ABC}-\log p_{\theta}}\right|\to 0,

when the number of particles scales with the number of simulated HH payments

N=O((HlogH)2/5)N=O\left({{{\left({\frac{H}{{\log H}}}\right)}^{-2/5}}}\right)

and the bandwidth of the kernel density estimator decreases with HH according to ε=c(logHH)1/5\varepsilon=c\cdot{\left({\frac{{\log H}}{H}}\right)^{1/5}}.

Proof.

The Particle Marginal Metropolis-Hasting acceptance probability depends on the likelihood estimate generated by the particle filter

pθ(y1:T)=t=1T(1Nn=1Ngθ(yt|xtn)){p_{\theta}}\left({{y_{1:T}}}\right)=\prod\limits_{t=1}^{T}\bigg{(}\frac{1}{N}\sum\limits_{n=1}^{N}{g_{\theta}\left({y_{t}}|{x_{t}^{n}}\right)\bigg{)}}

where TT is the number of steps (payments) and NN is the number of particles. This is an unbiased estimator of the likelihood [del2000branching] for any number of particles.

However, the expression for the density function gg is intractable. Therefore, we estimate the density gg using a Kernel density estimator with bandwidth ϵ\epsilon,

g^ε(y)=1Hεh=1HK(yhyε){\hat{g}_{\varepsilon}}\left(y\right)=\frac{1}{{H\cdot\varepsilon}}\sum\limits_{h=1}^{H}{K\left({\frac{{{y_{h}}-y}}{\varepsilon}}\right)}

where (yh)h=1H(y_{h})_{h=1}^{H} are simulated from true distribution gg. The corresponding observation likelihood estimate generated by the particle filter is

logpθABC=t=1Tn=1N1εNHh=1HK(y~tn,h;yt,ε2).\log p_{\theta}^{ABC}=\sum\limits_{t=1}^{T}{\sum\limits_{n=1}^{N}{\frac{1}{{\varepsilon NH}}\sum\limits_{h=1}^{H}{K\left({\tilde{y}_{t}^{n,h};{y_{t}},{\varepsilon^{2}}}\right)}}}.

If limN|logpθABClogpθ|0\mathop{\lim}\limits_{N\to\infty}\left|{\log p_{\theta}^{ABC}-\log p_{\theta}}\right|\to 0, then the posterior distribution converges to the correct posterior distribution by applying Theorem 4 of Andrieu et al. [andrieu2010particle].

The difference between the true and approximate log likelihood is bounded above

|logpθABClogpθ|\displaystyle\left|\log p_{\theta}^{ABC}-\log p_{\theta}\right| t=1T1Nn=1N|1Hεh=1HK(y~kn,h;yk,ε2)gθ(yk|xkn)|\displaystyle\leq\sum_{t=1}^{T}\frac{1}{N}{\sum_{n=1}^{N}{\left|{\frac{1}{{H\cdot\varepsilon}}\sum_{h=1}^{H}{K\left({\tilde{y}_{k}^{n,h};{y_{k}},{\varepsilon^{2}}}\right)-{g_{\theta}}\left({{y_{k}}\left|{x_{k}^{n}}\right.}\right)}}\right|}}
t=1T1Nn=1Nsupyk|1Hεh=1HK(y~kn,h;yk,ε2)gθ(yk|xkn)|\displaystyle\leq\sum_{t=1}^{T}\frac{1}{N}{\sum_{n=1}^{N}{\mathop{\sup}\limits_{{y_{k}}}\left|{\frac{1}{{H\cdot\varepsilon}}\sum_{h=1}^{H}{K\left({\tilde{y}_{k}^{n,h};{y_{k}},{\varepsilon^{2}}}\right)-{g_{\theta}}\left({{y_{k}}\left|{x_{k}^{n}}\right.}\right)}}\right|}}
Tδ(logHH)2/5.\displaystyle\leq T\cdot\delta\cdot{\left({\frac{{\log H}}{H}}\right)^{2/5}}.

The last inequality follows from the uniform convergence results for kernel density estimators. ∎

Theorem 4.2 (Fan and Yao [fan2003nonlinear] ).

If the density gg has a bound second derivative and the bandwidth is chosen so that ε=c(logHH)1/5\varepsilon=c\cdot{\left({\frac{{\log H}}{H}}\right)^{1/5}}, then

supy|g^ε(y)g(y)|δ(logHH)2/5.\mathop{\sup}\limits_{y}\left|{{{\hat{g}}_{\varepsilon}}\left(y\right)-g\left(y\right)}\right|\leq\delta\cdot{\left({\frac{{\log H}}{H}}\right)^{2/5}}.

We adopt the PMMH method for two reasons. First, the approach allows for flexibility in model specification and only requires the ability to simulate sample paths of the model. Secondly, PMMH handles state spaces with random dimensions. Our state space is of an unknown dimension due to the unknown number of arrivals between payments. In the literature this problem is called trans-dimensional [green2003trans]. One way to perform estimation on trans-dimensional problems is the reversible jump Markov chain Monte Carlo (RJMCMC) method [green1995reversible]. This popular method requires the development of problem specific and often complex proposal moves [karagiannis2013annealed]. There are several papers that use the PMCMC methods in the trans-dimensional problems. For example, PMCMC was used to construct phylogenetic trees [persing2015simulation], and to estimate of volatility in asset pricing models [bauwens2014marginal].

Data: Payment Observations over time y1:Ky_{1:K}
Input: Number of particles NN, Effective Sample Size threshold, NESSN_{ESS}, number of Metropolis-Hastings steps MM
for m=1,,Mm=1,\ldots,M do
      
      if  m=1m=1\,\, then
  •        

    Pick an initial value of parameters: θ(0)\mathbf{\theta}(0). ;

  •        

    Run Algorithm 1 targeting pθ(0)(𝐱1:K|y1:K)p_{\theta(0)}(\mathbf{x}_{1:K}|y_{1:K}) and the data likelihood pθ(0)(y1:K)p_{\theta(0)}(y_{1:K}). ;

  •        

    Sample X1:k(0)p^θ(0)(𝐱1:k|y1:K)X_{1:k}(0)\sim\hat{p}_{\theta(0)}(\mathbf{x}_{1:k}|y_{1:K}) and the likelihood estimate p^(θ(0)(y1:K)\hat{p}_{(\theta(0)}(y_{1:K}). ;

  •             
          else
    •        

      Sample from parameter proposals: θq(θ|θ(m1))\theta^{*}\sim q(\theta|\theta(m-1)) ;

  •        

    Run Algorithm 1 targeting pθ(𝐱1:j(K|y1:K)p_{\theta^{*}}(\mathbf{x}_{1:j(K}|y_{1:K}) and the likelihood pθ(y1:K)p_{\theta^{*}}(y_{1:K}). ;

  •        

    Sample X1:kp^θ(|y1:K)X_{1:k}^{*}\sim\hat{p}_{\theta^{*}}(\cdot|y_{1:K}) and the likelihood p^θ(y1:K)\hat{p}_{\theta^{*}}(y_{1:K}) ;

  • Accept proposed parameters and workload trajectories with probability

    min(1,p^θ(y1:K)p^θ(m1)(y1:K)p(θ)p(θ(m1))q(θ(m1)|θ)q(θ|θ(m1))).\min\bigg{(}1,\frac{\hat{p}_{\theta^{*}}(y_{1:K})}{\hat{p}_{\theta(m-1)}(y_{1:K})}\cdot\frac{p(\theta^{*})}{p(\theta(m-1))}\cdot\frac{q(\theta(m-1)|\theta^{*})}{q(\theta^{*}|\theta(m-1))}\bigg{)}.
  •        

    If accepted, set θ(m)=θ,X1:k(m)=X1:k\theta(m)=\theta^{*},X_{1:k}(m)=X_{1:k}^{*} and p^θ(m)(y1:K)=p^θ(y1:K)\hat{p}_{\theta(m)}(y_{1:K})=\hat{p}_{\theta^{*}}(y_{1:K}). If not accepted, set θ(m)=θ(m1),X1:k(m)=X1:k(m1)\theta(m)=\theta(m-1),X_{1:k}(m)=X_{1:k}(m-1) and p^θ(m)(y1:K)=p^θ(m1)(y1:K)\hat{p}_{\theta(m)}(y_{1:K})=\hat{p}_{\theta(m-1)}(y_{1:K}). ;

  •             
           end if
          
    end for
    Output: Posterior distribution over the parameters and workload trajectories p(θ,𝐱1:K|y1:K)p(\mathbf{\theta},\mathbf{x}_{1:K}|y_{1:K})
    Algorithm 2 Particle Marginal Metropolis-Hastings (PMMH)
    Input: Initial θ0\theta_{0}, a particle filter pf (weight gϵg_{\epsilon}), parameter sampler qq, observations y1:Ty_{1:T}, and a distribution pp on θ\theta.
    Set pf(y1:T|θ0)\textsc{pf}(y_{1:T}|\theta_{0}) to be a small positive number.
    for i=0i=0 to m1m-1 do
           Generate ϑq(θ|θi)\vartheta\sim q(\theta|\theta_{i})
           Generate UUniform(0,1)U\sim\textnormal{Uniform}(0,1)
          
          a=pf(y1:T|ϑ)p(ϑ)q(θi|ϑ)pf(y1:T|θi)p(θ)q(ϑ|θi)a=\displaystyle\frac{\textsc{pf}(y_{1:T}|\vartheta)p(\vartheta)q(\theta_{i}|\vartheta)}{\textsc{pf}(y_{1:T}|\theta_{i})p(\theta)q(\vartheta|\theta_{i})}
           θi+1={ϑifUa,θiotherwise.\theta_{i+1}=\begin{cases}\vartheta&\textnormal{if}\;U\leq a,\\ \theta_{i}&\textnormal{otherwise}.\end{cases}
           X1:T,i+1pf(θi+1|y1:T)X_{1:T,i+1}\sim\textsc{pf}(\theta_{i+1}|y_{1:T})
          
    end for
    return {θi,X1:T,i}i=1m\{\theta_{i},X_{1:T,i}\}_{i=1}^{m}
    Algorithm 3 Particle Marginal Metropolis-Hastings

    5. Numerical Experiments

    In this section we test the performance of the PMMH approach to jointly estimating parking occupancy and the model parameters. First, we validate the approach by estimating parking occupancy and the model parameters using simulated data from a GI/GI/sGI/GI/s queue assuming all customers pay for parking (p=1p=1). Next, we jointly estimate the parking occupancy and the model parameters under partial payment compliance. Finally, we apply the method to parking meter payment data from SFpark, a large scale parking intervention policy in San Francisco.

    5.1. Simulated Data

    First, we assume that the drivers pay for parking 100% of the time. In order to validate the estimation technique, we simulate 40 payments using the parking (Section 3.1) and payment (Section 3.1) model with parameters (λ,μ,p)=(0.752,5.0,1.0)(\lambda,\mu,p)=(0.752,5.0,1.0) and with 77 spaces. We perform the inference according to Algorithm 2 by simulating a candidate set of state trajectories and parking model parameters (λ,μ)(\lambda,\mu). Next, we run a particle filter to generate N=600,000N=600,000 samples of the state from the posterior distribution, and an estimate of the data likelihood. The proposed state is a sample from the NN particles and the model parameters. We accept or reject the proposal with a probability proportional to the estimated likelihood of the observed payments. We iterate this procedure until we accept a predefined number of proposals in excess of a burn-in period.

    The output of the PMMH is a joint posterior distribution of the model parameters and state trajectories. Figure 6 is the contour plot of the accepted model parameters (λ,μ(\lambda,\mu). From this joint distribution, we select the most likely parameter-trajectory pair, (λ¯,μ¯)=(0.935,5.195)(\bar{\lambda},\bar{\mu})=(0.935,5.195), with the largest value of the data likelihood. Figure 2 plots the mean and confidence intervals of accepted trajectories generated by the PMMH algorithm. The true path is computed from the parking queueing model corresponding to the 4040 observed payments. We find that the true trajectory falls well within the 5% and 95% confidence intervals of the estimated trajectory distribution. The corresponding root mean square error is 1.12 cars.

    Refer to caption
    Figure 2. The solid line is the parking occupancy trajectory at 40 simulated payments time under the model parameters (λ,μ,p)=(0.752,5.0,1.0)(\lambda,\mu,p)=(0.752,5.0,1.0) and with 77 spaces. The estimated parking occupancy trajectory using PMMH, with 600,000 particles, is shown as a box-stem plot at the payment times. The most likely value of the parameters from the estimation are (λ,μ,p)=(0.935,5.195,1.0)(\lambda,\mu,p)=(0.935,5.195,1.0) The root mean square difference of the median of our belief against the true path is 1.12 cars.

    Next, we assume that 80% of drivers pay for their parking while 20% do not. We simulate a new sequence 4040 payments from a model with the same parameters (λ,μ,p)=(0.752,5.0,0.8)(\lambda,\mu,p)=(0.752,5.0,0.8) and 7 parking spaces. Figure 7 displays the contour plots of the accepted model parameters (λ,μ,p)(\lambda,\mu,p). From this joint distribution, we select the most likely parameter-trajectory pair, (λ¯,μ¯,p)=(0.891,4.975,.808)(\bar{\lambda},\bar{\mu},p)=(0.891,4.975,.808), which has the largest value of the data likelihood. Figure 2 plots the mean and confidence intervals of accepted trajectories generated by the PMMH algorithm. The true path is computed from the parking queueing model corresponding with the 4040 observed payments.

    There is a noticed decrease in estimation accuracy caused by the increased number of model parameters. When p<1p<1, the particle filter estimates the number of arriving drivers between consecutive payments. This trans-dimensional (see Green [green1995reversible]) feature of the problem increases the number of variables that need to be inference. This increases the complexity and decreases the accuracy of the estimator. The resulting root mean square error is 1.65 cars.

    Refer to caption
    Figure 3. The solid line is the parking occupancy trajectory at 40 simulated payments time under the model parameters (λ,μ,p)=(0.752,5.0,0.8)(\lambda,\mu,p)=(0.752,5.0,0.8) and with 77 spaces. The estimated parking occupancy trajectory using PMMH, with 600,000 particles, is shown as a box-stem plot at the payment times. The most likely value of the parameters from the estimation are (λ,μ,p)=(0.891,4.975,0.808)(\lambda,\mu,p)=(0.891,4.975,0.808) The root mean square difference of the median of our belief against the true path is 1.65 cars.

    5.2. Field Experiment: SFpark

    We now apply the PMMH to SFpark, a large-scale smart parking initiative in the City of San Francisco. The goal is to reduce traffic by helping drivers find parking. SFpark uses real-time parking information and demand responsive pricing to achieve this goal. SFpark’s slogan is “circle less and live more111http://SFpark.org/about-the-project/.” The program included more that on 7,000 on-street parking spaces.

    We use two data sources in this experiment: occupancy snapshots and payment transactions. The payment transactions are inputs to the model. While the occupancy data set serves as ground truth to test the accuracy of the model predictions. Many cities now have electronic parking payment meters/stations for on-street parking. These payment data are collected and stored in the memory of the parking meters. These parking data are commonly transmitted wirelessly from the parking meter to the vendor.

    We use the same occupancy dataset as in Millard-Ball et al. [millard2014curb]. We collected the occupancy data set by developing a web application that interacts with the SFpark API. These data provide snapshots of parking availability and capacity for each side of the street. The data contains occupancy snapshots at 5 minute intervals for 340 blocks. The observations are from January 1, 2012 to February 14, 2012. The API data set contains 1,730,770 observations during metered hours.

    The input dataset to the model consists of a payment data set that contains the date, time, block id, and payment amount for every transaction. One row of the payment has the form {blockId:468022,Date:201210315:35:46.46,Amt:1.25}\{^{\prime}blockId^{\prime}:468022,^{\prime}Date^{\prime}:2012-1-0315:35:46.46,^{\prime}Amt^{\prime}:1.25\}. These payment data cover the same observation window as the occupancy data. There are over 3 millions payment transactions during the observation period January 1, 2012 to February 14, 2012.

    In this experiment, we use 160,000 particles for each run of the particle filter. In order to speed up the Metropolis-Hastings algorithm, we use an adaptive random walk mechanism to generate parameter proposals [peters2010ecological]. The burn-in period of the adaptive Metropolis-Hastings step was 200 accepts, with 3,800 accepts after burn-in. We selected the 2200 and 2400 blocks of Mission Street in San Francisco for the inference. Figure 4 shows a plot of the estimated and true occupancy trajectory over a 2 hours time window on the 2200 block of Mission Street in San Francisco on January 12, 2013. Figure 5 shows a plot of the estimated and true occupancy trajectory over the 2 hours time window on the 2400 block of Mission Street in San Francisco on January 18, 2013. As expected, the mean squared error is the larger for the field test than the simulate data. However, the performance of our approach is superior to SFpark’s Sensor Independent Rate Adjustment (SIRA) regression approach.

    Refer to caption
    Figure 4. The solid line is the parking occupancy trajectory for the 2200 block of Mission St. in San Francisco, CA on January 12, 2013 from 1pm-3pm.. The estimated parking occupancy trajectory using PMMH, with 600,000 particles, is shown as a box-stem plot at the payment times. The root mean square difference of the median of our belief against the true path is 2.54 cars.
    Refer to caption
    Figure 5. The solid line is the parking occupancy trajectory for the 2400 block of Mission St. in San Francisco, CA on January 18, 2013 from 11am-1pm.. The estimated parking occupancy trajectory using PMMH, with 600,000 particles, is shown as a box-stem plot at the payment times. The root mean square difference of the median of our belief against the true path is 2.01 cars.

    5.3. Sensor Independent Rate Adjustment Approach

    SFpark developed a method to estimate the hourly parking occupancy rate from hourly payment rate data [SIRA2014, demisch2016demand]. Occupancy rate is total occupied time divided by the sum of occupied and unoccupied time. The payment rate is the total paid time divided by the sum of the total paid time and unpaid time. It is based on multiple linear regression, where dummy variables correspond to the various neighborhood in San Francisco. SFpark currently uses SIRA to generate monthly occupancy estimates. These occupancy estimates influence the monthly changes in parking prices.

    Our method produces occupancy estimates at a finer time resolution than the SIRA method. In addition to parking occupancy, we estimate the arrival rates and parking times which SIRA does not do. We also ran test of our method against SFpark SIRA method. During the same time and location that we used above, the true hourly average occupancy was 84%. Our method estimated the hourly average occupancy at 88%, while SIRA estimated an hourly average occupancy of 105%.

    5.4. Implications for practice

    As cities and urban areas become more data rich, examples of data being re-purposed or given parallel lives will become more ubiquitous, we just demonstrated one. In addition, our numerical methods show that revisions to the estimates could be made in real time, thus allowing the dynamic pricing of parking spaces in a manner that reflect both the temporal and spatial dimension of the demand. We have demonstrated the effectiveness of our approach in achieving SFpark’s occupancy objective given the increased reliability in our estimates compared to SIRA’s. We have also shown how our approach could be replicated nationwide – a feature that delivers on a core objective of SFpark as a demonstration project. This could be achieved at minimal cost compared to the invasive and expensive price tags typically associated with in-ground sensors and the reduction in reliability when their batteries start to fail.

    The ability to modify parking rates, particularly in real time, has implications for alleviating parking search related congestion. Although urban planners know of the areas where there is scarce parking, they do not have a good way of quantifying the magnitude of the problem. Once these neighborhoods are identified, we can look to a variety of remedies, such as: changing parking rates to incentivize drivers to choose off-street instead of searching for on-street parking; rezoning areas so that more off-street parking is available; increasing off-street parking with direct investments; or implementing congestion pricing in neighborhoods with high rates of cruising.

    All four of the remedies mentioned above can be viewed as policies that either explicitly or implicitly change the price of parking. Changing the price of on-street parking is the most direct way to reduce drivers’ incentive to search for on-street parking and is the path that policy makers in SFpark took. Investing directly in off-street parking and rezoning for more off-street parking increases off-street parking supply and should reduce the price of off-street parking. These approaches are often difficult to implement in practice, and their effects are difficult to estimate beforehand. Using congestion pricing in high traffic areas functions as an implicit increase in the price of both on-street and off-street parking. Congestion pricing has other benefits since it reduces traffic overall, however, it is difficult to implement in a targeted manner.

    6. Conclusion

    This paper introduces an inference framework for estimating parking occupancy from parking meter payment data. Given a historical record of parking payment transactions, our method provides estimates of second-by-second parking occupancy. This framework allows cities to use existing infrastructure (parking meters) to estimate parking occupancy without installing specialized parking sensors. The inference methodology is an extension of a simulation based approach called Particle Markov Chain Monte Carlo method that includes an approximate Bayesian computation step to compute the likelihood weights. We show that this method yields unbiased asymptotic estimates of the posterior distribution.

    The framework has the virtue of being unsupervised; that is, no training set of ground truth parking occupancy data is required to perform the inference. The inference relies solely on the underlying model for the parking search process. Although we employed the GI/GI/sGI/GI/s queue with first-come first-serve, the PMMH framework supports any simulated parking search model. Beyond introducing the inference framework and establishing its basic theoretical properties, subsequent efforts may focus on developing the most appropriate parking search queuing model. This methodology can serve as the basis for a tool, that can potentially, enable a parking information system for citizens and avail policy makers and city planners the ability to evaluate the impact of parking policy interventions such as pricing modifications, information provision, and time limit changes.

    References

    Appendix A Joint Distributions

    Refer to caption
    Figure 6. Joint distribution of the model parameters accepted by the PMMH the under the model parameters (λ,μ,p)=(0.752,5.0,1.0)(\lambda,\mu,p)=(0.752,5.0,1.0) and with 77 spaces.
    Refer to captionRefer to caption
    Figure 7. Joint distribution of the model parameters accepted by the PMMH the under the model parameters (λ,μ,p)=(0.752,5.0,.8)(\lambda,\mu,p)=(0.752,5.0,.8) and with 77 spaces.