基于小波分析的一维时间序列多重分形分析(MATLAB R2018a)

分形与小波变换在尺度性能上具有很多相似性,因此小波变换被认为是分析、刻画分形现象一个有力的工具。在分析分形的一般方法中,需要按照"盒维数"的计算思想,首先要将研究序列进行不同长度的分割,然后建立起结构函数,再研究结构函数与尺度之间的变化关系,若是多重分形分析则还要通过不同大小的幂次方操作将不同奇异点集区分开来。鉴于分形与小波之间在尺度上的相似性,应用小波来研究分形不需要再对序列进行分割,因为通过小波变换即可得到不同尺度上用于构建结构函数所需要的元素。

无论是连续小波变换还是离散小波变换,小波系数均能刻画出序列在不同时点上、不同尺度上的局部特征。因此,分形既然在不同尺度上具有自相似性,那么应用"显微镜"式的小波分析在不同放大倍数(尺度)的镜片下来考察系统的分形特性最自然不过了。

鉴于此,采用小波分析方法对一维时间序列进行多重分形分析,使用小波分形技术来表征局部信号的规则性,并给出几个例子,比如布朗过程,股票综合数据等。算法可迁移至金融时间序列,地震/微震信号,机械振动信号,声发射信号,电压/电流信号,语音信号,声信号,生理信号(ECG,EEG,EMG)等一维时间序列信号。程序运行环境为MATLAB R2018A。

Matlab 复制代码
function params = parseinputs(varargin)

params.wname = 'bior1.5';
params.j1 = 3;
params.q = -5:5;
params.cumulant = 3;
params.weight = 'uniform';
if isempty(varargin)
    return;
end

tf = find(strncmpi(varargin,'MinRegressionLevel',2));
if nnz(tf) == 1
    params.j1 = varargin{tf+1};
    validateattributes(params.j1,{'numeric'},{'scalar','integer', '>=',2},...
        'dwtleader','MinRegressionLevel');
    varargin(tf:tf+1) = [];
    if isempty(varargin)
        return;
    end
end

tf = find(strncmpi(varargin,'MaxRegressionLevel',2));
if nnz(tf) == 1
    params.J = varargin{tf+1};
    validateattributes(params.J,{'numeric'},{'scalar','integer', ...
        '>=',params.j1+1},'dwtleader','MaxRegressionLevel');
    varargin(tf:tf+1) = [];
    if isempty(varargin)
        return;
    end
end

tf = find(strncmpi(varargin,'RegressionWeight',1));
if nnz(tf) == 1
    params.weight = varargin{tf+1};
    validweights = {'uniform','scale'};
    params.weight = validatestring(params.weight,validweights);
    varargin(tf:tf+1) = [];
    if isempty(varargin)
        return;
    end
end

% Only remaining varargin argument must be wavelet
tf = cellfun(@(x)ischar(x),varargin);
if nnz(tf) == 1
    params.wname = varargin{tf>0};
    varargin(tf>0) = [];
else
    error('Invalid');
end

完整代码:https://mbd.pub/o/bread/mbd-ZJWZm5ps

if ~isempty(varargin)
    error(message('Wavelet:mfa:UnsupportedSyntax'));
end

工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
小馒头学python几秒前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习
k09332 分钟前
sourceTree回滚版本到某次提交
开发语言·前端·javascript
神奇夜光杯10 分钟前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
Themberfue12 分钟前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
正义的彬彬侠12 分钟前
《XGBoost算法的原理推导》12-14决策树复杂度的正则化项 公式解析
人工智能·决策树·机器学习·集成学习·boosting·xgboost
plmm烟酒僧14 分钟前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv
Debroon22 分钟前
RuleAlign 规则对齐框架:将医生的诊断规则形式化并注入模型,无需额外人工标注的自动对齐方法
人工智能
测试界的酸菜鱼25 分钟前
Python 大数据展示屏实例
大数据·开发语言·python
小码农<^_^>27 分钟前
优选算法精品课--滑动窗口算法(一)
算法
羊小猪~~29 分钟前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习