【发布时间】:2014-08-21 14:31:02
【问题描述】:
我正在执行逐步模型选择,逐步删除方差膨胀因子超过某个阈值的变量。
为了做到这一点,我在数百 MB 到 10 gig 的数据集上多次运行 OLS。
对于较大的数据集,最快的 OLS 实施方式是什么? Statsmodel OLS 实现似乎使用 numpy 来反转矩阵。基于梯度下降的方法会更快吗? scikit-learn 有没有特别快的实现?
或者也许使用 pymc 的基于 mcmc 的方法是最快的......
更新 1:似乎 scikit learn 的 LinearRegression 实现是 scipy 实现的包装器。
更新 2:在我非常有限的测试中,通过 scikit 学习 LinearRegression 的 Scipy OLS 的速度是 statsmodels OLS 的两倍...
【问题讨论】:
-
你有多少行/观察和多少列/解释变量?
-
大约一百个观察值和数百万行
标签: python scipy scikit-learn statsmodels pymc