协方差矩阵-----------------------奇异值

协方差矩阵的概念:

描述随机变量之间的相互关系。即一个变量的变化如何影响另一个变量。

当数据集变量间不相关,协方差矩阵是对角矩阵,协方差为0,也是正定矩阵,存在逆矩阵。

当数据集变量间线形相关,协方差矩阵是奇异的,矩阵的逆矩阵则不存在,导致问题。

总结(粗暴的理解):协方差矩阵奇异性=变量间线形相关

协方差逆矩阵奇异性引起的问题:

基于协方差矩阵的统计方法可能不可靠,例如:

PCA不可用

LDA不可用

协方差逆矩阵奇异性的解决办法:

正则化:

lasso regression;

ridge regression: 

变体:

稀疏主成分分析(sparse PCA);

方差最大化线性判别分析(maximum variance LDA)

在MASS包LDA函数中,

tol是协方差矩阵中奇异性的容差水平,tol = 1.0e-4是举例的容忍度。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MF-DCCA(多因素动态正则相关分析)是一种用于分析多个时间序列之间关系的方法。它可以在存在滞后效应的情况下,捕捉到多个时间序列之间的线性和非线性关系。下面是一个使用Python实现MF-DCCA的简单代码示例: ```python import numpy as np from scipy.linalg import hankel def dcca(X, Y, lag): # 将输入的两个时间序列构建出延迟矩阵 X_hankel = hankel(X[:lag], X[lag-1:]) Y_hankel = hankel(Y[:lag], Y[lag-1:]) # 计算每个时刻的均和方 X_mean = np.mean(X) Y_mean = np.mean(Y) X_std = np.std(X) Y_std = np.std(Y) # 计算归一化后的时间序列 X_norm = (X_hankel - X_mean) / X_std Y_norm = (Y_hankel - Y_mean) / Y_std # 计算XY的矩阵 XY_cov = np.cov(X_norm, Y_norm, ddof=0) # 计算XY的奇异分解 U, S, Vt = np.linalg.svd(XY_cov) # 选取最大奇异对应的奇异向量 max_singular_index = np.argmax(S) u = U[:, max_singular_index] v = Vt[max_singular_index, :] # 计算CCA系数 rho = np.sum(u * v) / np.sqrt(np.sum(u ** 2) * np.sum(v ** 2)) return rho # 示例用法 X = np.random.rand(100) # 第一个时间序列 Y = np.random.rand(100) # 第二个时间序列 lag = 5 # 延迟长度 correlation = dcca(X, Y, lag) print('MF-DCCA correlation:', correlation) ``` 以上代码中,首先通过`hankel`函数构建了滞后矩阵,然后计算了每个时刻的均和方,并将时间序列归一化。接着,计算了两个归一化时间序列的矩阵,进行奇异分解得到了奇异向量。通过奇异向量计算了CCA系数,最后输出了MF-DCCA相关性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值