ARIMA时间序列建模全流程:Python与R实战参数解读与预测要点

先说一个很多新手容易踩的坑:拿到一堆历史数据就急着调用ARIMA函数,结果模型拟合出来AIC也挺好看,但预测结果完全不能用。这不是函数用错了,而是对ARIMA三个参数的理解停留在“背公式”层面。这篇文章我会用Python和R两条技术路线,把从数据准备、平稳性检验、定阶到参数输出、预测落地的完整流程拆开讲清楚,重点放在参数输出的解读和预测环节的实操要点上,适合刚接触时间序列建模、或者在电商销量、流量监控、设备指标预测场景里需要真正落地预测功能的开发者参考。

1. 先搞清楚ARIMA三个参数到底在干嘛

1.1 p、d、q的直觉理解,不背公式

ARIMA模型全称是自回归积分滑动平均模型,核心可以拆成三段:AR、I、MA。

  • AR(自回归):拿过去几个时间点的值来预测当前值。比如今天的气温跟昨天、前天有关系,p就是“用过去几个点的值做回归”的记忆长度。p越大,模型对历史值的依赖越强,但p太大容易把噪声也学进去,出现过度拟合。
  • I(差分):让非平稳序列变平稳的操作次数。很多业务数据(比如销量、股价)长期看有上升趋势,均值和方差随时间变化,直接建模效果很差。差分就是相邻值相减,减一次不行就再减一次,d就是减了几次。d=0说明原序列已经平稳,d=1是常见的默认选择。
  • MA(移动平均):不是简单算平均,而是把过去几期的预测误差拿来做修正。q就是参考误差项的数量。举个例子,预测值老是比实际值偏高一点点,模型可以通过误差项把这个偏差拉回来。

这三个参数组合起来写就是ARIMA(p,d,q)。判断逻辑很直接:p和q看的都是“过去”,一个看过去的实际值,一个看过去的预测误差;d看的是“差几次才能让数据变平稳”。实际建模时,这三个数不是越大越好,需要结合数据特征和模型评价指标来权衡。

1.2 什么时候用ARIMA,什么时候别硬上

ARIMA适合处理单变量、有较强自相关性的时间序列。典型场景包括:

  • 电商日销售额、订单量预测
  • 服务器CPU使用率、请求量的趋势监控
  • 工厂设备温度、振动指标的异常基线建立
  • 能源消耗、交通流量的周期性统计分析

不适合的场景也要心里有数:

  • 数据量太少:少于30个观测点,模型很难学到稳定的规律。
  • 多变量联合预测:ARIMA只吃一个序列,外部因素(促销、天气、竞品动作)需要另想办法。
  • 强季节性数据:如果数据有明显的年、周、日周期性,标准ARIMA往往不够,需要加上季节项,也就是SARIMA(季节性ARIMA)。
  • 非线性模式:ARIMA本质是线性模型,序列存在明显的突变、阈值效应时,效果会打折。

判断数据适不适合用ARIMA,最靠谱的方法是先做平稳性检验和自相关图观察,这两个步骤在下一节详细展开。

2. Python和R实现ARIMA的技术路线对比

2.1 Python的库选型与函数生态

Python做ARIMA建模,主流选择是statsmodels库。它提供了完整的时序分析工具链:平稳性检验(adfuller)、ACF/PACF绘图(plot_acf、plot_pacf)、模型拟合(ARIMA类)、残差诊断(acorr_ljungbox)。

安装命令:

pip install statsmodels pandas matplotlib

核心导入语句:

from statsmodels.tsa.arima.model import ARIMA from statsmodels.graphics.tsaplots import plot_acf, plot_pacf from statsmodels.stats.diagnostic import acorr_ljungbox from statsmodels.tsa.stattools import adfuller

Python的优点是数据清洗和特征工程能力强,跟Pandas配合默契,适合把ARIMA嵌入到自动化数据处理流程里。缺点在于statsmodels的接口更新较快,不同版本的函数签名有差异(比如老版本的ARIMA不支持trend参数),网上教程经常因为版本问题跑不通。

