目录

一.功率谱密度

.ARMA过程

.ARMA建模及应用


一.功率谱密度

功率谱反映被分析对象的能量随频率分布情况,如雷达信号处理中,回波信号的功率谱密度,谱峰宽度、高度和位置可以确定目标的位置、辐射强度和运动速度等信息。

在给定样本数据中,估计平稳随机信号的功率谱密度成为功率谱估计。(注意!如果信号不是广义平稳的随机过程,信号自相关函数是变量的函数,不存在功率谱密度。)

平稳离散过程x(n)的功率谱密度为其自协方差函数的傅里级数。其中T是采样周期。

计算功率谱密度:

        1.直接求每个N个样本数据的频谱,再对频谱求共轭相乘,求平均得到功率谱。(对时域信号加窗,称为数据窗
        2.对N个样本数据求自相关函数,再对自相关求傅里叶变换,得到功率谱。(对相关函数加窗,称为谱窗

二.ARMA过程

        ARMA过程,对线性不变系统,平稳随机过程可以通过白噪声激励线性时不变系统产生,该线性系统由线性差分方程描述,而该差分模型为自回归-滑动平均(Auto Regressive Moving Average model, ARMA)模型。简单来说,通过自身和之前的数据之间的相关关系建立回归方程,分析和预测数据。通过对一段时间的白噪声加权求和,得到移动平均方程,解决噪声随机变动的问题。

一般形式表示为

 其中有两个主要参数p,q

p表示预测模型中采用的时序数据本身的滞后数

q表示预测模型中采用的预测误差滞后数

三.ARMA建模及应用

MATLAB给了例程和函数,其中APP“Econometric Modeler”用ARMA模型来分析和预测经济走势。学习该模型的很直接的工具。

最近一篇文章《ARMA模型在雷达动态测量精度分析中的应用》讲ARMA模型在实际应用中一般处理步骤,经典的一般处理过程;我冒昧直接贴出来,侵删。

预处理:可以用一阶或二阶的差分消除趋势项和周期项。用统计方法检验数据平稳性。

平稳性检验:满足所有特征量不随时间t的推移而变化,则为平稳随机过程。前文中采用Daniel检验思路进行,即 在满足显著性水平α=0.05的条件下,构造统计量T,使

验证发现二阶差分满足平稳过程,一阶差分数据非平稳。 

模型识别:观察自相关函数和偏自相关函数的拖尾性和截尾性来选择ARMA,AR,MA等模型,其中每种模型的拖尾和截尾性如下表

ARMA模型识别 - 不愿透露性别的某名宿的个人空间 - OSCHINA - 中文开源技术交流社区中讲拖尾和截尾的判断依据。有时只用这两个函数不太好识别模型,有人用推广自相关系数eacf来识别模型时间序列分析(四):ARMA模型 - 知乎 (zhihu.com)

模型定阶: 定阶目的是估计p和q值,通过AIC准则、BIC准则等方法可以确定。当取值最小时的阶数为数据阶数。

参数估计:数据用二阶差分后的平稳随机序列用ARMA(3,5)模型来拟合之后,估计回归模型每阶的系数。MATLAB中用最大似然估计方法来估计ARMA模型参数。

模型检验:对拟合的模型做模型拟合优度检验。采用卡方检验法,构造检验统计量,验证显著性水平α=0.05条件下是否为高斯分布的随机过程。

搬运MATLAB一个例子:来说明ARMA构造模型及分析的过程。

Mdl0 = arima('Constant',0.2,'AR',{0.75,-0.4},'MA',0.7,'Variance',0.1); % 仿真ARMA(2,1)模型
rng('default')
Y = simulate(Mdl0,100); % 构造100个观测值

% 绘制时间序列
figure; 
plot(Y)
xlim([0,100])
title('Simulated ARMA(2,1) Series')

% 绘制自相关函数和偏自相关函数
figure;
subplot(2,1,1)
autocorr(Y)
subplot(2,1,2)
parcorr(Y)

% 对数似然函数得到不同阶数下的函数值
LOGL = zeros(4,4); % Initialize
PQ = zeros(4,4);
for p = 1:4
    for q = 1:4
        Mdl = arima(p,0,q);
        [EstMdl,~,logL] = estimate(Mdl,Y,'Display','off');
        LOGL(p,q) = logL;
        PQ(p,q) = p + q;
     end
end

% 计算每个模型参数下的BIC矩阵
LOGL = reshape(LOGL,16,1);
PQ = reshape(PQ,16,1);
[~,bic] = aicbic(LOGL,PQ+1,100);
reshape(bic,4,4)  % 该矩阵中数值最小的行列即为模型的参数

% 最大似然估计,得到模型参数值
EstMdl = estimate(Mdl0,Y);  
EstMdl.AR  
EstMdl.MA

 

构造的ARMA(2,1)平稳随机过程信号值

自相关函数和偏自相关函数,用来识别模型。其中两个函数都是拖尾,认定为ARMA模型

 BIC准则得到的函数值为

  108.6241  105.9489  109.4164  113.8443
   99.1639  101.5886  105.5203  109.4348
  102.9094  106.0305  107.6489   99.6794
  107.4045  100.7072  102.5746  102.0209

其中,第二行第一列的数值最小,则得到p=2q=1。即模型定阶为ARMA(2,1)

模型参数估计结果为EstMdl.AR = 0.75-0.40 ; EstMdl.MA = 0.70

还有解释更详细的博客可以当做学习和补充

机器学习(五)——时间序列ARIMA模型_爱吃串串的瘦子的博客-CSDN博客_arima

机器学习——时间序列模型_冠long馨的博客-CSDN博客_时间序列模型

机器学习经典算法----时间序列模型ARIMA_ChingeWang的博客-CSDN博客

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