程序代写案例-JANUARY 2019 1
时间:2022-04-28
IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 25, NO. 1, JANUARY 2019 1
TPFlow: Progressive Partition and Multidimensional Pattern
Extraction for Large-Scale Spatio-Temporal Data Analysis
Dongyu Liu, Panpan Xu, and Liu Ren
Fig. 1. The user interface of TPFlow. a© Tree View starts with a root node (a1) representing the original data and visualizes the overall
data partitioning process. Every other node on the tree represents a subset of data. The system supports a steerable and iterative
workflow by allowing analysts to directly interact with every node (a2, a4, a5, a6). b© c© d© Each individual chart visualizes the latent
patterns extracted by our tensor-based model. The analysts select multiple nodes highlighted in different colors on the Tree View (a3)
to compare the patterns across different subsets of data. One interesting pattern here is that the pink states (d1), located mostly in the
northeast region of Germany, perform significantly different from the other states (b1, c1, c2). Please refer to the details in Sec. 5.1.
Abstract—Consider a multi-dimensional spatio-temporal (ST) dataset where each entry is a numerical measure defined by the
corresponding temporal, spatial and other domain-specific dimensions. A typical approach to explore such data utilizes interactive
visualizations with multiple coordinated views. Each view displays the aggregated measures along one or two dimensions. By brushing
on the views, analysts can obtain detailed information. However, this approach often cannot provide sufficient guidance for analysts
to identify patterns hidden within subsets of data. Without a priori hypotheses, analysts need to manually select and iterate through
different slices to search for patterns, which can be a tedious and lengthy process. In this work, we model multidimensional ST
data as tensors and propose a novel piecewise rank-one tensor decomposition algorithm which supports automatically slicing the
data into homogeneous partitions and extracting the latent patterns in each partition for comparison and visual summarization. The
algorithm optimizes a quantitative measure about how faithfully the extracted patterns visually represent the original data. Based on the
algorithm we further propose a visual analytics framework that supports a top-down, progressive partitioning workflow for level-of-detail
multidimensional ST data exploration. We demonstrate the general applicability and effectiveness of our technique on three datasets
from different application domains: regional sales trend analysis, customer traffic analysis in department stores, and taxi trip analysis
with origin-destination (OD) data. We further interview domain experts to verify the usability of the prototype.
Index Terms—Spatio-temporal data, tensor decomposition, interactive exploration, automatic pattern discoveries
1 INTRODUCTION
• Dongyu Liu is with the Hong Kong University of Science and Technology.
This work was done during his internship at Bosch Research North America.
E-mail: dliuae@cse.ust.hk.
• Panpan Xu and Liu Ren are with Bosch Research North America, Sunnyvale,
CA. E-mail: panpan.xu, liu.ren@us.bosch.com.
Interactive visualization is the key technique for explorative analysis
of large-scale multidimensional spatio-temporal (ST) data. However,
as the size and the dimensionality of the data increase, more scalable
techniques are needed. Data aggregation performs binning and rollup
operations on the original data to reduce the number of visual items dis-
played, hence improving the perceptual scalability of the visualization
techniques. The most popular approaches for multidimensional ST data
visualization display aggregated measures along each individual dimen-
sion of interest (e.g. spatial, temporal, categorical, numerical) with
coordinated views [36,41,45]. For example, consider a traffic volume
dataset with the schema (day, hour, region)→ tra f f ic_volume. A
typical ST visualization displays the total traffic distributed over hours,
Manuscript received 31 Mar. 2018; accepted 1 Aug. 2018.
Date of publication 16 Aug. 2018; date of current version 21 Oct. 2018.
For information on obtaining reprints of this article, please send e-mail to:
reprints@ieee.org, and reference the Digital Object Identifier below.
Digital Object Identifier no. 10.1109/TVCG.2018.2865018
1077-2626 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.Authorized licensed use limited to: OREGON STATE UNIV. Downloaded on April 27,2022 at 00:08:01 UTC fro IEEE Xplore. Restrictions apply.
2 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 25, NO. 1, JANUARY 2019
days and geographical regions on different views. With brushing and
linking, analysts can directly specify queries on the views, select and
highlight a subset of data for detailed examination, e.g., select certain
days and hours and look at the geospatial distribution of the traffic
volume in the corresponding time interval. This approach is generic
and scalable with respect to the dimensionality of the data. Many tech-
niques have also been proposed to enhance its real-time interactivity
for large data through pre-computation of data cubes [36,41], parallel
processing (with GPU) [41] or a clever arrangement of data items in
the storage [45].
However, high-level aggregated overviews are not sufficient in
providing visual cues or guidances for analysts to identify patterns
hidden within subsets of data [21]. For instance, traffic volume may
exhibit consistent but different hourly patterns during weekdays and
weekends or in residential and commercial areas. The aggregated
values displayed in the charts are unable to direct the analysts to such
insights, esp. without a priori hypotheses. With brushing and linking,
fine-grained information can be revealed. However, the analysts have to
manually select different slices, compare and correlate different subsets,
and search for patterns. This can be an extremely challenging task.
Our approach models multidimensional ST data cubes as tensors.
We propose a novel algorithm named piecewise rank-one tensor
decomposition which automatically identifies an optimal way to
slice the tensor into homogeneous partitions and extracts the patterns
for each partition along spatial, temporal and other domain-specific
dimensions. We visually summarize each partition with a set of simple
charts (e.g., line charts, bar charts, bubble map/ heat-map) to display
the extracted patterns along different dimensions. The algorithm is
grounded on a quantitative measurement about how faithfully the
visualization represents the original data. The algorithm aims at
alleviating the analysts’ burden to manually iterate through different
slices in the data for pattern discovery.
Building upon the basic algorithm, we propose TPFlow (short name
for Tensor Partition Flow) that supports a top-down, progressive par-
titioning workflow for level-of-detail multidimensional ST data ex-
ploration. The system guides analysts to iteratively partition the data,
visualizes the extracted multidimensional patterns and supports compar-
ative analysis across different subsets. The framework tightly couples
visual representation, computation, and user interaction to guide the
analysts to the salient patterns hidden within the data.
We present example usage scenarios on three real-world datasets
which illustrate the general applicability and effectiveness of our ap-
proach: New York taxi traffic data, product sales data over different
geographical regions, and customer traffic data over different zones in
a brick-and-mortar department store. The system is capable of address-
ing a set of drastically different analytical tasks in these application
domains. We also conduct expert interview to validate the usability and
effectiveness of the approach.
To sum up, our contributions are:
- A novel piecewise rank-one tensor decomposition algorithm which
automatically seeks for and recommends the best way to slice multi-
dimensional ST data and extract the multidimensional trend for com-
parison and visual summarization.
- A novel visual analytics framework that supports a progressive parti-
tioning and level-of-detail explorative analysis workflow of ST data.
The system incorporates a set of visualization and interaction designs
to facilitate pattern discovery, comparison and verification.
- Three example usage scenarios on real-world ST data across a wide
range of application domains and analytic tasks.
2 RELATED WORK
In the past years, researchers have spent great effort to develop in-
teractive visualization systems for ST data analysis. There are many
excellent surveys [3, 7, 14,40,66,67]. In this section, we focus on the
most relevant work.
2.1 Visualizing large-scale multidimensional ST data
Scalability. Large-scale ST dataset usually contains millions or even
more data records. Mapping all of them to the screen is usually infeasi-
ble or ineffective. A number of methods (pixel-oriented methods [31],
spatial transformation [54], alpha blending [31], etc.) have been pro-
posed to alleviate this issue. However, since these methods still draw all
records, they will hit bottleneck eventually. A more popular approach
is to employ data reduction techniques such as filtering, sampling and
aggregation. However, to develop effective filtering and sampling
strategies, prior knowledge is usually required, otherwise important
structures or outliers may remain hidden to analysts.
Many recent systems for large scale ST data exploration aggre-
gate the measures to present an overview of the data along different
dimensions. They usually leverage multiple views for presenting mul-
tidimensional data and support visual queries across different views
through brushing and linking. Examples of research along this line
include [23, 49] and [29, 30, 36, 41, 45]. To enable visual query
on extremely large scale data at an interactive rate, many techniques
have been developed recently such as imMens [41], Datavore [30],
DICE [29], Nanocubes [36] and Hashedcubes [45]. Nanocubes [36]
and Hashedcubes [45] pre-aggregate data to speed up queries on ST
data cubes, while imMens [41] leverages GPUs to achieve fast queries
over datasets at large scale. In despite of those recent advances, these
techniques still require analysts to iterate through different query pa-
rameters to identify the patterns that are associated with a particular
subset of the data. With no prior knowledge or hypotheses, analysts
have to compare and correlate different slices of data repeatedly in
search for patterns, which can be a tedious and lengthy process.
We propose a novel intelligent dataset subdivision algorithm which
can help analysts automatically partition the data into meaningful sub-
sets with similar trends/patterns along multiple dimensions for further
observation and comparison. The algorithm allows analysts to refine
the subdivision through hierarchical, iterative partitioning on different
dimensions. In this way, the system provides detail-on-demand for
explorative analysis.
Multidimensionality. Existing approaches for multidimensional
ST data visualization can be classified into two categories, namely,
multiple coordinated views visualization and multivariate visualization.
The previous one provides several separated views to display multi-
dimensional information, each view displays one or two dimensions
and the views are linked together for coordinated analysis [38, 58–60].
The latter one focuses on simultaneously encoding spatial, temporal
and other attributes in one view in a more compact manner. For ex-
ample, the most common forms for the multivariate visualization are
ring maps [65], glyphs on maps [4], space-time cube [35], and small
multiples [9]. One critical limitation of these visualization techniques
is that the visual channels will be exhausted to encode multivariate data
attributes eventually.
In practice, the combination of both methods has been success-
fully used in many visual analytics systems for analyzing various ST
data [3, 14]. In this work, we use tensor-based model to capture inter-
dependencies along multiple dimensions and then summarize the pat-
terns (i.e., low dimension vectors) for each dimension accordingly.
Thus, the patterns in each dimension can be visualized in a relatively
simple manner (no concern on the exhaustion of visual channels). By
showing the patterns of every dimension in the form of multiple coordi-
nated views, the patterns across each dimension can be easily observed
and compared.
2.2 Mining large-scale multidimensional ST data
Using data mining methods to automatically extract patterns and derive
insights out of large-scale multidimensional ST data is popular [3,
66]. However, this is notably hard, due to the existence of complex
dependencies among space, time, and other domain-specific variables.
Various statistic models [1, 10, 17, 18, 28] have been proposed to
automatically summarize the temporal trends or location distribution
patterns. However, most of them lack the capability to directly deal
with the correlations among multiple dimensions in a scalable manner.
Recently, tensor-based methods [34, 43] have been successfully
applied for ST data analysis, for their inherent capability to model
multifaceted data. The canonical polyadic (CP) decomposition (a.k.a.,
PARAFAC or CANDECOMP) [13,26] is one of the most popular tensor
analysis methods, which decomposes a tensor into a sum of rank-one
components to describe the latent structures in the data. The method
has been used to analyze a variety of ST data, including location-based
social network (LBSN) data [25,42], mobile phone GPS data [22], bike-
sharing data [61] and traffic flow data [8,15,53]. For example, Takeuchi
et al. [53] model traffic flow data as a three-dimensional tensor with
each dimension representing days, hours, and geographical locations,
respectively. The tensor then is decomposed into three non-negative
rank-1 factors (i.e., feature descriptors) to describe the daily, hourly
and spatial trend/distribution patterns.
However, all these methods have not fully examined the interpretabil-
ity of the tensor decomposition results in the spatio-temporal context.
Cao et al. [12] present a visualization system which is built on CP
decomposition methods to analyze traffic flow data, but the system is
designed for anomaly detection and is not suitable for general spatio-
temporal pattern discovery (e.g., temporal trend patterns or spatial
distribution patterns). More importantly, all the aforementioned meth-
ods cannot support automatically identifying the patterns that exist on
subsets of data, which is a fundamental task for ST data analysis [3].
Clustering is another powerful tool that has been usually utilized
to partition data by grouping similar objects [39]. Van Wijk and Van
Selow [55] use a hierarchical clustering method to group days with
similar hourly traffic variations. The method is limited to matrix shaped
data with two dimensions (days and hours in this instance). Andrienko
et al. [2] use self-organizing map (SOM) to perform clustering on time
series and spatial locations to generate clusters of places of similar
time variation or clusters of time intervals of similar spatial distribu-
tions. However, SOM requires the appropriate feature vector selection
and careful parameters setting. Besides, their system cannot support
human-in-the-loop analysis for iteratively tuning the clustering result.
Doraiswamy et al. [21] model ST data as time-varying scalar functions
and use topology analysis method to identify spatio-temporal events
in data slices. The approach cannot support multidimensional pattern
analysis and progressive data partition.
In this work, we present a unified framework that lays emphasis on
effectively identifying and interpreting the spatio-temporal patterns that
exist on data subsets. In particular, we propose a novel tensor-based
algorithm, based on which we present a semi-automatic and steerable
approach for efficiently identifying sub-groups of data with coherent
multidimensional patterns and performing comparative analysis.
3 ALGORITHM
In this section, we first describe how to model multidimensional ST data
as tensors, and then introduce a basic tensor decomposition method to
extract the patterns along different dimensions (Fig. 2). Subsequently,
we propose a novel tensor partitioning algorithm to facilitate the explo-
ration of patterns that exist in subsets of data.
3.1 Modeling spatio-temporal data as tensors
Fig. 2. Model traffic flow data as a three-dimensional tensor (left) and
perform successive rank-one CP decomposition (right). The 1st loading
vectors (p1, d1,t1) visually summarize the distribution on each dimension.
A tensor (denoted asX ) is a multi-dimensional array, which can
meaningfully represent a wide range of spatio-temporal datasets. For
example, as illustrated in Fig. 2 (left), a traffic flow dataset can be
modeled as a three-dimensional tensorX ∈ R‖P‖×‖D‖×‖T‖≥0 , where P
is the locations, D is the days and T is the hours. The elementX [i, j,k]
represents the traffic volume (e.g. total number of vehicles) at location
i on the j-th day during hour k.
In general, we denote a m-dimensional non-negative tensor asX ∈
R‖D1‖×···×‖Dm‖≥0 , where Dn is the set of all possible values at the n-th
dimension. For the ease of discussion, we will continue to use the three-
dimensional tensor with traffic flow data to illustrate the main idea of
our approach without loss of generality. For the rest of the paper, we
will use dimension andmode interchangeably, same as in the literature
of tensor decomposition [34]. Some tensor related terminologies are
described below:
Outer product: the operator ⊗ denotes the outer product of
two or more vectors. The outer product of three vectors a ⊗
b ⊗c is a three-dimensional tensor X ‖a‖×‖b‖×‖c‖ with entries
X [i, j,k] =a[i] ·b[ j] ·c[k].
Rank-one tensor: a tensorX is rank-one if it can be expressed as
the outer product of vectors (X =a⊗b⊗c).
Some additional denotations are listed in Table. 1.
Table 1. Denotations
Symbol Description
X [i, :, :] a slice of X by fixing the in-
dex on one mode, similar for
X [:, j, :] andX [:, :,k]
I ⊆ {0,1,2, ,‖P‖−1} a subset of the indices on one mode,
similar for J and K
X [I, :, :] a sub-tensor composed by stacking
the slices X [i, :, :], i ∈ I , similar for
X [:,J, :] andX [:, :,K]
To ensure the interpretability of the extracted patterns, we apply
successive rank-one CP decomposition methods [16, 33, 64] instead of
traditional ones (i.e., PARAFRAC/CANDECOMP) [13,26] to factorize
the original tensor. The successive approaches first determine the best
rank-one approximation for X : X ≈ X̂ = λ1p1 ⊗ d1 ⊗t1. Then
they compute the rank-one approximation for the residualX −X̂ as
the 2-nd loading vectors (p2, d2,t2). For iteration i, we optimize the
following cost function:
cost = ‖Xcurrent_resdisual −λi ·pi⊗di⊗ti‖ (1)
where ‖ · ‖ denotes the Frobenius norm. The iteration continues until
a certain stopping criterion is met (e.g., improve little between two
subsequent iterations or achieve a maximum number of iterations).
Finally, the original tensor is approximated with a set of rank-one
tensor components (Fig. 2(right)): X ≈ ∑Rr=1 λrpr⊗ dr⊗tr, where
pr, dr andtr are the normalized r-th loading vectors (i.e., patterns) in
the r-th component, and λ1 ≥ λ2 . . .≥ λR indicate the relative strength
of the corresponding patterns. The 1-st loading vectors (p1, d1,t1)
capture the most prominent variations in the data and appear much
easier to explain compared with the remaining loading vectors that
capture the variations in residual tensors. Thus, by plotting the 1-st
loading vectors with basic visualizations (Fig. 2 right and col #1 in
Fig. 4), we can easily summarize tensorial data with three or more
dimensions.
Notice that (p1, d1,t1) are obtained by optimizing the cost function,
‖X −λ1 · p1⊗ d1⊗t1‖, to capture as much variation in the data as
possible. The cost function can be naturally viewed as a quantitative
measurement about how faithfully the visual summary represents the
original data. In the ideal case when cost = 0, the original tensor data
can be fully recovered by integrating the spatial, daily and hourly varia-
tions (X [i, j,k] = λ1 · p1[i] · d1[ j] ·t1[k]). In this situation, p1, d1, t1 is
sufficient to represent the original data without loss of information. Be-
sides, to further facilitate interpretation, we add additional constraints
to ensure non-negativity of the 1-st loading vectors (p1, d1,t1), where
the alternating least square (ALS) algorithm [16] is used.
3.2 Piecewise rank-one tensor decomposition
The 1-st loading vectors (p1, d1, t1) of X give an overview of the
entire dataset. However, it is seldom the case that they can fully capture
Authorized licensed use limited to: OREGON STATE UNIV. Downloaded on April 27,2022 at 00:08:01 UTC from IEEE Xplore. Restrictions apply.
LIU ET AL.: TPFLOW: PROGRESSIVE PARTITION AND MULTIDIMENSIONAL PATTERN EXTRACTION FOR LARGE-SCALE SPATIO-TEMPORAL DATA ANALYSIS 3
days and geographical regions on different views. With brushing and
linking, analysts can directly specify queries on the views, select and
highlight a subset of data for detailed examination, e.g., select certain
days and hours and look at the geospatial distribution of the traffic
volume in the corresponding time interval. This approach is generic
and scalable with respect to the dimensionality of the data. Many tech-
niques have also been proposed to enhance its real-time interactivity
for large data through pre-computation of data cubes [36,41], parallel
processing (with GPU) [41] or a clever arrangement of data items in
the storage [45].
However, high-level aggregated overviews are not sufficient in
providing visual cues or guidances for analysts to identify patterns
hidden within subsets of data [21]. For instance, traffic volume may
exhibit consistent but different hourly patterns during weekdays and
weekends or in residential and commercial areas. The aggregated
values displayed in the charts are unable to direct the analysts to such
insights, esp. without a priori hypotheses. With brushing and linking,
fine-grained information can be revealed. However, the analysts have to
manually select different slices, compare and correlate different subsets,
and search for patterns. This can be an extremely challenging task.
Our approach models multidimensional ST data cubes as tensors.
We propose a novel algorithm named piecewise rank-one tensor
decomposition which automatically identifies an optimal way to
slice the tensor into homogeneous partitions and extracts the patterns
for each partition along spatial, temporal and other domain-specific
dimensions. We visually summarize each partition with a set of simple
charts (e.g., line charts, bar charts, bubble map/ heat-map) to display
the extracted patterns along different dimensions. The algorithm is
grounded on a quantitative measurement about how faithfully the
visualization represents the original data. The algorithm aims at
alleviating the analysts’ burden to manually iterate through different
slices in the data for pattern discovery.
Building upon the basic algorithm, we propose TPFlow (short name
for Tensor Partition Flow) that supports a top-down, progressive par-
titioning workflow for level-of-detail multidimensional ST data ex-
ploration. The system guides analysts to iteratively partition the data,
visualizes the extracted multidimensional patterns and supports compar-
ative analysis across different subsets. The framework tightly couples
visual representation, computation, and user interaction to guide the
analysts to the salient patterns hidden within the data.
We present example usage scenarios on three real-world datasets
which illustrate the general applicability and effectiveness of our ap-
proach: New York taxi traffic data, product sales data over different
geographical regions, and customer traffic data over different zones in
a brick-and-mortar department store. The system is capable of address-
ing a set of drastically different analytical tasks in these application
domains. We also conduct expert interview to validate the usability and
effectiveness of the approach.
To sum up, our contributions are:
- A novel piecewise rank-one tensor decomposition algorithm which
automatically seeks for and recommends the best way to slice multi-
dimensional ST data and extract the multidimensional trend for com-
parison and visual summarization.
- A novel visual analytics framework that supports a progressive parti-
tioning and level-of-detail explorative analysis workflow of ST data.
The system incorporates a set of visualization and interaction designs
to facilitate pattern discovery, comparison and verification.
- Three example usage scenarios on real-world ST data across a wide
range of application domains and analytic tasks.
2 RELATED WORK
In the past years, researchers have spent great effort to develop in-
teractive visualization systems for ST data analysis. There are many
excellent surveys [3, 7, 14,40,66,67]. In this section, we focus on the
most relevant work.
2.1 Visualizing large-scale multidimensional ST data
Scalability. Large-scale ST dataset usually contains millions or even
more data records. Mapping all of them to the screen is usually infeasi-
ble or ineffective. A number of methods (pixel-oriented methods [31],
spatial transformation [54], alpha blending [31], etc.) have been pro-
posed to alleviate this issue. However, since these methods still draw all
records, they will hit bottleneck eventually. A more popular approach
is to employ data reduction techniques such as filtering, sampling and
aggregation. However, to develop effective filtering and sampling
strategies, prior knowledge is usually required, otherwise important
structures or outliers may remain hidden to analysts.
Many recent systems for large scale ST data exploration aggre-
gate the measures to present an overview of the data along different
dimensions. They usually leverage multiple views for presenting mul-
tidimensional data and support visual queries across different views
through brushing and linking. Examples of research along this line
include [23, 49] and [29, 30, 36, 41, 45]. To enable visual query
on extremely large scale data at an interactive rate, many techniques
have been developed recently such as imMens [41], Datavore [30],
DICE [29], Nanocubes [36] and Hashedcubes [45]. Nanocubes [36]
and Hashedcubes [45] pre-aggregate data to speed up queries on ST
data cubes, while imMens [41] leverages GPUs to achieve fast queries
over datasets at large scale. In despite of those recent advances, these
techniques still require analysts to iterate through different query pa-
rameters to identify the patterns that are associated with a particular
subset of the data. With no prior knowledge or hypotheses, analysts
have to compare and correlate different slices of data repeatedly in
search for patterns, which can be a tedious and lengthy process.
We propose a novel intelligent dataset subdivision algorithm which
can help analysts automatically partition the data into meaningful sub-
sets with similar trends/patterns along multiple dimensions for further
observation and comparison. The algorithm allows analysts to refine
the subdivision through hierarchical, iterative partitioning on different
dimensions. In this way, the system provides detail-on-demand for
explorative analysis.
Multidimensionality. Existing approaches for multidimensional
ST data visualization can be classified into two categories, namely,
multiple coordinated views visualization and multivariate visualization.
The previous one provides several separated views to display multi-
dimensional information, each view displays one or two dimensions
and the views are linked together for coordinated analysis [38, 58–60].
The latter one focuses on simultaneously encoding spatial, temporal
and other attributes in one view in a more compact manner. For ex-
ample, the most common forms for the multivariate visualization are
ring maps [65], glyphs on maps [4], space-time cube [35], and small
multiples [9]. One critical limitation of these visualization techniques
is that the visual channels will be exhausted to encode multivariate data
attributes eventually.
In practice, the combination of both methods has been success-
fully used in many visual analytics systems for analyzing various ST
data [3, 14]. In this work, we use tensor-based model to capture inter-
dependencies along multiple dimensions and then summarize the pat-
terns (i.e., low dimension vectors) for each dimension accordingly.
Thus, the patterns in each dimension can be visualized in a relatively
simple manner (no concern on the exhaustion of visual channels). By
showing the patterns of every dimension in the form of multiple coordi-
nated views, the patterns across each dimension can be easily observed
and compared.
2.2 Mining large-scale multidimensional ST data
Using data mining methods to automatically extract patterns and derive
insights out of large-scale multidimensional ST data is popular [3,
66]. However, this is notably hard, due to the existence of complex
dependencies among space, time, and other domain-specific variables.
Various statistic models [1, 10, 17, 18, 28] have been proposed to
automatically summarize the temporal trends or location distribution
patterns. However, most of them lack the capability to directly deal
with the correlations among multiple dimensions in a scalable manner.
Recently, tensor-based methods [34, 43] have been successfully
applied for ST data analysis, for their inherent capability to model
multifaceted data. The canonical polyadic (CP) decomposition (a.k.a.,
PARAFAC or CANDECOMP) [13,26] is one of the most popular tensor
analysis methods, which decomposes a tensor into a sum of rank-one
components to describe the latent structures in the data. The method
has been used to analyze a variety of ST data, including location-based
social network (LBSN) data [25,42], mobile phone GPS data [22], bike-
sharing data [61] and traffic flow data [8,15,53]. For example, Takeuchi
et al. [53] model traffic flow data as a three-dimensional tensor with
each dimension representing days, hours, and geographical locations,
respectively. The tensor then is decomposed into three non-negative
rank-1 factors (i.e., feature descriptors) to describe the daily, hourly
and spatial trend/distribution patterns.
However, all these methods have not fully examined the interpretabil-
ity of the tensor decomposition results in the spatio-temporal context.
Cao et al. [12] present a visualization system which is built on CP
decomposition methods to analyze traffic flow data, but the system is
designed for anomaly detection and is not suitable for general spatio-
temporal pattern discovery (e.g., temporal trend patterns or spatial
distribution patterns). More importantly, all the aforementioned meth-
ods cannot support automatically identifying the patterns that exist on
subsets of data, which is a fundamental task for ST data analysis [3].
Clustering is another powerful tool that has been usually utilized
to partition data by grouping similar objects [39]. Van Wijk and Van
Selow [55] use a hierarchical clustering method to group days with
similar hourly traffic variations. The method is limited to matrix shaped
data with two dimensions (days and hours in this instance). Andrienko
et al. [2] use self-organizing map (SOM) to perform clustering on time
series and spatial locations to generate clusters of places of similar
time variation or clusters of time intervals of similar spatial distribu-
tions. However, SOM requires the appropriate feature vector selection
and careful parameters setting. Besides, their system cannot support
human-in-the-loop analysis for iteratively tuning the clustering result.
Doraiswamy et al. [21] model ST data as time-varying scalar functions
and use topology analysis method to identify spatio-temporal events
in data slices. The approach cannot support multidimensional pattern
analysis and progressive data partition.
In this work, we present a unified framework that lays emphasis on
effectively identifying and interpreting the spatio-temporal patterns that
exist on data subsets. In particular, we propose a novel tensor-based
algorithm, based on which we present a semi-automatic and steerable
approach for efficiently identifying sub-groups of data with coherent
multidimensional patterns and performing comparative analysis.
3 ALGORITHM
In this section, we first describe how to model multidimensional ST data
as tensors, and then introduce a basic tensor decomposition method to
extract the patterns along different dimensions (Fig. 2). Subsequently,
we propose a novel tensor partitioning algorithm to facilitate the explo-
ration of patterns that exist in subsets of data.
3.1 Modeling spatio-temporal data as tensors
Fig. 2. Model traffic flow data as a three-dimensional tensor (left) and
perform successive rank-one CP decomposition (right). The 1st loading
vectors (p1, d1,t1) visually summarize the distribution on each dimension.
A tensor (denoted asX ) is a multi-dimensional array, which can
meaningfully represent a wide range of spatio-temporal datasets. For
example, as illustrated in Fig. 2 (left), a traffic flow dataset can be
modeled as a three-dimensional tensorX ∈ R‖P‖×‖D‖×‖T‖≥0 , where P
is the locations, D is the days and T is the hours. The elementX [i, j,k]
represents the traffic volume (e.g. total number of vehicles) at location
i on the j-th day during hour k.
In general, we denote a m-dimensional non-negative tensor asX ∈
R‖D1‖×···×‖Dm‖≥0 , where Dn is the set of all possible values at the n-th
dimension. For the ease of discussion, we will continue to use the three-
dimensional tensor with traffic flow data to illustrate the main idea of
our approach without loss of generality. For the rest of the paper, we
will use dimension andmode interchangeably, same as in the literature
of tensor decomposition [34]. Some tensor related terminologies are
described below:
Outer product: the operator ⊗ denotes the outer product of
two or more vectors. The outer product of three vectors a ⊗
b ⊗c is a three-dimensional tensor X ‖a‖×‖b‖×‖c‖ with entries
X [i, j,k] =a[i] ·b[ j] ·c[k].
Rank-one tensor: a tensorX is rank-one if it can be expressed as
the outer product of vectors (X =a⊗b⊗c).
Some additional denotations are listed in Table. 1.
Table 1. Denotations
Symbol Description
X [i, :, :] a slice of X by fixing the in-
dex on one mode, similar for
X [:, j, :] andX [:, :,k]
I ⊆ {0,1,2, ,‖P‖−1} a subset of the indices on one mode,
similar for J and K
X [I, :, :] a sub-tensor composed by stacking
the slices X [i, :, :], i ∈ I , similar for
X [:,J, :] andX [:, :,K]
To ensure the interpretability of the extracted patterns, we apply
successive rank-one CP decomposition methods [16, 33, 64] instead of
traditional ones (i.e., PARAFRAC/CANDECOMP) [13,26] to factorize
the original tensor. The successive approaches first determine the best
rank-one approximation for X : X ≈ X̂ = λ1p1 ⊗ d1 ⊗t1. Then
they compute the rank-one approximation for the residualX −X̂ as
the 2-nd loading vectors (p2, d2,t2). For iteration i, we optimize the
following cost function:
cost = ‖Xcurrent_resdisual −λi ·pi⊗di⊗ti‖ (1)
where ‖ · ‖ denotes the Frobenius norm. The iteration continues until
a certain stopping criterion is met (e.g., improve little between two
subsequent iterations or achieve a maximum number of iterations).
Finally, the original tensor is approximated with a set of rank-one
tensor components (Fig. 2(right)): X ≈ ∑Rr=1 λrpr⊗ dr⊗tr, where
pr, dr andtr are the normalized r-th loading vectors (i.e., patterns) in
the r-th component, and λ1 ≥ λ2 . . .≥ λR indicate the relative strength
of the corresponding patterns. The 1-st loading vectors (p1, d1,t1)
capture the most prominent variations in the data and appear much
easier to explain compared with the remaining loading vectors that
capture the variations in residual tensors. Thus, by plotting the 1-st
loading vectors with basic visualizations (Fig. 2 right and col #1 in
Fig. 4), we can easily summarize tensorial data with three or more
dimensions.
Notice that (p1, d1,t1) are obtained by optimizing the cost function,
‖X −λ1 · p1⊗ d1⊗t1‖, to capture as much variation in the data as
possible. The cost function can be naturally viewed as a quantitative
measurement about how faithfully the visual summary represents the
original data. In the ideal case when cost = 0, the original tensor data
can be fully recovered by integrating the spatial, daily and hourly varia-
tions (X [i, j,k] = λ1 · p1[i] · d1[ j] ·t1[k]). In this situation, p1, d1, t1 is
sufficient to represent the original data without loss of information. Be-
sides, to further facilitate interpretation, we add additional constraints
to ensure non-negativity of the 1-st loading vectors (p1, d1,t1), where
the alternating least square (ALS) algorithm [16] is used.
3.2 Piecewise rank-one tensor decomposition
The 1-st loading vectors (p1, d1, t1) of X give an overview of the
entire dataset. However, it is seldom the case that they can fully capture
Authorized licensed use limited to: OREGON STATE UNIV. Downloaded on April 27,2022 at 00:08:01 UTC from IEEE Xplore. Restrictions apply.
4 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 25, NO. 1, JANUARY 2019
the variations in the data. For example, the traffic-volume may have
different geospatial distribution on weekdays and weekends. Since
p1 averages over all the days, such information is unfortunately lost.
Indeed, visual summarization of data can introduce potential discrepan-
cies between the visualization and the dataset [19].
Fig. 3. The piecewise rank-one tensor decomposition automatically
identifies two groups of days and partitions X into two sub-tensors
accordingly. It extracts the 1st loading vectors (p1, d1,t1) through rank-
one tensor decomposition to visually summarize and compare different
subsets of data.
To overcome this limitation, we propose a novel approach which we
refer to as piecewise rank-one tensor decomposition. As illustrated
in Fig. 3, the method automatically detects sub-tensors with similar
variations along spatial, temporal and other domain-specific dimensions.
Given a selected mode and the number of parts to create, it performs
simultaneous tensor partitioning and multi-mode pattern extraction by
solving the following optimization problem:
argmin
P, ‖P‖=k