2.2 R语言的包选型与函数生态

R语言在时序建模领域有很成熟的中文教程和社区积累,主力包是forecast和tseries。

install.packages("forecast") install.packages("tseries")

核心函数:

  • ts():把普通向量转成时序对象,需要指定频率(frequency),比如日数据frequency=7、月数据frequency=12。
  • adf.test():ADF平稳性检验,来自tseries包。
  • auto.arima():自动定阶并拟合模型,来自forecast包,是R语言在时序建模里最省事的利器。
  • Arima():手动指定(p,d,q)拟合模型,注意这里是大写开头的Arima。
  • forecast():基于拟合模型计算未来多期预测值。

R的长处在于建模流程封装得比较完整,auto.arima内置了信息准则筛选和季节性检测逻辑,对新手友好。短板是数据整理不如Python顺手,嵌入业务系统时生态支持弱一些。

2.3 语言选型建议

我的个人经验是:如果是做研究分析、验证模型效果、或者快速出图看趋势,R语言的forecast包体验很好;如果是要把预测功能写进生产系统、定时任务、数据管道里,Python更合适。两边并不冲突,我在实际项目里甚至先用R跑通模型结构,再迁移到Python做工程化落地。

3. 实操第一步:数据准备与平稳性检验

3.1 数据清洗的三项硬性要求

ARIMA对数据格式和数据质量比普通机器学习模型更敏感,三条硬性要求少一条都不行:

  1. 时间索引必须是时间类型且连续。Python里需要用pd.to_datetime()把时间列转成标准格式,再set_index()设为索引;R里用ts(data, start=c(年份,周期), frequency=周期数)创建时序对象。
  2. 缺失值处理。ARIMA不支持缺失值,常见做法是interpolate()线性插值或ffill()前向填充。注意:如果缺失数据的比例超过5%,插值会掩盖真实波动,需要考虑是否适合建模。
  3. 频率对齐。数据必须等间隔。采样频率不统一(比如有时候一天一条、有时候一天两条)会导致ARIMA识别周期失败。先用resample('D')统一重采样再建模。

在R里检查缺失值:

sum(is.na(data))

3.2 ADF检验怎么读结果

单位根检验(Augmented Dickey-Fuller,简称ADF)是判断序列平稳性的常用工具。假设检验的套路是:H0假设序列存在单位根(非平稳),H1假设序列平稳。

Python示例:

result = adfuller(series) print('ADF统计量:', result[0]) print('p值:', result[1]) print('临界值:', result[4])

判读逻辑:p < 0.05时拒绝原假设,认为序列平稳,d取0;p ≥ 0.05时不拒绝原假设,需要差分后再检验,d取1或2。

实际处理中我见过最多的问题不是不知道判读标准,而是对“弱平稳”的误判。有些序列ADF检验p值勉强小于0.05,但肉眼观察方差波动很大,这类“统计上平稳、业务上不稳定”的数据,建模之后残差往往通不过白噪声检验。所以不要只依赖ADF,还要结合ACF图一起看。

R语言对应代码:

library(tseries) adf.test(ts_data)

4. Python完整实现ARIMA并输出参数

4.1 定阶:ACF、PACF图识别p和q

定阶最经典的方法是看ACF(自相关图)和PACF(偏自相关图)。判断规则:

  • AR项的p:PACF图在滞后k期后截尾(后面几乎为0),则p取k。
  • MA项的q:ACF图在滞后k期后截尾,则q取k。
  • 两者都拖尾(缓慢衰减),可能要用ARIMA组合或SARIMA。

ACF和PACF的判断存在主观性,我推荐的做法是:先用图形观察一个大概区间,再通过AIC/BIC信息准则在候选参数组合里选最优。只靠看图,新手很容易定出参数过大或过小。

绘图代码:

import matplotlib.pyplot as plt fig, axes = plt.subplots(1, 2, figsize=(12, 4)) plot_acf(series, lags=30, ax=axes[0]) plot_pacf(series, lags=30, ax=axes[1]) plt.show()

