Em termos de aplicação a regressão é usada para estimar valores a partir de um conjunto de dados. Por exemplo, com base em um conjunto de indicadores econômicos nos quais se tenta prever o próximo valor, analisa-se os dados de algumas variáveis armazenadas anteriormente.

Em nosso caso, temos dois individuos, um conjunto de variáveis e os valores destas variáveis.

No momento, não temos hipoteticamente nenhuma variável dependente, ou seja, uma variável que dependa de outras (tanto do ponto de vista de correlação quanto de causalidade). Suponhamos defina-se a variável RECEITA LÍQUIDA como dependente e todas as outras variáveis (ou apenas uma variável) como independentes.

O que o modelo vai fazer?

Ele vai definir coeficientes e uma fórmula. QUANDO tivermos um novo conjunto de valores das variáveis independentes ele vai estimar o novo valor da variável dependente.

Na prática:

temos dois individuos: Beneficiárias e Setor de TICs. para cada um destes individuos nós temos os valores das variáveis independentes e dependente. Feito o modelo ele vai conseguir estimar para O PRÓXIMO INDIVIDUO (que individuo?) o valor da variável independente com base nos valores das variáveis dependentes deste NOVO INDIVIDUO.

Vou demonstrar abaixo cenários de que a regressão não apenas é fraca estatisticamente como não faz sentido para responder o IMPACTO da LI nas empresas ou nos grupos.

Teste de Modelo com a base atual

2 Individuos: Beneficiárias e Setor de TICs

2 Variáveis de teste: Esforços de P&D e Receita Líquida

*Apenas para título de demonstração apresento duas variáveis que é o mínimo necessário para um modelo de regressão.

Variável esforços de P&D = variável independente (por exemplo: gastos com p&d)

Variável Receita Líquida = variável dependente

Base de dados - teste

ped = "Esforço de P&D"
rliq = "Receita Líquida"
row = c("Beneficiárias", "Setor de TICs")
df = data.frame(ped = c(30, 21), rec = c(430, 335))
###colnames(df) = c(ped, rliq)
rownames(df) = row
str(df)
## 'data.frame':    2 obs. of  2 variables:
##  $ ped: num  30 21
##  $ rec: num  430 335
df
##               ped rec
## Beneficiárias  30 430
## Setor de TICs  21 335

Modelando uma Regressão Linear

modelo = lm(rec~ped, df)
modelo
## 
## Call:
## lm(formula = rec ~ ped, data = df)
## 
## Coefficients:
## (Intercept)          ped  
##      113.33        10.56

Fórmula do modelo é y = a + bx

Visualizando o resultado do modelo

plot(df$ped, df$rec, xlab = ped, ylab = rliq, type = "p", col="blue", pch = 1, cex = 1.5)

Cada ponto do gráfico representa um indíviduo, o ponto com valor mais baixo representa o setor de TICs e o Ponto mais alto representa as Beneficiárias.

O significado do gráfico representa que a cada x reais investidos em Esforços de P&D retorna Y em Receita Líquida.

Para que usar então a Regressão?

Caso este modelo seja validado ele permite que ao querer “PREVER” a receita líquida de um individuo que desconhecemos este valor mas conhecemos os valores das variáveis independentes.

Exemplo abaixo:

Agora vamos supor que tenhamos um novo individuo: INDIVIDUO GHOST (nem é o grupo beneficiárias e nem o setor de TICs)

Este individuo ghost temos apenas o valor do Esforços de P&D, porque o pressuposto da Regressão é desconhecer o valor da variável dependente quanto vamos prever.

Sendo assim nós vamos prever o valor da Receita Líquida com base em um valor hipotético dos esforços de P&d.

ghost = data.frame(rec = 0, ped = 22) #### gastos com esforços de P&D

Agora vamos utilizar a função predict com base nos coeficientes da regressão

y_estimado = predict(modelo, ghost)

Feito a estimativa vamos visualizar o resultado

plot(df$ped, df$rec, xlab = ped, ylab = rliq, type = "p", col="blue", pch = 1, cex = 1.5)
points(ghost$ped, y_estimado, type="p", col="red", pch=16)
legend("topleft", c("Receita Líquida Beneficiárias e Setor","Receita estimada do novo indivíduo"), pch = c(1,16), col=c("blue", "red"))

Teste de Modelo com a base hipotética dos dados individualizados das empresas

Suponhamos que o IBGE forneça um conjunto de N empresas e que definissimos aleatoriamente uma amostra 1/2 Beneficiárias e 1/2 Setor de TICs, que exista correlação entre as variáveis, e que estejam bem distribuidas em termos de porte.

Abaixo apresenta uma amostra de como seria desenvolvido o modelo

