Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Escolhendo as Variáveis | Regressão Linear Múltipla
Regressão Linear com Python

Escolhendo as Variáveis

Deslize para mostrar o menu

Ao trabalhar com muitas variáveis, muitas vezes não se sabe quais são relevantes. É possível treinar um modelo com todas elas, verificar quais variáveis não são úteis e, em seguida, treinar novamente utilizando apenas as mais impactantes.

GoodBadFeatures

Por que remover variáveis do modelo?

Adicionar uma variável não relacionada ao alvo introduz ruído e piora as previsões. Muitas variáveis inúteis acumulam ruído e reduzem ainda mais a qualidade do modelo.

Como saber se as variáveis são boas ou ruins?

OLS fornece testes estatísticos durante o treinamento. Cada variável recebe um resultado de teste t, exibido na tabela summary(), indicando se afeta significativamente o alvo.

123456789
import pandas as pd import statsmodels.api as sm file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file X,y = df[['Father', 'Mother']], df['Height'] # Assign the variables X_tilde = sm.add_constant(X) # Create X_tilde regression_model = sm.OLS(y, X_tilde).fit() # Initialize and train an OLS object print(regression_model.summary()) #Get the summary

O que nos interessa é o valor-p de cada variável.

valores de p

Em resumo, quanto menor o valor de p, maior a confiança de que a variável é relevante

exemplo de valores de p

Em estatística, define-se um nível de significância, geralmente 0,05. Se o p-valor de uma variável exceder esse limite, ela é considerada sem impacto relevante.

Na prática, p-valores um pouco acima de 0,05 ainda podem contribuir para o modelo. É mais seguro testar o modelo com e sem essa variável. Mas se o p-valor for muito alto (>0,4), pode-se removê-la com confiança.

Note
Nota

O p-valor varia de 0 a 1, então quando falamos de p-valor baixo significa menor que 0,05 e p-valor alto geralmente significa maior que 0,3-0,5.

No nosso exemplo, obtivemos valores de p para a altura da mãe e para a constante de 0,087 e 0,051. Se removermos as variáveis com valor de p > 0,05, teremos o resultado abaixo (à esquerda).

ComparandoModelos

Mesmo visualmente, podemos perceber que o modelo com constante (à direita) é melhor, portanto é preferível não removê-la do modelo.

Note
Nota

Conjuntos de dados pequenos frequentemente produzem valores de p mais altos (0,05–0,2) mesmo para características relevantes. Os valores de p refletem confiança: com mais dados, torna-se mais fácil distinguir características realmente impactantes de ruídos.

Como remover características inadequadas?

Basta remover a coluna relacionada à característica de X_tilde. Isso pode ser feito com o seguinte código:

X_tilde = X_tilde.drop(___, axis=1)

Por exemplo, para remover as colunas 'const' e 'Mother', utilize:

X_tilde = X_tilde.drop(['Mother', 'const'], axis=1)

E então crie um novo objeto OLS usando o X_tilde atualizado:

regression_model=sm.OLS(y, X_tilde)

1. Quais das variáveis você deve MANTER?

2. Escolha a afirmação INCORRETA.

question mark

Quais das variáveis você deve MANTER?

Selecione todas as respostas corretas

question mark

Escolha a afirmação INCORRETA.

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 4

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 2. Capítulo 4
some-alt