在 Python 中自动 Linear/Multiple 回归,包含 50 多列

Automatic Linear/Multiple Regression in Python with 50+ columns

我有一个超过 50 列的数据集,我正试图在 Python 中找到一种方法来在每个变量组合之间进行简单的线性回归。这里的目标是找到进一步分析的起点(即,我将深入研究那些具有显着 R 方的货币对)。

我已将所有列放入 numpy 数组列表中。我怎样才能在每个组合之间进行简单的线性回归,并为该组合打印 R 平方?是否有可能尝试使用最多 5-6 个变量的多元线性回归,对每个组合再次进行?

每个数组大约有 200 行,因此在速度方面的代码效率对于这个个人项目来说不是大问题。

这更像是一个 EDA 问题,而不是 python 问题。查看一些回归资源,特别是相关矩阵。但是,一种可能的解决方案是使用 itertools.combinations 组大小为 6。这将为您提供 15,890,700 个不同的选项用于 运行 回归,因此除非您想要 运行 大于 1500 万次回归你应该做一些 EDA 来找到数据集中的重要特征。

如果您正在寻找具有高 r 平方值的列,只需尝试使用相关矩阵。为了简化可视化,我建议您使用 seaborn 绘制热图:

import seaborn as sns
import matplotlib.pyplot as plt

df_corr = df.corr()
sns.heatmap(df_corr, cmap="coolwarm", annot=True)
plt.show()

我对您的其他建议是 运行 在您的数据集中进行主成分分析 (PCA) 以找到变异性最高的特征。通常,这些变量是最重要的,可用于做出最佳预测。如果需要有关此技术的更多信息,请告诉我。