Regressão Linear em PL/SQL Oracle
Introdução
A regressão linear é uma abordagem estatística que permite modelar e analisar as relações entre variáveis. Na área de banco de dados, pode-se aplicar regressão linear para previsão, análise de tendências ou identificação de relações entre colunas.
O Oracle Database inclui pacotes PL/SQL que podem ser usados para análise estatística, e aqui, focaremos na regressão linear usando o pacote DBMS_STAT_FUNCS.
Exemplo Prático
Suponhamos que temos uma tabela chamada VENDAS
com colunas ANO
e VALOR
, representando as vendas anuais de um produto.
CREATE TABLE VENDAS (
ANO NUMBER PRIMARY KEY,
VALOR NUMBER
);
Insira alguns dados:
INSERT INTO VENDAS VALUES (2020, 1000);
INSERT INTO VENDAS VALUES (2021, 1100);
INSERT INTO VENDAS VALUES (2022, 1150);
Para calcular a regressão linear, você pode usar a função REGR_SLOPE
para obter o coeficiente angular e a função REGR_INTERCEPT
para o coeficiente linear da regressão.
SELECT
REGR_SLOPE(VALOR, ANO) AS slope,
REGR_INTERCEPT(VALOR, ANO) AS intercept
FROM
VENDAS;
Resultado
SLOPE INTERCEPT
------ ------------------
75 -150491.666666
Os valores retornados indicarão a relação linear entre ANO
e VALOR
. Se o valor de slope
for positivo, isso indica um aumento no valor à medida que os anos aumentam. O valor de intercept
é onde a linha cruza o eixo Y quando o valor do eixo X é 0.
Conclusão
Usar funções estatísticas no Oracle Database com PL/SQL é uma maneira poderosa de analisar dados diretamente na fonte. No exemplo acima, aplicamos uma regressão linear simples para prever tendências de vendas. Com uma compreensão mais profunda dessas funções, as possibilidades de análise são vastas e abrangentes.
Abs
Referências
- Oracle Database SQL Language Reference 19c. “DBMS_STAT_FUNCS”. Oracle Corporation, 2019. https://docs.oracle.com/en/database/oracle/oracle-database/.