假设我具有以下数据框
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,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中有一个名为glmulti
的库,python中是否有类似的东西?
PS:我对此仍然是陌生的,所以请不要在您的评论中刻薄。如果您有任何建议或明确解释这些内容的书,请随时分享。谢谢您的合作