如何解决回归两个多维数据集?
假设我有两个数据集,X1
和 X2
,每个维度都是 N×D,其中 N 是样本数,D 是数据集的维数。
在我当前的项目中,X1
和 X2
是操作不同阶段的相同数据集(例如,先是 X1
,然后是 X2
)。我正在寻找一种简单的方法来确定操作在哪一点不再引起 X2
上的任何重大变化。如果数据集是一维的,实现这一点的一种简单方法是将 X1
和 X2
相互回归,然后检查 r 值与 1 的接近程度。
但是,如果 X1
和 X2
都是多维的,我就不知道如何实现了。我假设我可以独立地回归每对维度,然后平均结果,但这感觉就像一个黑客。你知道我如何计算一个多维的等价于 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 举报,一经查实,本站将立刻删除。