gpt4 book ai didi

python - 计算海量数据集多元线性回归的性能问题

转载 作者:行者123 更新时间:2023-11-30 08:50:22 24 4
gpt4 key购买 nike

我正在使用np.linalg.lstsq来计算多元线性回归。我的数据集非常庞大:有 20,000 个自变量 (X) 和 1 个因变量 (Y)。每个自变量有 10,000 个数据。像这样的事情:

                X1   X2     X3..  X20,000   Y
data1 -> 10 1.8 1 1 3
data2 -> 20 2.3 200 206 5
.. .. .. .. ..
data10,000-> 300 2398 878 989 998

使用 np.linalg.lstsq 计算回归系数需要花费大量时间(20-30 分钟)。有人可以根据计算时间告诉我一些更好的解决方案吗?

最佳答案

花费的时间似乎遵循n**2.8。您可以通过减少数据点的数量来提高速度。

如果将数据采样到仅一千行,则可以在几秒钟内完成计算。然后,您可以使用不同的随机样本重复分析。

为了合并结果,您有多种选择:

  • 按照统计互相关中的常见做法,通过残差范数的倒数对它们进行加权(计算速度快,因为它已经在输出中)。
  • 测量完整数据集的真实残差(花费不到三秒)并且:
    • 保留最好的。
    • 通过实际距离的倒数对它们进行加权。

最佳选择取决于您需要的准确性以及数据的性质。如果您只需要对中等噪声进行粗略估计,则单次下采样应该可以工作。请记住,您的决心已经严重不足,因此您的解决方案将会退化。

关于python - 计算海量数据集多元线性回归的性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24287231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com