当前位置: 首页 > 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.gsyq.cn/news/1514249.html

相关文章:

  • 【万字文档+源码】基于springboot+vue电池销售系统 -学习项目资料分享
  • 科学高效学英语:全方位提升语言综合应用能力
  • 从Proteus仿真到FPGA管脚分配:DAC0832数模转换实战全记录(含VHDL代码参考)
  • LLM路由优化:三维评估框架与Dirichlet聚合实践
  • 不止于抓包:用Ubiqua的Network Explorer和Graphic View透视你的Zigbee网络拓扑
  • 2026东莞大型激光焊接加工实力厂家:精密五金/钣金螺丝/金属工艺品/来料焊接与自动焊接专业解析 - 品牌发掘
  • 想换ECO棉床垫,成都合肥唐山这些地方,到底哪家才靠谱啊? - 深圳市民HLL
  • C#快速对接讯飞星火API的可运行工程模板(含密钥配置与请求示例)
  • 从空调到打印机:压敏电阻在消费电子里的‘防雷’实战与选型避坑指南
  • 教育培训小程序搭建中的AI题库功能解析
  • 2026年 成都医用服饰定制厂家实力考察:白大褂/护士服/手术衣定制,覆盖门诊、急诊与手术室 - 品牌发掘
  • 3步解锁VMware虚拟化:免费激活完整指南
  • 手把手教你用STM32的SPI驱动SIT2515/MCP2515实现CAN通信(附完整代码)
  • 如何高效集成专业级图表库:TradingView Charting Library多框架实战指南
  • 2026年恒温恒湿机选购指南:从实验室到工业车间,如何精准匹配场景需求? - 优质品牌商家
  • 2026年石灰供应商实力评估:从产能、案例到服务,哪些厂家值得关注? - 优质品牌商家
  • 手把手教你用USB转TTL给STM32F103C8T6最小系统板烧程序(附FlyMcu软件配置)
  • WechatDecrypt终极指南:3步轻松解密微信加密数据库
  • 别再只会调频率了!用运放搭波形发生器,占空比和幅值调节的坑我都帮你踩完了
  • CodeCombat容器化部署实践指南:游戏化编程学习平台的最佳方案
  • 如何用AB Download Manager提升3倍下载效率:免费开源解决方案完全指南
  • Go爬虫实战:用Chromedp绕过网站自动化检测的3个关键Flag(附完整代码)
  • 移动端实时语义分割的救星?深入剖析DeepLabv3+中的深度可分离卷积与Xception
  • 20823个汉字结构化数据包:含拼音、五笔、部首、笔画、笔顺、释义及说文引文
  • Gaussian计算ESP电荷后,用Antechamber做RESP拟合的完整流程与避坑指南
  • 讲真的2026年天津地道天津菜 这5家值得推荐 - 本地品牌推荐
  • IPO前夜OpenAI收购Ona:为Codex补上安全地基,加速迈向企业级AI平台
  • 2026年天津合同律师哪家好?5位实战经验丰富值得推荐 - 本地品牌推荐
  • 时间序列建模第一步:用Matlab的adftest为你的ARIMA模型挑选平稳数据(附差分处理全流程)
  • 如何快速配置黑苹果系统:OpenCore Configurator 图形化配置工具终极指南