U.S. patent application number 15/889342 was filed with the patent office on 2018-12-13 for uncertainty modeling in traffic demand prediction.
The applicant listed for this patent is International Business Machines Corporation. Invention is credited to Wei Shan Dong, Peng Gao, Wei Sun, Jun Chi Yan, Shi Lei Zhang, Xin Zhang, Jun Zhu.
Application Number | 20180357893 15/889342 |
Document ID | / |
Family ID | 64563542 |
Filed Date | 2018-12-13 |
United States Patent
Application |
20180357893 |
Kind Code |
A1 |
Dong; Wei Shan ; et
al. |
December 13, 2018 |
UNCERTAINTY MODELING IN TRAFFIC DEMAND PREDICTION
Abstract
The disclosure involves a method comprising clustering a
plurality of observation samples related to historical travel
demands into one or more clusters; for each cluster, constructing
an actual probability distribution of the historical travel demands
corresponding to the observation samples in the cluster; for each
cluster, inputting observation samples in the cluster into a
prediction model for predicting future travel demands to produce a
result of prediction; for each cluster, computing a predicted
probability distribution of the historical travel demands
corresponding to the observation samples in the cluster based on
the result of prediction; for each cluster, evaluating a difference
between the actual probability distribution and the predicted
probability distribution of the cluster; and modifying the
prediction model so that a statistical sum of the differences for
the one or more clusters is decreased.
Inventors: |
Dong; Wei Shan; (Beijing,
CN) ; Gao; Peng; (Beijing, CN) ; Sun; Wei;
(Beijing, CN) ; Yan; Jun Chi; (Shanghai, CN)
; Zhang; Shi Lei; (Beijing, CN) ; Zhang; Xin;
(Beijing, CN) ; Zhu; Jun; (Shanghai, CN) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
International Business Machines Corporation |
Armonk |
NY |
US |
|
|
Family ID: |
64563542 |
Appl. No.: |
15/889342 |
Filed: |
February 6, 2018 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
15616089 |
Jun 7, 2017 |
|
|
|
15889342 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06Q 30/0205 20130101;
G08G 1/0129 20130101 |
International
Class: |
G08G 1/01 20060101
G08G001/01; G06F 17/18 20060101 G06F017/18; G06Q 30/02 20120101
G06Q030/02 |
Claims
1. A method comprising: receiving a plurality of observation
samples of historical travel demands, wherein each observation
sample of the plurality of observation samples includes an
observation position and an observation time period of a historical
travel demand corresponding to the respective observation sample
and one or more factors affecting the historical travel demand,
wherein the one or more factors affecting the historical travel
demand are selected from a group consisting of: travel origin,
travel destination, traffic condition, weather, temperature, air
pollution information, day of week, and point of interest;
determining similarity between observation samples of the plurality
of observation samples, wherein the similarity between the
observation samples included within a cluster is based on rules
that include: determining whether a first factor corresponding to a
first observation sample is equal to a second factor corresponding
to a second observation sample; determining whether the difference
between the first factor corresponding to the first observation
sample and the second factor corresponding to the second
observation sample is below a predetermined threshold; determining
whether an observation position of the first observation sample and
the observation position of the second observation sample are
adjacent; determining whether an observation time period of the
first observation sample and the observation time period of the
second observation sample are adjacent; and determining the
similarity between the first observation sample and the second
observation sample of the plurality of observation samples without
considering an additional factor corresponding to each of the first
observation sample and the second observation sample, such that the
additional factor produces an identical effect to the historical
travel demands of the plurality of observation samples as another
factor affecting the historical travel demand; generating, by the
processor, one or more clusters including observation samples from
the plurality of observation samples, determined similar by
applying the rules; constructing an actual probability distribution
of the historical travel demands corresponding to the observation
samples in each of one or more clusters by performing a
non-parametric estimation method; inputting the observation samples
of each of the one or more clusters into a prediction model for
predicting future travel demands to produce a result of prediction,
wherein the prediction model includes a neuronal network;
generating a predicted probability distribution based on the
historical travel demands corresponding to the observation samples
for each of the one or more clusters; determining differences
between the actual probability distribution and the predicted
probability distribution of the one or more clusters; and modifying
parameters of the neural network included in the prediction model,
wherein a statistical sum of the differences between the actual
probability distribution and the predicted probability distribution
of each of the one or more clusters, is decreased.
Description
BACKGROUND
[0001] The present invention relates to traffic demand prediction,
and more specifically, to uncertainty modeling in traffic demand
prediction.
[0002] Traffic demand prediction helps to predict future travel
demands of offering/taking a ride in a certain time period within a
specific district, which enables ride-hailing service providers to
maximize utilization of drivers willing to offer a ride and
optimally satisfy passengers' needs of taking a vehicle.
[0003] Traditional travel demand prediction methods provided for
predicting future travel demands mainly include four steps of trip
generation, trip distribution, mode choice and trip assignment.
These methods may be applied to travel demand prediction with
coarser granularity and may provide future travel demands with low
accuracy.
[0004] In recent years, new travel demand prediction methods are
under study. For example, data-driven methods based on
factorization machine or multi-output support vector regression
machine may be used for travel demand prediction. With use of these
methods, a deterministic prediction result of future travel demands
would be acquired.
SUMMARY
[0005] According to one embodiment of the present invention, there
is provided a method. The method may comprise clustering a
plurality of observation samples related to historical travel
demands into one or more clusters. The method may further comprise
for each cluster, constructing an actual probability distribution
of the historical travel demands corresponding to the observation
samples in the cluster. The method may further comprise for each
cluster, inputting observation samples in the cluster into a
prediction model for predicting future travel demands to produce a
result of prediction. The method may further comprise for each
cluster, computing a predicted probability distribution of the
historical travel demands corresponding to the observation samples
in the cluster based on the result of prediction. The method may
further comprise for each cluster, evaluating a difference between
the actual probability distribution and the predicted probability
distribution of the cluster. The method may further comprise
modifying the prediction model so that a statistical sum of the
differences for the one or more clusters is decreased.
[0006] According to another embodiment of the present invention,
there is provided a system, which may comprise one or more
processors and a memory coupled to at least one of the one or more
processors. The system may further comprise a set of computer
program instructions stored in the memory and executed by at least
one of the one or more processors in order to perform an action of
clustering a plurality of observation samples related to historical
travel demands into one or more clusters. The system may further
comprise a set of computer program instructions stored in the
memory and executed by at least one of the one or more processors
in order to perform an action of for each cluster, constructing an
actual probability distribution of the historical travel demands
corresponding to the observation samples in the cluster. The system
may further comprise a set of computer program instructions stored
in the memory and executed by at least one of the one or more
processors in order to perform an action of for each cluster,
inputting observation samples in the cluster into a prediction
model for predicting future travel demands to produce a result of
prediction. The system may further comprise a set of computer
program instructions stored in the memory and executed by at least
one of the one or more processors in order to perform an action of
for each cluster, computing a predicted probability distribution of
the historical travel demands corresponding to the observation
samples in the cluster based on the result of prediction. The
system may further comprise a set of computer program instructions
stored in the memory and executed by at least one of the one or
more processors in order to perform an action of for each cluster,
evaluating a difference between the actual probability distribution
and the predicted probability distribution of the cluster. The
system may further comprise a set of computer program instructions
stored in the memory and executed by at least one of the one or
more processors in order to perform an action of modifying the
prediction model so that a statistical sum of the differences for
the one or more clusters is decreased.
[0007] According to a further embodiment of the present invention,
there is provided a computer program product. The computer program
product may comprise a computer readable storage medium having
program instructions embodied therewith. The program instructions
may be executable by a device to perform a method. The method may
comprise clustering a plurality of observation samples related to
historical travel demands into one or more clusters. The method may
further comprise for each cluster, constructing an actual
probability distribution of the historical travel demands
corresponding to the observation samples in the cluster. The method
may further comprise for each cluster, inputting observation
samples in the cluster into a prediction model for predicting
future travel demands to produce a result of prediction. The method
may further comprise for each cluster, computing a predicted
probability distribution of the historical travel demands
corresponding to the observation samples in the cluster based on
the result of prediction. The method may further comprise for each
cluster, evaluating a difference between the actual probability
distribution and the predicted probability distribution of the
cluster. The method may further comprise modifying the prediction
model so that a statistical sum of the differences for the one or
more clusters is decreased.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0008] FIG. 1 shows an exemplary computer system which is
applicable to implement the embodiments of the present
invention.
[0009] FIGS. 2A and 2B show an example of uncertainty modeling in
traffic demand prediction according to an embodiment of the present
invention.
[0010] FIG. 3 is a flowchart showing an exemplary method according
to an embodiment of the present invention.
[0011] FIG. 4 shows an exemplary data structure of an observation
sample according to an embodiment of the present invention.
[0012] FIG. 5A shows an example of an actual probability
distribution of historical travel demands according to an
embodiment of the present invention.
[0013] FIG. 5B shows an example of a predicted probability
distribution according to an embodiment of the present
invention.
[0014] FIG. 6 shows an exemplary result of prediction acquired from
a prediction model according to an embodiment of the present
invention.
DETAILED DESCRIPTION
[0015] The descriptions of the various instances, scenarios, and
examples related to the present invention are presented for
purposes of illustration and are not intended to be exhaustive. The
present disclosure can be implemented in various manners and should
not be construed to be limited to the embodiments disclosed herein.
The present invention will now be described in detail with
reference to the Figures.
[0016] FIG. 1 shows computer system 100, an exemplary computer
system that is applicable to implement the embodiments of the
present invention. Computer system 100 is only illustrative and is
not intended to suggest any limitation as to the scope of use or
functionality of embodiments of the invention described herein.
FIG. 1 is also adapted to depict an illustrative example of a
portable electronic device, such as a communication device, that is
applicable to implement the embodiments of the present
invention.
[0017] Computer system 100 is shown in the form of a
general-purpose computing device. The components of computer system
100 may include, but are not limited to, processing units 16, which
may represent one or more processors or processing units, system
memory 28, and bus 18.
[0018] Bus 18 couples various components of computer system 100,
including system memory 28 and processor 16. Bus 18 represents one
or more of any of several types of bus structures, including a
memory bus or memory controller, a peripheral bus, an accelerated
graphics port, and a processor or local bus using any of a variety
of bus architectures. Such bus architectures include, for example,
Industry Standard Architecture (ISA) bus, Micro Channel
Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics
Standards Association (VESA) local bus, and Peripheral Component
Interconnect (PCI) bus.
[0019] Computer system 100 includes computer readable media. Such
media may be any available media that is accessible by computer
system 100. Computer readable media can include volatile and
non-volatile media, as well as removable and non-removable
media.
[0020] System memory 28 can include computer system readable media
in the form of volatile memory, such as random access memory (RAM)
30 and/or cache memory 32. Computer system 100 may further include
other removable/non-removable, volatile/non-volatile computer
system storage media. By way of example only, storage system 34 can
be provided for reading from and writing to a non-removable,
non-volatile magnetic media (e.g., a "hard drive") (not shown).
Although not shown, a magnetic disk drive for reading from and
writing to a removable, non-volatile magnetic disk (e.g., a "floppy
disk"), and an optical disk drive for reading from or writing to a
removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or
other optical media can be provided. In such instances, each can be
connected to bus 18 by one or more data media interfaces. As will
be further depicted and described below, memory 28 may include at
least one program product having a set (e.g., at least one) of
program modules that are configured to carry out the functions of
embodiments of the invention.
[0021] In some embodiments, program 40, which includes program
modules 42, is stored in memory 28. Program 40 may also be stored
in an operating system, one or more application programs, other
program modules, and/or program data. Each of the operating system,
one or more application programs, other program modules, and
program data, or some combination thereof, may include an
implementation of a networking environment. Some embodiments of the
present invention discussed with reference to FIGS. 2-6 may be
implemented as program 40 and/or program modules 42. Program 40
and/or program modules 42 generally carry out the functions or
methodologies of embodiments of the invention as described
herein.
[0022] In some embodiments, computer system 100 communicates with
display 24 and external device(s) 14. External device(s) 14 may
include, for example, one or more of a keyboard, a pointing device,
one or more devices that enable a user to interact with computer
system 100, and/or any devices (e.g., a network card, a modem) that
enable computer system 100 to communicate with one or more other
computing devices. Such communication can occur via Input/Output
(I/O) interface(s) 22. Still yet, computer system 100 can
communicate with one or more networks such as a local area network
(LAN), a general wide area network (WAN), and/or a public network
(e.g., the Internet) via network adapter 20. As depicted, network
adapter 20 communicates with the other components of computer
system 100 via bus 18. It should be understood that although not
shown, other hardware and/or software components could be used in
conjunction with computer system 100. Examples, include, but are
not limited to, microcode, device drivers, redundant processing
units, external disk drive arrays, RAID systems, tape drives, and
data archival storage systems.
[0023] Embodiments of the present invention will now be described
with reference to FIGS. 2-6.
[0024] Embodiments of the present invention recognize that existing
travel demand prediction methods may only provide a deterministic
prediction result of future travel demands when historical travel
demands are known. For example, in order to predict a future travel
demand N during this afternoon, the observed historical travel
demands during the afternoon for the past three days, i.e.,
N.sub.1=500, N.sub.2=400, N.sub.3=600 may be used. The prediction
result of the future travel demand N during this afternoon would be
predicted as N=500, which is an average of N.sub.1, N.sub.2 and
N.sub.3 and is a deterministic value without uncertainty. Travel
demand described herein indicates one of a number of passengers who
need a ride in a vehicle.
[0025] Embodiments of the present invention recognize that travel
plans change with various factors such as traffic condition,
weather, and temperature. Therefore, the future travel demand may
not be a deterministic value, but a stochastic variable with
uncertainty related to factors affecting the future travel demand
Embodiments of the present invention recognize that existing travel
demand prediction methods do not consider the uncertainty in travel
demand prediction and thus cannot efficiently predict the
stochastic variable future travel demand, even if all historical
travel demands are known. Therefore, there exists a need for
modeling uncertainty in travel demand prediction in order to
predict future travel demands more accurately and efficiently.
[0026] FIGS. 2A and 2B show an example of uncertainty modeling in
traffic demand prediction according to an embodiment of the present
invention.
[0027] In some embodiments, observation samples {s.sub.1, s.sub.2,
. . . , s.sub.15} are collected to model uncertainty in travel
demand prediction. Each observation sample s.sub.i may relate to a
historical travel demand N.sub.i in {N.sub.1, N.sub.2, . . . ,
N.sub.15} (not shown) (i is a natural number and
1.ltoreq.i.ltoreq.15).
[0028] In some embodiments, the observation samples {s.sub.1,
s.sub.2, . . . , s.sub.15} are inputted to prediction model 200,
and prediction model 200 may be used to provide a result of
prediction {N.sub.1', N.sub.2', . . . , N.sub.15'} based on the
inputted observation samples, wherein N.sub.i' is a predicted
future travel demand (based on the inputted observation sample
s.sub.i) (i is a natural number and 1.ltoreq.i.ltoreq.15).
[0029] In some embodiments, prior to being inputted to prediction
model 200, the observation samples {s.sub.1, s.sub.2, . . . ,
s.sub.15} are clustered to construct actual probability
distributions, and the result of prediction {N.sub.1', N.sub.2', .
. . , N.sub.15'} is used to predict probability distributions. The
actual distributions and the predicted distributions may indicate
uncertainty in historical travel demands and may be used to modify
prediction model 200. By means of this prediction phase, prediction
model 200 may be used to predict future travel demands in
consideration of uncertainty.
[0030] As shown in FIGS. 2A and 2B, in some embodiments, prior to
being inputted to prediction model 200, the observation samples
{s.sub.1, s.sub.2, . . . , s.sub.15} are clustered into clusters
C.sub.1 and C.sub.2, wherein s.sub.1, s.sub.2, . . . , s.sub.10 are
clustered into C.sub.1, and s.sub.11, s.sub.12, . . . , s.sub.15
are clustered into C.sub.2. The clusters, C.sub.1 and C.sub.2, may
be inputted to the prediction model 200 sequentially. The results
of prediction subsequently outputted from prediction model 200 are
outputted as C.sub.1' and C.sub.2', corresponding to C.sub.1 and
C.sub.2 respectively.
[0031] In some embodiments, for each cluster, C.sub.1 and C.sub.2,
an actual probability distribution of the historical travel demands
in the cluster is constructed. For example, actual probability
distribution P.sub.1 is constructed from historical travel demands
N.sub.1, N.sub.2, . . . , N.sub.10 (not shown) in cluster C.sub.1.
Actual probability distribution P.sub.2 is similarly constructed
from cluster C.sub.2.
[0032] In some embodiments, for each cluster, C.sub.1 and C.sub.2,
a predicted probability distribution of the historical travel
demands in the cluster is computed. For example, predicted
probability distribution Q.sub.1 is computed from N.sub.1',
N.sub.2', . . . , N.sub.10', the result of prediction based on
cluster C.sub.1. Similarly, predicted probability distribution
Q.sub.2 is computed from N.sub.11', N.sub.12', . . . , N.sub.15',
the result of prediction based on cluster C.sub.2.
[0033] In some embodiments, for each cluster, C.sub.1 and C.sub.2,
a difference between the actual probability distribution and the
predicted probability distribution of the cluster is evaluated. For
example, for cluster C.sub.1, the difference may be evaluated by an
expression |P.sub.1-Q.sub.1|, wherein |P.sub.1-Q.sub.1| denotes the
absolute value of the difference between P.sub.1 and Q.sub.1.
Similarly, the difference for cluster C.sub.2 may be evaluated by
an expression |P.sub.2-Q.sub.2| which denotes the absolute value of
the difference between P.sub.2 and Q.sub.2.
[0034] In some embodiments, prediction model 200 is modified such
that a statistical sum of the differences for the clusters is
decreased. For example, the prediction model 200 may be modified
such that the value of the expression
|P.sub.1-Q.sub.1|+|P.sub.2-Q.sub.2| decreases. As another example,
the value of the expression
|P.sub.1-Q.sub.1|.sup.2+|P.sub.2-Q.sub.2|.sup.2 decreases. In other
embodiments, prediction model 200 is modified such that the
statistical sum of the differences for the clusters is
minimized.
[0035] FIG. 3 is a flowchart showing method 300, which is an
exemplary method according to an embodiment of the present
invention.
[0036] In step S310, the observation samples, {s.sub.1, s.sub.2, .
. . , s.sub.15}, related to historical travel demands are clustered
into one or more clusters, C.sub.1 and C.sub.2. In some
embodiments, each observation sample includes an observation
position and an observation time period for observation of a
historical travel demand corresponding to the observation sample.
In some embodiments, the observation position indicates a specific
geographic district where the observation of the historical travel
demand occurs, and the observation time period indicates a time
period during which the observation occurs. In some embodiments,
the observation position is a square with side lengths of 1 km.
[0037] In some embodiments, each observation sample includes one or
more factors affecting the historical travel demand. Examples of
factors affecting the historical travel demand include travel
origin, travel destination, traffic condition, weather,
temperature, air pollution information, day of week, and point of
interest (POI). In some embodiments, the travel origin or
destination shows the origin or destination of a ride taken by a
passenger or offered by a driver. The travel condition shows the
traffic congestion situation, and sometimes people may not choose
to take a ride when the traffic is congested. The weather (e.g.,
sunny, rainy, snowy, etc.) may also affect the travel demand. For
example, people would like to join outdoor activities in sunny
days, thus the travel demand in sunny days would increase compared
to rainy or snowy days. Temperature may affect the travel demand.
For example, people may rather be at home in low temperature
environment in the winter. Further, air pollution information such
as particulate matter information (e.g., PM 2.5, PM 10, etc.) or
content of sulfur dioxide may be an important factor affecting the
travel demand. For example, less travel demand may be generated
under a heavy PM 2.5. Further, regarding day of week, traffic
demand between residential districts and office buildings may be
greater on weekdays than on weekends. Further, POI indicating how
the land is used may also affect the travel demand. For example,
residential POI generates travel demand in working day morning, and
dining POI attracts travel demand in the evening.
[0038] The factors described herein are illustrative and are not
exhaustive. Other factors affecting historical travel demands may
be embraced in the scope of the present invention.
[0039] FIG. 4 shows data structure 400, which is an exemplary data
structure of an observation sample according to an embodiment of
the present invention.
[0040] In some embodiments, data structure 400, corresponding to an
observation sample, is a four-dimensional data structure. The first
and second dimensions of the data structure are denoted by a map
formed of two axes, x and y. The map is divided into a plurality of
grids, wherein each grid specifies an observation position of a
specific geographic district where an observation of a historical
travel demand occurs. The third dimension is denoted by an axis t,
and each segment on the axis t specifies an observation time
period. The fourth dimension, denoted by each of the cubes formed
of the three axes x, y, and t, specifies one of the factors f.sub.i
(in {f.sub.1, . . . , f.sub.2, . . . , f.sub.m}, wherein i and m
are natural numbers and 1.ltoreq.i.ltoreq.m) affecting historical
travel demands.
[0041] In some embodiments, each observation sample is constructed
with the same data structure. In other words, the observation time
period, and the factors in each observation sample are identical.
Further, the arrangement order of the factors in the data structure
of one observation sample is the same as that of another
observation sample. For example, factor f.sub.1 in each observation
sample may indicate weather, factor f.sub.2 in each observation
sample may indicate air pollution information, and factor f.sub.m
in each observation sample may indicate POI (e.g., POI of hotels,
POI of restaurants, etc.).
[0042] Although FIG. 4 shows a four-dimensional data structure of
an observation sample, the data structure of the observation sample
in the present invention is not thus limited to a data structure
having four dimensions. Further, the arrangement order of the
observation position, the observation time period, and the factors
may be changed.
[0043] In some embodiments, existing clustering methods such as
hierarchical clustering method and affinity propagation method are
used for clustering the plurality of observation samples into one
or more clusters.
[0044] In some embodiments, the plurality of observation samples
are clustered based on similarity among the plurality of
observation samples. In some embodiments, rules related to the
similarity, i.e., equal rule, similar rule, adjacent rule, and
ignore rule, are used to cluster the observation samples.
[0045] In some embodiments, the equal rule is used for clustering.
That is, a first observation sample and a second observation sample
may be clustered into one cluster in the case that a first factor
in the first observation sample is equal to a factor corresponding
to the first factor in the second observation sample. For example,
observation sample s.sub.1 and observation sample s.sub.2 may be
clustered into the same cluster C.sub.1 in the case that factor
f.sub.1 (e.g., weather) in observation sample s.sub.1 is equal to
factor f.sub.1 in observation sample s.sub.2, since the same
weather type may be likely to generate similar travel demands.
[0046] In some embodiments, the similar rule is used for
clustering. That is, the first observation sample and the second
observation sample may be clustered into one cluster in the case
that the difference between a second factor in the first
observation sample and a factor corresponding to the second factor
in the second observation sample is below a predetermined
threshold. For example, observation sample s.sub.1 and observation
sample s.sub.2 may be clustered into the same cluster C.sub.1 in
the case that the difference between factor f.sub.2 (e.g., air
pollution information) in observation sample s.sub.1 and factor
f.sub.2 in observation sample s.sub.2 is below a predetermined
threshold, since for example PM 2.5=100 or 110 make little
difference to travel demands.
[0047] In some embodiments, the adjacent rule is used for
clustering. That is, the first observation sample and the second
observation sample may be clustered into one cluster in the case
that the first observation sample and the second observation sample
are adjacent in observation positions and/or observation time
periods. For example, if the observation positions of the
observation sample s.sub.1 and observation sample s.sub.2 are
geographically adjacent to each other geographically, the
observation samples s.sub.1 and s.sub.2 may be clustered into the
same cluster C.sub.1. Similarly, if the observation time periods of
the observation sample s.sub.1 and observation sample s.sub.2 are
adjacent to each other, then the observation samples s.sub.1 and
s.sub.2 may be clustered into the same cluster C.sub.1. This is
because travel demands in adjacent positions and/or time periods
usually would not change greatly.
[0048] In some embodiments, the ignore rule is used for clustering.
That is, clustering the plurality of observation samples without
considering a third factor in the case that the third factor brings
an identical effect to the historical travel demands of the
plurality of observation samples as another factor in the one or
more factors. For example, if factor f.sub.3 (e.g., POI of hotels)
brings an identical effect to the historical travel demands as
factor f.sub.4 (e.g., POI of restaurants), then factor f.sub.3 is
not considered in clustering the observation samples, i.e., factor
f.sub.3 may be ignored.
[0049] The four exemplary rules for clustering described herein may
be used independently or in combination for clustering the
observation samples. Further, other rules related to similarity
among the plurality of observation samples may be used for
clustering.
[0050] Referring again to FIG. 3, in step S320, for each cluster,
an actual probability distribution of the historical travel demands
corresponding to the observation samples in the cluster is
constructed.
[0051] FIG. 5A shows an example of actual probability distribution
P.sub.1 of the historical travel demands N.sub.1, N.sub.2, . . . ,
N.sub.10 in cluster C.sub.1, previously discussed with reference to
FIG. 2. Table 1 shows the exemplary values of the historical travel
demands used for constructing the actual probability distribution
P.sub.1.
TABLE-US-00001 TABLE 1 N.sub.1 N.sub.2 N.sub.3 N.sub.4 N.sub.5
N.sub.6 N.sub.7 N.sub.8 N.sub.9 N.sub.10 90 300 400 600 1100 700
400 450 550 1100
[0052] In FIG. 5A, the horizontal axis denotes a distribution
interval of the historical travel demands with a selected scale and
the vertical axis denotes the probability corresponding to the
interval. The scale (intervals) on the horizontal axis can be
selected according to the need of the user. Specifically, in the
example in FIG. 5A, with the historical travel demands N.sub.1,
N.sub.2, . . . , N.sub.10, the probability of historical travel
demands in the interval of [0, 100) is 0.1, the probability of
historical travel demands in the interval of [100, 500) is 0.4, the
probability of historical travel demands in the interval of [500,
1000) is 0.3, and the probability of historical travel demands in
the interval over 1000 is 0.2.
[0053] In some embodiments, the actual probability distribution
P.sub.1 of the historical travel demands is constructed using a
non-parametric estimation method such as a kernel density
estimation method. For example, a non-parametric estimation method
may be used to construct the actual probability distribution
P.sub.1 from N.sub.1, N.sub.2, N.sub.10 in cluster C.sub.1. By this
means, a continuous probability distribution curve can be
obtained.
[0054] In some embodiments, probability scale of the actual
probability distribution is built based on business needs according
to, for example, accuracy and granularity requirements. For
example, the probability scale of the actual probability
distribution as shown in FIG. 5A can be built as the intervals [0,
100), [100, 500), [500, 1000) and over 1000 based on business
needs.
[0055] Referring again to FIG. 3, in step S330, for each cluster,
observation samples in the cluster are inputted into a prediction
model (e.g., prediction model 200) for predicting future travel
demands to produce a result of prediction. The prediction model may
be, for example, a Gaussian model, a Bayesian model, or other model
for predicting future travel demands based on observation samples.
In some embodiments, the prediction model includes a neuronal
network. --move paragraph to where prediction model 200 is
introduced? move into the above paragraph?
[0056] Although FIG. 3 shows step S330 being performed after step
S320, the order of step S320 and step S330 is thus not limited. For
example, step S330 may be performed before step S320, or step S320
and step S330 may be performed in a parallel manner.
[0057] In step S340, for each cluster, a predicted probability
distribution of the historical travel demands corresponding to the
observation samples in the cluster is computed based on the result
of prediction.
[0058] FIG. 5B shows an example of predicted probability
distribution Q.sub.1 of the result of prediction N.sub.1',
N.sub.2', . . . , N.sub.10' based on cluster C.sub.1, previously
discussed with reference to FIG. 2. Table 2 shows the exemplary
values of a result of prediction N.sub.1', N.sub.2', . . . ,
N.sub.10' used for constructing the predicted probability
distribution Q.sub.1.
TABLE-US-00002 TABLE 2 N.sub.1 N.sub.2' N.sub.3' N.sub.4' N.sub.5'
N.sub.6' N.sub.7' N.sub.8' N.sub.9' N.sub.10' 70 90 400 700 800
1100 600 450 350 1200
[0059] In FIG. 5B, the horizontal axis denotes a distribution
interval of the result of prediction and the vertical axis denotes
the predicted probability corresponding to the interval.
Specifically, with the result of prediction N.sub.1', N.sub.2', . .
. , N.sub.10', the predicted probability of result of prediction in
the interval of [0, 100) is 0.2, the predicted probability of
result of prediction in the interval of [100, 500) is 0.3, the
predicted probability of result of prediction in the interval of
[500, 1000) is 0.3 and the predicted probability of result of
prediction in the interval over 1000 is 0.2.
[0060] In some embodiments, the predicted probability distribution
is computed using a similar method as used for constructing the
actual probability distribution, for example, a non-parametric
estimation method such as a kernel density estimation method.
Further, the probability scale of the predicted probability
distribution may be the same as the actual probability
distribution.
[0061] Referring again to FIG. 3, in step S350, for each cluster, a
difference between the actual probability distribution and the
predicted probability distribution of the cluster is evaluated.
[0062] In some embodiments, the difference between the actual
probability distribution and the predicted probability distribution
is evaluated using Kullback-Leibler (KL) divergence. The difference
between the actual probability distribution P and the predicted
probability distribution Q may be expressed by KL divergence as
follows,
D KL ( P || Q ) = i = 1 K P ( i ) log P ( i ) Q ( i )
##EQU00001##
wherein K denotes the total number of observation samples in one
cluster, P(i) denotes the probability of the historical travel
demand corresponding to the ith observation sample, and Q(i)
denotes the probability of the predicted travel demand
corresponding to the ith observation sample.
[0063] In step S360, the prediction model is modified so that a
statistical sum of the differences for the one or more clusters is
decreased. In some embodiments, the prediction model is modified so
that the statistical sum of the differences is minimized.
[0064] In some embodiments, as described above, the prediction
model includes a neuronal network, and modifying the prediction
model in the step S360 comprises a parameter modifying step. In the
parameter modifying step, the differences for the one or more
clusters may be used by the neuronal network for modifying
parameters in the neuronal network. For example, the differences
may be used to calculate a back propagation error as an input to an
auto-encoder of the neuronal network to adaptively modify the
decision logic of the neuronal network. In some embodiments,
softmax is used for calculating the back propagation error.
[0065] Based on method 300 described above, a prediction model with
uncertainty is acquired in a training phase and may be used in a
prediction phase for predicting future travel demand efficiently.
Specifically, in the prediction phase, testing samples with the
same data structure as the observation samples are collected, then
the testing samples are clustered and inputted to the prediction
model. Finally, a result of prediction is outputted from the
prediction model, thus future travel demand for each of the testing
samples would be acquired.
[0066] FIG. 6 shows an exemplary result of prediction acquired from
a prediction model according to an embodiment of the present
invention. For example, testing samples are inputted to the
prediction model subject to training for acquiring the result of
prediction for future travel demands in district 1 to district 12
in this afternoon. As shown in FIG. 6, the result of prediction
shows that there is a future travel demand of 800 with 80%
confidence in district 7 in this afternoon, and there is a future
travel demand of 1000 with 60% confidence in district 12 in this
afternoon. Thus, the user will be aware of the uncertainty with the
prediction result. For example, a scheduling center for a
ride-hailing service can better schedule the drivers to
corresponding districts according to this information.
[0067] The present invention may be a system, a method, and/or a
computer program product. The computer program product may include
a computer readable storage medium (or media) having computer
readable program instructions thereon for causing a processor to
carry out aspects of the present invention.
[0068] According to at least one embodiment of the present
invention, there is provided a system, which may comprise one or
more processors and a memory coupled to at least one of the one or
more processors. The system may further comprise a set of computer
program instructions stored in the memory and executed by at least
one of the one or more processors in order to perform an action of
clustering a plurality of observation samples related to historical
travel demands into one or more clusters. The system may further
comprise a set of computer program instructions stored in the
memory and executed by at least one of the one or more processors
in order to perform an action of for each cluster, constructing an
actual probability distribution of the historical travel demands
corresponding to the observation samples in the cluster. The system
may further comprise a set of computer program instructions stored
in the memory and executed by at least one of the one or more
processors in order to perform an action of for each cluster,
inputting observation samples in the cluster into a prediction
model for predicting future travel demands to produce a result of
prediction. The system may further comprise a set of computer
program instructions stored in the memory and executed by at least
one of the one or more processors in order to perform an action of
for each cluster, computing a predicted probability distribution of
the historical travel demands corresponding to the observation
samples in the cluster based on the result of prediction. The
system may further comprise a set of computer program instructions
stored in the memory and executed by at least one of the one or
more processors in order to perform an action of for each cluster,
evaluating a difference between the actual probability distribution
and the predicted probability distribution of the cluster. The
system may further comprise a set of computer program instructions
stored in the memory and executed by at least one of the one or
more processors in order to perform an action of modifying the
prediction model so that a statistical sum of the differences for
the one or more clusters is decreased.
[0069] According to at least one embodiment of the system, the
plurality of observation samples may be clustered based on
similarity among the plurality of observation samples.
[0070] According to at least one embodiment of the system, each of
the plurality of observation sample may include an observation
position and an observation time period for observation of a
historical travel demand corresponding to the observation sample
and one or more factors affecting the historical travel demand.
[0071] According to at least one embodiment of the system,
clustering the plurality of observation samples into one or more
clusters based on the similarity among the plurality of observation
samples may include at least one of: clustering a first observation
sample and a second observation sample into one cluster in the case
that a first factor in the first observation sample is equal to a
factor corresponding to the first factor in the second observation
sample; clustering the first observation sample and the second
observation sample into one cluster in the case that the difference
between a second factor in the first observation sample and a
factor corresponding to the second factor in the second observation
sample is below a predetermined threshold; clustering the first
observation sample and the second observation sample into one
cluster in the case that the first observation sample and the
second observation sample are adjacent in observation positions
and/or observation time periods; and clustering the plurality of
observation samples without considering a third factor in the case
that the third factor brings an identical effect to the historical
travel demands of the plurality of observation samples as another
factor in the one or more factors.
[0072] According to at least one embodiment of the system, for each
cluster, the actual probability distribution of the historical
travel demands may be constructed using a non-parametric estimation
method.
[0073] According to at least one embodiment of the system, the
prediction model may include a neuronal network, and modifying the
prediction model may comprise using the differences by the neuronal
network for modifying parameters in the neuronal network.
[0074] According to at least one embodiment of the system, the one
or more factors affecting the historical travel demand may include
at least one of travel origin, travel destination, traffic
condition, weather, temperature, air pollution information, day of
week, and point of interest.
[0075] According to at least one embodiment of the present
invention, there is provided a computer program product. The
computer program product may comprise a computer readable storage
medium having program instructions embodied therewith. The program
instructions may be executable by a device to perform a method. The
method may comprise clustering a plurality of observation samples
related to historical travel demands into one or more clusters. The
method may further comprise for each cluster, constructing an
actual probability distribution of the historical travel demands
corresponding to the observation samples in the cluster. The method
may further comprise for each cluster, inputting observation
samples in the cluster into a prediction model for predicting
future travel demands to produce a result of prediction. The method
may further comprise for each cluster, computing a predicted
probability distribution of the historical travel demands
corresponding to the observation samples in the cluster based on
the result of prediction. The method may further comprise for each
cluster, evaluating a difference between the actual probability
distribution and the predicted probability distribution of the
cluster. The method may further comprise modifying the prediction
model so that a statistical sum of the differences for the one or
more clusters is decreased.
[0076] According to at least one embodiment of the computer program
product, the plurality of observation samples may be clustered
based on similarity among the plurality of observation samples.
[0077] According to at least one embodiment of the computer program
product, each of the plurality of observation samples may include
an observation position and an observation time period for
observation of a historical travel demand corresponding to the
observation sample and one or more factors affecting the historical
travel demand.
[0078] According to at least one embodiment of the computer program
product, clustering the plurality of observation samples into one
or more clusters based on the similarity among the plurality of
observation samples may include at least one of: clustering a first
observation sample and a second observation sample into one cluster
in the case that a first factor in the first observation sample is
equal to a factor corresponding to the first factor in the second
observation sample; clustering the first observation sample and the
second observation sample into one cluster in the case that the
difference between a second factor in the first observation sample
and a factor corresponding to the second factor in the second
observation sample is below a predetermined threshold; clustering
the first observation sample and the second observation sample into
one cluster in the case that the first observation sample and the
second observation sample are adjacent in observation positions
and/or observation time periods; and clustering the plurality of
observation samples without considering a third factor in the case
that the third factor brings an identical effect to the historical
travel demands of the plurality of observation samples as another
factor in the one or more factors.
[0079] According to at least one embodiment of the computer program
product, for each cluster, the actual probability distribution of
the historical travel demands may be constructed using a
non-parametric estimation method.
[0080] According to at least one embodiment of the computer program
product, the prediction model may include a neuronal network, and
modifying the prediction model may comprise using the differences
by the neuronal network for modifying parameters in the neuronal
network.
[0081] According to at least one embodiment of the computer program
product, the one or more factors affecting the historical travel
demand may include at least one of travel origin, travel
destination, traffic condition, weather, temperature, air pollution
information, day of week, and point of interest.
[0082] The computer readable storage medium can be a tangible
device that can retain and store instructions for use by an
instruction execution device. The computer readable storage medium
may be, for example, but is not limited to, an electronic storage
device, a magnetic storage device, an optical storage device, an
electromagnetic storage device, a semiconductor storage device, or
any suitable combination of the foregoing. A non-exhaustive list of
more specific examples of the computer readable storage medium
includes the following: a portable computer diskette, a hard disk,
a random access memory (RAM), a read-only memory (ROM), an erasable
programmable read-only memory (EPROM or Flash memory), a static
random access memory (SRAM), a portable compact disc read-only
memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a
floppy disk, a mechanically encoded device such as punch-cards or
raised structures in a groove having instructions recorded thereon,
and any suitable combination of the foregoing. A computer readable
storage medium, as used herein, is not to be construed as being
transitory signals per se, such as radio waves or other freely
propagating electromagnetic waves, electromagnetic waves
propagating through a waveguide or other transmission media (e.g.,
light pulses passing through a fiber-optic cable), or electrical
signals transmitted through a wire.
[0083] Computer readable program instructions described herein can
be downloaded to respective computing/processing devices from a
computer readable storage medium or to an external computer or
external storage device via a network, for example, the Internet, a
local area network, a wide area network and/or a wireless network.
The network may comprise copper transmission cables, optical
transmission fibers, wireless transmission, routers, firewalls,
switches, gateway computers and/or edge servers. A network adapter
card or network interface in each computing/processing device
receives computer readable program instructions from the network
and forwards the computer readable program instructions for storage
in a computer readable storage medium within the respective
computing/processing device.
[0084] Computer readable program instructions for carrying out
operations of the present invention may be assembler instructions,
instruction-set-architecture (ISA) instructions, machine
instructions, machine dependent instructions, microcode, firmware
instructions, state-setting data, or either source code or object
code written in any combination of one or more programming
languages, including an object oriented programming language such
as Smalltalk, C++, or the like, and conventional procedural
programming languages, such as the "C" programming language or
similar programming languages. The computer readable program
instructions 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 or server. In the latter scenario, the remote
computer may be connected to the user's computer through any type
of network, including a local area network (LAN) or a wide area
network (WAN), or the connection may be made to an external
computer (for example, through the Internet using an Internet
Service Provider). In some embodiments, electronic circuitry
including, for example, programmable logic circuitry,
field-programmable gate arrays (FPGA), or programmable logic arrays
(PLA) may execute the computer readable program instructions by
utilizing state information of the computer readable program
instructions to personalize the electronic circuitry, in order to
perform aspects of the present invention.
[0085] Aspects of the present invention are described herein with
reference to flowchart illustrations and/or block diagrams of
methods, apparatus (systems), and computer program products
according to embodiments of the invention. It will be understood
that each block of the flowchart illustrations and/or block
diagrams, and combinations of blocks in the flowchart illustrations
and/or block diagrams, can be implemented by computer readable
program instructions.
[0086] These computer readable 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 flowchart and/or block diagram block or blocks.
These computer readable program instructions may also be stored in
a computer readable storage medium that can direct a computer, a
programmable data processing apparatus, and/or other devices to
function in a particular manner, such that the computer readable
storage medium having instructions stored therein comprises an
article of manufacture including instructions which implement
aspects of the function/act specified in the flowchart and/or block
diagram block or blocks.
[0087] The computer readable program instructions may also be
loaded onto a computer, other programmable data processing
apparatus, or other device to cause a series of operational steps
to be performed on the computer, other programmable apparatus or
other device to produce a computer implemented process, such that
the instructions which execute on the computer, other programmable
apparatus, or other device implement the functions/acts specified
in the flowchart and/or block diagram block or blocks.
[0088] The flowchart and block diagrams in the Figures illustrate
the architecture, functionality, and operation of possible
implementations of systems, methods and computer program products
according to various embodiments of the present invention. In this
regard, each block in the flowchart or block diagrams may represent
a module, segment, or portion of code, which comprises one or more
executable instructions for implementing the specified logical
function(s). It should also be noted that, in some alternative
implementations, the functions noted in the block may occur out of
the order noted in the figures. For example, two blocks shown in
succession may, in fact, be executed substantially concurrently, or
the blocks may sometimes be executed in the reverse order,
depending upon the functionality involved. It will also be noted
that each block of the block diagrams and/or flowchart
illustration, and combinations of blocks in the block diagrams
and/or flowchart illustration, can be implemented by special
purpose hardware-based systems that perform the specified functions
or acts, or combinations of special purpose hardware and computer
instructions.
[0089] The descriptions of the various embodiments of the present
invention have been presented for purposes of illustration, but are
not intended to be exhaustive or limited to the embodiments
disclosed. Many modifications and variations will be apparent to
those of ordinary skill in the art without departing from the scope
and spirit of the described embodiments. The terminology used
herein was chosen to best explain the principles of the
embodiments, the practical application or technical improvement
over technologies found in the marketplace, or to enable others of
ordinary skill in the art to understand the embodiments disclosed
herein.
* * * * *