news 2026/6/13 2:15:11

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从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);
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/13 2:14:37

CodeWhale 0.8.43 官方版下载(夸克网盘+百度网盘,SHA256校验)

CodeWhale 0.8.43 官方版下载&#xff08;夸克网盘百度网盘&#xff0c;SHA256校验&#xff09; 国内访问 GitHub Release 有时较慢&#xff0c;这里把官方 Release 安装包同步到夸克网盘和百度网盘&#xff0c;方便下载。文件来自官方 GitHub Release&#xff0c;本地已按 Git…

作者头像 李华
网站建设 2026/6/13 2:13:01

用eNSP模拟真实网络:一个案例讲透BGP的iBGP和eBGP邻居建立与路由传递

从零构建企业级BGP网络&#xff1a;基于eNSP的iBGP/eBGP全流程实战解析当企业网络规模扩展到多分支机构或混合云架构时&#xff0c;静态路由和传统IGP协议往往难以应对复杂的路由管理需求。这时BGP作为互联网核心路由协议的价值就凸显出来——它不仅能实现跨自治系统的路由交换…

作者头像 李华
网站建设 2026/6/13 2:12:51

鸿蒙 + Flutter 下 AI 页面的状态协同设计

适合谁看正在写 AI 聊天页状态层的人页面状态已经开始变乱的人想知道哪些状态该进 Provider&#xff0c;哪些该留页面层的人想理解鸿蒙原生能力接入时状态如何对齐的人问题背景AI 页面一旦稍微真实一点&#xff0c;就会同时长出很多状态&#xff1a;当前输入框内容历史消息正在…

作者头像 李华
网站建设 2026/6/13 2:12:45

3个Python-Skill Bridge核心技巧:实现EDA开发效率的革命性提升

3个Python-Skill Bridge核心技巧&#xff1a;实现EDA开发效率的革命性提升 【免费下载链接】skillbridge A seamless python to Cadence Virtuoso Skill interface 项目地址: https://gitcode.com/gh_mirrors/sk/skillbridge 在电子设计自动化&#xff08;EDA&#xff0…

作者头像 李华
网站建设 2026/6/13 2:11:48

不止于抓包:用Ubiqua的Network Explorer和Graphic View透视你的Zigbee网络拓扑

透视Zigbee网络&#xff1a;Ubiqua高级诊断功能实战指南在智能家居和工业物联网场景中&#xff0c;Zigbee网络的稳定性和性能直接影响着整个系统的可靠性。当设备出现间歇性掉线、响应延迟或通信异常时&#xff0c;传统的抓包工具往往只能提供原始数据&#xff0c;而无法直观呈…

作者头像 李华