行业网站源码/网络公司的推广

行业网站源码,网络公司的推广,仿虎嗅网 wordpress,珠海企业网站制作费用前言 本文隶属于专栏《机器学习数学通关指南》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见《机器学习数学通关指南》 ima 知识库 知识库广场搜索&#…

前言

本文隶属于专栏《机器学习数学通关指南》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见《机器学习数学通关指南》


ima 知识库

知识库广场搜索:

知识库创建人
机器学习@Shockang
机器学习数学基础@Shockang
深度学习@Shockang

正文

在这里插入图片描述

自相关函数与功率谱密度:时域与频域的桥梁

在这里插入图片描述

📚 谱分析方法是研究信号频率成分的重要手段,是连接时域特性和频域分析的桥梁,在机器学习和数据科学中有着广泛应用。

🔄 一、自相关函数(Autocorrelation Function, ACF)

1.1 数学定义 📐

对于平稳随机过程 X ( t ) X(t) X(t),自相关函数定义为:

R X ( τ ) = E [ X ( t ) X ( t + τ ) ] R_X(\tau) = E[X(t) X(t+\tau)] RX(τ)=E[X(t)X(t+τ)]

物理意义:描述信号在时间间隔 τ \tau τ 上的自相似性。当 τ = 0 \tau=0 τ=0 时, R X ( 0 ) R_X(0) RX(0) 表示信号的均方值(信号总功率)。

1.2 关键性质 🧩

性质数学表达式含义
对称性 R X ( − τ ) = R X ( τ ) R_X(-\tau) = R_X(\tau) RX(τ)=RX(τ)自相关函数是偶函数
非负定性相关矩阵为非负定矩阵保证功率谱密度非负
最大值特性 ∣ R X ( τ ) ∣ ≤ R X ( 0 ) |R_X(\tau)| \leq R_X(0) RX(τ)RX(0)相关性随时间差增大而衰减

1.3 直观理解 🧠

自相关函数度量了信号与其时移版本的相似度:

  • 高自相关:数据点间存在强依赖关系
  • 低自相关:数据点近似独立
  • 周期性自相关:信号中存在周期性成分

1.4 示例 🌊

对随机相位正弦波 X ( t ) = a cos ⁡ ( ω t + Θ ) X(t)=a\cos(\omega t + \Theta) X(t)=acos(ωt+Θ),其中 Θ ∼ U ( 0 , 2 π ) \Theta \sim U(0,2\pi) ΘU(0,2π)

R X ( τ ) = a 2 2 cos ⁡ ( ω τ ) R_X(\tau) = \frac{a^2}{2} \cos(\omega \tau) RX(τ)=2a2cos(ωτ)

其周期性反映信号具有单一频率分量 ω \omega ω

📊 二、功率谱密度(Power Spectral Density, PSD)

2.1 数学定义 📐

对平稳过程,功率谱密度是自相关函数的傅里叶变换:

S X ( ω ) = ∫ − ∞ ∞ R X ( τ ) e − j ω τ d τ S_X(\omega) = \int_{-\infty}^{\infty} R_X(\tau) e^{-j\omega \tau} d\tau SX(ω)=RX(τ)eτdτ

物理意义:表征信号功率在各频率分量上的分布密度。积分全频带得总功率:

∫ − ∞ ∞ S X ( ω ) d ω = R X ( 0 ) \int_{-\infty}^{\infty} S_X(\omega) d\omega = R_X(0) SX(ω)dω=RX(0)

2.2 重要性质 📋

  • 非负性 S X ( ω ) ≥ 0 S_X(\omega) \geq 0 SX(ω)0
  • 偶对称性 S X ( − ω ) = S X ( ω ) S_X(-\omega) = S_X(\omega) SX(ω)=SX(ω)
  • 维纳-辛钦定理:自相关函数与功率谱密度构成傅里叶变换对

2.3 常见信号的谱密度 📈