df_bn = read.csv("baseamostra_ben.csv", sep = ";", header = TRUE)
df_ti = read.csv("baseamostra_ti.csv", sep = ";", dec = ",", header = TRUE)

DATA.FRAME das BENEFICIÁRIAS

df_bn
##    Empresas ped rec
## 1         a  30 430
## 2         b  21 335
## 3         c  38 520
## 4         d  42 490
## 5         e  37 470
## 6         f  20 210
## 7         g   8 195
## 8         h  17 270
## 9         i  35 400
## 10        j  25 480

DATA.FRAME dos SETOR DE TICs

df_ti
##    Empresas   ped    rec
## 1         a 19.50 279.50
## 2         b 13.65 217.75
## 3         c 24.70 338.00
## 4         d 27.30 318.50
## 5         e 24.05 305.50
## 6         f 13.00 136.50
## 7         g  5.20 126.75
## 8         h 11.05 175.50
## 9         i 22.75 260.00
## 10        j 16.25 312.00

Modelo de Regressão para beneficiárias

modelo_bn = lm(rec~ped, df_bn)
modelo_bn
## 
## Call:
## lm(formula = rec ~ ped, data = df_bn)
## 
## Coefficients:
## (Intercept)          ped  
##      117.38         9.62
plot(df_bn$ped, df_bn$rec, xlab = ped, ylab = rliq, type = "p", col="blue", pch = 1, cex = 1.5)
legend("topleft", c("Empresas Beneficiárias"), pch = 1, col="blue")

O QUE O MODELO FAZ?

Vamos supor que temos uma nova empresa Y que sabemos os esforços de P&D mas não a RECEITA LÍQUIDA.

Empresa Jabuti com esforço de P&D no valor de 28.

jabuti = data.frame(rec = 0, ped = 28) #### gastos com esforços de P&D

Prever o valor da Receita Líquida desta empresa (OU QUALQUER OUTRA VARIÁVEL)

y_estimado_bn = predict(modelo_bn, jabuti)

Feito a predição valor visualizar o resultado

plot(df_bn$ped, df_bn$rec, xlab = ped, ylab = rliq, type = "p", col="blue", pch = 1, cex = 1.5)
points(jabuti$ped, y_estimado_bn, type="p", col="red", pch=16)
legend("topleft", c("Receita Líquida Empresas Beneficiárias ","Receita estimada da empresa Jabuti"), pch = c(1,16), col=c("blue", "red"))

Modelo de Regressão para Setor de TICS

modelo_ti = lm(rec~ped, df_ti)
modelo_ti
## 
## Call:
## lm(formula = rec ~ ped, data = df_ti)
## 
## Coefficients:
## (Intercept)          ped  
##       76.30         9.62
plot(df_ti$ped, df_ti$rec, xlab = ped, ylab = rliq, type = "p", col="black", pch = 2, cex = 1.5)
legend("topleft", c("Empresas do Setor de TICs"), pch = 2, col="black")

O QUE O MODELO FAZ?

Vamos supor que temos uma nova empresa do setor de TICs que sabemos os esforços de P&D mas não a RECEITA LÍQUIDA.

Empresa XP TI com esforço de P&D no valor de 15.

xpti = data.frame(rec = 0, ped = 28) #### gastos com esforços de P&D

Prever o valor da Receita Líquida desta empresa (OU QUALQUER OUTRA VARIÁVEL)

y_estimado_ti = predict(modelo_ti, xpti)

Feito a predição valor visualizar o resultado

plot(df_ti$ped, df_ti$rec, xlab = ped, ylab = rliq, type = "p", col="black", pch = 2, cex = 1.5)
points(xpti$ped, y_estimado_ti, type="p", col="brown", pch=16, cex = 2)
legend("topleft", c("Receita Líquida Empresas Setor de TIcS ","Receita estimada da empresa XPTI"), pch = c(2,16), col=c("black", "brown"))

VISUALIZANDO AMBOS OS MODELOS NO MESMO PLOT E ESTIMANDO O MESMO VALOR DE ESFORÇOS DE P&D PARA AMBAS.

plot(df_bn$ped, df_bn$rec, xlab = ped, ylab = rliq, type = "p", col="blue", pch =16, cex = 1)
points(jabuti$ped, y_estimado_bn, type="p", col="blue", pch=1, cex=1.5)
points(df_ti$ped, df_ti$rec, type = "p", col="red", pch=16)
points(xpti$ped, y_estimado_ti, type="p", col="red", pch=1, cex=1.5)
legend("topleft", c("Receita Líquida Empresas Beneficiárias ","Receita estimada da empresa Jabuti - Beneficiárias", "Receita Líquida - Setor TICs", "Receita Líquida - XPTI"), pch = c(16,1,16,1), col=c("blue", "blue", "red","red"), cex = 0.7)