Olá Vinícius, tudo bem? Espero que sim!
Desculpe pela demora em retornar.
Para entender o porquê da utilização da constante 1, temos que conhecer a fórmula matemática da regressão linear.
A equação é dada por:
Yi = β1 + β2.X2i + ... + βk.Xki + ui
Onde:
- Yi é a variável dependente
- X2 a Xk são as variáveis explicativas
- β1 é o intercepto
- β2 a βk são os coeficientes angulares parciais
- u é a parte aleatória que não pode ser explicada matematicamente
Podemos passar essa equação para a forma matricial, resultando no seguinte:
Do lado direito da equação, há uma coluna de valores 1, que é responsável pela multiplicação pelo valor β1, que é o intercepto da equação. Caso esse valor fosse diferente de 1, o intercepto seria obtido de forma incorreta. Caso o valor seja 0, o intercepto não conseguiria ser encontrado, trazendo um viés para o modelo, forçando a passar pela origem, o ponto (0,0,...0) e modificando os coeficientes angulares do modelo.
Portanto, o valor 1 é utilizado para encontrar o valor do intercepto de acordo com a equação original e não pode ser utilizado um valor diferente, caso contrário não seria a equação correta.
A função do pacote statsmodels necessita digitar isso de forma manual, até mesmo criar a coluna de valores 1 com o método add_constant(). Seria interessante se ele fizesse isso de forma automática, mas isso não foi implementado na função e devemos fazer de forma manual.
Espero que tenha tirado sua dúvida.
Estou à disposição. Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!