信号类型自相关函数功率谱密度特点
白噪声 R X ( τ ) = σ 2 δ ( τ ) R_X(\tau)=\sigma^2 \delta(\tau) RX(τ)=σ2δ(τ) S X ( ω ) = σ 2 S_X(\omega)=\sigma^2 SX(ω)=σ2功率均匀分布在所有频率上
正弦波 R X ( τ ) = a 2 2 cos ⁡ ( ω 0 τ ) R_X(\tau)=\frac{a^2}{2} \cos(\omega_0 \tau) RX(τ)=2a2cos(ω0τ) S X ( ω ) = π a 2 [ δ ( ω − ω 0 ) + δ ( ω + ω 0 ) ] S_X(\omega)=\pi a^2 [\delta(\omega-\omega_0)+\delta(\omega+\omega_0)] SX(ω)=πa2[δ(ωω0)+δ(ω+ω0)]在特定频率处有脉冲

🔄 三、自相关函数与功率谱密度的关系

3.1 维纳-辛钦定理(Wiener-Khinchin Theorem)🔗

维纳-辛钦定理建立了自相关函数与功率谱密度的互换关系:

S X ( ω ) = F { R X ( τ ) } = ∫ − ∞ ∞ R X ( τ ) e − j ω τ d τ S_X(\omega) = \mathcal{F}\{R_X(\tau)\} = \int_{-\infty}^{\infty} R_X(\tau) e^{-j\omega \tau} d\tau SX(ω)=F{RX(τ)}=RX(τ)eτdτ

R X ( τ ) = F − 1 { S X ( ω ) } = 1 2 π ∫ − ∞ ∞ S X ( ω ) e j ω τ d ω R_X(\tau) = \mathcal{F}^{-1}\{S_X(\omega)\} = \frac{1}{2\pi}\int_{-\infty}^{\infty} S_X(\omega) e^{j\omega \tau} d\omega RX(τ)=F1{SX(ω)}=2π1SX(ω)eτdω

3.2 分析意义 💡

  • 时域难以观察的周期性和噪声特性,在频域可通过谱峰/平坦度直观识别
  • 功率谱密度将复杂信号分解成不同频率成分,便于特征提取
  • 在机器学习中,这种转换可以揭示数据中的隐藏模式和周期性

🔄 四、各态历经性(Ergodicity)

4.1 定义与意义 📝

各态历经性:若平稳过程满足各态历经性,则可用单一样本的时间平均替代统计平均。

lim ⁡ T → ∞ 1 2 T ∫ − T T x ( t ) x ( t + τ ) d t = R X ( τ ) \lim_{T\to\infty} \frac{1}{2T} \int_{-T}^{T} x(t)x(t+\tau) dt = R_X(\tau) limT2T1TTx(t)x(t+τ)dt=RX(τ)

4.2 实际应用价值 🛠️

  • 允许从有限长度的单条时间序列估计自相关函数
  • 为现实数据分析提供理论支撑
  • 机器学习中,意味着可以从单一数据序列中推断整个随机过程的统计特性

💻 五、Python实现与应用

5.1 使用Python计算自相关函数 🐍

import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.stattools import acf# 生成示例数据:AR(1)过程
np.random.seed(42)
n = 1000
phi = 0.8
ar1 = np.zeros(n)
for i in range(1, n):ar1[i] = phi * ar1[i-1] + np.random.normal(0, 1)# 计算自相关函数
lags = 40
acf_values = acf(ar1, nlags=lags)# 可视化
plt.figure(figsize=(10, 6))
plt.stem(range(lags + 1), acf_values)
plt.axhline(y=0, linestyle='--', color='gray')
plt.axhline(y=1.96/np.sqrt(n), linestyle='--', color='red')
plt.axhline(y=-1.96/np.sqrt(n), linestyle='--', color='red')
plt.title('AR(1)过程的自相关函数', fontsize=14)
plt.xlabel('滞后(Lag)', fontsize=12)
plt.ylabel('自相关系数', fontsize=12)
plt.tight_layout()
plt.show()

5.2 功率谱密度计算 📊

from scipy import signal# 生成带噪声的正弦信号
fs = 100  # 采样频率
t = np.arange(0, 10, 1/fs)  # 10秒,采样率100Hz
f1, f2 = 5, 15  # 信号频率
x = np.sin(2*np.pi*f1*t) + 0.5*np.sin(2*np.pi*f2*t) + 0.5*np.random.randn(len(t))# 计算PSD
f, Pxx = signal.welch(x, fs, nperseg=256)# 可视化
plt.figure(figsize=(10, 6))
plt.semilogy(f, Pxx)
plt.title('功率谱密度', fontsize=14)
plt.xlabel('频率 [Hz]', fontsize=12)
plt.ylabel('PSD [V^2/Hz]', fontsize=12)
plt.grid(True)
plt.tight_layout()
plt.show()

