4
respostas

[Dúvida] Eu posso utilizar a mesma formula do calculo do gradiente que é usada na regressão linear simples para atualizar os coeficientes da regressão linear multivariaveis?

Eu posso utilizar a mesma formula do calculo do gradiente que é usada na regressão linear simples, porém para atualizar os coeficientes da regressão linear multivariaveis?

Nessa pergunta, vou citar primeiro a formula simples da regressão linear simples, e depois no final vou perguntar se é possivel utilizar essa mesma formula para atualizar os coeficientes na regressão linear multivariaveis.

Tenho essa duvida. Eu conheço a formula matematica da regressão linear simples usando o Gradiente Descedente, que vi aqui num curso da alura. Porém essa formula da regressão linear simples é apenas para uma regressão linear simples, onde tem apenas uma variavel descritora, chamada de X.

Vou colocar essas formulas da regressão simples aqui pra perguntar depois:

Fórmula para calcular os gradientes de theta0 e theta1 da regressão linear simples

Fórmula para calcular os gradientes de theta0 e theta1 da regressão linear simples

Depois que o professor calculou os gradientes de theta0 e theta1, ele atualizava os coeficientes theta0 e theta1 usando essa outra formula

Fórmula da regressão linear simples para atualizar os coeficientes

Fórmula da regressão linear simples para atualizar os coeficientes

Porém, essas são as formulas usada na regressão linear simples. Isso me deixa na duvida: Eu posso usar essas mesmas formulas numa regressão linear multivariaveis, com varias variaveis?

Por exemplo se eu tivesse 3 variaveis descritoras: X1, X2 e X3, e os coeficientes referente a essas variaveis fossem theta0, theta1 para X1, theta2 para X2 e theta3 para X3.

Depois de obter a estimativa de Y do modelo, eu poderia calcular o gradiente de cada um dos coeficientes theta0, theta1 theta2 e theta3, individualmente, para cada um desses coeficientes, aplicando a formula do gradiente da regressao simples de maneira individual?

por exemplo, escrevi pra perguntar se estaria correto:

&theta0 = ( yEstimadoAmostra_i - YReal_i ) / (N/2)

&theta1 = ( yEstimadoAmostra_i - YReal_i ) * X1i ) / (N/2)

&theta2 = ( yEstimadoAmostra_i - YReal_i ) * X2i ) / (N/2)

&theta3 = ( yEstimadoAmostra_i - YReal_i ) * X3i ) / (N/2)

Onde yEstimadoAmostra_i seria a saida estimada da amostra atual. E cada &thetaN ele faz o somatorio usando o mesmo erro da amostra(difereça de yEstimadoAmostra_i com a saida Y desejada(yReal) para a amostra atual) multiplicado junto com a entrada XN

Eu poderia fazer assim na regressão linear multivariaveis? usar essa mesma forma na regressão linear multivariaveis?

Se eu fizesse assim como eu descrevi seria valido na regressão multivariavel? eu poderia fazer exatamente assim como escrevi na regressão multivariavel ?

4 respostas

Oii, William! Tudo bem?

Sim, é possível usar uma forma adaptada da fórmula do gradiente da regressão linear simples para atualizar os coeficientes na regressão linear multivariável.

Espero ter ajudado e desejo bons estudos!

Obrigado por responder. Mais fiquei na duvida se eu escrevi certo as formulas adaptadas. Dessa forma que eu fiz abaixo, eu estaria aplicando corretamente a formula pra atualizar cada um dos coeficientes da regressão multivariavel?

&theta0 = ( ∑ yEstimadoAmostra_i - YReal_i ) / (N/2)

&theta1 = ( ∑ yEstimadoAmostra_i - YReal_i ) * X1i ) / (N/2)

&theta2 = ( ∑ yEstimadoAmostra_i - YReal_i ) * X2i ) / (N/2)

&theta3 = ( ∑ yEstimadoAmostra_i - YReal_i ) * X3i ) / (N/2)

Eu apliquei corretamente as formulas? para cada coeficiente é assim mesmo?

Oii, William! Joia?

A ideia geral está no caminho certo, mas existem alguns pontos importantes que pode ser ajustado para as fórmulas funcionarem adequadamente.

Como sugestão, para implementar a atualização dos coeficientes utilize bibliotecas como Numpy e SciPy, pois ambas possuem funções específicas para regressão multivariável. Outra sugestão é consultar a documentação sobre regressão multivariável para aprofundar nos conceitos e fórmulas.

Segue o link das documentações das bibliotecas:

Bons estudos!

Legal, vou dar uma olhada sim pra me aprofundar. Obrigado.

Mais fiquei com algumas duvidas sobre que tipo de ajustes seriam esses:

1. Mais quais são alguns pontos importantes que eu poderia precisar ajustar? Eles tem haver com a formula em si? ou tem haver com tratamentos nos valores coisa assim?

2. Também outra pergunta: Se eu preciso ajustar coisas nessas formulas que citei. Então isso significa que mesmo usando operações matriciais do numpy como o np.dot, ainda assim não seria tão eficiente quanto usar a propia função do numpy ou do scipy?

Formula matricial original usada pelo professor do curso, que foi implementada usando numpy: Formula original usada pelo professor implementando do zero usando numpy

Olhando assim parece que o método original do professor é praticamente a mesma coisa do jeito que eu fiz sem usar numpy. Mais se eu preciso ajustar coisas nas formulas manuais que citei. Então isso significa que mesmo usando operações matriciais do numpy como o np.dot, ainda assim não seria tão eficiente e precisaria também desses ajustes que voce citou?

Obrigado por responder. Só fiquei curioso, queria entender se a formula original usando numpy com matrizes também precisaria de ajustes que voce me disse.

E que tipo de ajustes seriam esses que eu poderia precisar fazer? eles tem haver com a formula manual em si, ou envolvem outros fatores?