精华内容
下载资源
问答
  • 本书简明扼要地介绍了时间序列及其相关领域的基本概念和基本理论,对ARMA序列预测、时间序列的统计分析、时间序列的时频分析和时间序列的小波变换等给出了有关...,介绍了MATLAB时间序列分析有关函数的功能和用法...
  • MATLAB 在时间序列分析中应用PDF版本,由张善文,雷英杰等编写
  • 分享Matlab在时间序列分析中应用,附带完整的目录,扫描版,与君共勉~
  • 本书简明扼要地介绍了时间序列及其相关领域的基本概念和基本理论,对ARMA序列预测、时间序列的统计分析、时间序列的时频分析和时间序列的小波变换等给出了有关...,介绍了MATLAB时间序列分析有关函数的功能和用法...
  • 时间序列分析、建模、预测的完美讲义,文档有理论讲解以及实践练习,也有MATLAB建模代码。数学建模学习时序分析建模的必需品。
  • MATLAB在时间序列分析中应用_张善文等2007
  • Matlab在时间序列分析中应用PPT教案学习.pptx
  • 31 1.5 时间序列分析的相关特征量 1.5.3 时间序列的发展速度与增长速度 环比发展速度报告期水平与前一时期水平之比 1 ? ? i i i Y Y R n i , , 2 , 1 ? ? 定基发展速度 0 Y Y R i i ? n i , , 2 , 1 ? ? 两种关系 0 ...
  • Matlab在时间序列分析中应用PPT课件PPT学习教案.pptx
  • Matlab在时间序列分析中应用Matlab在时间序列分析中应用Matlab在时间序列分析中应用
  • Matlab时间序列分析

    万次阅读 多人点赞 2018-11-13 18:53:46
    引入时间序列前,先介绍几个matlab函数 matlab中的gallery函数简析 Matlab 的 gallery 函数是一个测试矩阵生成函数。当我们需要对某些算法进行测试的时候,可以利用gallery函数来生成各种性质的测试矩阵。其用法...
    展开全文
  • 时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间序列的方法构成数据分析的一个重要领域,即时间序列分析。代码
  • Matlab在心电信号时间序列分析中应用.pdf
  • 基于MATLAB时间序列分析法的应用研究.pdf
  • Matlab在时间序列ARMA分析中应用PPT教案学习.pptx
  • 各位爱好数学建模的同志帮忙顶起了,我还是菜鸟!!请多多关照!!Matlab在时间序列分析中应用
  • 所谓年降水量时间序列的多时间尺度是指:年降水量演化过程,并不存在真正意义上的变化周期,而是其变化周期随着研究尺度的不同而发生相应的变化,这种变化一般表现为小时间尺度的变化周期往往嵌套大尺度的变化...
  • MATLAB 金融时间序列分析及建模应用 间序列建模,解次预测问题~
  • 时间序列分析应用 武汉大学测绘学院课程
  • 即,我们将实现一组时间序列分析的构建块,并以下应用程序上展示它们:首先,为了演示实时处理的功能,我们将实现一组交易策略,这些交易策略可对加密的市场数据做出交易决策。 (完毕)。 其次,为了证明已开发的...
  • Acycle 是一个全面但“用户友好”的软件包,用于分析为(但不限于)气候研究和教育设计的时间序列。 Acycle 可以 MATLAB 环境运行,也可以作为 Mac 和 Windows 上的独立应用程序运行。 它是一个开源包,可以免费...
  • KMeans_MEP_HMML_HMMD.m”,用于通过隐马尔可夫模型和符号时间序列分析使用短长度传感器时间序列进行异常检测,并将其应用于燃烧系统热声不稳定性(TAI)的低延迟检测。 该代码使用由凯文·墨菲(Kevin Murphy)...
  • Matlab各种时间序列模型应用(经典) 各种时间序列Matlab解法,很全面,经典!
  • MATLAB时间序列分析

    2011-04-25 09:44:37
    MATLAB时间序列分析是一本很好的应用性书籍,好好掌握,一定会使你事半功倍
  • 基于matlab时间序列分析(主要流程+完整代码)案例简介时间序列简介平稳时间序列{xt}ARIMA=AR+MA+INTEGRATER实例应用数据平稳化模型选择——确定p、qACF/PACF图法(不推荐)根据最佳lags值确定代码函数模型检验...

    案例简介

    结合秦皇岛港动力煤价格的历史数据(附件1),以及问题1中的影响煤炭价格的主要因素,建立煤炭价格预测模型,分别以天、周、月为单位,预测未来31天、35周、36个月的煤炭价格。

    时间序列简介

    平稳时间序列{xt}

    确定性序列:若序列x(n)在任意时刻n时的值能够被精确地确定(或是被预测),那么,我们说x(n)是一个确定性的序列,如我们熟知的正弦序列、周期脉冲序列等。

    平稳时间序列:时间序列行为不随时间改变
    一组数列如下表示
    在这里插入图片描述
    数列示意图
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

    ARIMA=AR+MA+INTEGRATER

    自回归AR:利用自身历史值预测
    𝑦_𝑡=𝜇+∑129_(−1=1)^𝑃▒〖𝛾_𝑖 𝑦_(𝑡−𝑖) 〗+𝜀_𝑡

    移动平均MA:关注自回归模型中的误差项
    𝑦_𝑡=𝜇+∑129_(−1=1)^q▒〖𝜃_𝑖 𝜀_(𝑡−𝑖) 〗+𝜀_𝑡

    𝑦_𝑡当前值, 𝜇常数项,𝜀_𝑡误差(白噪音),阶数𝑝, 𝑞——人为定义,相关系数𝛾_𝑖,𝜃_𝑖——求解

    整合INTEGRATER:差分法平稳化处理:计算时间序列中t时刻与t-1时刻的差值,从而得到一个新的、更平稳的时间序列。

    实例应用

    在这里插入图片描述

    数据平稳化

    单位根检验
    ADF
    KPSS

    ###代码

    y_h_adf = adftest(Y)
    y_h_kpss = kpsstest(Y)

    输出 y_h_adf = 1;y_h_kpss =0通过检验

    在这里插入图片描述

    *一阶差分:d=1

    模型选择——确定p、q

    ACF/PACF图法(不推荐)

    代码
    在这里插入图片描述
    在这里插入图片描述
    PACF最后一个在蓝线外(即阈值外)的Lag值就是p值;ACF最后一个在蓝线外(即阈值外)的Lag值就是q值。

    根据最佳lags值确定

    为了确定最好的滞后,用不同的滞后选择拟合几个模型。这里,适合所有p = 1…,4, q = 1,…、4的组合(共16款)。存储每个拟合模型的对数似然目标函数和系数数目。
    下面展示示例

    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。模型中的参数数为p + q + 1(对于AR和MA系数,以及常数项)。在数据集中观测的次数是100。

    LOGL = reshape(LOGL,16,1);
    PQ = reshape(PQ,16,1);
    [~,bic] = aicbic(LOGL,PQ+1,100);
    reshape(bic,4,4)
    

    ans = 4×4

    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


    在输出的BIC矩阵中,行对应AR度( p ),列对应MA度( q ),值越小越好。

    代码

    在这里插入图片描述

    函数

    Arima:创建单变量自回归综合移动平均(ARIMA)模型
    Estimate:拟合自回归积分滑动平均(ARIMA)模型
    log L:优化的对数似然目标函数值,作为数值标量返回。
    Aicbic:计算信息标准,评估模型的适足性
    aic:最小化信息量准则
    𝑎𝑖𝑐=−2𝑙𝑖𝑛(𝐿)+2𝐾
    L 表示模型的极大似然函数, K 表示模型参数个数。
    bic:贝叶斯信息准则,最小越好
    𝑎𝑖𝑐=−2𝑙𝑖𝑛(𝐿)+𝐾𝑙𝑛(𝑛)
    N表示样本容量

    模型检验

    代码

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    预测

    函数

    Forecast:预测ARIMA或ARIMAX模型响应或条件方差

    在这里插入图片描述
    【预测值(最小均方差),均方差】=forecast(arima模型,步长,初始数据)

    代码

    在这里插入图片描述

    结果

    在这里插入图片描述

    单步预测

    代码

    在这里插入图片描述

    结果

    在这里插入图片描述

    完整代码

    只需要更改数据,就可以完成你的预测!
    来,试试看

    Y=[417 421 421 435 450 457 470 469 467 459 447 442 445 448 453 458 462 467 479 490 497 505 520 578 618 603 595 595 615 690 830 925 865 870 870 875 808 580 595 598 570 558 558 578 585 580 568 565 570 575 600 630 650 720 780 805 765 685 680 705 760 755 755 745 730 745 798 803 780 775 765 765 793 818 838 848 853 835 830 830 845 855 845 830 793 780 765 770 783 780 763 680 643 628 630 630 640 640 635 630 625 625 625 620 615 610 608 603 588 565 548 535 533 540 555 575 598 600 600 573 540 530 530 535 535 530 515 495 475 475 475 495 503 505 510 510 500 485 455 433 405 415 410 410 400 395 385 370 365 365 370 375 375 385 385 385 385 395 400 420 465 490 560 610 700 672 650 621 610 605 635 655 620 565 585 625 645 630 645 725 710 675 690 710 750 730 655 595 595 655 700 680 655 625 625 635 675 647.5 632.5 595 585 592.5 602.5 627.5 625 620 615 595 610 595 580 582.5 587.5 577.5 552.5 552.5 552.5 562.5 572.5 572.5 552.5 510 475 ]
    %Y为2006/7/3 - 2020/4/30的秦皇岛动力煤历史价格
    plot(Y)
    
    figure
    autocorr(Y)
    figure
    parcorr(Y)
    %ACF和PACF图
    
    y_h_adf = adftest(Y)
    y_h_kpss = kpsstest(Y)
    %平滑性检验,yd1_h_adf =1,yd1_h_kpss =0,通过检验
    
    Yd1 = diff(Y);
    % 一阶差分,结果平稳。如果依旧不平稳的话,再次求差分,直至通过检验
    yd1_h_adf = adftest(Yd1)
    yd1_h_kpss = kpsstest(Yd1)
    Yd1=Yd1'
    Y=Y'
    %Yd2转换成列向量
    
    
    
    LOGL = zeros(4,4); % Initialize
    PQ = zeros(4,4);
    for p = 1:4
        for q = 1:4
            Mdl = arima(p,1,q);
            [~,~,logL] = estimate(Mdl,Yd1,'Display','off');
            LOGL(p,q) = logL;
            PQ(p,q) = p + q;
         end
    end
    
    LOGL = reshape(LOGL,16,1);
    PQ = reshape(PQ,16,1);
    [~,bic] = aicbic(LOGL,PQ+1,100);
    
    a=reshape(bic,4,4)
    %reshape 重构数组
    
    a_max=max(a(:));
    [x,y]=find(a==min(a(:)));
    
    %找最佳lags值 x=2,y=1,即对应ARMA(2,1)模型
    
    Mdl = arima(x, 1, y);  %第二个变量值为1,即一阶差分
    EstMdl = estimate(Mdl,Y);
    [res,~,logL] = infer(EstMdl,Y);   %res即残差
    
    stdr = res/sqrt(EstMdl.Variance);
    figure('Name','残差检验')
    subplot(2,3,1)
    plot(stdr)
    title('Standardized Residuals')
    subplot(2,3,2)
    histogram(stdr,10)
    title('Standardized Residuals')
    subplot(2,3,3)
    autocorr(stdr)
    subplot(2,3,4)
    parcorr(stdr)
    subplot(2,3,5)
    qqplot(stdr)
    %上图为残差检验的结果图。
    % Standardized Residuals是查看残差是否接近正态分布,理想的残差要接近正态分布;
    % ACF和PACF检验残差的自相关和偏自相关,理想的结果应该在图中不存在超出蓝线的点;
    % 最后一张QQ图是检验残差是否接近正太分布的,理想的结果中蓝点应该靠近红线。
    
    % Durbin-Watson 统计是计量经济学分析中最常用的自相关度量
    diffRes0 = diff(res);  
    SSE0 = res'*res;
    DW0 = (diffRes0'*diffRes0)/SSE0 % Durbin-Watson statistic,
    % 该值接近2,则可以认为序列不存在一阶相关性。
    
    %% 5.预测
    step = 20; %预测步数为20
    [forData,YMSE] = forecast(EstMdl,step,'Y0',Y);   
    lower = forData - 1.96*sqrt(YMSE); %95置信区间下限
    upper = forData + 1.96*sqrt(YMSE); %95置信区间上限
    
    figure()
    plot(Y,'Color',[.7,.7,.7]);
    hold on
    h1 = plot(length(Y):length(Y)+step,[Y(end);lower],'r:','LineWidth',2);
    plot(length(Y):length(Y)+step,[Y(end);upper],'r:','LineWidth',2)
    h2 = plot(length(Y):length(Y)+step,[Y(end);forData],'k','LineWidth',2);
    legend([h1 h2],'95% 置信区间','预测值',...
    	     'Location','NorthWest')
    title('Forecast')
    hold off
    

    ⭐以上只涉及时间序列预测很基础的部分。更深的理论分析可以参考关于时间序列分析的书籍。matlab中有很多帮助分析简化步骤的函数,对于初学者而言是个特别棒的工具

    参考资料

    知乎:https://zhuanlan.zhihu.com/p/69630638
    书籍:matlab在时间序列分析中的应用

    展开全文
  • GPS时间序列分析(二) 1.简单的GPS时间序列 load E:\RMTE.txt yuanshi_dataWeidu=RMTE(:,4)';%将原始坐标赋值 yuanshi_dataJingdu=RMTE(:,3)'; yuanshi_dataGaochen=RMTE(:,5)'; yuanshi_data=[yuanshi_dataWeidu;...

    GPS时间序列分析(二) matlab语言分析

    1.简单的GPS时间序列

    在这里插入图片描述

    load E:\RMTE.txt
    yuanshi_dataWeidu=RMTE(:,4)';%将原始坐标赋值
    yuanshi_dataJingdu=RMTE(:,3)';
    yuanshi_dataGaochen=RMTE(:,5)';
    yuanshi_data=[yuanshi_dataWeidu;yuanshi_dataJingdu;yuanshi_dataGaochen];
    [col,raw]=size(yuanshi_data);
    llh_Z_xyz=llh2xyz(yuanshi_data);%经纬度高程转换成xyz平面坐标,输出格式为:3行n列
    
    %第一次转换后的xyz坐标减去第一次观测的xyz坐标,组成xyz变化量矩阵
    llh_Z_xyz_X=llh_Z_xyz(1,:)-mean(llh_Z_xyz(1,:)); 
    llh_Z_xyz_Y=llh_Z_xyz(2,:)-mean(llh_Z_xyz(2,:));
    llh_Z_xyz_Z=llh_Z_xyz(3,:)-mean(llh_Z_xyz(3,:));
    llh_Z_xyz_XYZ=[llh_Z_xyz_X;llh_Z_xyz_Y;llh_Z_xyz_Z];
    
    %这是第二步,将第一次转换好的xyz转换为NEU_xyz,将变化量矩阵排列成3*n列的形式,按点号顺序排列
    llh_Z_xyz3=reshape(llh_Z_xyz_XYZ,col*raw,1);
    
    %取第一次观测的经纬度作为llh参数,将xyz坐标转换为NEU_xyz变化量矩阵
    latitude=yuanshi_data(1,1);
    longitude=yuanshi_data(2,1);
    altitude=yuanshi_data(3,1);
    neu=xyz2enu([latitude longitude altitude],llh_Z_xyz3);%将xyz坐标转换成NEU_xyz坐标
    NEU_xyz=reshape(neu,col,raw);%NEU_xyz转换好后,排列成3行n列
    
    
    RMTE_NEU_xyz_VariableQuantity;
    load E:\RMTE.txt
    E=RMTE(:,1);%向量a的取值都为1
    Time=RMTE(:,2);%站GPS时间序列观测时间
    NEU_xyz_WE=NEU_xyz(1,:)*1000;%东西方向
    NEU_xyz_NS=NEU_xyz(2,:)*1000;%南北方向
    NEU_xyz_GC=NEU_xyz(3,:)*1000;%高程方向
    
    
    %求东西方向原始坐标残差
    subplot(3,1,1);
    p=polyfit(Time,NEU_xyz_WE',1);
    z=polyval(p,Time);
    plot(Time,NEU_xyz_WE,'.black',Time,z,'r')
    ylabel('Latitude(mm)');
    xlabel('Time');
    hTit(1)=title('RMTE站东西方向原始序列图');
    

    2 噪声项残差分布项图

    在这里插入图片描述

    RMTE_NEU_xyz_VariableQuantity;
    load E:\RMTE.txt
    E=RMTE(:,1);%向量a的取值都为1
    Time=RMTE(:,2);%武汉站GPS时间序列观测时间
    NEU_xyz_WE=NEU_xyz(1,:);%东西方向
    NEU_xyz_NS=NEU_xyz(2,:);%南北方向
    NEU_xyz_GC=NEU_xyz(3,:);%高程方向
    for i=1:1:length(Time)
    sin_2piTime(i)=sin(2*pi*Time(i));
    end
    for j=1:1:length(Time)
    cos_2piTime(j)=cos(2*pi*Time(j));
    end
    for m=1:1:length(Time)
    sin_4piTime(m)=sin(4*pi*Time(m));
    end
    for n=1:1:length(Time)
    cos_4piTime(n)=cos(4*pi*Time(n));
    end
    B=[E Time sin_2piTime' cos_2piTime' sin_4piTime' cos_4piTime'];%B矩阵
    abcdef_NEU_xyz_NS=(inv(B'*B))*(B'*NEU_xyz_NS');%求南北方向参数abcdef的值
    abcdef_NEU_xyz_WE=(inv(B'*B))*(B'*NEU_xyz_WE');%求东西方向参数abcdef的值
    abcdef_NEU_xyz_GC=(inv(B'*B))*(B'*NEU_xyz_GC');%求高程方向参数abcdef的值
    
    %求东西方向改正噪声坐标残差
    subplot(3,1,1);
    V_NEU_xyz_WE=(NEU_xyz_WE'- B*abcdef_NEU_xyz_WE)*1000;
    plot(Time,V_NEU_xyz_WE,'.black')
    ylabel('Latitude(mm)');
    xlabel('Time');
    hTit(1)=title;
    

    3 GPS时间序列分析模型

    GPS时间序列中蕴藏着很多有用信息,需要基于时间序列分析的原理与方法,目前主要介绍的模型有:功率谱分析、最大似然估计、小波分析及时空滤波法等常用的时间序列分析方法。

    3.1功率谱分析

    功率谱分析是一种采用傅里叶变换方法,将时间序列分解成若干不同频率范围内的振幅的形式,是一种从频域研究时间序列的有效方法。研究功率谱分析,可以获取时间序列的噪声类型,也可以获取时间序列的周期项和振幅,是一种比较好的分析GPS站点位置时间序列的方法。
    GPS原始时间序列扣除拟合值后的噪声时间序列,可以用频谱定性分析噪声的类型。频谱分析是一种在频率域上分析信号的方法。噪声时间序列在频谱域上的功率谱可以使power law的形式表示
    在这里插入图片描述

    function[a,Pf,f]=Power_spectrum_analysis(t,st)
    %This is a function using the FFT function to caculate a signal’s Fourier Translation
    %Input is the time and the signal vectors ,the length of time must greater than 2
    %Output is the frequency and the signal spectrum
    t1=t(1);t2=t(end);
    N=length(st);
    Fs=N/(t2-t1);
    window=boxcar(N); %矩形窗
    [Pf,f]=periodogram(st,window,N,Fs); %直接法
    
    %InP(f) = InP0 - aInf
    %求解谱指数k和Po 
    
    n=length(Pf);
    m=length(f);
    if n==m
         for i=1:n-1
            B(i,1)=1;
            B(i,2)=-log(f(i+1));
            L(i)=log(Pf(i+1));
         end
        a=inv(B'*B)*B'*L';
    end
    
    %求噪声残差项的功率谱
    N=length(Time);
    T=0;
    for i=1;N
        T=T+Time(i+1)+Time(i);   %求周期T
    end
    anv_T=T/N;
    FS=1/anv_T;
    
    V_NEU_xyz_WE=NEU_xyz_WE'- B*abcdef_NEU_xyz_WE;%求东西方向噪声残差项的功率谱
    [a1,Pf1,f1]=Power_spectrum_analysis(Time,V_NEU_xyz_WE)
    
    figure
    PX_GC=100000*Pf3;
    F_GC=0.28*f3;
    % subplot(3,1,3);
    loglog(F_GC,PX_GC,'black')
     axis([0.08,100,0.00009,10]);
    ylabel('power/(mm^2/cpy)');
    xlabel('frequency/cpy)');
    legend('Vertical');
    

    在这里插入图片描述

    3.2 最大似然估计(MLE)

    最大似然法是一种非线性的最小二乘法,目的在于找到与时间序列最相近的模型参数。通过调整协方差矩阵使得似然函数取得最大值,即可得到与该时间序列最相近的噪声模型,这样就可以通过协方差矩阵估算出时间序列中的噪声振幅大小[13]。与频谱分析相比,最大似然估计法可以定量的计算噪声大小。
    假设GPS站点单方向位置时间序列为:
    在这里插入图片描述

    3.3小波分析

    小波分析方法是一种信号的“时间一频率”分析方法,它具有多分辨率分析的特点,并在时间与频率两域都具有表征信号特性的能力,而且时间窗的大小可以随着频率窗的变化而变化,借助于小波方法可以在某种程度上将不同特性的噪声进行分离与估计。小波多分辨分析可对GPS站点坐标时间序列的周期项进行分解,提取周年项和半周年项,因此,这种方法被称为周年数学滤波器和半周年数学滤波器。在这里插入图片描述

    3.4 高程方向AR、ARMA模型

    ARMA系列模型是研究时间序列的有效手段,ARMA模型从系统识别的角度研究只知系统输出时的系统特性。ARMA系列有AR, MA和ARMA模型之分。在高程时间序列中主要采用AR模型和ARMA模型建模。ARMA模型为:在这里插入图片描述

    4 GPS坐标时间序列时空滤波法

    GPS坐标时间序列中往往存在着一些共性的误差,通常将这些共性的误差称为共模误差(CME,为了提高GPS时间序列的精度,就需要做一些方法研究。关于GPS站点坐标时间序列中共模误差的提取方法有多种,目前主要应用主成分分析法(PCA)与( KLE)方法进行分析。

    4.1 PCA方法

    主成分分析(Principal Component Analysis)是现代数据分析的一个有效工具。 PCA把原始相关的观测数据重新组合,分解成一组互不相关的向量,在保持数据信息损失最小的前提下,通过线性转换将原始自变量中相关的维数消除,转换到低维向量空间;转换后的低维空间中各主分量是相互正交的,综合了原始数据的最大信息量,因此对数据分析结果不会带来太大的影响,且空间性比较好。既避免了法方程病态问题的出现,又能得到参数的精确估值;同时可以揭示隐藏在数据背后的一些规律及结构特征。但如果本地噪声较大,则会导致PCA无法准确地分辨出共模误差。
    在这里插入图片描述设定一个闽值,当累积贡献率达到此阈值时,对应的前P个即为主模式分量。主成分实际上是空间站点的残差向量在相应特征向量方向上的投影,一组主成分反映了对应某时刻的残差向量在以特征向量方向表述的相应空间轴上的坐标。前P个主成分对应较大的特征值,即包含了对残差时间序方差的大部分贡献值,具有整个区域最多的信息,往往反映整个网的共同变化趋势。共模误差则由这前P个主成分确定。

    %求解各测站之间的主成分,共模误差CME
    %列出 New_Time_VGC 即高程方向 相关系数X_VGC
    X_VGC=[BMCL_New_Time_VGC BRN2_New_Time_VGC CHLM_New_Time_VGC  DLPA_New_Time_VGC  DNGD_New_Time_VGC  GRHI_New_Time_VGC JMLA_New_Time_VGC  KKN4_New_Time_VGC  LHAZ_New_Time_VGC  NPGJ_New_Time_VGC  ODRE_New_Time_VGC  RMTE_New_Time_VGC  SMKT_New_Time_VGC  TPLJ_New_Time_VGC XZDX_New_Time_VGC XZGE_New_Time_VGC ];
    
    %对高程方向的相关数据X_VGC进行标准化得到X_VGC_BZ
    X_VGC_COV = cov(X_VGC);    %求协方差矩阵
    [X_VGC_Xv , X_VGC_Xd] = eig(X_VGC_COV); %协方差矩阵对应的特征值与特征向量
    X_VGC_GXL = X_VGC_Xd / sum(X_VGC_Xd);
    X_VGC_GXL =( fliplr(X_VGC_GXL'))';
    
    %高程方向的共模误差CME提取,要结合贡献率和特征值大于1的变量去选取
    %根据X_VGC_tent大于1的结论可知,应该选取前4个变量x1,x2,x3,x4。
    %提取主成分的方法是用特征向量矩阵乘以标准化后变量,这里所有变量都是标准化后的。
    %     for j = 1:length(X_VGC_Xv)
    %         for m = 1:length(X_VGC)
    %             Y1_VGC(m,1)=0;
    %             Y1_VGC(m,1) = Y1_VGC(m,1)+ X_VGC_Xv(j,1)* X_VGC(m,j);
    %         end
    %     end
    Y1_VGC1(:,1) = X_VGC_Xv(1,1)* X_VGC(:,1);
    Y1_VGC2(:,1) = X_VGC_Xv(2,1)* X_VGC(:,2);
    Y1_VGC3(:,1) = X_VGC_Xv(3,1)* X_VGC(:,3);
    Y1_VGC4(:,1) = X_VGC_Xv(4,1)* X_VGC(:,4);
    Y1_VGC5(:,1) = X_VGC_Xv(5,1)* X_VGC(:,5);
    Y1_VGC6(:,1) = X_VGC_Xv(6,1)* X_VGC(:,6);
    Y1_VGC7(:,1) = X_VGC_Xv(7,1)* X_VGC(:,7);
    Y1_VGC8(:,1) = X_VGC_Xv(8,1)* X_VGC(:,8);
    Y1_VGC9(:,1) = X_VGC_Xv(9,1)* X_VGC(:,9);
    Y1_VGC10(:,1) = X_VGC_Xv(10,1)* X_VGC(:,10);
    Y1_VGC11(:,1) = X_VGC_Xv(11,1)* X_VGC(:,11);
    Y1_VGC12(:,1) = X_VGC_Xv(12,1)* X_VGC(:,12);
    Y1_VGC13(:,1) = X_VGC_Xv(13,1)* X_VGC(:,13);
    Y1_VGC14(:,1) = X_VGC_Xv(14,1)* X_VGC(:,14);
    Y1_VGC15(:,1) = X_VGC_Xv(15,1)* X_VGC(:,15);
    Y1_VGC16(:,1) = X_VGC_Xv(16,1)* X_VGC(:,16);
    Y1_VGC(:,1) = Y1_VGC1(:,1)+Y1_VGC2(:,1)+Y1_VGC3(:,1)+Y1_VGC4(:,1)+Y1_VGC5(:,1)+Y1_VGC6(:,1)+Y1_VGC7(:,1)+Y1_VGC8(:,1)+Y1_VGC9(:,1)+Y1_VGC10(:,1)+Y1_VGC11(:,1)+Y1_VGC12(:,1)+Y1_VGC13(:,1)+Y1_VGC14(:,1)+Y1_VGC15(:,1)+Y1_VGC16(:,1);
    
    

    在这里插入图片描述
    在这里插入图片描述

    4.2 KLE方法

    KLE与PCA类似,也是一种基于正交分解的方法,与PCA的不同的是其对残差时间序列矩阵的协方差矩阵进行了标准化,使用相关矩阵而不是协方差矩阵来计算正交向量基。KLE对本地噪声不敏感,能从含大量噪声的时间序列中提取出所需的信号,能较好的弥补PCA的不足之处。
    针对PCA能很好的提取时间序列的空间特性,而KLE法可以从含有强烈本地噪声影响的时间序列中提取出连贯的信号,采取PCA与KLE相结合的PCA/KLE方法,对GPS坐标时间序列进行滤波,以去除GPS时间序列中的共模误差。假设区域内有n个测站,将每一个测站的时间序列按列的形式排开,可以表示为m x n的矩阵形式:
    在这里插入图片描述

    %KLE方法求共模误差
    %求解各测站之间的主成分,共模误差CME
    
    %列出 New_Time_VGC 即高程方向 相关系数X_VGC
    X_VGC=[BMCL_New_Time_VGC BRN2_New_Time_VGC CHLM_New_Time_VGC  DLPA_New_Time_VGC  DNGD_New_Time_VGC  GRHI_New_Time_VGC JMLA_New_Time_VGC  KKN4_New_Time_VGC  LHAZ_New_Time_VGC  NPGJ_New_Time_VGC  ODRE_New_Time_VGC  RMTE_New_Time_VGC  SMKT_New_Time_VGC  TPLJ_New_Time_VGC XZDX_New_Time_VGC XZGE_New_Time_VGC ];
    
    %进行主成分分析,求解X_VGC_pc正交单位化特征向量矩阵,X_VGC_la得分矩阵,X_VGC_tent特征值
     X_VGC_BZ = zscore(X_VGC);
    R_X_VGC = corrcoef(X_VGC); %求高程方向的相关系数矩阵
    [R_X_VGC_LG_v,R_X_VGC_LG_d] = eig (R_X_VGC); %相关系数矩阵对应的特征值与特征向量
    R_X_VGC_LG_w = R_X_VGC_LG_d / sum(R_X_VGC_LG_d);%各主成分分量贡献率
    R_X_VGC_LG_w = (fliplr(R_X_VGC_LG_w'))';
    
    Y1_VGC1(:,1) = R_X_VGC_LG_v(1,1)* X_VGC(:,1);
    Y1_VGC2(:,1) = R_X_VGC_LG_v(2,1)* X_VGC(:,2);
    Y1_VGC3(:,1) = R_X_VGC_LG_v(3,1)* X_VGC(:,3);
    Y1_VGC4(:,1) = R_X_VGC_LG_v(4,1)* X_VGC(:,4);
    Y1_VGC5(:,1) = R_X_VGC_LG_v(5,1)* X_VGC(:,5);
    Y1_VGC6(:,1) = R_X_VGC_LG_v(6,1)* X_VGC(:,6);
    Y1_VGC7(:,1) = R_X_VGC_LG_v(7,1)* X_VGC(:,7);
    Y1_VGC8(:,1) = R_X_VGC_LG_v(8,1)* X_VGC(:,8);
    Y1_VGC9(:,1) = R_X_VGC_LG_v(9,1)* X_VGC(:,9);
    Y1_VGC10(:,1) = R_X_VGC_LG_v(10,1)* X_VGC(:,10);
    Y1_VGC11(:,1) = R_X_VGC_LG_v(11,1)* X_VGC(:,11);
    Y1_VGC12(:,1) = R_X_VGC_LG_v(12,1)* X_VGC(:,12);
    Y1_VGC13(:,1) = R_X_VGC_LG_v(13,1)* X_VGC(:,13);
    Y1_VGC14(:,1) = R_X_VGC_LG_v(14,1)* X_VGC(:,14);
    Y1_VGC15(:,1) = R_X_VGC_LG_v(15,1)* X_VGC(:,15);
    Y1_VGC16(:,1) = R_X_VGC_LG_v(16,1)* X_VGC(:,16);
    Y1_VGC(:,1) = Y1_VGC1(:,1)+Y1_VGC2(:,1)+Y1_VGC3(:,1)+Y1_VGC4(:,1)+Y1_VGC5(:,1)+Y1_VGC6(:,1)+Y1_VGC7(:,1)+Y1_VGC8(:,1)+Y1_VGC9(:,1)+Y1_VGC10(:,1)+Y1_VGC11(:,1)+Y1_VGC12(:,1)+Y1_VGC13(:,1)+Y1_VGC14(:,1)+Y1_VGC15(:,1)+Y1_VGC16(:,1);
    
    

    在这里插入图片描述

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,943
精华内容 3,577
关键字:

matlab在时间序列分析中的应用

matlab 订阅