🚀 六、机器学习中的应用场景

6.1 信号检测与特征提取 🔍

在接收信号 Y ( t ) = a S ( t − τ ) + N ( t ) Y(t)=aS(t-\tau)+N(t) Y(t)=aS(tτ)+N(t) 中,若有用信号 S ( t ) S(t) S(t) 与噪声 N ( t ) N(t) N(t) 独立,其互相关函数:

R S Y ( τ ) = a R S ( τ ) R_{SY}(\tau) = a R_S(\tau) RSY(τ)=aRS(τ)

应用

  • 雷达和声纳系统中的目标检测
  • 生物医学信号处理中的异常检测
  • IoT传感器数据中的模式识别

6.2 时间序列分析与预测 📈

ARMA模型:自回归滑动平均模型的谱密度具有有理函数形式,便于参数化建模。

例如AR(2)模型: X t = 0.4 X t − 1 + 0.4 X t − 2 + ϵ t X_t = 0.4X_{t-1} + 0.4X_{t-2} + \epsilon_t Xt=0.4Xt1+0.4Xt2+ϵt

# AR(2)模型参数估计与频谱分析
from statsmodels.tsa.arima.model import ARIMA
import pandas as pd# 生成AR(2)过程
n = 500
ar2 = np.zeros(n)
ar2[0:2] = np.random.randn(2)
for i in range(2, n):ar2[i] = 0.4*ar2[i-1] + 0.4*ar2[i-2] + np.random.normal(0, 1)# 拟合AR模型
model = ARIMA(ar2, order=(2,0,0))
results = model.fit()
print("AR(2)模型参数估计结果:")
print(results.summary())# 计算理论谱
ar_params = np.r_[1, -results.params[1:]]
w, h = signal.freqz(1, ar_params, worN=1000)
psd = np.abs(h)**2# 可视化理论谱
plt.figure(figsize=(10, 6))
plt.plot(w/np.pi, psd)
plt.title('AR(2)模型的理论功率谱', fontsize=14)
plt.xlabel('归一化频率 (×π rad/sample)', fontsize=12)
plt.ylabel('功率谱密度', fontsize=12)
plt.grid(True)
plt.tight_layout()
plt.show()

6.3 深度学习中的应用 🧠

  • 特征工程:将时域数据变换到频域作为神经网络输入特征
  • 时频分析:通过短时傅里叶变换(STFT)获取时变频谱图作为2D卷积网络输入
  • 异常检测:监测功率谱密度变化识别异常行为

🔬 七、高级谱分析技术

7.1 多元谱分析 🔄

交叉功率谱:研究两个信号之间的频率关系
S X Y ( ω ) = F { R X Y ( τ ) } S_{XY}(\omega) = \mathcal{F}\{R_{XY}(\tau)\} SXY(ω)=F{RXY(τ)}

相干函数:衡量两信号在特定频率上的线性相关性
γ X Y 2 ( ω ) = ∣ S X Y ( ω ) ∣ 2 S X ( ω ) S Y ( ω ) \gamma^2_{XY}(\omega) = \frac{|S_{XY}(\omega)|^2}{S_X(\omega)S_Y(\omega)} γXY2(ω)=SX(ω)SY(ω)SXY(ω)2

7.2 现代谱估计方法 📊

方法优点缺点适用场景
周期图法计算简单方差大长数据序列
Welch方法降低方差频率分辨率降低一般应用
AR模型法频率分辨率高需模型阶数选择短数据序列
多锥方法方差小、分辨率高计算复杂高精度要求
# 比较不同谱估计方法
methods = ['periodogram', 'welch', 'lombscargle']
plt.figure(figsize=(12, 8))# 生成含噪声的多频率信号
np.random.seed(0)
t = np.linspace(0, 10, 1000)
x = np.sin(2*np.pi*5*t) + 0.5*np.sin(2*np.pi*10*t) + 0.3*np.random.randn(len(t))# 周期图法
f1, pxx1 = signal.periodogram(x, fs=100)
plt.subplot(3, 1, 1)
plt.semilogy(f1, pxx1)
plt.title('周期图法', fontsize=12)
plt.ylabel('PSD')# Welch方法
f2, pxx2 = signal.welch(x, fs=100, nperseg=256)
plt.subplot(3, 1, 2)
plt.semilogy(f2, pxx2)
plt.title('Welch方法', fontsize=12)
plt.ylabel('PSD')# Lomb-Scargle方法 (适用于非均匀采样)
f3 = np.linspace(0.1, 50, 500)
pxx3 = signal.lombscargle(t, x, f3)
plt.subplot(3, 1, 3)
plt.semilogy(f3, pxx3)
plt.title('Lomb-Scargle方法', fontsize=12)
plt.xlabel('频率 [Hz]')
plt.ylabel('功率')plt.tight_layout()
plt.show()