4.2 网格搜索选最优参数组合

用AIC(赤池信息准则)和BIC(贝叶斯信息准则)做参数选择是工程上最常用的做法。这两个指标都是越小越好,它们在拟合优度和复杂度之间取平衡,防止p和q无限膨胀。

import warnings from statsmodels.tsa.arima.model import ARIMA import itertools warnings.filterwarnings("ignore") p_range = range(0, 4) d = 1 q_range = range(0, 4) best_aic = float("inf") best_order = None best_model = None for p, q in itertools.product(p_range, q_range): try: model = ARIMA(series, order=(p, d, q)) fit = model.fit() if fit.aic < best_aic: best_aic = fit.aic best_order = (p, d, q) best_model = fit except Exception: continue print('最优参数:', best_order) print('最优AIC:', best_aic)

这段代码的逻辑是先设定p和q的搜索范围,遍历所有组合,每次计算AIC,保留最小AIC对应的模型。实际操作中,p和q的范围一般不要超过5,因为更大的阶数在业务场景里基本没有解释意义,还会让模型变得脆弱。

4.3 拟合结果与参数输出详解

选定最优参数后,重新拟合模型并打印完整统计摘要:

model = ARIMA(series, order=(2, 1, 2)) fit = model.fit() print(fit.summary())

摘要里的关键输出项包括:

  • coef(系数):模型为AR项和MA项估计的权重,每个系数的正负都有业务含义。AR系数为正表示历史值对当前值有正向带动作用,为负表示反向修正。
  • std err(标准误):系数估计的波动范围,越小说明估计越稳定。
  • P>|z|:每个系数是否显著为0的检验结果。经验法则:p小于0.05说明该项值得保留,p大于0.05可以考虑减少对应阶数。
  • AIC、BIC:模型比较指标。
  • Ljung-Box Q:残差白噪声检验的Q统计量,用于判断残差中是否还残留自相关。

很多人在这一步只盯着AIC看,忽略了系数显著性。实际业务预测时,一个不显著的AR项会让预测结果对历史值过度敏感,置信区间异常宽。我处理过不止一次这类问题,排查到源头就是多余的AR项在干扰模型。

4.4 预测与置信区间输出

forecast_steps = 14 forecast_result = fit.get_forecast(steps=forecast_steps) pred_mean = forecast_result.predicted_mean conf_int = forecast_result.conf_int()

pred_mean是未来n期的点预测值,conf_int是95%置信区间下界和上界。置信区间的宽度直接反映了预测的不确定性:周期越长,区间越宽,这是正常现象。如果区间宽度在几步之内就爆炸式扩大,通常意味着模型参数有问题,或者数据本身的规律性太弱。

把预测结果画出来观察:

import matplotlib.pyplot as plt plt.plot(series, label='历史值') plt.plot(pred_mean, label='预测值', color='red') plt.fill_between(pred_mean.index, conf_int.iloc[:, 0], conf_int.iloc[:, 1], color='red', alpha=0.2) plt.legend() plt.show()

预测图的判断要点:预测值曲线是否跟历史尾部趋势衔接自然;置信区间是否逐渐展开但没有剧烈发散。两条都满足,说明模型基本可用。

5. R语言完整实现ARIMA并输出参数

5.1 auto.arima自动定阶与拟合

R语言实现ARIMA最省事的方式是用auto.arima(),它自动执行差分阶数估计、季节项检测、p/q范围搜索,不需要手动去画ACF/PACF。

library(forecast) ts_data <- ts(data_vector, frequency = 12, start = c(2020, 1)) fit_auto <- auto.arima(ts_data, stepwise = FALSE, approximation = FALSE)

参数说明:

  • stepwise = FALSE:关闭逐步搜索,转而遍历全部候选参数组合,结果更优但耗时更长。
  • approximation = FALSE:关闭近似计算,使用精确似然估计。

拟合完成后用summary()看结果:

summary(fit_auto)

输出内容包含了ARIMA(p,d,q)的具体阶数、各系数及标准误、AIC、残差标准差等。auto.arima还会输出均值(mean)或漂移(drift)项,这在Python里需要手动设置trend参数才能加上。

5.2 手动指定参数时用Arima()

如果基于业务经验或ACF/PACF判断需要手动指定参数,用Arima():

fit_manual <- Arima(ts_data, order = c(1, 1, 1)) summary(fit_manual)

注意R里有两个容易搞混的函数:arima()(基础包)和Arima()(forecast包)。区别在于Arima()支持更多额外参数,并且可以直接被forecast()函数调用,推荐使用后者。

5.3 forecast函数与结果提取

pred <- forecast(fit_auto, h = 12) plot(pred)

h参数指定预测期数。plot(pred)会绘制历史拟合值、未来预测值以及置信区间带。想提取数值:

pred$mean # 预测均值 pred$lower # 置信区间下界 pred$upper # 置信区间上界

R的forecast包帮我省了大量时间的地方在于,它把白噪声检验、残差图、预测图都封装成了一个组合输出,可以在建模后快速判断模型质量。

6. 参数解读与预测效果评估

6.1 系数检测的数值案例

假设拟合结果得到AR(1)系数为0.87,MA(1)系数为-0.42。这个组合的业务解读是:当前值受上一期值影响很大(AR系数接近1,惯性极强),同时受上一期误差的负向修正(MA系数的符号是负的,说明误差有回归均值倾向)。这类情况在金融序列里很常见。

只看系数值还不够,要配合标准误判断估计稳定性。标准误超过系数绝对值的一半时,说明这个系数的估计不可靠,即使p值很小也要警惕。

6.2 残差白噪声检验

模型拟合好之后,残差必须是白噪声(没有自相关),否则说明信息没有被充分提取,模型的p或q可能低了。

Python的Ljung-Box检验:

from statsmodels.stats.diagnostic import acorr_ljungbox ljung_box_result = acorr_ljungbox(fit.resid, lags=10) print(ljung_box_result)

p值小于0.05说明残差仍存在自相关,模型需要调整。p值大于0.05说明残差接近白噪声,模型可以接受。

R语言直接通过checkresiduals()检查:

checkresiduals(fit_auto)

这个函数同时输出残差时序图、ACF图和Ljung-Box检验结果,是R语言里最直观的模型诊断工具。

6.3 预测效果评估不能只看一次误差

预测效果评估常用的指标:

指标公式含义评价标准
MAE平均绝对误差越小越好,量纲直观
RMSE均方根误差对大误差更敏感
MAPE平均绝对百分比误差量纲无关,便于横向对比
MASE缩放平均绝对误差对比朴素预测效果

评估时要把数据集切成训练集和测试集,思路是:前80%数据训练模型,后20%数据做验证,把预测值与真实值对比计算指标。单次预测误差不能说明问题,最好滚动多次预测再算平均误差和误差分布。

抽样验证伪代码(Python):

train = series.iloc[:-20] test = series.iloc[-20:] model = ARIMA(train, order=best_order).fit() pred = model.forecast(steps=20) from sklearn.metrics import mean_absolute_error, mean_squared_error mae = mean_absolute_error(test, pred) rmse = mean_squared_error(test, pred, squared=False)

注意:forecast之后,预测起点接的是训练集末尾,而不是全量序列末尾,这是初学者最容易搞错的地方,会导致预测结果看起来偏离很多。

7. 常见问题与排查技巧实录

7.1 模型拟合报错:收敛失败与秩不足

statsmodels拟合时偶尔会提示收敛警告,或者LinAlgError: Singular matrix。这不是代码错了,而是数值计算上的问题,常见原因包括:

  • 数据包含极端离群值,影响了协方差矩阵计算
  • p、q阶数设置过高,模型参数过多
  • 序列差分后仍不稳定,数值范围跨度过大

