Embodiments are generally related to the field of parking management. Embodiments also relate to mobile computing devices and mobile sensor technologies including digital video cameras that acquire parking occupancy images and related data.
A goal of many modern cities and urban areas is the use of mobile sensor technologies to collect parking occupancy data and to couple this with payment data while minimizing the risk of errors associated with parking policy decisions, and additionally while also guiding drivers and parking enforcement officers. Mobile sensors move continuously and therefore only “see” the occupancy at instants of time, in contrast to portable sensors which observe a block face for a day or a week before moving. Such sensing methods are capable of providing a much better trade-off between the value of data and the cost of data collection than installing sensors in every stall.
The following summary is provided to facilitate an understanding of some of the innovative features unique to the disclosed embodiments and is not intended to be a full description. A full appreciation of the various aspects of the embodiments disclosed herein can be gained by taking the entire specification, claims, drawings, and abstract as a whole.
It is, therefore, one aspect of the disclosed embodiments to provide improved methods and systems for parking management.
It is another aspect of the disclosed embodiments to provide an improved parking management method and system that utilizes data collected from mobile computing devices and mobile sensor technologies.
It is yet another aspect of the disclosed embodiments to provide methods and systems for collecting parking occupancy images and related data for analysis and use in optimizing parking management.
It is still another aspect of the disclosed embodiments to provide methods and systems for characterizing mobile parking sensor data including inference techniques thereof.
It is another aspect of the disclosed embodiments to provide for a generative model that can be applied to infer quantities of interest for use in characterizing the parking data and in recommending updated policy variables such as, for example, rates.
The aforementioned aspects and other objectives and advantages can now be achieved as described herein. Methods and systems for characterizing mobile parking sensor data are disclosed. With a generative model, a targeted random variable can be identified from parking data collected from one or more mobile sensors. The parking data includes data indicative of time instants and geographical locations. A proportion of parking stalls associated with payment data can then be derived from the targeted random variable at each time instant and for each street block face among the geographical locations. Parameters of the generative model can be determined based on observed data that is at least partial in time. The generative model is then applied in order to infer quantities of interest for use in characterizing the parking data and in recommending updated policy variables such as, for example, rates.
The accompanying figures, in which like reference numerals refer to identical or functionally-similar elements throughout the separate views and which are incorporated in and form a part of the specification, further illustrate the present invention and, together with the detailed description of the invention, serve to explain the principles of the present invention.
The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate one or more embodiments and are not intended to limit the scope thereof.
In some embodiments, the wireless network 104 may be, for example, a cellular telephone network (e.g., CDMA, TDMA, GSM, etc.). In other embodiments, the wireless network 104 may be a Wi-Fi network. In still other embodiments, the wireless network 104 may be a combined Wi-Fi/cellular telephone network or a wireless network of another type. The mobile sensor 102 can be employed to collect parking occupancy data with respect to a parking area 106. The parking area 106 can be, for example, a parking lot, an on-street parking area, and so on.
In an experimental embodiment, for example, wires can be used with respect to a laptop located in a car or in the context of SD cards and terabyte hard drives implanted in or connected to the cameras. The reason is that a great deal of bandwidth is required to transmit potentially high frame rate and high-resolution video. Indeed, much of the cost even of in-street sensing solutions, which only need to send 8 bits of data every 10 seconds, is the cost of wireless communication and the batteries required to power such communication.
As will be disclosed in greater detail herein, a municipality or city or other organization or agency can use mobile sensors such as mobile sensor 102 to collect parking occupancy data and couple this with payment data to make inferences that minimize the risk of errors in policy decisions and in guiding drivers and enforcement officers. As will be explained in greater detail herein, an inference procedure and system can be implemented for occupancy and payment that is suited to mobile sensor observations that are sparse in space and in time.
As depicted in the example shown in
In some embodiments, mobile device 201 can include additional modules, such as battery modules, device orientation modules, magnetometer modules, three-dimensional gyroscope modules, connector modules, audio modules, three-dimensional video processing modules, acceleration detection modules, camera modules, and/or the like. In some embodiments, mobile device 201 can be a sufficient size, dimension, and weight to enable the device to be easily moved by a user. For example, mobile device 201 can be pocket sized.
Controller 202, which can be implemented as one or more integrated circuits can control and manage the overall operation of mobile device 201. For example, controller 202 can perform various tasks, such as retrieving various assets that can be stored in CRM 210, accessing the functionalities of various modules (e.g., interacting with other Bluetooth enabled devices via Bluetooth module 204), executing various software programs (e.g., operating systems and applications) residing on CRM 210, and so on. In some embodiments, controller 202 can include one or more processors (e.g., microprocessors or microcontrollers) configured to execute machine-readable instructions. For example, controller 202 can include a single chip applications processor. Controller 202 can further be connected to CRM 210 in any suitable manner.
Bluetooth module 204 can include any suitable combinations of hardware for performing wireless communications with other Bluetooth-enabled devices. An RF signal can be exchanged between controller 202 and other Bluetooth enabled devices. In some embodiments, Bluetooth module 204 can perform such wireless communications according to Bluetooth Basic Rate/Enhanced Data Rate (BR/EDR) and/or Bluetooth Low Energy (LE) standards. The Bluetooth protocol, in general, enables point-to-point wireless communications between multiple devices over short distances (e.g., 30 meters)
Bluetooth has gained widespread popularity since its introduction and is currently used in a range of different devices. In order to allow Bluetooth to be used in a greater variety of applications, a low energy variant of the technology was introduced in the Bluetooth Core Specification, Version 4.0. Bluetooth Low Energy (LE), in general, enables devices to wirelessly communicate while drawing low amounts of power. Devices using Bluetooth LE can often operate for more than a year without requiring their batteries to be recharged.
For example, Bluetooth module 204 can include suitable hardware for performing device discovery, connection establishment, and communication based on only Bluetooth LE (e.g., single mode operation). As another example. Bluetooth module 204 can include suitable hardware for device discovery, connection establishment, and communication based on both Bluetooth BR/EDR and Bluetooth LE (e.g., dual mode operation). As still another example, Bluetooth module 204 can include suitable hardware for device discovery, connection establishment, and communication based only on Bluetooth BR/EDR.
RF module 206 can include any suitable combinations of hardware for performing wireless communications with wireless voice and/or data networks. For example. RF module 206 can include an RF transceiver that enables a user of mobile device 201 to place telephone calls over a wireless voice network. WiFi module 208 can include any suitable combinations of hardware for performing WiFi based communications with other WiFi enabled devices. CRM 210 can be implemented, e.g., using disk, flash memory, random access memory (RAM), hybrid types of memory, optical disc drives, or any other storage medium that can store program code and/or data. CRM 210 can store software programs that are executable by controller 202, including operating systems, applications, and related program code.
Software programs (also referred to as software or apps herein) can include any program executable by controller 202. In some embodiments, certain software programs can be installed on mobile device 201 by its manufacturer, while other software programs can be installed by a user. Examples of software programs can include operating systems, vehicle locator applications, productivity applications, video game applications, personal information management applications, applications for playing media assets and/or navigating a media asset database, applications for controlling a telephone interface to place and/or receive calls, and so on. For example, software programs can include an application that enables a user of mobile device 201 to activate and control the mobile sensor 102 (e.g., digital video camera). Certain software programs can provide communication with and/or control of mobile devices, and certain software programs can be responsive to control signals or other input from mobile device 201.
Display module 212 can be implemented using any suitable display technology, including a CRT display. an LCD display (e.g., touch screen), a plasma display, a direct-projection or rear-projection DLP, a micro display, and/or the like. In various embodiments, display module 212 can be used to visually display user interfaces, images, and/or the like.
Input module 214 can be implemented as a touch screen (e.g., LCD based touch screen), a voice command system, a keyboard, a computer mouse, a trackball, a wireless remote, a button, and/or the like. Input module 214 can allow a user to provide inputs to invoke the functionality of controller 202. In some embodiments, input module 214 and display module 212 can be combined or integrated. For example, mobile device 201 can include an LCD-based touch screen that displays images and also captures user input. Illustratively, a user can tap his or her finger on a region of the touch screen's surface that displays an icon. The touch screen can capture the tap and, in response, start a software program associated with the icon. Upon starting the software program, a graphical user interface for the application can be displayed on the touch screen for presentation to the user.
Previous work on inference about occupancy given sparse data assumed that occupancy is measured over finite intervals of time. The disclosed approach does not require such an assumption. One approach to the required inference would be to fit linear relationships between averages of occupancy and payment. The City of San Francisco recently deployed, for example, linear regression to predict occupancy fractions given payment fractions, based on historical near-complete sensor and payment data, claiming that their policy decision error rates of 30% are good, although one may consider such rates high. While such an approach can roughly estimate time-average occupancy fractions, this approach provides poor averages of fraction-high-minus-fraction-low.
One improvement would be to fit a Gaussian process to the occupancy fraction, but the disclosed embodiments go further. That is, as will be discussed in greater detail herein, a generative model can be implemented wherein counts of {occupied, vacant}×{paid, unpaid} stalls (the full state) are small, bounded integers, not Gaussians. The disclosed approach assumes latent processes driving the full state and its dispersion, which are combinations of a Gaussian process and basis functions. Note that one example of a generative model that can be employed is latent Gaussian process model. It should be appreciated, however, that other types of generative models may be employed.
The disclosed methodology makes more accurate guesses about the full state. Specifically, the basis functions allow for (near-)discontinuities, for instance, in payment at the end of operating hours. Thus, inferences can be made outside operating hours, which is not-at-all reasonable with methods that perform a linear regression from payment to occupancy. The disclosed approach provides reliable uncertainty measures, which are important as the times and places observed and mobile-sensing error rates may not be under our control. Thus, we can prefer no-policy-change when uncertainty is high and use Gaussian-process bandits to route mobile sensors. Because a generative model is employed, multiple input types can be exploited simultaneously, such as payment-only, occupancy-and-payment-only as well as full-state data from manual surveys. Finally, a layer can be added to the model, for instance, to account for errors in mobile sensors' occupancy counts.
The disclosed approach also involves at least two claims of novelty that can be made relative to the state-of-the-art regarding latent Gaussian processes. First, the disclosed approach recognizes Laplace approximation as a bi-level program and utilizes a bi-level trust-region method, which is faster and more reliable for non-convex models than known methods. Second, a new covariance model can be implemented, which captures the fact that all days-of-the-week are different, but some are more different than others.
The state of a single block face of capacity n can be summarized at time t by a vector Z(t) which sums to n with components Z1(t), Z2(t), Z3(t), Z4(t) which are the number of stalls that are occupied-and-paid, occupied-and-unpaid, vacant-and-paid, or vacant-and-unpaid. For simplicity, it can be assumed that observations Y(t) of the block face are of the form Y(t)=A(t)Z(t), where A(t) can be:
for a full-state observation, an occupancy-and-payment-only observation, an occupancy-only observation, or a payment-only observation respectively. Other options are discussed later herein. The “operating hours” or “hours of operation”, which are times at which it is legal to park and at which is typically necessary to pay, are represented by the indicator S(t):=11∈operatinghours∈{0,1} which is useful for predicting payment probabilities which can undergo near-discontinuous behavior at the ends of the operating hours. A set of observations at times t1, . . . , tN
D:={(t1, A(t1),Y(t1)), . . . , (tN, A(tN
The problem is to estimate functionals of the full state Z(t) given D, such as in the cases of real-time drier guidance and policy decisions. Real-time driver guidance requires the probability that there is at least one vacant stall at t+δt given the payment at t, which is P(Z1(t+δt)+Z2(t+δt)<n|Z1(t)+Z3(t),D). Real-time enforcement guidance requires the expected number of stalls that are occupied-and-unpaid given the current payment, which is E[Z2(t+δt)|X1(t)+Z3(t),D]. Policy decisions, regarding rates, operating hours, time limits, and time-of-day/-week segments require the average occupancy fraction, fraction-high-minus-fraction-low, or other occupancy-based criteria over a set of past, present, or future times H. History-based enforcement guidance requires the average number of stalls that are occupied-and-unpaid over a set of times H. Each is of the form F(Z(t)t∈H|D for appropriate F(•).
The disclosed embodiments generally include three parts: the model, parameter estimation, and prediction.
Regarding the model, at any time t, a latent Gaussian process model can be utilized as follows:
An observation Y(t) at time t depends on the full state Z(t) and the type of observation, which is provided by the matrix A(t) as in the problem description. Given the capacity n and Dirichlet parameters α(t)∈R+4, the full state Z(t) has a multinomial-Dirichlet distribution, so the observations are marginalized multinomial-Dirichlets as follows:
Parameters α(t) are related to a Gaussian process u:=z(t)+M(t)m through the mean function:
with the interpretation that u1, u2, u3 are the logged odds of being occupied, paid-given-occupied, and paid-given-vacant, while u4 controls the dispersion of Z. Indeed, if X is a multinomial random variable with the same count n and mean as Z then:
The basis functions M( )were chosen so that the mean of u I m is
M(t)m=(m1, m2, S(t)+m3S(t)),m4S(t)+m5(1−S(t)),m6)T
where S(t) is the operating hours indicator, allowing for discontinuities in payment probabilities. As all days of the week are different but some are more different than others, Gaussian process Z(•)|θ is a weighted combination of two Gaussian processes (z(•)|θ)⊥(z7(•)|θ) with periods one day and one week. A square-root weighting scheme can be used such that z(•),z1(•),z7(•) given θ can share the same variances, noting that if ω∈[0,1], v∈R+, then √{square root over (ω)}N(0,v)+√{square root over (1−ω)}N(0, v)˜N(0, v). Daily and weekly periodic distances d1(•,•),d7(•,•) can be constructed using the period-P distance
d
P(s, t):=(P/π)√{square root over ((1−cos(2π(s−t)/P))/2)} for times , t.
In terms of components θMF,θSS of θ, letting t0 denote 00:00 on Sunday, the following weighting can be utilized:
Thus, increasing θMF or θSS makes Monday-to-Friday or Saturday-to-Sunday more similar to z1(•) In terms of components θ1, . . . , θ4,θv,θp of θ, the covariance kernels for P∈{1,7} can be chosen as follows:
where the Matern function Mv(•|•) involves the modified Bessel function of the second kind kv(•). Finally, it can be assumed that a Gaussian prior for parameters m, θ with mean μ and covariance Σ.
For parameter estimation, θ|D, μ,Σ can be estimated for a given dataset D and hyper parameters (μ,Σ)|D given multiple training datasets D:={D1, . . . , Dcard(D)}. The following provides a scenario in which estimating θ|D, μ,Σ are estimated. Assume we can see a dataset D related to times t1, t2, . . . , tN and let x:=z(t1); z(t2); . . . ; z(tN);m). The model above provides a closed form for P(x,θ,D), but inference involves one of the troublesome distributions P(θ|D) or P(θ,D) for which there are a variety of Monte Carlo: variational, and Laplace approximations. In some embodiments, we can choose to work with a Laplace approximation. For the given θ,D suppose that x*(θ) maximizes P(x,θ,D) with respect to x and H(x,θ) is the Hessian of f(x, θ):=−logP(x,θ,D) with respect to x. Then, Laplace's approximation is as follows:
This suggests using a point estimate for θ which solves the bi-level program
Quasi-Newton methods can be utilized to minimize
g(θ):=f(x*(θ),θ)+log√{square root over (det(H(x*(θ),θ)))}
using finites difference derivatives of approximations to go to g(θ), which are themselves based on approximate minimization of f(x,θ) with respect to x. Unless one uses extended precision, it is has been the present inventor's experience that such finite difference derivatives can be unreliable and costly, because they are based on approximate minimization. Further, as e usually has a small dimension, it is much faster to use algorithms that exploit the Hessian of g(θ) with respect to θ. So, instead, the embodiments herein propose minimizing g(θ) using a trust-region method coupled with the following quadratic expansion Q(θ) of x*(θ) about a given point θ0 in which x0, d, D are to be determined:
Q(θ):=x0+dT(θ−θ0)+½(θ−θ0)TD(θ−θ0).
Specifically, we approximate x0, d, D and hence the value and gradient of g(θ) at θ0 as follows:
1. Approximately minimize f(x, θ0) with respect to x and give x0 using trust region.
2. For the resulting x0, solve the following linear equations for d, D:
[∇θ[∇xf(x,θ)]x=Q(θ)]θ=θ
3. Approximate the gradient and Hessian of g(θ) at θ0 as the gradient and Hessian of
(θ):=f(Q(θ),θ)+log√{square root over (det(H(Q(θ),θ)))}.
Derivatives can be automatically generated for this method. The Hessian of log√{square root over (det(A(θ)))} can be found where A(θ):=H(Q(θ),θ). This can be accomplished using the well-known fact that if R(θ) is the Cholesky decomposition of A(θ), then log√{square root over (det(A(θ)))}=Σk=1dim(θ)logR(θ)kk. Thus, extending algorithms for differentiating the Cholesky decomposition to use an appropriate symbolic decomposition for A(θ), the following can be computed:
Regarding estimating (μ,Σ)|D, this process can be based on multiple pre-existing databases associated with a few cities. In some embodiments, a slow and partly-manual form of type-II maximum likelihood for the Laplace approximation above can be implemented. Specifically, it can be assumed that Σ is diagonal and used as a combination of a coordinate descent over the parameters of μ and the diagonals of Σ, coupled with rounding based on human interpretation of the datasets to minimize the risk of overfilling for other cities.
Regarding prediction, two types of prediction may be implemented. First, achieving the distribution of Z(t) at a given time t is desirable such as when predicting the probability at least one vacant stall remains to guide drivers. Second, the average occupancy fraction or fraction-minus-low over a set of times T should be obtained, which for an appropriate F(•) are of the form F(Z(t))dtt∈T|D. These two tasks can be addressed by sampling z(•),m|D,θ at prediction times. The methods for the first two tasks can be described followed by a sampling method.
Regarding the distribution of Z(t)|D, samples (zp(k), m(k):k=1, . . . N) of zp:=z(t),m can be generated and the Monte Carlo averaged used as follows:
The occupancy Z1(t)+Z2(t)=z given the payment Z1(t)+Z3(t)=p is:
Regarding the distribution of F(Z(t))dtt∈T|D, we would like to measure our uncertainty about this distribution, but we do not model the short-term dependencies in Z(t). The best we can do is to measure the uncertainty due to our limited knowledge of α(•) which is captured by the distribution of F|D:=E[F(Z(t))|α(t)]t∈T|D which we approximate with samples (zp(k), m(k):k=1, . . . ,N) of zp:=(x(t1), . . . ,z(tN
Regarding sampling z(•), m|D,θ, given a dataset D relating to a set of observation times t1, . . . ,tN
k(s,t|θ):=√{square root over (w(s|θ)w(t|θ))}K1(s,t|θ)+√{square root over ((1−w(s|θ)(1−w(t|θ))}K7(s,t|θ)
Thus, letting (α1, . . . , αN
Additionally, an operation can be performed to let x*=:(z0*,m*) minimize f(x,θ) with respect to x and H* be the Hessian of f(x,θ) with respect to the x at that point. The Laplace approximation suggests that we proceed by assuming that:
Also, let U:=KpoK00−1. Using Schur-complements, for our model it follows from equations (1) and (2) above that:
Such samples can be readily generated by standard methods for the normal distribution.
To simulate training data from a mobile sensor, Z(t) was sampled at 60 random times during the a particular period in operating hours, excluding holidays, for 292 blocks in Los Angeles. The disclosed approach was used to make predictions for this period. A DLM (Discretized Linear Model) was also trained in which a per-block-face linear regression was used to determine β0, . . . , β2 and v0 wherein
occupancy(t)|β0, . . . , β2, v0˜(β0+β1·payment(t)+β2·averagepayment(t),v0)
where the average payment is over all weeks in January-March at the time-of-the-week t. To evaluate posterior distributions, when this model predicts an occupancy ZO˜N(mO,vO), we extract a discrete distribution:
(ZO=z):=(2πvO)−1/2∫x:|x−z|≦min
It should be appreciated that this DLM looks like a straw man, but is far better than a global regression over all block faces.
Table 1 below lists the Negative Log Posterior Predictive Probability per Point for our method trained on different types of observations and tested with or without access to the payment at the prediction time, as well as a result for the discretized linear model, in which OVPU means the full state, OPP means the occupancy and the payment plus extra samples of payment every 3 hours, OP means occupancy and payment, O means occupancy-only, and O|P means occupancy given the payment at the prediction time.
Clearly, predicting OVPU is much more difficult than predicting O which is harder than predicting O|P. For DLM which also uses the average payment, the corresponding NLPPPP for O|P was 1.823, which is much worse than the proposed method. Otherwise, the results are not as one might at first imagine, for instance, using extra payment data (OPP) hinders the prediction of O|P as that data is dependent and can make the model over-confident, yet OPP seems to help when predicting O only.
The fraction-high-minus-fraction-low price recommendation was estimated for the three Mon-Fri. time-of-day segments and compared with the recommendation based on full data for April-June (labeled “Ideal”), under the assumption that the impact of actual price changes on January-June behavior was small, given that few actual price changes were made at that time as most block faces had already reached the maximum change that was allowed. Results are presented for an “average” which takes the average fraction-high-minus-fraction-low for the samples that fall in each segment. The following table counts block faces and time-of-day segments with a given pair of recommendations, coded as price-down, price-same, and price-up with an arrow indicated respective directions as shown in Table 2 below.
DLM makes 13 more severe errors (down-up or up-down) than when using full data, but the rates of severe errors for the other methods are similar to using full data. In general, the disclosed approach tends to be safe and recommends no-price-change more often.
For guidance, models were trained on Jan-Mar data to predict whether a block face has at least one vacant space (VAC) rather than being fully occupied (FULL) at test times in Apr-Jun. with-or-without the assistance of payment data at test time. The corresponding ROC curve 31 is shown in graph 30 of
Regarding runtime, in certain cases, the disclosed embodiments can take under 1 minute for 100 observations from a block face with n=20 on a laptop with a 2.67 GHz i5. The runtime increases cubically with the number of samples.
Rather than modeling a single block face, in some alternative embodiments, it is possible to define Z(t) for only part of a block face, which is of practical importance for very long block faces and when some stalls possibly vary statistics from others, for instance if some stalls are residential permit parking, others are handicapped-only parking, others have a 15-minute time limit, others are FBI-only, and yet others are ordinary paid parking. It is also possible to define Z(t) as the union of multiple block faces, although a single marginalized-multinomial-Dirichlet model becomes more computationally expensive as capacity increases and can give less accurate inferences particularly if the block faces merged have very different relationships between occupancy and payment.
For observations Y(t), one might use error models for occupancy like the asymmetric bit-flip model, error models for payment to account for the fact that for some locations allow payment at different block faces or distributional models which allow for score outputs of mobile occupancy detectors. Each of these models might include its own parameters in θ. For the full state Z(t), alternatives include truncated versions of the multinomial-generalized-Dirichlet, multivariate negative-binomial, or learned mixture distributions. Sometimes the notion of capacity is somewhat ambiguous, for instance when stalls are not demarcated, drivers do not respect the demarcations or in certain pay-and-display settings where the payment can exceed the number of stalls. If this situation is rare, one might simply truncate observations, which exceed some nominal capacity, but if it is common, one may model Z(t) as a mixture of discrete distributions having different capacities. For the mean function σ(•), alternatives may include alternative nesting arrangements, such as, for example, payment drive occupancy as well as probit, generalized-extreme value or adaptive inverse-link functions themselves based on Gaussian processes.
There is also considerable flexibility in the choice of basis functions M(•) for instance one might allow for typical daily and weekly behavior with Fourier or wavelet basis functions, or use basis functions which allow for rapid-but-smooth change near the ends of operating hours rather than discontinuities, for instance, using a smoothed version of the operating hours indicator. One might attempt to learn a dictionary of basis functions, for instance. with PCA. This was one of the first things we tried, but found we needed quite a few to reliably capture all the variations in the example Los Angeles dataset, which is not necessarily representative of the behavior in other cities, leading us to prefer a Gaussian process approach. Further, the basis functions may include other predictive features, for instance to predict typical time-series behavior near churches, bars, or restaurants, as well as basis functions which reflect seasonal variations or the behavior of nearby block faces.
The combined process z(•) might have weightings w(•|θ), which separate days in ways other than Monday-to-Friday versus Saturday-to-Sunday. The covariances KP (•,•|θ), for example, can be configured from a large number of periodic kernels other than the Matern In some embodiments, diagonal covariances may he used, but one could allow for dependence between, for example, the gradient of the occupancy and the dispersion to capture situations where the arrival or departure of whole groups of drivers are dependent, say because of traffic conditions or over-running meetings. Further, the covariances might be selected to represent a quasi-periodic rather than a periodic behavior. For instance, in some embodiments, rather than using a period-P distance, which corresponds to Euclidean distance on a circle, a Euclidean distance on a helix may be used, where the third dimension corresponds to long-term changes in zP (•), or to the same effect, one might use a kernel product such as KP (s, t) KL(s, t) in which KL(s, t) slowly decays with |s−t|. Of course a large range of non-normal priors rather than N(μ, θ) may be utilized and implanted in the context of alternative embodiments.
Rather than simple Monte Carlo averages, if one is interested in the tails of the distribution, importance sampling can be used. Rather than using a single point estimate, for example, the Laplace approximation can be extended to averaging multiple point estimates of θ. For instance, the present inventor(s) have experimented with the central composite designs, finding that they only substantially reduce the negative log predictive posterior relative to a single point estimate in rare situations where the sampled dataset D is highly unrepresentative of the full behavior, whereas the use of such multi-point techniques can increase the computational cost by 10×.
A gentle graphical tour demonstrates samples in which embodiments may be implemented. One example involves the measurement of the average occupancy fraction OF and the average payment fraction PF at each minute-of-the-week over a 6-month period during operating hours for a particular location or address in, for example, Los Angeles. Such data is represented by the black dots in graphs 42 and 44 of
If we repeat this for another location in Los Angeles, for example, we do not see such a nice linear relationship. On Monday-through-Friday early in the day, a small fraction of people pay. This fraction increases through the day and towards the end of the day there are regularly stalls that are vacant-but-paid. Furthermore, on Saturday, there are both more people and a greater number of people pay. In this case, if we were to predict the occupancy fraction curve averaged over a 6-month period, the RMSE of a linear model would be 0.11 whereas other models achieve an RMSE of 0.07 on this particular example, given sparse-in-time data. We can make such large improvements for about 20% of block faces.
It has been argued that a linear model might be good when the correlation between OF and PF is high. In fact this is not necessarily the case. For instance, one can have low correlation, but good predictability because the OF does not vary greatly with the time-of-the-week. Situations may even be encountered where the correlation is negative, so the best linear predictor of the OF is a decreasing function of the PF.
Returning now to the topic of the location associated with the data depicted in
It is also useful to associate the predictions with a measure of uncertainty, either by showing the 10- and 90-percentiles of the predictions or with 300 Monte Carlo samples from the predictive probability distribution. If the percentiles are “right.” then (roughly speaking) the black line should be below the lower thin blue line about 10 percent of the time and above the upper thin blue line about 10 percent of the time. Note that Monte Carlo samples are particularly variable around hour 125, which is 5 AM on a Saturday morning. This is because the model knows that weekends can behave differently from Monday-through-Friday and it has seen relatively few samples around that time.
The quantities of interest can be employed to characterize the parking data for use in setting optimal dynamic prices. Such quantities of interest can also be utilized to characterize the parking data for use in providing optimal advice to a driver wishing to park. The generative model can include, for example, data indicative of the counts of stalls that are occupied-vacant multiplied by paid-unpaid and wherein the counts include small, bounder integers. The generative model can include an assumption that latent processes drive a full state and dispersion thereof as combinations of a Gaussian process and basis functions.
Note that in some embodiments, computer program code for carrying out operations of the disclosed embodiments may be written in an object oriented programming language (e.g., Java. C#, C++, etc.). Such computer program code, however, for carrying out operations of particular embodiments can also be written in conventional procedural programming languages, such as the “C” programming language or in a visually oriented programming environment, such as, for example, Visual Basic.
The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer. In the latter scenario, the remote computer may be connected to a user's computer through a local area network (LAN) or a wide area network (WAN), wireless data network e.g., Wi-Fi, Wimax, 802.xx, and cellular network or the connection may be made to an external computer via most third party supported networks (e.g., through the Internet via an Internet Service Provider).
The embodiments are described at least in part herein with reference to flowchart illustrations and/or block diagrams of methods, systems, and computer program products and data structures according to embodiments of the invention. It will be understood that each block of the illustrations, and combinations of blocks, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function/act specified in the various block or blocks, flowcharts, and other architecture illustrated and described herein.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block or blocks.
As illustrated in
As illustrated, the various components of data-processing system 400 can communicate electronically through a system bus 351 or similar architecture. The system bus 351 may be, for example, a subsystem that transfers data between, for example, computer components within data-processing system 400 or to and from other data-processing devices, components, computers, etc. Data-processing system 400 may be implemented as, for example, a server in a client-server based network (e.g., the Internet) or can be implemented in the context of a client and a server (i.e., where aspects are practiced on the client and the server). Data-processing system 400 may be, for example, a standalone desktop computer, a laptop computer, a Smartphone, a pad computing device, a server, and so on.
The software application 454 can include one or more modules such as module 452, which can, for example, implement instructions or operations such as those described herein. Examples of instructions that can be implemented by module 452 include operations such as those shown and described herein with respect to blocks 83, 85, 87, and 89 in
The following discussion is intended to provide a brief, general description of suitable computing environments in which the system and method may be implemented. Although not required, the disclosed embodiments will be described in the general context of computer-executable instructions, such as program modules, being executed by a single computer. In most instances, a “module” constitutes a software application. However, a module may also be composed of, for example, electronic and/or computer hardware or such hardware in combination with software. In some cases, a “module” can also constitute a database and/or electronic hardware and software that interacts with the database.
Generally, program modules include, but are not limited to, routines, subroutines, software applications, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types and instructions. Moreover. those skilled in the art will appreciate that the disclosed method and system may be practiced with other computer system configurations, such as, for example, hand-held devices, multi-processor systems, data networks, microprocessor-based or programmable consumer electronics, networked PCs, minicomputers, mainframe computers, servers, and the like.
Note that the term module as utilized herein may refer to a collection of routines and data structures that perform a particular task or implements a particular abstract data type. Modules may be composed of two parts: an interface, which lists the constants, data types, variable, and routines that can be accessed by other modules or routines: and an implementation, which is typically private (accessible only to that module) and which includes source code that actually implements the routines in the module. The term module may also simply refer to an application, such as a computer program designed to assist in the performance of a specific task, such as word processing, accounting, inventory management, etc. Thus, the instructions or steps such as those shown in blocks 83, 85, 87, and 89 of
It will be appreciated that variations of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also, that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.