J∈P({1,...,k})
‖X [:,J, :]−λ J1 · p1J⊗ d1
J⊗t1J‖ (2)
where P is a partition of the indices on a specified mode and k is the
number of parts in P. X [:,J, :]s are the sub-tensors created by the
partition P. p1J , d1
J
and t1
J are the 1st loading vectors of the sub-
tensorX [:,J, :]. Similar to Equation. 1, the optimization goal measures
how faithfully the loading vectors (hence the visualizations) represent
the original data.
However, directly optimizing Eq. 2 is a non-trivial task due to the
combinatorial number of different ways to partition the data. We
propose an algorithm that leverages the 1-st to r-th loading vectors
produced by successive rank-one tensor decomposition to create low
dimensional feature descriptors for the selected mode and then apply
clustering algorithms to automatically detect the partitions.
More concretely, let’s assume that we select days as the dimen-
sion to perform partition on. First, a feature vector is created for
each day j from the corresponding entries in the loading vectors
x j = (d1[ j], . . . , dR[ j]). Given the feature vectors, we can apply a vari-
ety of clustering algorithms, including k-means, hierarchical cluster-
ing [24], or OPTICS [6] to cluster the days. Based on the clustering
result, we create a partition of the indices on the selected mode and
generate the corresponding sub-tensors, and then perform rank-one
non-negative CP decomposition on each individual sub-tensor to obtain
the latent patterns (see illustration in Fig. 3). Those latent patterns are
displayed in the visualization to summarize the original multidimen-
sional ST data. The patterns extracted from different sub-tensors can
be further compared for fine-grained analysis.
Grouping similar days into one sub-tensor can significantly facilitate
recovering tensor elements more accurately with the 1-st loading vec-
tors [42]. This also helps optimize the cost function effectively (please
refer to algorithm evaluation in Sec. 6), hence summarizing the data
more faithfully.
4 TPFLOW
We introduce a prototype system TPFlow which is built on the piece-
wise rank-one tensor decomposition method to support explorative
analysis of multi-dimensional ST data. The system tightly couples
computation, visual representation and user interaction to support a
top-down, divide-and-conquer analytics workflow. An overview is
given first, and progressively more details and fine-grained patterns
are revealed [50] as analysts iteratively partition the data into smaller
sub-tensors. In this section, we first formulate a set of requirements and
then continue to describe the detailed visual and interaction designs.
4.1 Design Requirements
For eight months, we worked closely with four experts from two dif-
ferent application domains, each including two experienced data scien-
tists. The first application is customer traffic analytics for brick-and-
mortar retailers. The data schema is (day×hour× retail_area_id)→
tra f f ic_volume, describing the spatial and temporal variation of the
visitor traffic in a large department store. The second one is regional
sales trend analytics for a company’s product portfolio. The data
schema is (month× product_id× region)→ sales_volume, encoding
the sales volume at different geographical locations for a variety of
products. Despite that the diverse analytical tasks arise in these two
application domains: market segmentation [32, 46], product demand
trend detection and forecasting [32, 46], periodical traffic pattern analy-
sis [56] and etc., we identify a common need for detecting clusters and
trends in the data. Piecewise rank-one tensor decomposition (Section 3)
is a generic method that can help with these tasks. However, simply
applying the algorithm and visualizing the latent trends/patterns alone
are not sufficient due to the following reasons:
- Nonoptimal parameter settings (e.g. the number of partitions) may
result in poor fit of the data. The patterns produced by the algorithm
can deviate significantly from the underlying data distribution and it
is not advisable to blindly follow the results.
- Cluster and trend analysis are essentially explorative analytical
tasks [3, 48]. To reach valuable insights, analysts have to try out
different modes for partitioning and a variety of clustering algorithms
with different parameter settings.
- Even with no prior knowledge on the dataset, analysts may gradually
form a set of hypothesis in the exploration process [5] and prefer
more focused analysis at a later stage with more control over selecting
which subset of data to be fed into the algorithm, and specify other
constraints if necessary.
Thus, we identified the need for a highly interactive ST data explo-
ration environment which could support iterative and steerable data
partitioning/clustering and allow analysts to assess the reliability of the
extracted latent patterns with confidence. To this end, we had several
rounds of back-and-forth discussion and system prototyping together
with the two groups of experts and distilled the following concrete
requirements for a generic ST data analysis system.
R1 Display the latent patterns on multiple dimensions. We need to
design a suite of charts to display the latent vectors (i.e. 1-st loading
vectors) on different dimensions (spatial, temporal, categorical and
numerical dimensions) for an overview of the data.
R2 Enable comparative analysis. Analyzing the similarities and dif-
ferences across different data partitions/clusters is essential for
understanding their unique characteristics to support further deci-
sion making.
R3 Visualize the deviation of the raw data from the extracted pat-
terns. As discussed, the extracted patterns may not be able to
reflect the underlying data faithfully due to non-optimal param-
eter setting or other factors. We need to provide visual cues for
such discrepancies such that analysts can make informed decisions
about whether the pattern is reliable or further refinement of the
clusters is necessary.
R4 Support steerable data partitioning/clustering. The partition-
ing mechanisms should be flexible and steerable and can be easily
adapted to various applications for different analytical tasks with
varying degrees of user intervention. Besides that, obtaining mean-
ingful partitions often requires several rounds of iteration.
R5 Support tracking and provenance of partition history. To sup-
port iterative partition refinement and a progressive, top-down
analysis workflow, the system should enable analysts to track the
steps they have taken to reach the insight, keep the contextual in-
formation about which subset they are looking at and reverse the
data partition steps if necessary.
4.2 Visualization and Interaction
In this section, we introduce the main visualization components, user
interactions, and the detailed analytic workflow supported in TPFlow.
4.2.1 Basic charts
In the system, we employ several basic chart types to display the latent
trends/distributions on spatial (geographical), temporal, categorical
and numerical dimensions (R1). Binning on continuous domains (e.g.,
geographical, temporal, and numerical domains) is performed before
constructing the tensor. We assume that spatial (geographical) locations
are grouped into nominal units such as states, cities or zones, temporal
values are binned into days, hours, months or years, and numerical
values are grouped into equal-sized and adjacent intervals.
Fig. 4 (col #1) lists the visualizations included in TPFlow to depict
the latent patterns on different dimensions. The bar chart (row #1)
and line chart (row #2) directly visualize the values in the 1st loading
vectors. Notice that both the bar chart and the line chart can be used to
visualize the distribution over temporal dimension. The difference is
that bar chart emphasizes individual values while line chart performs
better for trend detection [44]. For thematic map, we choose bubble
map (row #3) and use the area of the circles to encode the corresponding
values in the 1st loading vectors. The flow map (row #4) shows OD
(origin-destination) data which describe spatial movements such as taxi
trips with pickup and dropoff locations. It draws curves connecting the
origins and destinations of movement. When a pickup/dropoff region is
selected, the map now will display the flow from/to the selected region
and the corresponding values in the 1st loading vecotrs are encoded
with the area of the circles on the map (the same with bubble map).
4.2.2 Design for visual comparison
To support comparative analysis (R2), we extend the basic charts (Fig. 4
col #2) to display multidimensional trends in different partitions (the
sub-tensors in Fig. 3). Visual designs for comparison tasks can be
categorized into three groups based on how they organize the dis-
play [37]: juxtaposition (i.e., small multiples, present each data subsets
separately), superposition (present multiple data subset in a shared co-
ordinate system) and explicit encoding (directly encode data difference).
In our system, we prioritize the usage of superposition since it is more
space efficient and co-location facilitates visual comparison. Juxtaposi-
tion is applied whenever overlaying data on the same visualization will
cause visual clutter.
As displayed in Fig. 4 (col #2), for the bar chart, we extend it to par-
allel bar charts (juxtaposition) to enable comparison. For the line chart,
we replace it with a multi-series line chart (superposition) to highlight
the temporal trend differences. For the bubble map, we introduce a
multivariate glyph design (Fig. 5c) which can be embedded on a map
(superposition). Another possibility is placing a set of maps side by
side as small multiples (juxtaposition). Since sharing spatial context
facilitates comparative analysis, we overlay multiple data partitions
on the same map. We have also considered several alternative glyph
designs to encode multivariate data on maps, including donut charts,
pie charts, and polar area charts. Considering that the polar area charts
do not usually have regular shapes and it can be difficult to compare
their areas, we are left choosing between donut charts and pie charts.
Pie charts are special cases of donut charts where the radiuses of the
inner circles are zero. Donut charts and pie charts are comparable
in their performance for estimating the relative proportions [51]. For
comparing the sizes of different glyphs on a map, the inner circles
(extra visual cues) in the donut charts can further help [11]. Finally, the
domain experts decided to choose donut charts.
In Fig. 4, there is an additional col #4. It shows the chart status when
the corresponding dimension is partitioned. For example on the map,
the circles are assigned with different colors showing the regions in
different partitions.
4.2.3 Encode deviation
As discussed in Section 4.1, we need to provide visual cues for analysts
to assess the reliability of the patterns which are automatically generated
by the algorithm (R3). Thus, we compute the deviation of the raw data
Fig. 4. Col #1 depicts the basic charts to show the patterns on different
types of dimensions; col #2 extends the basic charts to support compar-
ative analysis; col #3 encodes the raw data’s deviation from the depicted
patterns; col #4 presents the partitioning results.
from the latent trends, and display it on top of the entries (Fig. 4 col #3).
For each elementX [i, j,k] in the original tensorial data, we compute
its deviation percentage from the element recovered using the latent
rank-one factors X̂ [i, j,k] = p[i] · d[ j] ·t[k]:
∆[i, j,k] =
X̂ [i, j,k]−X [i, j,k]
X [i, j,k]
(3)
We thus obtain a residual tensor ∆‖P‖×‖D‖×‖T‖. It is not quite fea-
sible to display all the entries in ∆ (otherwise we can already directly
display the original data). Therefore, we propose to summarize the
deviation along each mode with descriptive statistics. More specifi-
cally, take the traffic flow data as an example, to summarize the devi-
ation from the hourly patterns, we compute quartiles Q1/4(∆[:, :,k]),
Q1/2(∆[:, :,k]), Q3/4(∆[:, :,k]) for k ∈ [0,24). The quartiles are calcu-
lated for each mode, including the geographic regions and days in the
example traffic data. Fig. 5 a© b© c© show how we overlay the residual
statistics on the entries for different chart types. Note that when Q1/2,
Q3/4, and Q3/4 are all positive or negative, they will appear on only
one side of the base point (e.g., a2 in Fig. 6 a©).
Fig. 5. a© b© c© The encoding of the deviation of the raw data from the
depicted patterns on each dimension. We visualize quartile statistics for
the normalized deviation ranging from 0%-100%. d© The encoding of
the deviation on the tree nodes. To highlight high discrepancy, we take
the absolute value of the normalized deviation and use a diverging color
scheme (blue-white-red). For details, please refer to Section 4.2.4.
4.2.4 Steerable and iterative tensor partitioning
TPFlow supports a steerable and iterative workflow such that analysts
can progressively divide the data into smaller subsets (R4) along differ-
ent dimensions. To support this workflow, we visualize the successive
subdivision of the tensor along different dimensions similar as in deci-
sion trees (R5). Each node in the tree represents a subset of data created
in the partitioning process. Analysts can directly interact with the tree
nodes to partition them further or select a few nodes to compare the
latent patterns across different partitions.
Visualize the partitioning process. The tree starts with a root node
on the left (a1 in Fig. 1 a©), representing the original tensor X . The
height of the node is proportional to the sum of all the entries inX .
Take the traffic flow data as an example, the height of the root node (d1
in Fig. 5 d©) is proportional to the total traffic volume aggregated over
all the days, hours and spatial regions. Analysts can manually select
a dimension (e.g. days, hours, or locations) to partition the original
tensorial data into several sub-tensors. For each sub-tensor, a child
Authorized licensed use limited to: OREGON STATE UNIV. Downloaded on April 27,2022 at 00:08:01 UTC from IEEE Xplore. Restrictions apply.
LIU ET AL.: TPFLOW: PROGRESSIVE PARTITION AND MULTIDIMENSIONAL PATTERN EXTRACTION FOR LARGE-SCALE SPATIO-TEMPORAL DATA ANALYSIS 5
the variations in the data. For example, the traffic-volume may have
different geospatial distribution on weekdays and weekends. Since
p1 averages over all the days, such information is unfortunately lost.
Indeed, visual summarization of data can introduce potential discrepan-
cies between the visualization and the dataset [19].
Fig. 3. The piecewise rank-one tensor decomposition automatically
identifies two groups of days and partitions X into two sub-tensors
accordingly. It extracts the 1st loading vectors (p1, d1,t1) through rank-
one tensor decomposition to visually summarize and compare different
subsets of data.
To overcome this limitation, we propose a novel approach which we
refer to as piecewise rank-one tensor decomposition. As illustrated
in Fig. 3, the method automatically detects sub-tensors with similar
variations along spatial, temporal and other domain-specific dimensions.
Given a selected mode and the number of parts to create, it performs
simultaneous tensor partitioning and multi-mode pattern extraction by
solving the following optimization problem:
argmin
P, ‖P‖=k

J∈P({1,...,k})
‖X [:,J, :]−λ J1 · p1J⊗ d1
J⊗t1J‖ (2)
where P is a partition of the indices on a specified mode and k is the
number of parts in P. X [:,J, :]s are the sub-tensors created by the
partition P. p1J , d1
J
and t1
J are the 1st loading vectors of the sub-
tensorX [:,J, :]. Similar to Equation. 1, the optimization goal measures
how faithfully the loading vectors (hence the visualizations) represent
the original data.
However, directly optimizing Eq. 2 is a non-trivial task due to the
combinatorial number of different ways to partition the data. We
propose an algorithm that leverages the 1-st to r-th loading vectors
produced by successive rank-one tensor decomposition to create low
dimensional feature descriptors for the selected mode and then apply
clustering algorithms to automatically detect the partitions.
More concretely, let’s assume that we select days as the dimen-
sion to perform partition on. First, a feature vector is created for
each day j from the corresponding entries in the loading vectors
x j = (d1[ j], . . . , dR[ j]). Given the feature vectors, we can apply a vari-
ety of clustering algorithms, including k-means, hierarchical cluster-
ing [24], or OPTICS [6] to cluster the days. Based on the clustering
result, we create a partition of the indices on the selected mode and
generate the corresponding sub-tensors, and then perform rank-one
non-negative CP decomposition on each individual sub-tensor to obtain
the latent patterns (see illustration in Fig. 3). Those latent patterns are
displayed in the visualization to summarize the original multidimen-
sional ST data. The patterns extracted from different sub-tensors can
be further compared for fine-grained analysis.
Grouping similar days into one sub-tensor can significantly facilitate
recovering tensor elements more accurately with the 1-st loading vec-
tors [42]. This also helps optimize the cost function effectively (please
refer to algorithm evaluation in Sec. 6), hence summarizing the data
more faithfully.
4 TPFLOW
We introduce a prototype system TPFlow which is built on the piece-
wise rank-one tensor decomposition method to support explorative
analysis of multi-dimensional ST data. The system tightly couples
computation, visual representation and user interaction to support a
top-down, divide-and-conquer analytics workflow. An overview is
given first, and progressively more details and fine-grained patterns
are revealed [50] as analysts iteratively partition the data into smaller
sub-tensors. In this section, we first formulate a set of requirements and
then continue to describe the detailed visual and interaction designs.
4.1 Design Requirements
For eight months, we worked closely with four experts from two dif-
ferent application domains, each including two experienced data scien-
tists. The first application is customer traffic analytics for brick-and-
mortar retailers. The data schema is (day×hour× retail_area_id)→
tra f f ic_volume, describing the spatial and temporal variation of the
visitor traffic in a large department store. The second one is regional
sales trend analytics for a company’s product portfolio. The data
schema is (month× product_id× region)→ sales_volume, encoding
the sales volume at different geographical locations for a variety of
products. Despite that the diverse analytical tasks arise in these two
application domains: market segmentation [32, 46], product demand
trend detection and forecasting [32, 46], periodical traffic pattern analy-
sis [56] and etc., we identify a common need for detecting clusters and
trends in the data. Piecewise rank-one tensor decomposition (Section 3)
is a generic method that can help with these tasks. However, simply
applying the algorithm and visualizing the latent trends/patterns alone
are not sufficient due to the following reasons:
- Nonoptimal parameter settings (e.g. the number of partitions) may
result in poor fit of the data. The patterns produced by the algorithm
can deviate significantly from the underlying data distribution and it
is not advisable to blindly follow the results.
- Cluster and trend analysis are essentially explorative analytical
tasks [3, 48]. To reach valuable insights, analysts have to try out
different modes for partitioning and a variety of clustering algorithms
with different parameter settings.
- Even with no prior knowledge on the dataset, analysts may gradually
form a set of hypothesis in the exploration process [5] and prefer
more focused analysis at a later stage with more control over selecting
which subset of data to be fed into the algorithm, and specify other
constraints if necessary.
Thus, we identified the need for a highly interactive ST data explo-
ration environment which could support iterative and steerable data
partitioning/clustering and allow analysts to assess the reliability of the
extracted latent patterns with confidence. To this end, we had several
rounds of back-and-forth discussion and system prototyping together
with the two groups of experts and distilled the following concrete
requirements for a generic ST data analysis system.
R1 Display the latent patterns on multiple dimensions. We need to
design a suite of charts to display the latent vectors (i.e. 1-st loading
vectors) on different dimensions (spatial, temporal, categorical and
numerical dimensions) for an overview of the data.
R2 Enable comparative analysis. Analyzing the similarities and dif-
ferences across different data partitions/clusters is essential for
understanding their unique characteristics to support further deci-
sion making.
R3 Visualize the deviation of the raw data from the extracted pat-
terns. As discussed, the extracted patterns may not be able to
reflect the underlying data faithfully due to non-optimal param-
eter setting or other factors. We need to provide visual cues for
such discrepancies such that analysts can make informed decisions
about whether the pattern is reliable or further refinement of the
clusters is necessary.
R4 Support steerable data partitioning/clustering. The partition-
ing mechanisms should be flexible and steerable and can be easily
adapted to various applications for different analytical tasks with
varying degrees of user intervention. Besides that, obtaining mean-
ingful partitions often requires several rounds of iteration.
R5 Support tracking and provenance of partition history. To sup-
port iterative partition refinement and a progressive, top-down
analysis workflow, the system should enable analysts to track the
steps they have taken to reach the insight, keep the contextual in-
formation about which subset they are looking at and reverse the
data partition steps if necessary.
4.2 Visualization and Interaction
In this section, we introduce the main visualization components, user
interactions, and the detailed analytic workflow supported in TPFlow.
4.2.1 Basic charts
In the system, we employ several basic chart types to display the latent
trends/distributions on spatial (geographical), temporal, categorical
and numerical dimensions (R1). Binning on continuous domains (e.g.,
geographical, temporal, and numerical domains) is performed before
constructing the tensor. We assume that spatial (geographical) locations
are grouped into nominal units such as states, cities or zones, temporal
values are binned into days, hours, months or years, and numerical
values are grouped into equal-sized and adjacent intervals.
Fig. 4 (col #1) lists the visualizations included in TPFlow to depict
the latent patterns on different dimensions. The bar chart (row #1)
and line chart (row #2) directly visualize the values in the 1st loading
vectors. Notice that both the bar chart and the line chart can be used to
visualize the distribution over temporal dimension. The difference is
that bar chart emphasizes individual values while line chart performs
better for trend detection [44]. For thematic map, we choose bubble
map (row #3) and use the area of the circles to encode the corresponding
values in the 1st loading vectors. The flow map (row #4) shows OD
(origin-destination) data which describe spatial movements such as taxi
trips with pickup and dropoff locations. It draws curves connecting the
origins and destinations of movement. When a pickup/dropoff region is
selected, the map now will display the flow from/to the selected region
and the corresponding values in the 1st loading vecotrs are encoded
with the area of the circles on the map (the same with bubble map).
4.2.2 Design for visual comparison
To support comparative analysis (R2), we extend the basic charts (Fig. 4
col #2) to display multidimensional trends in different partitions (the
sub-tensors in Fig. 3). Visual designs for comparison tasks can be
categorized into three groups based on how they organize the dis-
play [37]: juxtaposition (i.e., small multiples, present each data subsets
separately), superposition (present multiple data subset in a shared co-
ordinate system) and explicit encoding (directly encode data difference).
In our system, we prioritize the usage of superposition since it is more
space efficient and co-location facilitates visual comparison. Juxtaposi-
tion is applied whenever overlaying data on the same visualization will
cause visual clutter.
As displayed in Fig. 4 (col #2), for the bar chart, we extend it to par-
allel bar charts (juxtaposition) to enable comparison. For the line chart,
we replace it with a multi-series line chart (superposition) to highlight
the temporal trend differences. For the bubble map, we introduce a
multivariate glyph design (Fig. 5c) which can be embedded on a map
(superposition). Another possibility is placing a set of maps side by
side as small multiples (juxtaposition). Since sharing spatial context
facilitates comparative analysis, we overlay multiple data partitions
on the same map. We have also considered several alternative glyph
designs to encode multivariate data on maps, including donut charts,
pie charts, and polar area charts. Considering that the polar area charts
do not usually have regular shapes and it can be difficult to compare
their areas, we are left choosing between donut charts and pie charts.
Pie charts are special cases of donut charts where the radiuses of the
inner circles are zero. Donut charts and pie charts are comparable
in their performance for estimating the relative proportions [51]. For
comparing the sizes of different glyphs on a map, the inner circles
(extra visual cues) in the donut charts can further help [11]. Finally, the
domain experts decided to choose donut charts.
In Fig. 4, there is an additional col #4. It shows the chart status when
the corresponding dimension is partitioned. For example on the map,
the circles are assigned with different colors showing the regions in
different partitions.
4.2.3 Encode deviation
As discussed in Section 4.1, we need to provide visual cues for analysts
to assess the reliability of the patterns which are automatically generated
by the algorithm (R3). Thus, we compute the deviation of the raw data
Fig. 4. Col #1 depicts the basic charts to show the patterns on different
types of dimensions; col #2 extends the basic charts to support compar-
ative analysis; col #3 encodes the raw data’s deviation from the depicted
patterns; col #4 presents the partitioning results.
from the latent trends, and display it on top of the entries (Fig. 4 col #3).
For each elementX [i, j,k] in the original tensorial data, we compute
its deviation percentage from the element recovered using the latent
rank-one factors X̂ [i, j,k] = p[i] · d[ j] ·t[k]:
∆[i, j,k] =
X̂ [i, j,k]−X [i, j,k]
X [i, j,k]
(3)
We thus obtain a residual tensor ∆‖P‖×‖D‖×‖T‖. It is not quite fea-
sible to display all the entries in ∆ (otherwise we can already directly
display the original data). Therefore, we propose to summarize the
deviation along each mode with descriptive statistics. More specifi-
cally, take the traffic flow data as an example, to summarize the devi-
ation from the hourly patterns, we compute quartiles Q1/4(∆[:, :,k]),
Q1/2(∆[:, :,k]), Q3/4(∆[:, :,k]) for k ∈ [0,24). The quartiles are calcu-
lated for each mode, including the geographic regions and days in the
example traffic data. Fig. 5 a© b© c© show how we overlay the residual
statistics on the entries for different chart types. Note that when Q1/2,
Q3/4, and Q3/4 are all positive or negative, they will appear on only
one side of the base point (e.g., a2 in Fig. 6 a©).
Fig. 5. a© b© c© The encoding of the deviation of the raw data from the
depicted patterns on each dimension. We visualize quartile statistics for
the normalized deviation ranging from 0%-100%. d© The encoding of
the deviation on the tree nodes. To highlight high discrepancy, we take
the absolute value of the normalized deviation and use a diverging color
scheme (blue-white-red). For details, please refer to Section 4.2.4.
4.2.4 Steerable and iterative tensor partitioning
TPFlow supports a steerable and iterative workflow such that analysts
can progressively divide the data into smaller subsets (R4) along differ-
ent dimensions. To support this workflow, we visualize the successive
subdivision of the tensor along different dimensions similar as in deci-
sion trees (R5). Each node in the tree represents a subset of data created
in the partitioning process. Analysts can directly interact with the tree
nodes to partition them further or select a few nodes to compare the
latent patterns across different partitions.
Visualize the partitioning process. The tree starts with a root node
on the left (a1 in Fig. 1 a©), representing the original tensor X . The
height of the node is proportional to the sum of all the entries inX .
Take the traffic flow data as an example, the height of the root node (d1
in Fig. 5 d©) is proportional to the total traffic volume aggregated over
all the days, hours and spatial regions. Analysts can manually select
a dimension (e.g. days, hours, or locations) to partition the original
tensorial data into several sub-tensors. For each sub-tensor, a child
Authorized licensed use limited to: OREGON STATE UNIV. Downloaded on April 27,2022 at 00:08:01 UTC from IEEE Xplore. Restrictions apply.
6 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 25, NO. 1, JANUARY 2019
Fig. 6. a© A group of products having large amount of sales have small deviations (a1), while some products with relatively lower sales have high
deviations (a2). b© Among the four groups of products (b1), the pink group includes most of the products with high sales volume and their deviations
on every dimension are very small (b2). The other three product groups also show different monthly patterns (b3, b4). c© The two products in orange
group of very different monthly patterns are selected and partitioned for fine-grained analysis (c1, c2). d© The yearly sales performance of one
product group is compared (d1, d2, d3).
node will be created and attached to the root. The heights of the child
nodes as well as the widths of the links are proportional to the sum of
the entries in the corresponding partition (d2 in Fig. 5 d©). Based on
the widths of the links and the heights of the nodes, analysts can focus
on the partitions that account for a more significant portion the traffic
volume. Analysts can perform further partitioning on the sub-tensors
and the tree will be updated correspondingly to display the results.
Thus, the overall partitioning process is visually represented all the
time, which not only reflects analytical provenance but also facilitates
navigation and refinement on the partitions. Notice that every selected
node is attached with a small rectangle of an automatically assigned
categorical color (d3 in Fig. 5 d©), which shares the same color scheme
with the other sub-views.
Enable steerable data partitioning. Our system enables direct
interaction with the tree nodes to perform data partitioning. When ana-
lysts hover over a node, a menu (a4 in Fig. 1 a©) will pop up displaying
different options. The options include the dimension to perform parti-
tion on, the number of clusters to create and the clustering algorithm
to use. We provide several different options of clustering algorithms
including k-means, hierarchical clustering [24], and OPTICS [6] (no
need to specify the cluster number). If the partition dimension is set
to “auto”, our system will perform partitioning on every mode and
recommend the optimal one with minimized cost function Eq. 2. The
button (a5) is for confirming split and the button (a6) is used to resize
the node for further exploration when node becomes too small. Every
action is reversible by clicking the button (a2).
Encode discrepancy. On each node, we use a diverging color
scheme from blue to red to visualize the discrepancies (d4 in Fig. 5 d©).
Blue suggests a low discrepancy between the raw data and the latent
patterns extracted by the algorithm while red indicates high discrep-
ancy. More concretely, for each node, on a selected dimension, we
create a set of sorted colored stripes, each representing an entry in the
corresponding dimension. For example, 24 entries will be created if
the hours dimension is selected for the traffic flow data. The color
encodes the average deviation from the recovered tensor data (for hour
k, the value is avg(|∆[:, :,k]|)). Strips with similar colors are grouped
for scalability. With such visual encoding, analysts can quickly get an
insight on the faithfulness of the patterns extracted by the algorithm for
each partition and refine the partition if necessary.
5 EXAMPLE USAGE SCENARIOS
For each usage scenario, we describe the schema, dimensionality and
scale of the dataset, introduce the domain-specific analytic tasks, and
then report how the domain experts used TPFlow for these tasks.
5.1 Regional sales data analysis
The regional sales data (RS data) contains two million sales records of
a company’s product portfolio in Germany in a two-year period. Each
record follows the schema: (month, product,state)→ sales_volume.
In total there are 24 months, 34 products and 16 federal states. We
therefore construct a 24×34×16 tensor, where each entry records the
total sales in one month within one state for a particular product.
The experts are interested in the following topics to develop better
marketing strategies: (1) product segmentation. Identify cross selling
opportunities by grouping products with similar demand distributed
over time and geographical regions. (2) temporal comparison. Com-
pare the distribution of sales over different products for selected time
intervals. (3) market segmentation. Divide the federal states into sub-
groups with common characteristics such as shared needs for a set of
products or similar temporal variations in sales.
Product segmentation. Before segmenting the products, the experts
first wanted to understand whether these products are indeed signifi-
cantly different in terms of their temporal and regional sales variations.
They observed that a large portion of the root node is colored with
deep blue (Fig. 6 a©), which means that a group of products accounting
for a large portion of the sales have similar temporal and geospatial
distribution. By contrast, the smaller red colored portion in the root
node suggests that some products with relatively lower sales can be
quite different. This observation can be further verified by showing the
deviations in the bar chart (a1, a2). Therefore, the experts decided to
group the products for further analysis.
Fig. 6 b© shows that the products are split into four groups, whose
detailed partition information can be observed (b1). The pink group
includes most of the products with high sales volume. They have
very small deviation on every dimension (b2) which indicates that the
products in this group have very similar monthly and spatial sales
variation. Thus, the experts did not need to partition this group further.
The orange and purple groups are separated for their abnormal temporal
variations (b3). The purple group contains one product and the sales of
this product suddenly dropped down to zero in February 2015. On the
other hand, the two products in the orange group start to sell since April
2015. By further splitting the two products (Fig. 6 c©), they observed
more fine-grained patterns (c1, c2). For example, the two products have
similar sales volume in most of the states, while the orange product has
nearly zero sales in the three states on the top of the map (c2).
Temporal comparison. The products in the green group have fluctuat-
ing sales over time (b4 in Fig. 6 b©). The high deviations of this product
group suggest that this group can be further split. The experts found
half of the products in the green group belong to the same category
(related to xxx-alz). Therefore they manually specified these products
as a new group. To compare the sales volume in the two consecutive
years, they manually separated the months into two groups (Fig. 6 d©).
They found several interesting patterns, for example, the sales volume
of two products (d1) increased significantly in 2015 and the third prod-
uct (d2) became the first place regarding sales. From the map chart
(d3), the experts found that many states have the same sales proportion.
However, there are still several states whose sales volume in the two
years are significantly different.
Market segmentation. To further compare different regions, the ex-
perts split the node on the state dimension (a3 in Fig. 1 a©). The group
information is shown in Fig. 1 d©. One interesting pattern is that the
states in non-pink groups present a similar monthly trend to some extent
(c1). However, the pink states, which are located mostly in the northeast
region of Germany, perform significantly different from the other states.
In particular, they have an outstanding peak in June (c2) and their sales
are mostly contributed by one product (b1).
Fig. 7. a© The green, orange, pink and purple groups (a1) contain
Saturdays, Sundays, weekdays, and one U.S. Holiday, respectively. They
have quite different hourly patterns (a2) but similar spatial distributions
(a3). b© The retail areas’ performance on weekdays’ daytime hours are
compared (b1, b2, b3, b4, b5).
5.2 Customer in store traffic data analysis for brick-and-
mortar retailers
The customer in-store traffic data (CST data) contains about
25 million records in a large department store in the U.S.
in July, 201x. A record is generated when a person en-
ters or leaves a particular area in the store and the schema is
(record_id, retail_area_id, event_timestamp, event_type), where
event_type ∈ {enter, leave}. With these records, the aggregated
area statistics with the schema (day × hour × retail_area_id) →
tra f f ic_volume can be obtained, which records the number of cus-
tomers that pass through an area during one hour in one day. In total
there are 31 days, 24 hours and 163 different areas in the store and we
construct a 31×24×163 tensor. Different from the previous example,
this schema contains two temporal dimensions (i.e., days and hours).
The experts are interested in the following tasks for better manage-
ment of store hours, store layout, staff capacity, etc.: (1) identify daily
periodical patterns. Get an overview about how the hours affect the
traffic and group the days with similar hourly traffic patterns; (2) ana-
lyze retail area performance. Group and compare the retail areas based
on temporal variations in traffic volume.
Identify daily periodical patterns. In the beginning, the experts had
no prior knowledge on the dataset and did not know where to start.
As a result, they ran the clustering algorithm (i.e., OPTICS) on auto
mode (i.e., let the machine find the optimal dimension to cluster).
Accordingly, our system recommended splitting the days into four
groups (Fig. 7 a©). As shown in the bar chart (a1), the purple group
contains only one day (Independence Day in US). The green and orange
groups include all the Saturdays and Sundays, respectively. The pink
group consists of all the weekdays. From the line chart (a2), the experts
found the hourly trend differences among the four groups: Saturdays
(green) and Sundays (orange) have the largest number of customers
overall, whereas on Sundays the customers appear to leave much earlier
than Saturdays. For the weekdays (pink), the traffic is more stable
during the normal business hours and start to decrease after 9pm (later
than Sunday but earlier than Saturday). The purple (Independence
Day) is an outlier, which has an obvious peak hour around 3pm and
has almost zero traffic since 7pm (even earlier than Sundays). From
the map chart (a3), the experts found that most of the glyphs have the
similar color proportions on the outer rings. This suggests the overall
traffic distribution over different retail areas has no clear difference
over different days. In other words, special days (e.g., weekends,
Independence Day) do not have much influence on the areas’ relative
traffic volume.
Analyze retail area performance. The experts first selected the week-
days and manually seperated the daytime hours from 10am to 8pm.
Then they iteratively split on the area dimension. Fig. 7 b© displays
the final result after several rounds of split operation. The line chart
(b2) displays the hourly traffic of each group of areas, where the traffic
volume is becoming less and less from top to bottom. However, their
shapes roughly remain the same. The bar chart shows a similar pattern
(b1). From the map chart, the experts observed that the areas close
the center have much more traffic (b4). The areas on the top (b3) have
relatively more traffic, as they are close to the main entrance. In general,
the areas on the bottom right (b5) have much less traffic.
5.3 The New York taxi trip OD data
The New York taxi trip OD data (referred to as NYT dataset) is a public
dataset provided by NYC TLC1. It includes the taxi trip information
in 2016 in NY. Each record contains the following information for
a taxi trip: pickup timestamp, dropoff timestamp, pickup taxi zone,
dropoff taxi zone, passenger count, trip distance, fare amount and
tip amount. From the additional table provided by TLC, we obtain
the name, borough, and geometry boundaries for each taxi zone. To
study the taxi trip patterns with OD information we construct a tensor
from the original records with a new schema: (day× pickup_hour×
pickup_zone×dropo f f_zone)→ passenger_count. In this example,
1http://www.nyc.gov/html/tlc/html/about/trip_record_data.shtml
Authorized licensed use limited to: OREGON STATE UNIV. Downloaded on April 27,2022 at 00:08:01 UTC from IEEE Xplore. Restrictions apply.
LIU ET AL.: TPFLOW: PROGRESSIVE PARTITION AND MULTIDIMENSIONAL PATTERN EXTRACTION FOR LARGE-SCALE SPATIO-TEMPORAL DATA ANALYSIS 7
Fig. 6. a© A group of products having large amount of sales have small deviations (a1), while some products with relatively lower sales have high
deviations (a2). b© Among the four groups of products (b1), the pink group includes most of the products with high sales volume and their deviations
on every dimension are very small (b2). The other three product groups also show different monthly patterns (b3, b4). c© The two products in orange
group of very different monthly patterns are selected and partitioned for fine-grained analysis (c1, c2). d© The yearly sales performance of one
product group is compared (d1, d2, d3).
node will be created and attached to the root. The heights of the child
nodes as well as the widths of the links are proportional to the sum of
the entries in the corresponding partition (d2 in Fig. 5 d©). Based on
the widths of the links and the heights of the nodes, analysts can focus
on the partitions that account for a more significant portion the traffic
volume. Analysts can perform further partitioning on the sub-tensors
and the tree will be updated correspondingly to display the results.
Thus, the overall partitioning process is visually represented all the
time, which not only reflects analytical provenance but also facilitates
navigation and refinement on the partitions. Notice that every selected
node is attached with a small rectangle of an automatically assigned
categorical color (d3 in Fig. 5 d©), which shares the same color scheme
with the other sub-views.
Enable steerable data partitioning. Our system enables direct
interaction with the tree nodes to perform data partitioning. When ana-
lysts hover over a node, a menu (a4 in Fig. 1 a©) will pop up displaying
different options. The options include the dimension to perform parti-
tion on, the number of clusters to create and the clustering algorithm
to use. We provide several different options of clustering algorithms
including k-means, hierarchical clustering [24], and OPTICS [6] (no
need to specify the cluster number). If the partition dimension is set
to “auto”, our system will perform partitioning on every mode and
recommend the optimal one with minimized cost function Eq. 2. The
button (a5) is for confirming split and the button (a6) is used to resize
the node for further exploration when node becomes too small. Every
action is reversible by clicking the button (a2).
Encode discrepancy. On each node, we use a diverging color
scheme from blue to red to visualize the discrepancies (d4 in Fig. 5 d©).
Blue suggests a low discrepancy between the raw data and the latent
patterns extracted by the algorithm while red indicates high discrep-
ancy. More concretely, for each node, on a selected dimension, we
create a set of sorted colored stripes, each representing an entry in the
corresponding dimension. For example, 24 entries will be created if
the hours dimension is selected for the traffic flow data. The color
encodes the average deviation from the recovered tensor data (for hour
k, the value is avg(|∆[:, :,k]|)). Strips with similar colors are grouped
for scalability. With such visual encoding, analysts can quickly get an
insight on the faithfulness of the patterns extracted by the algorithm for
each partition and refine the partition if necessary.
5 EXAMPLE USAGE SCENARIOS
For each usage scenario, we describe the schema, dimensionality and
scale of the dataset, introduce the domain-specific analytic tasks, and
then report how the domain experts used TPFlow for these tasks.
5.1 Regional sales data analysis
The regional sales data (RS data) contains two million sales records of
a company’s product portfolio in Germany in a two-year period. Each
record follows the schema: (month, product,state)→ sales_volume.
In total there are 24 months, 34 products and 16 federal states. We
therefore construct a 24×34×16 tensor, where each entry records the
total sales in one month within one state for a particular product.
The experts are interested in the following topics to develop better
marketing strategies: (1) product segmentation. Identify cross selling
opportunities by grouping products with similar demand distributed
over time and geographical regions. (2) temporal comparison. Com-
pare the distribution of sales over different products for selected time
intervals. (3) market segmentation. Divide the federal states into sub-
groups with common characteristics such as shared needs for a set of
products or similar temporal variations in sales.
Product segmentation. Before segmenting the products, the experts
first wanted to understand whether these products are indeed signifi-
cantly different in terms of their temporal and regional sales variations.
They observed that a large portion of the root node is colored with
deep blue (Fig. 6 a©), which means that a group of products accounting
for a large portion of the sales have similar temporal and geospatial
distribution. By contrast, the smaller red colored portion in the root
node suggests that some products with relatively lower sales can be
quite different. This observation can be further verified by showing the
deviations in the bar chart (a1, a2). Therefore, the experts decided to
group the products for further analysis.
Fig. 6 b© shows that the products are split into four groups, whose
detailed partition information can be observed (b1). The pink group
includes most of the products with high sales volume. They have
very small deviation on every dimension (b2) which indicates that the
products in this group have very similar monthly and spatial sales
variation. Thus, the experts did not need to partition this group further.
The orange and purple groups are separated for their abnormal temporal
variations (b3). The purple group contains one product and the sales of
this product suddenly dropped down to zero in February 2015. On the
other hand, the two products in the orange group start to sell since April
2015. By further splitting the two products (Fig. 6 c©), they observed
more fine-grained patterns (c1, c2). For example, the two products have
similar sales volume in most of the states, while the orange product has
nearly zero sales in the three states on the top of the map (c2).
Temporal comparison. The products in the green group have fluctuat-
ing sales over time (b4 in Fig. 6 b©). The high deviations of this product
group suggest that this group can be further split. The experts found
half of the products in the green group belong to the same category
(related to xxx-alz). Therefore they manually specified these products
as a new group. To compare the sales volume in the two consecutive
years, they manually separated the months into two groups (Fig. 6 d©).
They found several interesting patterns, for example, the sales volume
of two products (d1) increased significantly in 2015 and the third prod-
uct (d2) became the first place regarding sales. From the map chart
(d3), the experts found that many states have the same sales proportion.
However, there are still several states whose sales volume in the two
years are significantly different.
Market segmentation. To further compare different regions, the ex-
perts split the node on the state dimension (a3 in Fig. 1 a©). The group
information is shown in Fig. 1 d©. One interesting pattern is that the
states in non-pink groups present a similar monthly trend to some extent
(c1). However, the pink states, which are located mostly in the northeast
region of Germany, perform significantly different from the other states.
In particular, they have an outstanding peak in June (c2) and their sales
are mostly contributed by one product (b1).
Fig. 7. a© The green, orange, pink and purple groups (a1) contain
Saturdays, Sundays, weekdays, and one U.S. Holiday, respectively. They
have quite different hourly patterns (a2) but similar spatial distributions
(a3). b© The retail areas’ performance on weekdays’ daytime hours are
compared (b1, b2, b3, b4, b5).
5.2 Customer in store traffic data analysis for brick-and-
mortar retailers
The customer in-store traffic data (CST data) contains about
25 million records in a large department store in the U.S.
in July, 201x. A record is generated when a person en-
ters or leaves a particular area in the store and the schema is
(record_id, retail_area_id, event_timestamp, event_type), where
event_type ∈ {enter, leave}. With these records, the aggregated
area statistics with the schema (day × hour × retail_area_id) →
tra f f ic_volume can be obtained, which records the number of cus-
tomers that pass through an area during one hour in one day. In total
there are 31 days, 24 hours and 163 different areas in the store and we
construct a 31×24×163 tensor. Different from the previous example,
this schema contains two temporal dimensions (i.e., days and hours).
The experts are interested in the following tasks for better manage-
ment of store hours, store layout, staff capacity, etc.: (1) identify daily
periodical patterns. Get an overview about how the hours affect the
traffic and group the days with similar hourly traffic patterns; (2) ana-
lyze retail area performance. Group and compare the retail areas based
on temporal variations in traffic volume.
Identify daily periodical patterns. In the beginning, the experts had
no prior knowledge on the dataset and did not know where to start.
As a result, they ran the clustering algorithm (i.e., OPTICS) on auto
mode (i.e., let the machine find the optimal dimension to cluster).
Accordingly, our system recommended splitting the days into four
groups (Fig. 7 a©). As shown in the bar chart (a1), the purple group
contains only one day (Independence Day in US). The green and orange
groups include all the Saturdays and Sundays, respectively. The pink
group consists of all the weekdays. From the line chart (a2), the experts
found the hourly trend differences among the four groups: Saturdays
(green) and Sundays (orange) have the largest number of customers
overall, whereas on Sundays the customers appear to leave much earlier
than Saturdays. For the weekdays (pink), the traffic is more stable
during the normal business hours and start to decrease after 9pm (later
than Sunday but earlier than Saturday). The purple (Independence
Day) is an outlier, which has an obvious peak hour around 3pm and
has almost zero traffic since 7pm (even earlier than Sundays). From
the map chart (a3), the experts found that most of the glyphs have the
similar color proportions on the outer rings. This suggests the overall
traffic distribution over different retail areas has no clear difference
over different days. In other words, special days (e.g., weekends,
Independence Day) do not have much influence on the areas’ relative
traffic volume.
Analyze retail area performance. The experts first selected the week-
days and manually seperated the daytime hours from 10am to 8pm.
Then they iteratively split on the area dimension. Fig. 7 b© displays
the final result after several rounds of split operation. The line chart
(b2) displays the hourly traffic of each group of areas, where the traffic
volume is becoming less and less from top to bottom. However, their
shapes roughly remain the same. The bar chart shows a similar pattern
(b1). From the map chart, the experts observed that the areas close
the center have much more traffic (b4). The areas on the top (b3) have
relatively more traffic, as they are close to the main entrance. In general,
the areas on the bottom right (b5) have much less traffic.
5.3 The New York taxi trip OD data
The New York taxi trip OD data (referred to as NYT dataset) is a public
dataset provided by NYC TLC1. It includes the taxi trip information
in 2016 in NY. Each record contains the following information for
a taxi trip: pickup timestamp, dropoff timestamp, pickup taxi zone,
dropoff taxi zone, passenger count, trip distance, fare amount and
tip amount. From the additional table provided by TLC, we obtain
the name, borough, and geometry boundaries for each taxi zone. To
study the taxi trip patterns with OD information we construct a tensor
from the original records with a new schema: (day× pickup_hour×
pickup_zone×dropo f f_zone)→ passenger_count. In this example,
1http://www.nyc.gov/html/tlc/html/about/trip_record_data.shtml
Authorized licensed use limited to: OREGON STATE UNIV. Downloaded on April 27,2022 at 00:08:01 UTC from IEEE Xplore. Restrictions apply.
8 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 25, NO. 1, JANUARY 2019
Fig. 8. a© The green, purple, and orange groups (a1) contain weekends, weekdays, and U.S. holidays, respectively. They have a different hourly taxi
demand (a2) and top-k flow distributions (a3). b© For the morning rush hours in weekdays, our system identifies four groups of pickup zones (b2, b3),
each group has different patterns in days, hours (b1), and dropoff zones (b4, b5). c© The dropoff patterns can be explored in a fine-grained level by
partitioning on dropoff zone mode. The overwhelming majority of passengers from (c1) take taxis to few areas nearby.
we extracted over 10 million taxi trip records within the Manhattan
area (67 taxi zones) in July, constructing a (31×24×67×67) tensor.
We performed 4-way tensor decomposition to identify the hourly (t1)
and daily (d1) variation of traffic volume, together with the traffic flow
out (p1) and in (p2) patterns for different taxi zones. The value for
a flow from zone i to zone j can be calculated as the product of the
corresponding entries in the 1st loading vectors of the flow in and flow
out dimension: p1[i]× p2[ j]. In the system, analysts can select the
top-k largest flows to observe the hottest OD combinations.
This example usage scenario focus on understanding the taxi demand
for more efficient resource planning, which includes (1) understanding
the temporal and spatial distribution of taxi demand (2) extracting
traffic OD patterns based on the analysis of the 4-mode tensor.
In general, this dataset is more complex and it is more difficult to
directly use rank-1 factors to describe the original data, as the deviations
are still very high even after several rounds of partitions ( a©→ b©→
c© in Fig. 8). We first iteratively partitioned on days to study how date
influences taxi demand (Fig. 8 a©). The bar chart (a1) shows the three
identified groups. The orange group contains three days including July
4th (Independence Day) and the Saturday and Sunday before it. The
green group includes all the other weekends. The remaining weekdays
form the third purple group. From the line chart (a2), we observed that
the number of passengers on weekdays (purple) is significantly higher
than others (i.e., holidays and weekends) during the daytime, but is
lowest during the nighttime. The holiday (orange) daytime passengers
are slightly less than the weekends (green), but the nighttime passengers
are obviously less than weekends. Probably during holidays, there are
fewer taxi drivers and people tend to go home much earlier than usual
weekends. The flow map (a3) shows that the top six OD flows for the
three groups of days span across different areas in Manhattan.
Afterwards, we turned our focus to compare the taxi demand in
different zones during weekday rush hours. We selected the weekdays
and manually separated the morning rush hours from 6am to 9am. After
that, we partitioned the pickup taxi zones and identified four different
groups of zones (Fig. 8 b©). By filtering the top-k in and out flows for
each group, we found a common popular dropoff location for all the four
groups (b2). From the bar chart and line chart (b1), we examined their
different behaviors with respect to days and hours. For example, the
pink zones and orange zones have the largest number of passengers, but
their corresponding hourly trends are quite different. One interesting
pattern here is that the pink area (b3) is almost equivalent to the Upper
East Side2, which is one of the largest residential areas in Manhattan
and known for its wealthy residents. We further compared the detailed
dropoff locations for the zones in different groups. Location b4 and b5
are selected as the pickup zones, one from pink group and the other
one from the green group. We found that the overwhelming majority
of passengers from the pink zone (b4) take taxis to a few nearby areas,
while the destinations for the passengers from the green zone (b5)
spread more in the bottom of Manhattan. We did a partition on the
pink group on the dropoff zone mode (Fig. 8 c©) to explore the more
fine-grained dropoff patterns. Then we observed there are significantly
more passengers dropping off in the zones identified by c1.
6 ALGORITHM PERFORMANCE
Time complexity. For a p-dimensional tensor where each mode in-
cludes n entries, computing the best rank-one approximation in each
iteration is expensive in terms of space and time complexity, both requir-
ing O(np) [13,26]. For a server with 2.20GHz Intel i7-6650U CPU and
16GB RAM, the algorithm can return results within reasonable time
for the three datasets in our case studies (<1sec for RS and CST, and
<10sec for NYT). As the running time heavily depends on the size of
the tensor to be decomposed, the algorithm becomes more responsive
when applied on subsets (partitions) of the three datasets.
Baseline method. We compare the piecewise rank-one tensor parti-
tion algorithm with a baseline approach. The baseline method simply
flattens the tensor into a matrix and performs clustering on it using
classical methods such as k-means, hierarchical clustering and OPTICS
(in the experiment we use hierarchical clustering with average linkage
and Euclidean distance). Take the traffic volume data as an example.
To partition on days D, the baseline method flattens the tensor by con-
verting each sliceX [:, j, :] to a feature vector with length ‖P‖×‖T‖,
which contains all the entries from one day D[ j]. The feature vectors
of all the days are inputed to the clustering algorithm. Based on the
clustering result, the method slices the tensor on D to obtain a series of
sub-tensors and perform rank-one tensor decomposition on each.
Experimental results on synthetic data. We apply our algorithm
to synthetic data with ground truth cluster structure to assess the
robustness and reliability. We generate a series of synthetic data
(100× 100× 100 tensors) with Gaussian noise, which are designed
to have an optimal partition number ranging from 2 to 8 on the first
mode. We run our algorithm and the baseline method on every tensor’s
first mode with the ground truth clustering number. We compare the
2https://en.wikipedia.org/wiki/Upper_East_Side
Fig. 9. a© Our algorithm produces clustering results that align better with the ground truth on synthetic data as measured by ARI [27]. b© The
experimental results on RS data show that our algorithm produce sub-tensors and their 1st loading vectors that can more faithfully represent the
original ST data as measured by the cost function (Eq. 2).
clustering results using the Adjusted Rand index (ARI) [27], which is
one of the most widely adopted metrics to measure the similarity of
clustering structure. ARI = 1.0 indicates that the partitions are identical.
As shown in Fig. 9 a©, our partition algorithm (blue) aligns better with
the ground truth compared to the baseline.
Experimental results on real-world data. We run the experiments
on the tensorial data presented in the three case studies. For each
experiment, we run both algorithms on every dimension with different
setting in cluster number (from 2 to 8). We compare the algorithms
using the cost function described in Eq. 2 (the smaller, the better).
Fig. 9 b© presents the results of the experiments on RS dataset (refer to
the Appendix for more). Our algorithm (blue) consistently has smaller
cost when partitioning on the months and products dimension. This
indicates the 1st loading vectors in sub-tensors can more faithfully
represent the patterns. However, for states, there is no clear difference.
Summary. The experiments prove that our algorithm can find more
reasonable ways to partition the tensor and represent the patterns more
faithfully. The curse of dimensionality [20] could be a possible explana-
tion. For the baseline algorithm, the dimensionality of feature vectors
can easily exceed a thousand or even tens of thousands. This leads to
the result that all the entries appear to be dissimilar, regardless of the
distance metrics (e.g., Euclidean distance) being used. This prevents
commonly-used clustering methods from being effective.
7 EXPERT FEEDBACK
We collected and summarized the feedback provided by the domain
experts when they were completing the first two case studies.
Usability. The experts all appreciated our system and confirmed the
usefulness of the various features in TPFlow. They agreed that the sys-
tem is efficient and effective not only for searching meaningful patterns
within data but also for verifying their reliability. The CST experts
emphasized that they identified some unexpected patterns using the
system. One of them praised the smooth interactions and commented,
“The steerable partition interactions are quite useful. It allows me to go
forth and back to refine my operations without losing the context.”
Improvement. Although the system is easy to use without a steep
learning curve for the four data scientists, it can be still challenging
for ordinary users (e.g., store managers) without technical background
knowledge in data cube, clustering, or some statistical terminologies
like quartiles. For those users, our experts suggest us to further simplify
the visual interface and interactions. Another valuable comment from
one of the RS experts is that the system can provide interactive widgets
for dynamically setting the bin size (e.g., time interval in temporal
dimension) to construct ST tensor, as the choices of units in each tensor
dimension are closely related to the analytic tasks.
8 DISCUSSION, LIMITATIONS AND FUTURE WORK
At the current stage, we aim at developing a generic system for ST
data in various application domains to demonstrate the effectiveness
of the tensor-based analytical workflow. We put extra emphasis on the
interpretability and faithfulness of the displayed patterns. We visualize
the patterns with widely-used visualizations instead of sophisticated
visual encodings for general applicability. The current system can be
easily extended by integrating more advanced visualization techniques
tailored to domain-specific tasks. Besides that, revealing more detailed
information in the decomposition process can be useful for users with a
strong technical background. For example, we can visualize the feature
vectors (refer to Sec. 3.2) of the entries on one dimension on a 2D plane
using dimension reduction techniques for interactive visual clustering.
Algorithm scalability. The decomposition algorithm may become in-
efficient when the tensor size increases. Thus, several techniques can be
considered to improve the performance. For example, we can apply a
more space and time efficient tensor decomposition method [57] which
sacrifices a certain amount of accuracy in exchange for a 10x-100x
speed-up. We can use GPU to accelerate the process since many tensor
operations can be parallelized. We can also apply the progressive ana-
lytics [52] methodology: for long queries enable the analysts to observe
the algorithm’s partial results and interactively prioritize subspaces of
interest. Besides that, hierarchical structures can be used to construct
tensors with multi-resolution to further speed up computation.
Visual/perceptual scalability. The current system as we observe can
reasonably support simultaneous comparison of one dozen partitions,
due to the limited number of categorical colors that people can ef-
fectively differentiate [44]. Furthermore, some of the charts we use
in the system cannot handle too many entries. For example, the bar
chart cannot visualize too many rows on a single screen. Nevertheless,
we believe that the current visual design can be applied to most ap-
plication scenarios, as the current system is targeting at providing an
overview of data instead of displaying every detail. For details, they
are usually application specific and can be provided on-demand [50].
Besides that, the system can also integrate advanced interaction tech-
niques such as semantic zoom [63], hierarchical exploration [62], and
focus+context [47] to handle the scalability problem.
Spatio-temporal coherence. For some scenarios, analysts prefer to
see neighboring hours or regions are grouped together with a higher
probability. Our algorithm currently does not incorporate such con-
textual information (i.e., the order of timestamps and the distances
between regions). To exploit such information, we consider adding a
regularization term [53] in the tensor decomposition model to smooth
the feature vectors on the spatial and temporal dimensions. This helps
increase the possibility for the nearby time intervals or regions being
assigned to one group. As a future work, we plan to integrate such
regularization term and allow analysts to use them on demand.
9 CONCLUSION
We introduce an interactive visualization system, TPFlow, for explo-
rative analysis of large-scale multidimensional ST data using a top-
down, progressive partitioning approach. We propose a novel tensor-
based algorithm to support automated partitioning and multidimen-
sional pattern extraction on ST data. The algorithm is grounded on a
quantitative measure about how faithfully the extracted patterns can
visually represent the original data. We compare the algorithm to a
baseline method. Our algorithm produces results that 1) align bet-
ter with ground truth on synthetic data and 2) represent the original
data more faithfully on real-world ST data. Built upon the algorithm,
the TPFlow system features a novel combination of visualization and
interaction designs to facilitate pattern discovery, comparison and veri-
fication. We present example usage scenarios with real-world ST data
from three application domains to demonstrate the general applicability
and effectiveness of our method.
ACKNOWLEDGMENTS
We would like to thank Miaoyan Wang for discussing the idea, Quin
Smith for supporting the video editing, and Sina Fiesta and Siheng Liu
for proofreading the paper. We are grateful for the valuable comments
provided by Prof. Huamin Qu and the VAST reviewers. This work is
supported in part by grant RGC GRF 16241916.
Authorized licensed use limited to: OREGON STATE UNIV. Downloaded on April 27,2022 at 00:08:01 UTC from IEEE Xplore. Restrictions apply.
LIU ET AL.: TPFLOW: PROGRESSIVE PARTITION AND MULTIDIMENSIONAL PATTERN EXTRACTION FOR LARGE-SCALE SPATIO-TEMPORAL DATA ANALYSIS 9
Fig. 8. a© The green, purple, and orange groups (a1) contain weekends, weekdays, and U.S. holidays, respectively. They have a different hourly taxi
demand (a2) and top-k flow distributions (a3). b© For the morning rush hours in weekdays, our system identifies four groups of pickup zones (b2, b3),
each group has different patterns in days, hours (b1), and dropoff zones (b4, b5). c© The dropoff patterns can be explored in a fine-grained level by
partitioning on dropoff zone mode. The overwhelming majority of passengers from (c1) take taxis to few areas nearby.
we extracted over 10 million taxi trip records within the Manhattan
area (67 taxi zones) in July, constructing a (31×24×67×67) tensor.
We performed 4-way tensor decomposition to identify the hourly (t1)
and daily (d1) variation of traffic volume, together with the traffic flow
out (p1) and in (p2) patterns for different taxi zones. The value for
a flow from zone i to zone j can be calculated as the product of the
corresponding entries in the 1st loading vectors of the flow in and flow
out dimension: p1[i]× p2[ j]. In the system, analysts can select the
top-k largest flows to observe the hottest OD combinations.
This example usage scenario focus on understanding the taxi demand
for more efficient resource planning, which includes (1) understanding
the temporal and spatial distribution of taxi demand (2) extracting
traffic OD patterns based on the analysis of the 4-mode tensor.
In general, this dataset is more complex and it is more difficult to
directly use rank-1 factors to describe the original data, as the deviations
are still very high even after several rounds of partitions ( a©→ b©→
c© in Fig. 8). We first iteratively partitioned on days to study how date
influences taxi demand (Fig. 8 a©). The bar chart (a1) shows the three
identified groups. The orange group contains three days including July
4th (Independence Day) and the Saturday and Sunday before it. The
green group includes all the other weekends. The remaining weekdays
form the third purple group. From the line chart (a2), we observed that
the number of passengers on weekdays (purple) is significantly higher
than others (i.e., holidays and weekends) during the daytime, but is
lowest during the nighttime. The holiday (orange) daytime passengers
are slightly less than the weekends (green), but the nighttime passengers
are obviously less than weekends. Probably during holidays, there are
fewer taxi drivers and people tend to go home much earlier than usual
weekends. The flow map (a3) shows that the top six OD flows for the
three groups of days span across different areas in Manhattan.
Afterwards, we turned our focus to compare the taxi demand in
different zones during weekday rush hours. We selected the weekdays
and manually separated the morning rush hours from 6am to 9am. After
that, we partitioned the pickup taxi zones and identified four different
groups of zones (Fig. 8 b©). By filtering the top-k in and out flows for
each group, we found a common popular dropoff location for all the four
groups (b2). From the bar chart and line chart (b1), we examined their
different behaviors with respect to days and hours. For example, the
pink zones and orange zones have the largest number of passengers, but
their corresponding hourly trends are quite different. One interesting
pattern here is that the pink area (b3) is almost equivalent to the Upper
East Side2, which is one of the largest residential areas in Manhattan
and known for its wealthy residents. We further compared the detailed
dropoff locations for the zones in different groups. Location b4 and b5
are selected as the pickup zones, one from pink group and the other
one from the green group. We found that the overwhelming majority
of passengers from the pink zone (b4) take taxis to a few nearby areas,
while the destinations for the passengers from the green zone (b5)
spread more in the bottom of Manhattan. We did a partition on the
pink group on the dropoff zone mode (Fig. 8 c©) to explore the more
fine-grained dropoff patterns. Then we observed there are significantly
more passengers dropping off in the zones identified by c1.
6 ALGORITHM PERFORMANCE
Time complexity. For a p-dimensional tensor where each mode in-
cludes n entries, computing the best rank-one approximation in each
iteration is expensive in terms of space and time complexity, both requir-
ing O(np) [13,26]. For a server with 2.20GHz Intel i7-6650U CPU and
16GB RAM, the algorithm can return results within reasonable time
for the three datasets in our case studies (<1sec for RS and CST, and
<10sec for NYT). As the running time heavily depends on the size of
the tensor to be decomposed, the algorithm becomes more responsive
when applied on subsets (partitions) of the three datasets.
Baseline method. We compare the piecewise rank-one tensor parti-
tion algorithm with a baseline approach. The baseline method simply
flattens the tensor into a matrix and performs clustering on it using
classical methods such as k-means, hierarchical clustering and OPTICS
(in the experiment we use hierarchical clustering with average linkage
and Euclidean distance). Take the traffic volume data as an example.
To partition on days D, the baseline method flattens the tensor by con-
verting each sliceX [:, j, :] to a feature vector with length ‖P‖×‖T‖,
which contains all the entries from one day D[ j]. The feature vectors
of all the days are inputed to the clustering algorithm. Based on the
clustering result, the method slices the tensor on D to obtain a series of
sub-tensors and perform rank-one tensor decomposition on each.
Experimental results on synthetic data. We apply our algorithm
to synthetic data with ground truth cluster structure to assess the
robustness and reliability. We generate a series of synthetic data
(100× 100× 100 tensors) with Gaussian noise, which are designed
to have an optimal partition number ranging from 2 to 8 on the first
mode. We run our algorithm and the baseline method on every tensor’s
first mode with the ground truth clustering number. We compare the
2https://en.wikipedia.org/wiki/Upper_East_Side
Fig. 9. a© Our algorithm produces clustering results that align better with the ground truth on synthetic data as measured by ARI [27]. b© The
experimental results on RS data show that our algorithm produce sub-tensors and their 1st loading vectors that can more faithfully represent the
original ST data as measured by the cost function (Eq. 2).
clustering results using the Adjusted Rand index (ARI) [27], which is
one of the most widely adopted metrics to measure the similarity of
clustering structure. ARI = 1.0 indicates that the partitions are identical.
As shown in Fig. 9 a©, our partition algorithm (blue) aligns better with
the ground truth compared to the baseline.
Experimental results on real-world data. We run the experiments
on the tensorial data presented in the three case studies. For each
experiment, we run both algorithms on every dimension with different
setting in cluster number (from 2 to 8). We compare the algorithms
using the cost function described in Eq. 2 (the smaller, the better).
Fig. 9 b© presents the results of the experiments on RS dataset (refer to
the Appendix for more). Our algorithm (blue) consistently has smaller
cost when partitioning on the months and products dimension. This
indicates the 1st loading vectors in sub-tensors can more faithfully
represent the patterns. However, for states, there is no clear difference.
Summary. The experiments prove that our algorithm can find more
reasonable ways to partition the tensor and represent the patterns more
faithfully. The curse of dimensionality [20] could be a possible explana-
tion. For the baseline algorithm, the dimensionality of feature vectors
can easily exceed a thousand or even tens of thousands. This leads to
the result that all the entries appear to be dissimilar, regardless of the
distance metrics (e.g., Euclidean distance) being used. This prevents
commonly-used clustering methods from being effective.
7 EXPERT FEEDBACK
We collected and summarized the feedback provided by the domain
experts when they were completing the first two case studies.
Usability. The experts all appreciated our system and confirmed the
usefulness of the various features in TPFlow. They agreed that the sys-
tem is efficient and effective not only for searching meaningful patterns
within data but also for verifying their reliability. The CST experts
emphasized that they identified some unexpected patterns using the
system. One of them praised the smooth interactions and commented,
“The steerable partition interactions are quite useful. It allows me to go
forth and back to refine my operations without losing the context.”
Improvement. Although the system is easy to use without a steep
learning curve for the four data scientists, it can be still challenging
for ordinary users (e.g., store managers) without technical background
knowledge in data cube, clustering, or some statistical terminologies
like quartiles. For those users, our experts suggest us to further simplify
the visual interface and interactions. Another valuable comment from
one of the RS experts is that the system can provide interactive widgets
for dynamically setting the bin size (e.g., time interval in temporal
dimension) to construct ST tensor, as the choices of units in each tensor
dimension are closely related to the analytic tasks.
8 DISCUSSION, LIMITATIONS AND FUTURE WORK
At the current stage, we aim at developing a generic system for ST
data in various application domains to demonstrate the effectiveness
of the tensor-based analytical workflow. We put extra emphasis on the
interpretability and faithfulness of the displayed patterns. We visualize
the patterns with widely-used visualizations instead of sophisticated
visual encodings for general applicability. The current system can be
easily extended by integrating more advanced visualization techniques
tailored to domain-specific tasks. Besides that, revealing more detailed
information in the decomposition process can be useful for users with a
strong technical background. For example, we can visualize the feature
vectors (refer to Sec. 3.2) of the entries on one dimension on a 2D plane
using dimension reduction techniques for interactive visual clustering.
Algorithm scalability. The decomposition algorithm may become in-
efficient when the tensor size increases. Thus, several techniques can be
considered to improve the performance. For example, we can apply a
more space and time efficient tensor decomposition method [57] which
sacrifices a certain amount of accuracy in exchange for a 10x-100x
speed-up. We can use GPU to accelerate the process since many tensor
operations can be parallelized. We can also apply the progressive ana-
lytics [52] methodology: for long queries enable the analysts to observe
the algorithm’s partial results and interactively prioritize subspaces of
interest. Besides that, hierarchical structures can be used to construct
tensors with multi-resolution to further speed up computation.
Visual/perceptual scalability. The current system as we observe can
reasonably support simultaneous comparison of one dozen partitions,
due to the limited number of categorical colors that people can ef-
fectively differentiate [44]. Furthermore, some of the charts we use
in the system cannot handle too many entries. For example, the bar
chart cannot visualize too many rows on a single screen. Nevertheless,
we believe that the current visual design can be applied to most ap-
plication scenarios, as the current system is targeting at providing an
overview of data instead of displaying every detail. For details, they
are usually application specific and can be provided on-demand [50].
Besides that, the system can also integrate advanced interaction tech-
niques such as semantic zoom [63], hierarchical exploration [62], and
focus+context [47] to handle the scalability problem.
Spatio-temporal coherence. For some scenarios, analysts prefer to
see neighboring hours or regions are grouped together with a higher
probability. Our algorithm currently does not incorporate such con-
textual information (i.e., the order of timestamps and the distances
between regions). To exploit such information, we consider adding a
regularization term [53] in the tensor decomposition model to smooth
the feature vectors on the spatial and temporal dimensions. This helps
increase the possibility for the nearby time intervals or regions being
assigned to one group. As a future work, we plan to integrate such
regularization term and allow analysts to use them on demand.
9 CONCLUSION
We introduce an interactive visualization system, TPFlow, for explo-
rative analysis of large-scale multidimensional ST data using a top-
down, progressive partitioning approach. We propose a novel tensor-
based algorithm to support automated partitioning and multidimen-
sional pattern extraction on ST data. The algorithm is grounded on a
quantitative measure about how faithfully the extracted patterns can
visually represent the original data. We compare the algorithm to a
baseline method. Our algorithm produces results that 1) align bet-
ter with ground truth on synthetic data and 2) represent the original
data more faithfully on real-world ST data. Built upon the algorithm,
the TPFlow system features a novel combination of visualization and
interaction designs to facilitate pattern discovery, comparison and veri-
fication. We present example usage scenarios with real-world ST data
from three application domains to demonstrate the general applicability
and effectiveness of our method.
ACKNOWLEDGMENTS
We would like to thank Miaoyan Wang for discussing the idea, Quin
Smith for supporting the video editing, and Sina Fiesta and Siheng Liu
for proofreading the paper. We are grateful for the valuable comments
provided by Prof. Huamin Qu and the VAST reviewers. This work is
supported in part by grant RGC GRF 16241916.
Authorized licensed use limited to: OREGON STATE UNIV. Downloaded on April 27,2022 at 00:08:01 UTC from IEEE Xplore. Restrictions apply.
10 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 25, NO. 1, JANUARY 2019
REFERENCES
[1] T.W. Anderson. Estimating linear restrictions on regression coefficients for
multivariate normal distributions. The Annals of Mathematical Statistics,
pp. 327–351, 1951.
[2] G. Andrienko, N. Andrienko, S. Bremm, T. Schreck, T. Von Landesberger,
P. Bak, and D. Keim. Space-in-time and time-in-space self-organizing
maps for exploring spatiotemporal patterns. In Computer Graphics Forum,
vol. 29, pp. 913–922. Wiley Online Library, 2010.
[3] G. Andrienko, N. Andrienko, W. Chen, R. Maciejewski, and Y. Zhao.
Visual analytics of mobility and transportation: State of the art and further
research directions. IEEE Transactions on Intelligent Transportation
Systems, 18(8):2232–2249, 2017.
[4] G. Andrienko, N. Andrienko, G. Fuchs, and J. Wood. Revealing patterns
and trends of mass mobility through spatial and temporal abstraction of
origin-destination movement data. IEEE transactions on visualization and
computer graphics, 23(9):2120–2136, 2017.
[5] N. Andrienko, G. Andrienko, and P. Gatalsky. Exploratory spatio-temporal
visualization: an analytical review. Journal of Visual Languages & Com-
puting, 14(6):503–541, 2003.
[6] M. Ankerst, M. M. Breunig, H.-P. Kriegel, and J. Sander. Optics: ordering
points to identify the clustering structure. In ACM Sigmod record, vol. 28,
pp. 49–60. ACM, 1999.
[7] B. Bach, P. Dragicevic, D. Archambault, C. Hurter, and S. Carpendale. A
review of temporal data visualizations based on space-time cube operations.
In Eurographics conference on visualization, 2014.
[8] M. T. Bahadori, Q. R. Yu, and Y. Liu. Fast multivariate spatio-temporal
analysis via low rank tensor learning. In Advances in neural information
processing systems, pp. 3491–3499, 2014.
[9] R. Beecham, J. Dykes, W. Meulemans, A. Slingsby, C. Turkay, and
J. Wood. Map lineups: effects of spatial structure on graphical inference.
IEEE transactions on visualization and computer graphics, 23(1):391–400,
2017.
[10] E. V. Bonilla, K. M. Chai, and C. Williams. Multi-task gaussian process
prediction. In Advances in neural information processing systems, pp.
153–160, 2008.
[11] X. Cai, K. Efstathiou, X. Xie, Y. Wu, Y. Shi, and L. Yu. A study of the
effect of doughnut chart parameters on proportion estimation accuracy. In
Computer Graphics Forum. Wiley Online Library.
[12] N. Cao, C. Lin, Q. Zhu, Y.-R. Lin, X. Teng, and X. Wen. Voila: Visual
anomaly detection and monitoring with streaming spatiotemporal data.
IEEE transactions on visualization and computer graphics, 24(1):23–33,
2018.
[13] J. D. Carroll and J.-J. Chang. Analysis of individual differences in mul-
tidimensional scaling via an n-way generalization of "eckart-young" de-
composition. Psychometrika, 35(3):283–319, 1970.
[14] W. Chen, F. Guo, and F.-Y. Wang. A survey of traffic data visualization.
IEEE Transactions on Intelligent Transportation Systems, 16(6):2970–
2984, 2015.
[15] X. Chen, Z. He, and J. Wang. Spatial-temporal traffic speed patterns discov-
ery and incomplete data recovery via svd-combined tensor decomposition.
Transportation Research Part C: Emerging Technologies, 86:59–77, 2018.
[16] A. Cichocki, R. Zdunek, A. H. Phan, and S.-i. Amari. Nonnegative matrix
and tensor factorizations: applications to exploratory multi-way data
analysis and blind source separation. John Wiley & Sons, 2009.
[17] N. Cressie and H.-C. Huang. Classes of nonseparable, spatio-temporal
stationary covariance functions. Journal of the American Statistical Asso-
ciation, 94(448):1330–1339, 1999.
[18] N. Cressie, T. Shi, and E. L. Kang. Fixed rank filtering for spatio-temporal
data. Journal of Computational and Graphical Statistics, 19(3):724–745,
2010.
[19] Q. Cui, M. Ward, E. Rundensteiner, and J. Yang. Measuring data ab-
straction quality in multiresolution visualizations. IEEE Transactions on
Visualization and Computer Graphics, 12(5):709–716, 2006.
[20] D. L. Donoho et al. High-dimensional data analysis: The curses and
blessings of dimensionality. AMS Math Challenges Lecture, 1:32, 2000.
[21] H. Doraiswamy, N. Ferreira, T. Damoulas, J. Freire, and C. T. Silva. Using
topological analysis to support event-guided exploration in urban data.
IEEE transactions on visualization and computer graphics, 20(12):2634–
2643, 2014.
[22] Z. Fan, X. Song, and R. Shibasaki. Cityspectrum: a non-negative tensor
factorization approach. In UbiComp, pp. 213–223. ACM, 2014.
[23] N. Ferreira, J. Poco, H. T. Vo, J. Freire, and C. T. Silva. Visual exploration
of big spatio-temporal urban data: A study of new york city taxi trips. IEEE
Transactions on Visualization and Computer Graphics, 19(12):2149–2158,
2013.
[24] J. Han, J. Pei, and M. Kamber. Data mining: concepts and techniques.
Elsevier, 2011.
[25] Y. Han and F. Moutarde. Analysis of large-scale traffic dynamics in an
urban transportation network using non-negative tensor factorization. Inter-
national Journal of Intelligent Transportation Systems Research, 14(1):36–
49, 2016.
[26] R. A. Harshman. Foundations of the parafac procedure: Models and
conditions for an" explanatory" multimodal factor analysis. 1970.
[27] L. Hubert and P. Arabie. Comparing partitions. Journal of classification,
2(1):193–218, 1985.
[28] E. H. Isaaks and M. R. Srivastava. Applied geostatistics. Number 551.72
ISA. 1989.
[29] N. Kamat, P. Jayachandran, K. Tunga, and A. Nandi. Distributed and
interactive cube exploration. In ICDE, pp. 472–483. IEEE, 2014.
[30] S. Kandel, R. Parikh, A. Paepcke, J. M. Hellerstein, and J. Heer. Profiler:
Integrated statistical analysis and visualization for data quality assessment.
In Proceedings of the International Working Conference on Advanced
Visual Interfaces, pp. 547–554. ACM, 2012.
[31] D. A. Keim. Designing pixel-oriented visualization techniques: The-
ory and applications. IEEE Transactions on visualization and computer
graphics, 6(1):59–78, 2000.
[32] S. Ko, R. Maciejewski, Y. Jang, and D. S. Ebert. Marketanalyzer: an
interactive visual analytics system for analyzing competitive advantage
using point of sale data. In Computer Graphics Forum, vol. 31, pp. 1245–
1254. Wiley Online Library, 2012.
[33] E. Kofidis and P. A. Regalia. On the best rank-1 approximation of higher-
order supersymmetric tensors. SIAM Journal on Matrix Analysis and
Applications, 23(3):863–884, 2002.
[34] T. G. Kolda and B. W. Bader. Tensor decompositions and applications.
SIAM review, 51(3):455–500, 2009.
[35] M.-J. Kraak. The space-time cube revisited from a geovisualization per-
spective. In Proc. 21st International Cartographic Conference, pp. 1988–
1996, 2003.
[36] L. Lins, J. T. Klosowski, and C. Scheidegger. Nanocubes for real-time
exploration of spatiotemporal datasets. IEEE Transactions on Visualization
and Computer Graphics, 19(12):2456–2465, 2013.
[37] D. Liu, F. Guo, B. Deng, H. Qu, and Y. Wu. egocomp: A node-link-
based technique for visual comparison of ego-networks. Information
Visualization, 16(3):179–189, 2017.
[38] D. Liu, D. Weng, Y. Li, J. Bao, Y. Zheng, H. Qu, and Y. Wu. Smartadp:
Visual analytics of large-scale taxi trajectories for selecting billboard
locations. IEEE transactions on visualization and computer graphics,
23(1):1–10, 2017.
[39] M. Liu, J. Shi, Z. Li, C. Li, J. Zhu, and S. Liu. Towards better analysis of
deep convolutional neural networks. IEEE Transactions on Visualization
and Computer Graphics, 23(1):91–100, 2017.
[40] S. Liu, W. Cui, Y. Wu, and M. Liu. A survey on information visualization:
recent advances and challenges. The Visual Computer, 30(12):1373–1393,
2014.
[41] Z. Liu, B. Jiang, and J. Heer. immens: Real-time visual querying of big
data. In Computer Graphics Forum, vol. 32, pp. 421–430. Wiley Online
Library, 2013.
[42] W. Luan, G. Liu, C. Jiang, and L. Qi. Partition-based collaborative tensor
factorization for poi recommendation. IEEE/CAA Journal of Automatica
Sinica, 4(3):437–446, 2017.
[43] M. Mørup. Applications of tensor (multiway array) factorizations and
decompositions in data mining. Wiley Interdisciplinary Reviews: Data
Mining and Knowledge Discovery, 1(1):24–40, 2011.
[44] T. Munzner. Visualization analysis and design. CRC press, 2014.
[45] C. A. Pahins, S. A. Stephens, C. Scheidegger, and J. L. Comba. Hashed-
cubes: Simple, low memory, real-time visual exploration of big data.
IEEE transactions on visualization and computer graphics, 23(1):671–
680, 2017.
[46] G. Punj and D. W. Stewart. Cluster analysis in marketing research: Review
and suggestions for application. Journal of marketing research, pp. 134–
148, 1983.
[47] R. Rao and S. K. Card. The table lens: merging graphical and symbolic
representations in an interactive focus+ context visualization for tabular
information. In SIGCHI, pp. 318–322. ACM, 1994.
[48] D. Sacha, M. Kraus, J. Bernard, M. Behrisch, T. Schreck, Y. Asano,
and D. A. Keim. SOMFlow: Guided Exploratory Cluster Analysis with
Self-Organizing Maps and Analytic Provenance. IEEE Transactions on
Visualization and Computer Graphics, 24(1):120–130, 2018. doi: 10.
1109/TVCG.2017.2744805
[49] R. Scheepens, C. Hurter, H. Van De Wetering, and J. J. Van Wijk. Visu-
alization, selection, and analysis of traffic flows. IEEE transactions on
visualization and computer graphics, 22(1):379–388, 2016.
[50] B. Shneiderman. The eyes have it: A task by data type taxonomy for
information visualizations. In The Craft of Information Visualization, pp.
364–371. Elsevier, 2003.
[51] D. Skau and R. Kosara. Arcs, angles, or areas: individual data encodings in
pie and donut charts. In Computer Graphics Forum, vol. 35, pp. 121–130.
Wiley Online Library, 2016.
[52] C. D. Stolper, A. Perer, and D. Gotz. Progressive visual analytics: User-
driven visual exploration of in-progress analytics. IEEE Transactions on
Visualization and Computer Graphics, 20(12):1653–1662, 2014.
[53] K. Takeuchi, Y. Kawahara, and T. Iwata. Structurally regularized non-
negative tensor factorization for spatio-temporal pattern discoveries. In
Joint European Conference on Machine Learning and Knowledge Discov-
ery in Databases, pp. 582–598. Springer, 2017.
[54] M. Trutschl, G. Grinstein, and U. Cvek. Intelligently resolving point
occlusion. In Information Visualization, pp. 131–136. IEEE, 2003.
[55] J. J. Van Wijk and E. R. Van Selow. Cluster and calendar based visualiza-
tion of time series data. In Information Visualization, 1999.(Info Vis’ 99)
Proceedings. 1999 IEEE Symposium on, pp. 4–9. IEEE, 1999.
[56] T. Von Landesberger, F. Brodkorb, P. Roskosch, N. Andrienko, G. An-
drienko, and A. Kerren. Mobilitygraphs: Visual analysis of mass mobility
dynamics via spatio-temporal graphs and clustering. IEEE transactions
on visualization and computer graphics, 22(1):11–20, 2016.
[57] Y. Wang, H.-Y. Tung, A. J. Smola, and A. Anandkumar. Fast and guaran-
teed tensor decomposition via sketching. In Advances in Neural Informa-
tion Processing Systems, pp. 991–999, 2015.
[58] D. Weng, R. Chen, Z. Deng, F. Wu, J. Chen, and Y. Wu. Towards better spa-
tial integration in ranking visualization. To appear in IEEE Transactions
on Visualization and Computer Graphics.
[59] D. Weng, H. Zhu, J. Bao, Y. Zheng, and Y. Wu. Homefinder revisited: find-
ing ideal homes with reachability-centric multi-criteria decision making.
In Proceedings of the 2018 CHI, p. 247. ACM, 2018.
[60] Y. Wu, Z. Chen, G. Sun, X. Xie, N. Cao, S. Liu, and W. Cui. Stream-
explorer: A multi-stage system for visually exploring events in social
streams. To appear in IEEE Transactions on Visualization and Computer
Graphics, (1):1–1, 2018.
[61] Y. Yan, Y. Tao, J. Xu, S. Ren, and H. Lin. Visual analytics of bike-sharing
data based on tensor factorization. Journal of Visualization, pp. 1–15,
2018.
[62] J. Yang, M. O. Ward, and E. A. Rundensteiner. Hierarchical exploration of
large multivariate data sets. In Data Visualization, pp. 201–212. Springer,
2003.
[63] J. S. Yi, Y. ah Kang, and J. Stasko. Toward a deeper understanding of
the role of interaction in information visualization. IEEE transactions on
visualization and computer graphics, 13(6):1224–1231, 2007.
[64] T. Zhang and G. H. Golub. Rank-one approximation to high order tensors.
SIAM Journal on Matrix Analysis and Applications, 23(2):534–550, 2001.
[65] J. Zhao, P. Forer, and A. S. Harvey. Activities, ringmaps and geovisu-
alization of large human movement fields. Information visualization,
7(3-4):198–209, 2008.
[66] Y. Zheng, L. Capra, O. Wolfson, and H. Yang. Urban computing: concepts,
methodologies, and applications. ACM Transactions on Intelligent Systems
and Technology (TIST), 5(3):38, 2014.
[67] Y. Zheng, W. Wu, Y. Chen, H. Qu, and L. M. Ni. Visual analytics in urban
computing: An overview. IEEE Transactions on Big Data, 2(3):276–296,
2016.
Authorized licensed use limited to: OREGON STATE UNIV. Downloaded on April 27,2022 at 00:08:01 UTC from IEEE Xplore. Restrictions apply.
LIU ET AL.: TPFLOW: PROGRESSIVE PARTITION AND MULTIDIMENSIONAL PATTERN EXTRACTION FOR LARGE-SCALE SPATIO-TEMPORAL DATA ANALYSIS 11
REFERENCES
[1] T.W. Anderson. Estimating linear restrictions on regression coefficients for
multivariate normal distributions. The Annals of Mathematical Statistics,
pp. 327–351, 1951.
[2] G. Andrienko, N. Andrienko, S. Bremm, T. Schreck, T. Von Landesberger,
P. Bak, and D. Keim. Space-in-time and time-in-space self-organizing
maps for exploring spatiotemporal patterns. In Computer Graphics Forum,
vol. 29, pp. 913–922. Wiley Online Library, 2010.
[3] G. Andrienko, N. Andrienko, W. Chen, R. Maciejewski, and Y. Zhao.
Visual analytics of mobility and transportation: State of the art and further
research directions. IEEE Transactions on Intelligent Transportation
Systems, 18(8):2232–2249, 2017.
[4] G. Andrienko, N. Andrienko, G. Fuchs, and J. Wood. Revealing patterns
and trends of mass mobility through spatial and temporal abstraction of
origin-destination movement data. IEEE transactions on visualization and
computer graphics, 23(9):2120–2136, 2017.
[5] N. Andrienko, G. Andrienko, and P. Gatalsky. Exploratory spatio-temporal
visualization: an analytical review. Journal of Visual Languages & Com-
puting, 14(6):503–541, 2003.
[6] M. Ankerst, M. M. Breunig, H.-P. Kriegel, and J. Sander. Optics: ordering
points to identify the clustering structure. In ACM Sigmod record, vol. 28,
pp. 49–60. ACM, 1999.
[7] B. Bach, P. Dragicevic, D. Archambault, C. Hurter, and S. Carpendale. A
review of temporal data visualizations based on space-time cube operations.
In Eurographics conference on visualization, 2014.
[8] M. T. Bahadori, Q. R. Yu, and Y. Liu. Fast multivariate spatio-temporal
analysis via low rank tensor learning. In Advances in neural information
processing systems, pp. 3491–3499, 2014.
[9] R. Beecham, J. Dykes, W. Meulemans, A. Slingsby, C. Turkay, and
J. Wood. Map lineups: effects of spatial structure on graphical inference.
IEEE transactions on visualization and computer graphics, 23(1):391–400,
2017.
[10] E. V. Bonilla, K. M. Chai, and C. Williams. Multi-task gaussian process
prediction. In Advances in neural information processing systems, pp.
153–160, 2008.
[11] X. Cai, K. Efstathiou, X. Xie, Y. Wu, Y. Shi, and L. Yu. A study of the
effect of doughnut chart parameters on proportion estimation accuracy. In
Computer Graphics Forum. Wiley Online Library.
[12] N. Cao, C. Lin, Q. Zhu, Y.-R. Lin, X. Teng, and X. Wen. Voila: Visual
anomaly detection and monitoring with streaming spatiotemporal data.
IEEE transactions on visualization and computer graphics, 24(1):23–33,
2018.
[13] J. D. Carroll and J.-J. Chang. Analysis of individual differences in mul-
tidimensional scaling via an n-way generalization of "eckart-young" de-
composition. Psychometrika, 35(3):283–319, 1970.
[14] W. Chen, F. Guo, and F.-Y. Wang. A survey of traffic data visualization.
IEEE Transactions on Intelligent Transportation Systems, 16(6):2970–
2984, 2015.
[15] X. Chen, Z. He, and J. Wang. Spatial-temporal traffic speed patterns discov-
ery and incomplete data recovery via svd-combined tensor decomposition.
Transportation Research Part C: Emerging Technologies, 86:59–77, 2018.
[16] A. Cichocki, R. Zdunek, A. H. Phan, and S.-i. Amari. Nonnegative matrix
and tensor factorizations: applications to exploratory multi-way data
analysis and blind source separation. John Wiley & Sons, 2009.
[17] N. Cressie and H.-C. Huang. Classes of nonseparable, spatio-temporal
stationary covariance functions. Journal of the American Statistical Asso-
ciation, 94(448):1330–1339, 1999.
[18] N. Cressie, T. Shi, and E. L. Kang. Fixed rank filtering for spatio-temporal
data. Journal of Computational and Graphical Statistics, 19(3):724–745,
2010.
[19] Q. Cui, M. Ward, E. Rundensteiner, and J. Yang. Measuring data ab-
straction quality in multiresolution visualizations. IEEE Transactions on
Visualization and Computer Graphics, 12(5):709–716, 2006.
[20] D. L. Donoho et al. High-dimensional data analysis: The curses and
blessings of dimensionality. AMS Math Challenges Lecture, 1:32, 2000.
[21] H. Doraiswamy, N. Ferreira, T. Damoulas, J. Freire, and C. T. Silva. Using
topological analysis to support event-guided exploration in urban data.
IEEE transactions on visualization and computer graphics, 20(12):2634–
2643, 2014.
[22] Z. Fan, X. Song, and R. Shibasaki. Cityspectrum: a non-negative tensor
factorization approach. In UbiComp, pp. 213–223. ACM, 2014.
[23] N. Ferreira, J. Poco, H. T. Vo, J. Freire, and C. T. Silva. Visual exploration
of big spatio-temporal urban data: A study of new york city taxi trips. IEEE
Transactions on Visualization and Computer Graphics, 19(12):2149–2158,
2013.
[24] J. Han, J. Pei, and M. Kamber. Data mining: concepts and techniques.
Elsevier, 2011.
[25] Y. Han and F. Moutarde. Analysis of large-scale traffic dynamics in an
urban transportation network using non-negative tensor factorization. Inter-
national Journal of Intelligent Transportation Systems Research, 14(1):36–
49, 2016.
[26] R. A. Harshman. Foundations of the parafac procedure: Models and
conditions for an" explanatory" multimodal factor analysis. 1970.
[27] L. Hubert and P. Arabie. Comparing partitions. Journal of classification,
2(1):193–218, 1985.
[28] E. H. Isaaks and M. R. Srivastava. Applied geostatistics. Number 551.72
ISA. 1989.
[29] N. Kamat, P. Jayachandran, K. Tunga, and A. Nandi. Distributed and
interactive cube exploration. In ICDE, pp. 472–483. IEEE, 2014.
[30] S. Kandel, R. Parikh, A. Paepcke, J. M. Hellerstein, and J. Heer. Profiler:
Integrated statistical analysis and visualization for data quality assessment.
In Proceedings of the International Working Conference on Advanced
Visual Interfaces, pp. 547–554. ACM, 2012.
[31] D. A. Keim. Designing pixel-oriented visualization techniques: The-
ory and applications. IEEE Transactions on visualization and computer
graphics, 6(1):59–78, 2000.
[32] S. Ko, R. Maciejewski, Y. Jang, and D. S. Ebert. Marketanalyzer: an
interactive visual analytics system for analyzing competitive advantage
using point of sale data. In Computer Graphics Forum, vol. 31, pp. 1245–
1254. Wiley Online Library, 2012.
[33] E. Kofidis and P. A. Regalia. On the best rank-1 approximation of higher-
order supersymmetric tensors. SIAM Journal on Matrix Analysis and
Applications, 23(3):863–884, 2002.
[34] T. G. Kolda and B. W. Bader. Tensor decompositions and applications.
SIAM review, 51(3):455–500, 2009.
[35] M.-J. Kraak. The space-time cube revisited from a geovisualization per-
spective. In Proc. 21st International Cartographic Conference, pp. 1988–
1996, 2003.
[36] L. Lins, J. T. Klosowski, and C. Scheidegger. Nanocubes for real-time
exploration of spatiotemporal datasets. IEEE Transactions on Visualization
and Computer Graphics, 19(12):2456–2465, 2013.
[37] D. Liu, F. Guo, B. Deng, H. Qu, and Y. Wu. egocomp: A node-link-
based technique for visual comparison of ego-networks. Information
Visualization, 16(3):179–189, 2017.
[38] D. Liu, D. Weng, Y. Li, J. Bao, Y. Zheng, H. Qu, and Y. Wu. Smartadp:
Visual analytics of large-scale taxi trajectories for selecting billboard
locations. IEEE transactions on visualization and computer graphics,
23(1):1–10, 2017.
[39] M. Liu, J. Shi, Z. Li, C. Li, J. Zhu, and S. Liu. Towards better analysis of
deep convolutional neural networks. IEEE Transactions on Visualization
and Computer Graphics, 23(1):91–100, 2017.
[40] S. Liu, W. Cui, Y. Wu, and M. Liu. A survey on information visualization:
recent advances and challenges. The Visual Computer, 30(12):1373–1393,
2014.
[41] Z. Liu, B. Jiang, and J. Heer. immens: Real-time visual querying of big
data. In Computer Graphics Forum, vol. 32, pp. 421–430. Wiley Online
Library, 2013.
[42] W. Luan, G. Liu, C. Jiang, and L. Qi. Partition-based collaborative tensor
factorization for poi recommendation. IEEE/CAA Journal of Automatica
Sinica, 4(3):437–446, 2017.
[43] M. Mørup. Applications of tensor (multiway array) factorizations and
decompositions in data mining. Wiley Interdisciplinary Reviews: Data
Mining and Knowledge Discovery, 1(1):24–40, 2011.
[44] T. Munzner. Visualization analysis and design. CRC press, 2014.
[45] C. A. Pahins, S. A. Stephens, C. Scheidegger, and J. L. Comba. Hashed-
cubes: Simple, low memory, real-time visual exploration of big data.
IEEE transactions on visualization and computer graphics, 23(1):671–
680, 2017.
[46] G. Punj and D. W. Stewart. Cluster analysis in marketing research: Review
and suggestions for application. Journal of marketing research, pp. 134–
148, 1983.
[47] R. Rao and S. K. Card. The table lens: merging graphical and symbolic
representations in an interactive focus+ context visualization for tabular
information. In SIGCHI, pp. 318–322. ACM, 1994.
[48] D. Sacha, M. Kraus, J. Bernard, M. Behrisch, T. Schreck, Y. Asano,
and D. A. Keim. SOMFlow: Guided Exploratory Cluster Analysis with
Self-Organizing Maps and Analytic Provenance. IEEE Transactions on
Visualization and Computer Graphics, 24(1):120–130, 2018. doi: 10.
1109/TVCG.2017.2744805
[49] R. Scheepens, C. Hurter, H. Van De Wetering, and J. J. Van Wijk. Visu-
alization, selection, and analysis of traffic flows. IEEE transactions on
visualization and computer graphics, 22(1):379–388, 2016.
[50] B. Shneiderman. The eyes have it: A task by data type taxonomy for
information visualizations. In The Craft of Information Visualization, pp.
364–371. Elsevier, 2003.
[51] D. Skau and R. Kosara. Arcs, angles, or areas: individual data encodings in
pie and donut charts. In Computer Graphics Forum, vol. 35, pp. 121–130.
Wiley Online Library, 2016.
[52] C. D. Stolper, A. Perer, and D. Gotz. Progressive visual analytics: User-
driven visual exploration of in-progress analytics. IEEE Transactions on
Visualization and Computer Graphics, 20(12):1653–1662, 2014.
[53] K. Takeuchi, Y. Kawahara, and T. Iwata. Structurally regularized non-
negative tensor factorization for spatio-temporal pattern discoveries. In
Joint European Conference on Machine Learning and Knowledge Discov-
ery in Databases, pp. 582–598. Springer, 2017.
[54] M. Trutschl, G. Grinstein, and U. Cvek. Intelligently resolving point
occlusion. In Information Visualization, pp. 131–136. IEEE, 2003.
[55] J. J. Van Wijk and E. R. Van Selow. Cluster and calendar based visualiza-
tion of time series data. In Information Visualization, 1999.(Info Vis’ 99)
Proceedings. 1999 IEEE Symposium on, pp. 4–9. IEEE, 1999.
[56] T. Von Landesberger, F. Brodkorb, P. Roskosch, N. Andrienko, G. An-
drienko, and A. Kerren. Mobilitygraphs: Visual analysis of mass mobility
dynamics via spatio-temporal graphs and clustering. IEEE transactions
on visualization and computer graphics, 22(1):11–20, 2016.
[57] Y. Wang, H.-Y. Tung, A. J. Smola, and A. Anandkumar. Fast and guaran-
teed tensor decomposition via sketching. In Advances in Neural Informa-
tion Processing Systems, pp. 991–999, 2015.
[58] D. Weng, R. Chen, Z. Deng, F. Wu, J. Chen, and Y. Wu. Towards better spa-
tial integration in ranking visualization. To appear in IEEE Transactions
on Visualization and Computer Graphics.
[59] D. Weng, H. Zhu, J. Bao, Y. Zheng, and Y. Wu. Homefinder revisited: find-
ing ideal homes with reachability-centric multi-criteria decision making.
In Proceedings of the 2018 CHI, p. 247. ACM, 2018.
[60] Y. Wu, Z. Chen, G. Sun, X. Xie, N. Cao, S. Liu, and W. Cui. Stream-
explorer: A multi-stage system for visually exploring events in social
streams. To appear in IEEE Transactions on Visualization and Computer
Graphics, (1):1–1, 2018.
[61] Y. Yan, Y. Tao, J. Xu, S. Ren, and H. Lin. Visual analytics of bike-sharing
data based on tensor factorization. Journal of Visualization, pp. 1–15,
2018.
[62] J. Yang, M. O. Ward, and E. A. Rundensteiner. Hierarchical exploration of
large multivariate data sets. In Data Visualization, pp. 201–212. Springer,
2003.
[63] J. S. Yi, Y. ah Kang, and J. Stasko. Toward a deeper understanding of
the role of interaction in information visualization. IEEE transactions on
visualization and computer graphics, 13(6):1224–1231, 2007.
[64] T. Zhang and G. H. Golub. Rank-one approximation to high order tensors.
SIAM Journal on Matrix Analysis and Applications, 23(2):534–550, 2001.
[65] J. Zhao, P. Forer, and A. S. Harvey. Activities, ringmaps and geovisu-
alization of large human movement fields. Information visualization,
7(3-4):198–209, 2008.
[66] Y. Zheng, L. Capra, O. Wolfson, and H. Yang. Urban computing: concepts,
methodologies, and applications. ACM Transactions on Intelligent Systems
and Technology (TIST), 5(3):38, 2014.
[67] Y. Zheng, W. Wu, Y. Chen, H. Qu, and L. M. Ni. Visual analytics in urban
computing: An overview. IEEE Transactions on Big Data, 2(3):276–296,
2016.
Authorized licensed use limited to: OREGON STATE UNIV. Downloaded on April 27,2022 at 00:08:01 UTC from IEEE Xplore. Restrictions apply.


essay、essay代写