在所有的可视化仪表板中,和时间相关的图表是最常见的。除了最基本的折线图外,我们还有很多方式来呈现和分析时间序列的数据。
时间序列的模式(Time series patterns)
在开始探查分析前,我们需要先确定时间序列的模式。
常见的模式有:
- 趋势性(Trend):数据随时间变化的呈整体上升或下降的趋势。
- 季节性(Seasonal):数据在每年的特定季度、月份、周、日的数据波动。
- 周期性(Cyclic)数据存在不固定频率的上升和下降时,表示该序列有周期性,通常与商业活动有关。
很多时候时间序列会同时包含趋势、季节以及周期性。
美国新建房屋销售额表现出强烈的年度季节性,以及周期为6~10年的周期性。同时数据并没有表现出明显的趋势性。
柏林的游客数据同时包含了趋势性与季节性,即总的游客数量是稳步上升的,同时又有明显的季节性。
为了更清楚的看到季节性的分布,我们可以将多年的数据对齐到以月的方式查看。
时间的粒度/级别
不借助外部仪器,人类的极限反应速度可以到100毫秒。在科学分析场景,如物理学,时间精度可以更高。在商业分析场景,一般拿到的数据粒度会以:年、季度、月、周、日、小时 居多。细粒度的时间可以向上聚合到粗粒度的,比如:拿到的是去年每一天的销售额数据,但作为年度的总结,只要看每个月的销售额即可。
时间的连续与离散
连续的时间:
等间距,一个接一个的。如3月1日、3月2日、3月3日、一直到 3月15日每天的数据。如果缺了某几天的数据,在时间轴上仍然会保留对应的位置。
离散/序数的时间:
假设我们想看一周中每天的销售表现,这时可以从连续的时间中,提取出离散的周几时间来进行分析。
在具体分析时,我们一般还会区分下工作日与周末,并分别看平均值。
带着问题去分析
当前相比过去的变化
总结过去,展望未来。我们总是希望知道当前相比过去的变化。
以各个地区在过去几年销售额的变化为例,我们可以看到6个地区详细到每个月的销售额数据,但当我们想知道相比过去是否有增长或哪个地区的增长最快时,就没法看清了。
这个时候,可以通过斜率图(slopegraphs)来更好的分析与呈现,具体做法是只保留头尾时间的数据,然后用折线图来呈现,为了更容易发现上升下降,还可以用颜色来区分。
某个时间点前后的比较
从假设分析(What-If Analysis)的角度,我们会关心如果在某个时间点做了某个行动所带来的收益。
以买房为例,我们会关心如果我在某个时间点买了房,那么截止到当前的涨幅变化,以及相比更早的时间的变化。
这个是纽约的房价变化图,如果在2012年买入,那么到了2017时,会有21%的涨幅。而如果是在2006年的高点购入,则只有6%的涨幅。在做这样的假设分析时,我们一般会允许用户指定时间参数,以更灵活的分析前后的变化。
如何查看排名变化
相比过程本身,人们更容易关注结果。
假设我们有不同类别的商品在销售,每年的销售额稳步上升,除了关心具体的收入外,我们还想知道各个类别的排名变化。如果通过颜色来细分各个类别的销售额,虽然也可以看出一些排名变化,但还是会不直观。
这时我们可以先计算每年的销售额排名,然后用排名变化图(Bump Chart)来呈现。相比销售额随时间的大幅波动,排名变化图可以让你更好的聚焦于关心的点。
不同事件的增长速度
以玩具总动员三部曲为例,这3部电影发行于不同的年份,也都获得了很高的收入。
如果只看累计的票房收入,我们可以知道第二部的表现最好。但如果我们想知道这几部电影从首映日开始的增长变化或火爆程度就没法看出了。
从这个图上我们可以按周看发生在不同年份的,三部曲的每周票房收入。
更好的方式把时间对齐到一个公共基准点来查看分析,而不是查看一段绝对时间范围的数据。按星期看自首映日开始的总收入,就更容易比较增长曲线了。
如何分析事件的持续时间
在项目管理的场景,一个项目会拆分为多个可以并行或有前后依赖关系的任务。
为了查看总的用时,以及同时进行的任务,我们可以用甘特图(Gantt charts)来呈现和分析。这儿的205天是整个项目的用时。如果要算人天成本,可以把这儿的每个任务的用时加起来,即投入了4个人,总的人天是:292。