Есть ли автоматический способ, где python выбирает переменные, которые имеют наибольшее значение в регрессии OLS? - PullRequest
0 голосов
/ 10 ноября 2019

Предположим, у меня есть следующий Dataframe

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. Я хочу выбрать переменные, которые лучше всего подходят между бета, размером и 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: Я все еще новичок в этом, поэтому, пожалуйста, не будьте резкими в своих комментариях. Если у вас есть предложение или книга, объясняющая эти вещи, не стесняйтесь поделиться ими. Спасибо за ваше сотрудничество

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...