时间序列分析是统计学中的一个重要领域,它涉及到按时间顺序排列的数据点序列。这种数据序列可以是连续的,也可以是离散的,但关键在于时间因素在数据发生过程中始终存在。例如,在医疗保健行业中,血压和心率监测就是典型的时间序列数据;在环境领域,全球气温和空气污染水平的记录也构成了时间序列;在社会领域,一段时间内的出生率和人口数据同样属于时间序列数据。
时间序列分析是指使用特定的工具和技术对时间序列数据进行分析的过程。例如,通过分析餐厅每日访客的时间序列数据,餐厅管理层可以据此安排和调整员工数量,以适应访客数量的变化。
预测是基于历史数据进行的过程,目的是根据过去和现在的数据预测未来。预测主要分为两种类型:
定量预测是基于历史数据(即过去和现在的数据,主要是数值数据)进行的。通过这些历史数据,可以使用统计方法进行预测,从而减少偏差。而定性预测则是基于专家和客户的意见和判断进行的。在某些情况下,由于过去数据不可用或不清晰,依赖于判断和意见来进行预测。
回归分析和时间序列分析都涉及连续变量。回归分析关注的是因变量和自变量之间的关系,而时间序列分析则关注与时间相关的数据点序列。两者都旨在发现数据中的模式,并利用这些模式进行预测。
时间序列图有助于突出数据随时间变化的趋势和行为,以便构建更可靠的模型。为了理解这些模式,需要将数据结构化,并分解为几个因素。这些因素包括:
结构性断裂指的是时间序列数据中突然的变化,这种变化会影响结果的可靠性。趋势是指时间序列数据随时间的变化而变化的程度。季节性是指时间序列数据在固定时间间隔内显示的规律性模式。周期性是指时间序列数据在不固定的时间间隔内重复的模式。噪声是时间序列数据中的随机波动,不能考虑它们来预测未来。水平是指时间序列的平均值。
在这次分析中,使用了Kaggle的数据集。Kaggle是一个可以找到数据集、笔记本和其他与数据科学相关的东西的平台。这次分析使用的是“时间序列入门数据集”。
import pandas as pd
data = pd.read_csv('/content/sample_data/Month_Value_1.csv')
data.head()
这个数据集包含5列和96行。列分别是:
需要描述每一列以决定哪些是重要的。周期包含模型的周期,这里指定了2015年到2020年的每月日期。收入是公司从2015年到2020年每月的收入。销售数量是公司的销售数量。平均成本是生产的平均成本。该地区员工的平均年薪是该地区每年员工的平均人数。
data.plot.line(x=None, y=None)
这个折线图包含了所有5列的数据,因此它不能给出确切的视图。因此,现在可以分析2015年到2020年的收入时间序列,并丢弃所有其他列。
data = data.drop('Sales_quantity', 1)
data = data.drop('Average_cost', 1)
data = data.drop('The_average_annual_payroll_of_the_region', 1)
data.plot.line(x=None, y=None)