排查顺序:

  1. 先把数据标准化一下,不要让数值量级差异太大(比如几百万和0.01在同一个序列里)。
  2. 减少p、q搜索范围。
  3. 换用method='statespace'或者降低maxiter再试。

7.2 预测结果整体偏低或偏高

这个现象大多跟差分和漂移项有关。auto.arima会自动判断是否加drift(漂移项),但Python的ARIMA不会自动加。如果序列在有趋势的情况下被你做了差分,预测值会围绕最后一个差分水平基准移动,不会体现趋势,显得偏低或偏高。

解决办法:Python里给ARIMA加trend='t',或者在建模前先做趋势项处理。R里用Arima(ts_data, order=..., include.drift=TRUE)。

7.3 预测结果全是平的(接近最后一个值)

这是p和q都取0、d为1时出现的典型情况:模型退化成随机游走,预测值永远等于最后一个观测值。AIC可能还挺小,但预测没有信息量。

排查方法:看ACF/PACF图是否显示高自相关,如果自相关显著,必须让p或q不为0。

7.4 季节性数据强建模

业务数据往往有周内周期和年内周期,直接用ARIMA会忽略周期性。解决办法:使用SARIMA模型。R里写Arima(ts_data, order=c(1,1,1), seasonal=c(1,1,1)),Python里用SARIMAX类:

from statsmodels.tsa.statespace.sarimax import SARIMAX model = SARIMAX(series, order=(1,1,1), seasonal_order=(1,1,1,12)) fit = model.fit()

判断是否需要注意季节性的简单方法:观察ACF图里滞后12期(月度数据)或滞后7期(周数据)是否仍有显著自相关柱子。

8. 我踩过几次坑之后的实操心得

ARIMA调参最大的陷阱是追求AIC最小,但忽视业务解释性。有一个来自某电商团队的实际经验:AIC排名第一的模型预测结果波动很大,排名第五的模型虽然AIC略高一点,但系数全部显著、残差白噪声检验通过、预测曲线平稳。最终上线用的是AIC排名第五的模型,线上反馈更好。

所以我的固定工作流变成:先网格搜索粗筛候选参数,再结合系数显著性、残差检验、预测曲线稳定性做人工判断,最后才定模型。AIC只是候选过滤器,不是决策终审。

另一个常被忽视的细节是:模型要定期重新拟合。很多团队上线一次就用半年,到后面预测偏差越来越大。实际业务数据会漂移,建议至少每两周重新拟合一次,或者每天定时任务里做滚动训练,确保模型参数能跟上最近的模式。

最后分享一个效率技巧:预测任务比较多时,把ARIMA的定阶结果做个缓存,数据没有明显变化时不重复网格搜索,直接复用上一次的最优参数。这样既省时间,又避免模型频繁波动导致业务侧产生混乱。

相关新闻

影像组学动态变化预测肝癌免疫治疗病理完全缓解的建模方法

影像组学动态变化预测肝癌免疫治疗病理完全缓解的建模方法

1. 研究价值拆解&#xff1a;从“影像判读”到“疗效预测” 前两天和一个做肝癌临床研究的同行聊天&#xff0c;他提到现在系统性治疗之后判断要不要手术、什么时候手术&#xff0c;急切需要一个可靠的预测工具。传统影像评估照着RECIST版本量肿瘤长短径&#xff0c;可免疫治疗…

2026/10/19 17:46:57 阅读更多 →
AI重新定义数据资产评估:从人工抽样到全量智能感知

AI重新定义数据资产评估:从人工抽样到全量智能感知

1. 数据资产评估为什么突然成了AI应用架构师绕不开的题最近两年&#xff0c;凡是做数据中台、AI平台、企业级数据架构的团队&#xff0c;几乎都会碰到同一个问题&#xff1a;领导层开始追问“我们手里这些数据到底值多少钱”。这个问题的背后&#xff0c;是数据要素市场化的大趋…

2026/10/19 17:46:57 阅读更多 →
pymoo复现车辆与无人机协同配送路径优化:从建模到实验全流程解析

