Skip to content

Warning

Mesmo que as funções de regressão da biblioteca recebam Medidas, a regressão é feita sem considerar as incertezas nas medições. Os arrays de Medidas são passados somente para a conversão de unidades. Para que os erros sejam considerados, teríamos que usar algum método de Total least squares, que envolveria escolher uma função peso para cada medida. Isso tornaria as regressões mais precisas, porém incompatíveis com a apostila.

Regressão Linear

Quando temos uma equação física que prevê a relação entre duas ou mais variáveis, geralmente tentamos encontrar a curva teórica prevista pela equação que mais se encaixe com os dados experimentais. Um exemplo é a lei de Hooke:

Para certos regimes de deslocamento, a força aplicada a uma mola é linear com a sua distensão. Vamos imaginar que um experimento foi realizado e chegamos a este conjunto de forças e deslocamentos.

    forças=linspaceM(0,10,10,'N',0.1) #variando a força
    deslocamentos=arrayM([0,0.5,1.1,1.6,2,2.3,2.8,3.2,3.7,4],'cm',0.01) #medindo deslocamentos

Qual é a constante elástica da mola?

Na prática, a relação não é totalmente linear entre os dados, então precisamos criar algum tipo de critério para determinar qual reta é "melhor" do que outra. Um critério muito utilizado é a minimização dos quadrados dos desvios1, chamemos de :

Para encontrar esse mínimo, podemos pensar no desvio como sendo uma função da nossa curva teórica . Existe um conjunto (coeficiente angular, coeficiente linear) que minimiza essa função. Nesse ponto, temos2:

Comecemos com a equação do coeficiente linear:

Podemos fazer um raciocínio análogo para o coeficiente angular:

Que pode ser rearranjado como:

Perceba que temos um sistema linear em e :

Como e são conhecidos, podemos inverter a matriz desse sistema linear e achar e . Esta é uma demonstração das fórmulas do livro.

Regressão Polinomial

O método descrito acima de tomar derivadas da função e chegar a um sistema de variáveis se estende para polinômios de grau arbitrário. Mas como um sistema linear pode achar coeficientes de uma parábola?

O desvio seria , faríamos então:

A grande sacada é perceber que as equações são lineares nos coeficientes e não em . Claramente, uma regressão de uma parábola terá termos quadráticos em , mas as equações da minimização são lineares em , e .

No fim, você chegará a uma equação matricial que te dá os coeficientes do polinômio para qualquer grau 3:

Em que a matriz A é a matriz de Vandermonde, definida como . É interessante pensar que você, em teoria, pode fazer o método dos mínimos quadrados para um polinômio arbitrário com uma linha de Python.

Caso queiram ver mais sobre, recomendo este artigo do Luciano da Fontoura Costa. Ele é um pesquisador do IFSC que, além dos seus artigos de pesquisa, também publica vários materiais interessantes a nível de graduação chamados de CDT (Costa’s Didactic Texts).

Regressão Exponencial

Também podemos usar o mesmo método para o caso exponencial, aplicando um truque simples:

Que é uma equação linear se plotarmos . Talvez seja difícil ver que isso é realmente uma reta. Minha sugestão é esquecer totalmente a variável original e pensar que existe uma nova variável chamada que se conecta com . Assim, . Como é uma constante, vamos dar um novo nome, por que não ? Reescrevendo a equação:

Agora creio que seja fácil ver que é de fato linear a menos de uma transformação de variável.

Regressão Lei de Potência

Uma lei de potência segue o mesmo truque:

Se fizermos um gráfico , teremos uma reta.


  1. Sim, existem outros critérios. A minimização do módulo dos desvios também é válida (e em alguns casos até melhor do que o método dos mínimos quadrados), mas os mínimos quadrados têm a vantagem de ter uma solução analítica fechada usando apenas o ferramental básico de Cálculo I e Álgebra Linear, então certamente tem um apelo maior para a graduação. 

  2. Mas você só provou que um extremo da função ocorre em e , não que seja um mínimo! Bem, existe um passo geralmente omitido que seria a análise de que a função é quadrática em e , ela é convexa! Um dos teoremas mais fortes e úteis de otimização de funções convexas é que o extremo local é o extremo global. Pela convexidade, se provamos que é um extremo, então ou é um mínimo ou é um máximo. Claramente não é um máximo. Informalmente, podemos pensar que é sempre possível achar uma reta pior. 

  3. Essa fórmula jogada não significa muita coisa, mas o interessante é que os mínimos quadrados possuem uma interpretação geométrica bem legal. Se o polinômio passasse por todos os pontos, teríamos um sistema linear , mas não temos isso. Na verdade, temos . Os mínimos quadrados são equivalentes a minimizar . Estamos minimizando a norma da distância entre os vetores, fazendo a projeção ortogonal de um no outro. Esse vetor pode ser encontrado aplicando a pseudo-inversa de Penrose (sim, o mesmo Penrose do Nobel de 2020). Ela não é exatamente uma inversa porque não estamos resolvendo o sistema exatamente, mas sim, estamos atrás do vetor que está mais "próximo" da solução.