首页 > 解决方案 > 是否有一种自动方式让 python 选择在 OLS 回归中最有意义的变量?

问题描述

假设我有以下数据框

import pandas as pd, numpy as np, statsmodels.formula.api as smf

# Generate the data
Stocks=100
mean = [0.5, 1000, 10]
Var = [0.5, 60, 3]

A=np.random.normal(loc=0.5,scale=0.5,size=(Stocks, 1))

for a, b in zip(mean, Var):
    A=np.concatenate((A, np.random.normal(loc=a,scale=b, size=(Stocks,1))), axis=1)

df1=pd.DataFrame(A, columns=['Betas','M/B','Size', 'P/E'])

df1['PAR_stock']=0.08+0.801*df1['Size']+0.321*df1['M/B']+0.164*df1['P/E']-0.084*df1['Betas']

我现在有以下 DataFrame。我想选择最适合 Beta、大小、P/E 和 M/B 的变量。

formula = 'PAR_stock ~ Betas + Size + Q("P/E") + Q("M/B")'
results = smf.ols(formula, df1).fit()
print(results.summary())

我希望 python 做每一个,并告诉我哪些变量最适合在 OLS 回归中使用,并告诉我这是最好的模型。

有没有办法在 python 中使用机器学习代码来做到这一点。

据我所知,R 中有一个库,称为glmultipython 中有类似的东西吗?

PS:我还是新手,所以请不要在您的评论中苛刻。如果您有任何建议或一本书可以明确解释这些事情,请随时分享。谢谢您的合作

标签: python-3.xmachine-learningregressionrpy2

解决方案


推荐阅读