统计模型框架中的维度问题

问题描述 投票:0回答:0

我正在尝试使用 statsmodels 库中的 CanCorr 方法,但经常遇到问题,可能与输入的维度有关。当我运行以下代码时:

c = CanCorr(a,b)

我得到以下错误

ValueError: exog is collinear.

a
的形状是(700, 34),
b
的形状是(700, 58),取值都是>=0的整数。来自statsmodels docs:

`` nobs,k_yvar = self.endog.shape nobs,k_xvar = self.exog.shape k = np.min([k_yvar, k_xvar])

    x = np.array(self.exog)
    x = x - x.mean(0)
    y = np.array(self.endog)
    y = y - y.mean(0)

    ux, sx, vx = svd(x, 0)
    # vx_ds = vx.T divided by sx
    vx_ds = vx.T
    mask = sx > tolerance
    if mask.sum() < len(mask):
        raise ValueError('exog is collinear.')

``

我已经通过采用不同的子集改变了输入的维度,但我仍然得到同样的错误。我已经转置了它们,这给了我一个矩阵大小不一致的错误。我一直在兜圈子,试图找出问题所在。如果有人可以解释我做错了什么/我需要做什么,将不胜感激。谢谢!

python statsmodels
© www.soinside.com 2019 - 2024. All rights reserved.