我正在尝试使用 scikit-learn 中包含的广义线性模型拟合方法来拟合向量自回归 (VAR) 模型。线性模型具有 y = X w 的形式,但系统矩阵 X 具有非常奇特的结构:它是 block 对角线的,所有 block 都是相同的。为了优化性能和内存消耗,模型可以表示为 Y = BW,其中 B 是 X 的一个 block >、Y 和 W 现在是矩阵而不是向量。 LinearRegression、Ridge、RidgeCV、Lasso 和 ElasticNet 类很容易接受后一种模型结构。然而,由于Y是二维的,拟合LassoCV或ElasticNetCV失败。
我找到了 https://github.com/scikit-learn/scikit-learn/issues/2402 从这个讨论中,我假设 LassoCV/ElasticNetCV 的行为是有意的。 除了手动实现交叉验证之外,还有其他方法可以优化 alpha/rho 参数吗?
此外,scikit-learn 中的贝叶斯回归技术还期望 y 是一维的。有什么办法解决这个问题吗?
注意:我使用的是 scikit-learn 0.14(稳定版)
最佳答案
使用这种回归公式获得的性能和内存优化有多重要?鉴于您的重新制定破坏了 scikit-learn,我不会真正称之为优化......我建议:
关于python - 用 scikit-learn 拟合向量自回归模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20681297/