🎯 八、总结与展望

8.1 谱分析方法的核心价值 💎

  • 时频域转换:通过傅里叶变换在时域和频域间建立桥梁
  • 特征提取:揭示数据中的周期性和频率特征
  • 降维与去噪:通过频域筛选保留关键信息,去除噪声

8.2 在机器学习中的重要性 🤖

  • 为特征工程提供理论基础
  • 作为信号预处理的关键步骤
  • 在时间序列预测中提供频域视角

8.3 未来发展方向 🚀

  • 时频联合分析:小波变换、希尔伯特-黄变换等高级技术
  • 深度时频学习:将谱分析与深度学习紧密结合
  • 非平稳信号分析:拓展谱分析方法应对非平稳特性

🔗 思考与练习

  1. 如何从实际数据中估计自相关函数的可靠性?
  2. 尝试使用本文提供的Python代码分析一个实际时间序列数据。
  3. 研究非平稳信号的谱分析方法,如何处理金融数据等非平稳序列?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/898317.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【软考-架构】11.3、设计模式-新

✨资料&文章更新✨ GitHub地址:https://github.com/tyronczt/system_architect 文章目录 项目中的应用设计模式创建型设计模式结构型设计模式行为型设计模式 💯考试真题题外话 项目中的应用 在实际项目中,我应用过多种设计模式来解决不同…

Linux的Shell编程

一、什么是Shell 1、为什么要学习Shell Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理。 对于JavaEE和Python程序员来说,工作的需要。Boss会要求你编写一些Shell脚本进行程序或者是服务器的维护,比如编写一个…

论文阅读笔记:Deep Unsupervised Learning using Nonequilibrium Thermodynamics

1、来源 论文连接1:http://ganguli-gang.stanford.edu/pdf/DeepUnsupDiffusion.pdf 论文连接2(带appendix):https://arxiv.org/pdf/1503.03585v7 代码链接:https://github.com/Sohl-Dickstein/Diffusion-Probabilistic-Models 代码的环境配置…

Linux 查看及测试网络命令

使用 ifconfig 命令查看网络接口地址 查看指定的网络接口信息 执行 ifconfig ens33 命令可以只查看网卡 ens33 的配置信息

ABAP语言的动态编程(4) - 综合案例:管理费用明细表

本篇来实现一个综合案例:管理费用明细表。报表在实际项目中,也有一定的参考意义,一方面展示类似的报表,比如管理费用、研发费用等费用的明细,使用业务比较习惯的展示格式;另一方面正好综合运用前面学习的动…

【Redis】Redis的数据删除(过期)策略,数据淘汰策略。

如果问到:假如Redis的key过期之后,会立即删除吗? 其实就是想问数据删除(过期)策略。 如果面试官问到:如果缓存过多,内存是有限的,内存被占满了怎么办? 其实就是问:数据的淘汰策略。…

Linux配置yum仓库,服务控制,防火墙