pymoo复现车辆与无人机协同配送路径优化:从建模到实验全流程解析

论文复现这活儿&#xff0c;难的不是读懂论文里的公式&#xff0c;而是把两页纸的数学模型变成能跑的代码&#xff0c;还要保证结果跟论文对得上。最近我花了不少时间啃一个很热门的方向——低空经济下的车辆与无人机协同配送路径优化&#xff0c;求解框架选的是Python生态里的…

2026/10/19 17:46:57 阅读更多 →

最新新闻

L应用内存取证复盘:蓝队如何从内存镜像还原攻击链路

L应用内存取证复盘:蓝队如何从内存镜像还原攻击链路

我去年处理过一起很有意思的应急事件&#xff1a;某企业内部办公应用L在深夜出现异常外联&#xff0c;登录日志被攻击者清得干干净净&#xff0c;磁盘上能翻到的痕迹少得可怜。但内存镜像拉下来之后&#xff0c;攻击者的后门配置、窃取的会话凭证、甚至绕过二次认证的完整链路全…

2026/10/19 20:09:45 阅读更多 →
4G基站同步异常致小区不可用:从GPS失锁到同步板卡更换复盘

4G基站同步异常致小区不可用:从GPS失锁到同步板卡更换复盘

那天午休刚结束&#xff0c;值班手机弹出一条告警&#xff1a;某4G站点的所有小区同步异常&#xff0c;随后状态快速转成“小区不可用”。这种告警在维护群里并不少见&#xff0c;但真正让人紧张的&#xff0c;是它已经从“失步”一路演变到整站掉线&#xff0c;等于现场业务直…

2026/10/19 20:09:45 阅读更多 →
零基础手作项目artcraft:从创意到实物的完整流程

零基础手作项目artcraft:从创意到实物的完整流程

artcraft 这名字听起来有点像某个游戏 ID&#xff0c;但对我来说&#xff0c;它其实是一间可以随身带走的临时手作工作室。这个项目我已经断断续续做了快两年&#xff0c;核心只有一句话&#xff1a;把脑子里的创意&#xff0c;变成手里拿得住的实物。它没有标准流程&#xff0…

2026/10/19 20:09:45 阅读更多 →
ARIMA模型输出参数解读:Python与R双实现的时间序列预测实战

ARIMA模型输出参数解读:Python与R双实现的时间序列预测实战

先把话放前面&#xff1a;这篇文章不是讲“怎么把ARIMA跑通”的入门教案&#xff0c;而是讲“跑通之后&#xff0c;那些输出参数到底该怎么看、怎么用”。我之前折腾过一个销售预测任务&#xff0c;代码确实整出了预测曲线&#xff0c;项目汇报时也讲得头头是道&#xff0c;结果…

2026/10/19 20:09:45 阅读更多 →
从设计规范到性能优化:前端图表设计系统搭建实战

从设计规范到性能优化:前端图表设计系统搭建实战

1. 项目概述&#xff1a;一张设计稿背后的"图表设计系统"先交代一下背景。我是在做某个跨平台数据产品时&#xff0c;被逼着做了这个代号为diagram-design的项目。说白了&#xff0c;就是一套能把"原始数据"变成"规范图表"的前端图表设计与渲染方…

2026/10/19 20:09:45 阅读更多 →
Postman接口串联实战:变量作用域、提取脚本与执行顺序控制

Postman接口串联实战:变量作用域、提取脚本与执行顺序控制

1. 接口串联的真实痛点与整体设计思路做过接口测试的人几乎都遇到过这种场景&#xff1a;你手里有两个接口&#xff0c;A接口是业务主流程&#xff0c;B接口是前置依赖。A接口的请求体里有一个必填字段&#xff0c;而这个字段的值必须从B接口的响应里拿。比如下单接口需要一个动…

2026/10/19 20:08:44 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介&#xff1a;本资源为电源技术方向的学术研究文档&#xff0c;聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略&#xff0c;面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址&#xff1a; https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集&#xff0c;共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →