繁体   English   中英

矢量自回归模型拟合与scikit学习

[英]Vector autoregressive model fitting with scikit-learn

我正在尝试使用scikit-learn中包含的广义线性模型拟合方法拟合向量自回归(VAR)模型。 线性模型具有y = X w的形式,但系统矩阵X具有非常特殊的结构:它是块对角线,并且所有块都是相同的。 为了优化性能和内存消耗,模型可以表示为Y = BW ,其中B是来自X的块, YW现在是矩阵而不是向量。 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,我不会把它称为优化...我建议:

  1. 运行未优化的版本并等待(如果可能)。

  2. Git提取以下代码 ,据说可以解决您的问题。 它是在您从scikit-learn github项目发布的对话中引用的。 请参阅此处了解有关构建scikit的说明 - 从git pull中学习。 然后,您可以将分支的scikit-learn位置添加到python路径,并使用修改后的库代码执行回归。 务必发布您的经历和遇到的任何问题; 我相信scikit开发人员会很感激。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM