基于时间序列模型的传播预测方法研究
2022-07-26陈秋怡崔妮汤景泰
陈秋怡,崔妮,汤景泰
(1.暨南大学新闻与传播学院,广州 510632;2.暨南大学理工学院,广州 510632;3.复旦大学新闻学院,上海 200433)
1 引言
时间序列是一组按照时间发生先后顺序进行排列的数据点序列。通常一组时间序列的时间间隔为一恒定值,因此时间序列可以作为离散时间数据进行分析处理。时间序列分析方法目前广泛应用于涉及到时间数据测量的应用科学与工程学领域。传播学中有关影响力(influence)与传播效果(effect)的研究也早已涉及时间维度。许多经典理论,如涵化理论、议程设置、创新扩散等,也都将传播看作一个动态过程。但是相较于对时间序列进行精细研究的学科,传播学对于时间维度的研究,无论是在理论上还是在经验上,并没有取得很好的进展[1]。其中大部分研究缺乏对于时间因素的观察,主要集中于变量之间即时的或短期的关系研究,没有突破横断性研究的局限[1]。实际上,诸多传播学研究都需要引入时间维度。例如,单变量序列随着时间变化的模式是怎样的?两个或者多个时间序列之间存在什么关系?对于某变量的干预效果如何?这些问题都需要引入时间序列分析方法来展开研究[2]。
非参与式观察、永远在线、带有时间戳的数字痕迹(digital trace)都很适合用于时间序列分析。这些数字痕迹以新闻报道、社交媒体文本、用户响应行为等形式散布在互联网与电子设备中,为研究传播行为及其过程提供了机会[3]。预测趋势是时间序列分析的基本应用。在实践层面,时间序列预测具有很大的商业价值,可以有效推动业务规划和生产活动,时间序列的预测方法也多源于经济学。预测的基础是回归分析,探索一个(或多个)变量X解释和预测另一个变量Y是最朴素的回归分析(如公式(1),y是被预测变量,x是预测因子,β是回归线的斜率,α是截距,ϵ是随机误差)。选择和拟合模型、利用各种方法和指标测试与评价模型,实际上也是建立并验证科学理论的过程。在基于各种变量关系及其规律的研究方面,建立模型进行预测,基于预测结果改进模型,循环往复推动理论发展,从而实现研究闭环是基于数据/证据的研究最主要的目标。
在传播研究中,预测法可以通过数据挖掘来发现时间序列所反映的传播现象的发展过程和规律,并预测其发展趋势。致力于预测的各种时间序列分析建模方法在传媒经济学相关的研究中比较常用。特别是在探讨有关经济新闻传播效果的系列研究中,经济新闻报道(如主题、议程[4][5]、框架[6]、基调[7][8]等内容变量)与经济发展预期之间的关系备受关注。例如,有研究对经济新闻进行内容分析,并结合全国月度消费者信息数据、经济指标进行时间序列分析,证实新闻报道中的不确定性降低了消费者信心,助长了悲观情绪[9]。还有研究进一步透视了经济新闻报道基调对于读者的阅读兴趣、读者对国民经济评价的影响[10]。另一部分研究则关注经济新闻报道、公众关注等因素对股票市场的影响[11][12]。例如,有研究利用向量自回归模型分析了美国股票市场与经济新闻之间的相互关系[13]。有研究结合议程设置理论,分析新闻媒体和公共议程对于企业财务绩效的影响,发现媒体的关注度与公众关注度会对企业的股票市场评级产生影响[14]。还有研究建立了向量自回归模型,分析了荷兰新闻报道的情感基调对于股票开盘价的影响,以及新闻中的情感词汇对于股市走势的预测作用[15]。
基于时间序列的预测研究主要有以下五个步骤。一是对问题进行准确定义。二是收集所需要的数据和信息。这两步是前期研究设计的关键。三是需要进行数据的探索性分析,通过可视化时序数据观察其是否存在确定的模式,如趋势、季节性、周期等;探索可分析的变量间有无相关性、以及相关性有多大。对于非平稳时间序列,需要先进行平稳性处理,以避免产生虚假回归(spurious regression)的问题[16]。例如,两个呈现单调上升的时序尽管没有任何关系,但也会产生很高的模型拟合度(如,R2很高),同时残差的自相关性也很高。四是结合数据特征与分析目的选择合适的模型,特别是了解模型的前提假设、参数的意义。例如,如果仅用时间序列的历史值预测未来值,则是单变量时间序列预测(如公式(3),Yt+1是待预测的未来值,Yt…Yt-n是时间序列的历史值)。最简单的单变量预测方法就是利用(一定窗口长度的)历史平均值、或者上一个历史值来预测未来值。这是指数平滑模型(exponential smoothing methods)的方法[17]。如果时间序列非平稳但不具备季节性,可以考虑使用ARIMA模型,若具有明显的季节性则可以考虑采用SARIMA模型。在SARIMA模型的基础上中加入外部预测因子(即外生变量),则是SARIMAX模型。使用外生变量还需要知道该变量在预测期间的值。本文主要介绍常用的单变量序列分析方法ARIMA,以及考虑季节影响的SARIMA。单变量序列的分析方法往往只考虑了时序本身的趋势和季节性因素,但没有考虑其他外生的变量,而多变量时间序列预测还加入了外生的预测因子(如公式(4),分别加入了情感、主题、用户类型等预测因子)。在多变量时序预测方面,本文将介绍动态回归模型(dynamic regression models)的使用。
五是模型的预测与评价。首先,模型预测的关键之一在于选择最佳的预测因子。这就需要通过赤池信息准则(Akaike's Information Criterion,AIC)、交叉验证法(Cross Validation,CV)等指标选择预测因子。其次,评价模型预测准确度的误区之一是追求高R2。但实际上R2评价的是模型的拟合优度,模型的拟合优度并不代表预测的准测度,过高的拟合度可能意味着模型是过拟合的,反而不利于对未来值的预测。相对而言更可靠的方法是利用测试集数据测试预测效果。最后,线性回归对于残差有明确的假设:(1)零均值,以防止预测是系统性偏差;(2)非自相关,否则意味着还有可利用的相关信息没有提取成功,预测可能是失败的;(3)与预测因子无关,残差是独立的,否则意味着还有可以纳入预测模型的信息没有提取成功;(4)呈正态分布的方差恒定产生的预测区间才是可靠的。因此,对于基于线性关系的预测模型(ARIMA、SARIMA、动态回归模型),在最后都需要检查残差的性质。本文将具体对比三种经典的时间序列预测模型,并分析它们在传播学研究中的意义和价值。
2 单变量序列分析
在进行ARIMA预测之前,需要理解自回归(autoregressive,AR)与移动平均(Moving Average,MA)的概念。在多元线性回归中,研究者用不同的预测因子的线性组合去预测感兴趣的变量,而时间序列的特殊性质在于其具有自相关性,研究者可以利用其过去值来预测未来值,自回归则是变量对自身的回归。换言之,研究者是利用同一变量的不同时刻的值来构建模型。p阶的自回归模型如公式(5)所示,其中β1…βp是估计系数,ϵt是白噪音序列(即随机的残差),α是一个常数。移动平均则是利用过去值的预测误差构建模型,每一个Yt是过去几次预测误差的加权移动平均(公式6)。AR和MA是基于平稳序列的,因此系数β都有条件约束。
2.1 ARIMA
ARIMA(Autoregressive integrated moving average)模型,被称为差分整合移动平均自回归模型、整合移动平均自回归模型、或求和移动平均自回归模型。看名字的成分可以理解到,ARIMA其实结合了AR和MA,即用自身的过去值以及过去值的预测误差来解释给定的时序、预测未来值。因此,ARIMA本质上仍然是线性关系的拟合,而使用ARIMA之前,(非平稳)时序至少进行了一次差分使其平稳。非随机白噪音、非季节性的时间序列可以考虑利用ARIMA建模。进行了一次差分的ARIMA模型可表达为以下方程式:
ARIMA有三个特征项:p,d,q。p是AR项的阶数,即Y作为预测因子(即Yt-1到Yt-p)的滞后数;q则是MA项的阶数,即纳入模型的滞后预测误差(即ϵt-1到ϵt-q)的数量,而d则是使时序变平稳所需的差分次数。ARIMA模型的三个特征项也可以帮助研究者理解时序存在的特征模式,分析具有相似时序特征的传播行为(如表1所示)。
表1 ARIMA模型的特例
进行建模预测的关键之一是选择预测因子,那么应该如何确定p,d,q的数值呢?
(1)如何确定阶数
首先是确定d值,也就是使序列平稳所需的差分次数。需要注意不要过度差分,进而影响模型的参数选择。例如,可以利用ADF(Augmented Dickey Fuller)或 KPSS(Kwiatkowski-Phillips-Schmidt-Shin)等方法来进行单位根检验。单位根的数量与所需要的差分的数量有关。本文使用“COVID-19”的谷歌检索趋势数据测试差分次数。具体而言,首先通过python包pytrends直接调取2019年12月1日到2021年3月6日期间“COVID-19”的谷歌检索趋势;接着,利用pmdarima包进行ADF检验,结果为1。因此,该时序数据需要进行一次差分处理使其平稳。
差分使时序变平稳后,时序的数值会在均值附近波动,且自相关函数(Autocorrelation Functions,ACF)图的曲线迅速靠近零值。如果ACF的曲线在多个滞后上仍然是正的,则意味着还需要进行差分;但如果相关系数往负方向的绝对值过大,则可能过度差分了。借助ACF图,研究者可以判断d值。由图1可知,经过一次差分之后,自相关函数图中的绝对值已迅速靠近零值,所以d值为1更合适。MA是滞后预测的误差,换言之从ACF图可以判断需要多少项MA能够消除平稳序列中的任何自相关性。从图1可知,一次差分之后就没有滞后的系数超过显著性极限,因此q值为0。
图1 利用ACF函数判断差分次数
偏自相关函数(partial autocorrelation functions,PACF)表示了序列与滞后之间的直接相关性。那么,从PACF图可以判断所需要的AR项(即所需要的滞后数)。从图2的偏自相关图可以发现前面并没有滞后项超出显著性极限,即滞后的相关性不强,用于预测效果可能不佳。因此,此时的P值为0。
图2 利用PACF判断所需的滞后数
综上,本文可以得出 p,d,q的值分别是0,1,0。因此,适合示例数据的是ARIMA(0,1,0),这是一个随机游走模型。
(2)如何训练和评价模型
直接观察特征具有较大的主观性,一些评价模型预测准确度的指标可以帮助测试模型并选择最佳的预测因子及其数量。
以普通的线性回归模型为例,通常会利用CV、AIC、修正的赤池信息准则(Corrected Akaike's Information Criterion,AICc)、施瓦茨的贝叶斯信息准则(Schwarz's Bayesian Information Criterion,BIC)、调整的R方(adjusted R2)来评价预测的准确度[18]。R2用来评价模型对历史数据的拟合程度,而不是对于未来数值预测的准确度。因为R2没有考虑自由度,这会导致即使预测因子与被预测值的相关性很低,但增加预测因子的数量依然会使得R2变大。如果仅用R2判断会导致模型过拟合,就应该使用调整的R方。类似的指标还有误差平方和(Sum of Squares for Error,SSE)。寻求最大的R2相当于寻求最小的SSE,都会导致模型过拟合,而不是预测最准确。应该选择CV最小的模型,即预测误差平均值最小的模型。与CV思想相似的还有AIC,即用需要估计的参数的数量来惩罚模型的拟合,AIC最小的模型预测最佳。另一个相似的指标BIC比AIC进行了更严重的惩罚。但在观测值数量小情况下,AIC存在导向预测因子较多的模型问题,AICc可以解决这一问题。相比较而言,调整的R方虽然使用广泛但会导向预测因子数量更多的模型,而BIC则倾向于选择更少的预测因子,可能会导致参数估计不准确。因此,更推荐使用AICc、AIC、或CV[18]。pmdarima包提供了auto_arima函数,可以逐步搜索p、d、q参数的多个组合,并选择AIC最小的模型作为训练的最佳模型。本文继续使用相同的COVID-19谷歌检索趋势,对其依据AIC自动寻找最佳的ARIMA模型。其中参数设置为:利用ADF确定d值,p、q的最大值为3。
结果如图3(a)所示,最佳的模型依然是ARIMA(0,1,0),其AIC值最小。检查模型的残差分布、自相关等性质,结果如图3(b)显示:标准残差(standardized residual)靠近零均值,但存在一些极值;标准残差的直方图和估计密度(Histogram plus estimated density)显示中心值为0,但标准分位图(Normal Q-Q plot)中两端数值分布偏离参考线,显示数据比预期的正态分布有更多的极值;相关图(Correlogram)显示的值在零附近波动,残差无自相关性。
图3 ARIMA模型结果与残差的性质
进一步将数据集划分为训练集和测试集,来检查模型的预测准确度。如图4所示,预测值与实际值走向一致,平均绝对百分比误差(MAPE)约为0.27,即预测准确度约为73%。最后,对未来值进行预测(如图5所示)。可以发现,随机游走模型可对短期趋势进行预测,但长期方差会越来越大,预测区间也会很大,对长期预测的准确性不高。
图4 ARIMA预测值与现实值对比
图5 ARIMA对未来值的预测
2.2 SARIMA
对于具有季节性的序列,ARIMA模型的预测效果并不好,需要使用季节性差分的SARIMA模型。该模型定义为SARIMA(p,d,q)x(P,D,Q),其中P是季节差分的AR阶数、D是季节差分数,Q是季节差分的MA项的阶数。pmdarima的auto_arima函数依据AIC选择阶数,构建SARIMA模型。本文直接调用了statsmodel包中的实验数据“co2”,该数据集具有明显的季节性;接着设置模型参数seasonal为True,设置频率m为12(12个月),并设置季节差分阶数D为1(模型结果如表2所示)。残差结果如图6所示,残差在零均值附近波动,呈正态分布,没有自相关性。预测结果和预测区间如图7所示,预测结果符合季节性特点。
图7 SARIMA预测结果
表2 SARIMA模型的系数
3 动态回归模型
ARIMA模型、SARIMA模型纳入了时间序列的历史观察值,但不包括其它可能相关的信息,特别是那些有助于解释历史变化的其它外生变量。相比较而言,一般的回归模型可以包含与被预测变量相关的其它变量,但没有引入时序动态。动态回归模型(dynamic regression model)是ARIMA模型的扩展,结合了以上两者的特点,在引入时序动态的同时考虑了相关的外生变量。
一般的时序回归模型中的误差项是随机的白噪音,不具有自相关性,但动态回归模型允许误差项存在自相关。动态回归模型中存在两个残差项,分别是回归误差(存在自相关性),以及ARIMA误差(应该为白噪音)。在估计模型参数时,需要最小化误差平方和,使得估计的系数及其检验是有效的。在对回归模型进行参数估计之前,所有变量必须是平稳的,若存在非平稳序列应该对所有变量进行差分,然后再构建ARIMA误差的回归模型[18]。在具体操作上可以利用R的auto.arima函数,设置xreg的参数指定模型包含的预测变量,该函数会根据AICc最小原则选择最佳的预测模型。
在进行预测时,需要将线性回归和ARIMA模型两个结果结合起来,才能得到最后的预测结果。在普通回归模型中,要变量X预测变量Y,则先要预测X的未来值。X的未来值已知则很容易得到Y的预测值,但如果是未知的,则需要对X(或多个X)分别进行建模预测[18]。当数据存在明显的季节性时,包含傅里叶项的谐波回归方法表现会更好,该方法假设季节性是固定的。本文在利用auto.arima函数建模时,通过设置fourier的K值来逐步增加傅里叶项,并选择最小的AICc值的模型进行预测。除了季节性影响,变量还可能存在滞后效应,一个变量对另一个变量的影响并不是立刻显现的,而会滞后一段时间。对于这种情况,需要在模型中引入预测变量的滞后项来建模预测[18]。
在传播学研究中,动态回归模型有助于探究舆论演化的动态过程,特别是分析不同舆论主体间的联系[19]、信息内蕴含的情感对于线下运动的影响等问题。例如,对虚假信息进行情感分析[20],获取随着时间变化的虚假信息情感序列,以及行动暴力程度的时间分布(数据预处理的详细说明可参见文献[20])。以虚假信息的情感序列为预测因子,进行动态回归分析,结果如图8所示:残差不具备自相关性,而且厌恶(disgust)和恐惧(fear)的系数具有显著性(P<0.05)。因此,虚假信息中的厌恶、恐惧情感可以作为预测暴力活动发生的变量。
图8 动态回归模型结果
4 结语
综上所述,引入时间序列分析方法能够对所研究变量的动态变化、生成机制进行更好地理解与解释,甚至还可以对时间序列的未来值进行预测。传播是一个动态的过程,采用时序分析方法可以实现纵向研究的三个目标:特征描述、变量预测与因果分析。在三种不同的分析目标下,数据的采集、预处理以及统计与建模方法的选择是不同的。本文具体研究了经典的时间序列预测方法在传播学中的应用,包括ARIMA、SARIMA和动态回归模型,并总结了实现预测分析的基础过程与原则。ARIMA模型用于单变量非平稳时间序列的预测,但在实际应用中容易受到极值的影响,需要经过一定的数值转化处理。SARIMA则考虑了季节性因素,对具有季节变化的单变量时间序列的预测更准确。在实际研究中,由于影响变量的因子更为复杂,单变量时间序列的模型难以满足要求,但可以帮助研究者观察各类传播行为的时序特征。相比之下,动态回归模型不仅考虑了时序因素,还可以加入各种外生的预测因子,从而提高了对于复杂现象的预测能力,也为动态地研究传播行为提供了更多的可能性。除了经典的时序分析方法,未来基于时间维度的传播学量化研究可以进一步加强对前沿的多变量时间序列神经网络技术(如LSTM)的探索与应用。