一、yum仓库 1.在安装软件时,首先第一步就是要考虑软件的版本的问题! 2.软件的安装:最安全可靠的方法就是去软件对应的官网上查看安装手册(包括的软件的下载) 红帽系软件安装的常见的3种方式 (1&#x…

设计模式(创建型)-抽象工厂模式

摘要 在软件开发的复杂世界中,设计模式作为解决常见问题的最佳实践方案,一直扮演着至关重要的角色。抽象工厂模式,作为一种强大的创建型设计模式,在处理创建一系列或相关依赖对象的场景时,展现出了独特的优势和灵活性。它通过提供一个创建对象的接口,让开发者能够在不指定…

【JavaEE】-- SpringBoot快速上手

文章目录 1. Maven1.1 什么是Maven1.2 为什么要学Maven1.3 创建一个Maven项目1.4 Maven核心功能1.4.1 项目创建1.4.2 依赖管理1.4.3 Maven Help插件 1.5 Maven仓库1.5.1 本地仓库1.5.2 中央仓库1.5.3 私有服务器(私服) 1.6 Maven设置国内源1.6.1 配置当前…

TCP/IP 协议精讲-精华总结版本

序言 本文旨在介绍一下TCP/IP涉及得所有基础知识,为大家从宏观上俯瞰TCP/IP提供一个基石,文档属于《TCP/IP图解(第五版)》的精简版本。 专业术语 缩写 全称 WAN Wide area network广域网 LAN Local area network局域网 TC…

C语言——结构体、联合、枚举

C语言中自定义类型 结构体结构体变量的创建和初始化结构体传参结构体内存对齐(如何存储) 联合体(共用体)联合体创建和初始化联合体大小(如何存储) 枚举类型枚举类型创建枚举类型初始化枚举的优点(相较于define) 前言 C语言中有内置类型和自定义类型,内置类型就像int…

【Linux操作系统——学习笔记二】Linux简单导航命令操作

一、前言 学习Linux,本质上是学习在命令行下熟练使用Linux的各类命令。 命令行:是一种通过输入命令和参数与计算机系统进行交互的方式,可以使用各种字符化命令对系统发出操作指令,打开Linux终端,进入命令行界面。 …

新安装的cursor安装不了插件

我安装的cursor版本0.47.5 直接说解决办法 找到安装路径cursor\resources\app下的product.json 修改https://marketplace.cursorapi.com为https://marketplace.visualstudio.com

HTML5扫雷游戏开发实战

HTML5扫雷游戏开发实战 这里写目录标题 HTML5扫雷游戏开发实战项目介绍技术栈项目架构1. 游戏界面设计2. 核心类设计 核心功能实现1. 游戏初始化2. 地雷布置算法3. 数字计算逻辑4. 扫雷功能实现 性能优化1. DOM操作优化2. 算法优化 项目亮点技术难点突破1. 首次点击保护2. 连锁…

Qt之自定义界面组件 一

通过qt中的painter绘图事件绘制一个电池电量图的变化。效果如下图 创建一个基于界面widget工程,在wdiget界面添加一个widget界面,将添加的widget界面的类提升为Tbattery.在Tbattery类中重写painEvent电池电量代码 文件目录结构 主要部分代码 //Tbattery.cpp #inc…

LeRobot源码剖析——对机器人各个动作策略的统一封装:包含ALOHA ACT、Diffusion Policy、VLA模型π0

前言 过去2年多的深入超过此前7年,全靠夜以继日的勤奋,一天当两天用,抠论文 抠代码 和大模型及具身同事讨论,是目前日常 而具身库里,idp3、π0、lerobot值得反复研究,故,近期我一直在抠π0及l…

数据结构篇——线索二叉树

一、引入 遍历二叉树是按一定规则将二叉树结点排成线性序列,得到先序、中序或后序序列,本质是对非线性结构线性化,使结点(除首尾)在线性序列中有唯一前驱和后继;但以二叉链表作存储结构时,只能获…

汽车保养记录用什么软件记录,汽车维修记录查询系统,佳易王汽车保养维护服务记录查询管理系统操作教程

一、概述 本实例以佳易王汽车保养维护服务记录查询管理系统为例说明,其他版本可参考本实例。试用版软件资源可到文章最后了解,下载的文件为压缩包文件,请使用免费版的解压工具解压即可试用。 软件特点:1、功能实用,操…

Python IP解析器 ip2region使用

说明:最近需要在python项目内使用IP定位所在城市的需求,没有采用向外部ISP服务商API请求获取信息的方案,则翻了翻,在搞Java时很多的方案,在Python端反而可选择范围很小。 # 示例查询 ips ["106.38.188.214"…

python开发订单查询功能(flask+orm bee)

1. 搭建python环境。 可以参考其它文档。 此处python使用 3.12 IDE随意,PyCharm 或 Eclipse PyDev也可以。 2. Flask 2.1 安装Flask pip install Flask 2.2 一个最简单的flask实例 创建一个工程, 新建一个 main.py文件, 输入以下内容…