当前位置: 首页 > news >正文

从GDP到股价:手把手教你用Matlab的adftest函数检验5类真实数据的平稳性

从GDP到股价:手把手教你用Matlab的adftest函数检验5类真实数据的平稳性

时间序列分析中,数据的平稳性检验是建模前的关键步骤。Matlab的adftest函数作为Augmented Dickey-Fuller检验的实现工具,能帮助我们快速判断各类数据的平稳性特征。本文将带你跨越单一GDP数据的局限,探索金融、商业、气象等多元场景下的实战应用。

1. ADF检验核心原理与Matlab实现

ADF检验通过判断时间序列是否存在单位根来检验平稳性。其原假设为"序列存在单位根(非平稳)",备择假设为"序列不存在单位根(平稳)"。在Matlab中,adftest函数提供了四种判断方式:

% 基础调用方式 [h,pValue,stat,cValue] = adftest(data,'alpha',0.05);

判断标准对照表:

判断依据非平稳条件平稳条件
h值h=0h=1
p值p>0.05p≤0.05
统计量stat>cValuestat<cValue

实际应用中,金融数据往往呈现以下非平稳特征:

  • 趋势性:随时间持续上升或下降
  • 季节性:周期性波动模式
  • 随机游走:无确定方向的随机波动

2. 金融数据实战:股价与收益率分析

以标普500指数日收盘价为例,原始价格序列通常呈现明显趋势:

% 加载金融数据 sp500 = readtable('sp500_daily.csv'); prices = sp500.Close; % 原始序列检验 [h_price, p_price] = adftest(prices); disp(['原始价格序列h值:',num2str(h_price),' p值:',num2str(p_price)]); % 计算对数收益率 returns = price2ret(prices); [h_return, p_return] = adftest(returns); disp(['收益率序列h值:',num2str(h_return),' p值:',num2str(p_return)]);

典型输出结果对比:

  • 原始价格序列:h=0, p=0.98(非平稳)
  • 对数收益率序列:h=1, p=0.001(平稳)

提示:金融建模通常直接使用收益率序列,因其天然满足平稳性要求

3. 商业数据分析:零售销售额的季节性处理

月度零售数据常同时包含趋势和季节成分:

sales = csvread('monthly_sales.csv'); figure; subplot(2,1,1); plot(sales); title('原始销售额'); % 季节性差分 sales_diff = diff(sales,12); % 12个月周期 subplot(2,1,2); plot(sales_diff); title('季节性差分后'); % 检验结果对比 [h_orig, p_orig] = adftest(sales); [h_diff, p_diff] = adftest(sales_diff);

处理技巧:

  1. 先进行季节性差分消除周期影响
  2. 若仍不平稳,再进行一阶常规差分
  3. 最终应确保h=1且p<0.05

4. 气象数据应用:气温序列的平稳性检验

日均气温数据具有明显的季节波动特征:

temp_data = readtable('daily_temperature.csv'); temp = temp_data.Value; % 消除年周期效应 temp_detrend = temp - movmean(temp,365); % 检验结果 [h_temp, p_temp] = adftest(temp); [h_detrend, p_detrend] = adftest(temp_detrend); % 可视化对比 figure; plot(temp_detrend); xlabel('天数'); ylabel('调整后温度');

关键发现:

  • 原始气温序列:h=0(非平稳)
  • 去除年周期后:h=1(平稳)
  • 移动平均窗口应匹配数据周期特性

5. 互联网数据分析:用户活跃度检验

网站日活跃用户(DAU)数据常见模式:

dau = xlsread('dau_stats.xlsx'); log_dau = log(dau); % 对数变换 % 检验与差分 [h_log, p_log] = adftest(log_dau); dau_diff = diff(log_dau); [h_diff, p_diff] = adftest(dau_diff); % 建立特征矩阵 timestamps = 1:length(dau)'; X = [timestamps', sin(2*pi*timestamps'/7)]; % 加入周周期特征

处理建议:

  1. 先进行对数变换稳定方差
  2. 检查并消除趋势成分
  3. 考虑加入周期性虚拟变量
  4. 最终确保残差序列通过ADF检验

6. 宏观经济数据:多指标联合分析

GDP、CPI、失业率等指标的协同检验:

macro_data = readtable('macro_indicators.csv'); gdp = macro_data.GDP; cpi = macro_data.CPI; % 多变量检验 [h_gdp, p_gdp] = adftest(gdp); [h_cpi, p_cpi] = adftest(cpi); % 协整检验 [~,~,~,~,reg] = egcitest([gdp,cpi]); disp(['协整检验p值:',num2str(reg.pValue)]);

重要结论:

  • 单个宏观经济指标多为非平稳序列
  • 但指标间可能存在协整关系
  • 需先进行ADF检验,再开展协整分析

实际项目中,我常创建自动化检验函数批量处理多个指标:

function results = batch_adftest(data, names) results = table(); for i = 1:size(data,2) [h,p,stat,cv] = adftest(data(:,i)); results.(names{i}) = [h,p,stat,cv]'; end end

调用方式:

indicators = [gdp, cpi]; names = {'GDP','CPI'}; res = batch_adftest(indicators, names);
http://www.jsqmd.com/news/1002472/

相关文章:

  • 告别HDF格式!用ArcPy批量处理GLASS LAI数据,从下载到月度合成的完整避坑指南
  • 从0到1:基于Python的简单自动化任务系统设计与实现
  • Win11Debloat技术深度解析:从系统清理到企业级部署
  • 2026年浙江杭州合同纠纷律师实力对比 5家深度测评各有特色 - 本地品牌推荐
  • UEFI开发实战:手把手教你用GUID HOB在PEI和DXE间传递自定义数据
  • 【万字文档+源码】基于springboot+vue电池销售系统 -学习项目资料分享
  • 科学高效学英语:全方位提升语言综合应用能力
  • ST官方开发板uboot启动配置详解:手把手教你读懂extlinux.conf文件
  • 2026年 达因值添加剂/碳氢达因值加强剂/达因笔增大剂及专用清洗剂供应厂家:精准提升表面张力与碳氢清洗的专业选择 - 品牌发掘
  • 从Proteus仿真到FPGA管脚分配:DAC0832数模转换实战全记录(含VHDL代码参考)
  • 给Android开发者的车载入门指南:从手机App到车机SystemUI,到底有啥不一样?
  • 深耕欧洲市场,光驭科技携手Grolman首秀法国FIP 2026
  • 软考嵌入式系统设计师备考:别死记硬背,用代码和项目理解数据结构与算法
  • 使用react-force-graph构建3D力导向图:从社交网络到知识图谱的交互式可视化
  • LLM路由优化:三维评估框架与Dirichlet聚合实践
  • 别再死记硬背了!用ASM图搞定VHDL状态机设计,交通灯项目实战带你飞
  • 不止于抓包:用Ubiqua的Network Explorer和Graphic View透视你的Zigbee网络拓扑
  • 从验证计划到覆盖率报告:手把手搭建你的第一个SV功能覆盖率模型
  • LM324+LM331频率电压转换电路避坑指南:从仿真到面包板的完整搭建流程
  • 天津离婚股权分割律师怎么选? 姜春梅律师深耕家事股权纠纷 - 外贸老黄
  • 颠覆性开源字体:WenQuanYi Micro Hei 如何彻底改变嵌入式中文显示生态
  • 【2027最新】基于SpringBoot+Vue的web电影院购票系统管理系统源码+MyBatis+MySQL
  • 2026东莞大型激光焊接加工实力厂家:精密五金/钣金螺丝/金属工艺品/来料焊接与自动焊接专业解析 - 品牌发掘
  • 【AI Agent 第十二期:Gemini CLI 使用指南】
  • 别再依赖HAL_Delay了!用STM32F4的DWT计数器实现微秒级精准延时(附代码)
  • 从微程序入口逻辑看CPU设计:一个让单总线CPU‘看懂’指令的关键小模块
  • 元某生活模式如何在30天消化83%库存?
  • MATLAB通信仿真避坑指南:手把手教你绘制AMI码的误码率曲线(含完整代码)
  • 2026年成都LV名包回收市场观察:哪些品牌值得信赖?行业深度评测与真实案例分享 - 优质品牌商家
  • PGGAN/ProGAN的‘光滑过渡’与‘minibatch标准差’:两个被低估的稳定训练黑魔法详解