首页 > 解决方案 > 回归两个多维数据集?

问题描述

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

在我当前的项目中,X1并且X2在操作的不同阶段(例如,X1首先,X2稍后)是相同的数据集。我正在寻找一种简单的方法来确定操作在什么时候不再对X2. 如果数据集是一维的,实现这一目标的简单方法是相互回归X1X2然后检查 r 值与 1 的接近程度。

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

编辑:与下面的示例相反,两个数据集中的样本彼此对应。我本质上只是在寻找一种方法来量化 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:]

标签: pythonnumpymultidimensional-arrayregressionlinear-regression

解决方案


推荐阅读