回归两个多维数据集?

问题描述

假设我有两个数据集,X1X2,每个维度都是 N×D,其中 N 是样本数,D 是数据集的维数。

在我当前的项目中,X1X2 是操作不同阶段的相同数据集(例如,先是 X1,然后是 X2)。我正在寻找一种简单的方法来确定操作在哪一点不再引起 X2 上的任何重大变化。如果数据集是一维的,实现这一点的一种简单方法是将 X1X2 相互回归,然后检查 r 值与 1 的接近程度。

但是,如果 X1X2 都是多维的,我就不知道如何实现了。我假设我可以独立地回归每对维度,然后平均结果,但这感觉就像一个黑客。你知道我如何计算一个多维的等价于 Python 中的 r 值吗?

编辑:与下面的示例相反,两个数据集中的样本彼此对应。我本质上只是在寻找一种方法来量化将 X1 带到 X2 的操作引起了多少变化(如果有的话)。

这里有一个简单的设置作为基础:

import numpy as np
import scipy.stats
import matplotlib.pyplot as plt

# Set the dimensions
N   = 100
D   = 3

# Create two correlated datasets
cov = np.identity(D*2)
cov[3,0] = 0.5
cov[4,1] = 0.5
cov[5,2] = 0.5
cov[0,3] = 0.5
cov[1,4] = 0.5
cov[2,5] = 0.5
X   = scipy.stats.multivariate_normal.rvs(
    mean    = np.zeros(D*2),cov     = cov,size    = N)

# Extract the two correlated datasets
X1  = X[:,:D]
X2  = X[:,D:]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)