📜  信号处理和时间序列(数据分析)

📅  最后修改于: 2021-09-16 10:37:24             🧑  作者: Mango

信号处理是一个工程领域,专注于分析与时间相关的模拟和数字信号。时间序列分析是信号处理的类别之一。

时间序列是按固定时间间隔记录的数据点序列。时间序列分析是您对序列进行预测之前的一个重要步骤,值的顺序在时间序列分析中很重要。此过程有助于提取有意义的统计数据和其他数据特征,这有助于创建准确的预测。时间序列被广泛用于天气、股票价格、零售销售等数据……

我们将在本节中讨论以下主题:

1. Moving Average
2. Autoregressive Models
3. ARMA Models 

这些解释如下。

1. 移动平均线:
移动平均线 (MA) 是一种广泛用于分析时间序列的计算方法。这指定了特定时间段的数据窗口,当新数据可用时,每次按一个时间段平均。

两种常用的移动平均线是:

  1. 简单移动平均线 (SMA) –
    SMA 的计算提供了定义数量的时间段的平均数据。数学公式如下:

    SMA = (a_m + a_{m-1} + ... + a_{m-(n-1)}) / n
    在哪里,
     a_m = 模型参数
    n = 总天数

  2. 指数移动平均线 (EMA) –
    指数移动平均线更优先考虑最近的数据。数学公式如下:

    EMA_n = EMA_{n-1} + k (P_n - EMA_{n-1})
    在哪里,
    P_n = 当前收盘价
    EMA_{n-1} = 前期 EMA [第一次计算的 SMA]
    k = 2 / (N+1) [指数或平滑常数]
    N = 计算 EMA 时考虑的总天数

EMA计算:
在这里,我们计算 5 天的 EMA。通常对于第一种情况,我们采用当前收盘价或前 5 天 SMA 值来获得第一个 EMA。对于以下示例,当前收盘价 ($22.81) 被视为第一个 EMA 值。

下一步是计算k值。由于计算是基于5天,N=5,k值计算如下:

k = 2/(5+1) = 0.3 

DAY CLOSE PRICE EMA SMA
1 22.81 22.81
2 23.09

第 2 天的 EMA 计算如下:

Current closing price = 23.09
Previous period EMA = 22.81
k = 0.3 
EMA 
= 22.81 + 0.3 * (23.09 - 22.81)
= 22.81 + 0.3 * 0.28
= 22.81 + 0.084
= 22.894 

DAY CLOSE PRICE EMA SMA
1 22.81 22.81
2 23.09 22.89
3 22.91

第 3 天的 EMA 计算如下:

Current closing price = 22.91
Previous period EMA = 22.89
k = 0.3 
EMA 
= 22.89 + 0.3 * (22.91 - 22.89)
= 22.89 + 0.3 * .02
= 22.89 + .006
= 22.896 

DAY CLOSE PRICE EMA SMA
1 22.81 22.81
2 23.09 22.89
3 22.91 22.89

SMA计算:
由于我们将总天数 (N) 视为 5,因此 SMA 计算为 5 个最近收盘价的平均值。

DAY CLOSE PRICE EMA SMA
1 22.81 22.81
2 23.09 22.89
3 22.91 22.89
4 23.23 22.99
5 22.83 22.94

5 天的 SMA 计算如下:

SMA 
= (22.81 + 23.09 + 22.91 + 23.23 + 22.83) / 5
= 114.87 / 5 
= 22.97  

DAY CLOSE PRICE EMA SMA
1 22.81 22.81
2 23.09 22.89
3 22.91 22.89
4 23.23 22.99
5 22.83 22.94 22.97
6 23.05

2. 自回归模型:
自回归模型可用于根据过去的数据预测未来的数据。在这个模型中,假设数据依赖于它之前的数据。由于自回归模型完全依赖过去的数据来生成未来的模型,因此在某些情况下(例如金融危机或突然的技术变化)有可能生成不准确的数据。
数学公式如下:

 AR_t = c + a_1 AR_{t-1} + a_2 AR_{t-2} + ... + a_p AR_{t-p} + E_t

应收账款计算:
下面的数据提供了今天(t)、前一天(t-1)、前两天(t-2)和前三天(t-3)的股票价格。

t t-1 t-2 t-3
23.23 22.91 23.09 22.81
22.83 23.23 22.91 23.09
23.05 22.83 23.23 22.91
23.02 23.05 22.83 23.23
23.29 23.02 23.05 22.83
23.41 23.29 23.02 23.05
23.49 23.41 23.29 23.02
24.6 23.49 23.41 23.29
24.63 24.6 23.49 23.41
24.51 24.63 24.6 23.49
23.73 24.51 24.63 24.6
23.31 23.73 24.51 24.63
23.53 23.31 23.73 24.51
23.06 23.53 23.31 23.73
23.25 23.06 23.53 23.31
23.12 23.25 23.06 23.53
22.8 23.12 23.25 23.06
22.84 22.8 23.12 23.25

有了上面的股价数据,需要进行线性回归,得到AR模型需要的参数。为此,您可以使用 Excel 中的数据分析功能。对于回归,您可以提供 t 数据作为 Y 输入和 (t-1)、(t-2)、(t-3) 作为 X 输入。 Microsoft excel 将为您提供以下结果。

回归统计:

Multiple R: 0.786903932
R Square: 0.619217798
Adjusted R Square: 0.537621612
Standard Error: 0.398415364
Observations: 18 

Coefficients Standard Error
Intercept 8.59250239 4.494566177
t-1 0.840795074 0.249566271
t-2 0.100511124 0.331626753
t-3 -0.308260596 0.250400704

让我们看看如何使用回归的输出值。

以前的股票数据:

Coefficient of t-1 = 0.840795074 and Close price = 22.8
Coefficient of t-2 = 0.100511124 and Close price = 23.12
Coefficient of t-3 = -0.308260596 and Close price = 23.25 

常数值:

Coefficient of Intercept = 8.59250239 = 8.6 

标准错误:

t-1 = 0.249566271
t-2 = 0.331626753
t-3 = -0.250400704 
Standard Error 
= 0.25 + 0.33 - 0.25
= 0.33 
AR 
= 8.6 + [ (0.84*22.8) + (0.1*23.12) + (-0.31*23.25) ] + 0.33
= 8.6 + [ 19.15 + 2.31 - 7.20] + 0.33
= 8.6 + 14.26 + 0.33
= 23.19 

您可以使用今天的股价和 R 平方值预测明天的股价,而不是进行整个计算(请参阅上面的回归统计输出)。

假设今天的股价是 22.84 美元,那么明天的股价计算如下:

AR(t+1) = Coefficient of Intercept + (R square * Today's Price) 
                                        + Standard Error

R Square = 0.619217798 

Standard Error (from regression statistics) = 0.398415364 
AR 
= 8.6 + (0.619*22.84) + 0.39
= 8.6 + 14.14 + 0.39
= 23.13 

3. ARMA 型号:
ARMA 模型是另一种用于预测时间序列的工具。这些模型基于自回归模型和移动平均模型的组合。在 AR 模型中,我们使用过去的数据对变量进行回归,而在 MA 模型中,我们使用时间序列的平均值之和进行预测。

由于 ARMA 模型是 AR 部分和 MA 部分的组合,因此该模型称为 ARMA(p, q) 模型,其中 p 是 AR 部分,q 是 MA 部分。

数学公式如下:

在哪里,
a_i = 自回归模型的参数
b_i = 移动平均模型的参数
c = 常数
E_t = 误差项的 [白噪声]