## ── Attaching packages ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse 1.2.1 ──
## ✔ ggplot2 3.2.0     ✔ purrr   0.3.2
## ✔ tibble  2.1.3     ✔ dplyr   0.8.1
## ✔ tidyr   0.8.3     ✔ stringr 1.4.0
## ✔ readr   1.3.1     ✔ forcats 0.4.0
## ── Conflicts ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## 
## Attaching package: 'modelr'
## The following object is masked from 'package:broom':
## 
##     bootstrap

Dados da CAPES sobre avaliação da pós-graduação

A CAPES é um órgão do MEC que tem a atribuição de acompanhar a pós-graduação na universidade brasileira. Uma das formas que ela encontrou de fazer isso e pela qual ela é bastante criticada é através de uma avaliação quantitativa a cada x anos (era 3, mudou para 4).

Usaremos dados da penúltima avaliação da CAPES:

cacc_tudo = read_projectdata()

glimpse(cacc_tudo)
## Observations: 73
## Variables: 31
## $ Instituição                  <chr> "UNIVERSIDADE FEDERAL DO AMAZONAS",…
## $ Programa                     <chr> "INFORMÁTICA (12001015012P2)", "CIÊ…
## $ Nível                        <int> 5, 4, 3, 3, 3, 5, 4, 3, 3, 3, 5, 3,…
## $ Sigla                        <chr> "UFAM", "UFPA", "UFMA", "UEMA", "FU…
## $ `Tem doutorado`              <chr> "Sim", "Sim", "Não", "Não", "Não", …
## $ `Docentes colaboradores`     <dbl> 0.25, 5.50, 3.00, 6.25, 1.75, 2.00,…
## $ `Docentes permanentes`       <dbl> 24.75, 14.00, 10.00, 14.00, 9.50, 2…
## $ `Docentes visitantes`        <dbl> 0.00, 0.00, 0.00, 0.00, 0.00, 0.75,…
## $ `Resumos em conf`            <int> 20, 23, 15, 5, 4, 10, 6, 136, 0, 24…
## $ `Resumos expandidos em conf` <int> 25, 24, 7, 10, 1, 68, 9, 13, 4, 6, …
## $ `Artigos em conf`            <int> 390, 284, 115, 73, 150, 269, 179, 0…
## $ Dissertacoes                 <int> 108, 77, 50, 25, 31, 75, 60, 129, 4…
## $ Teses                        <int> 14, 0, 0, 0, 0, 24, 5, 0, 0, 0, 29,…
## $ periodicos_A1                <int> 15, 19, 5, 1, 7, 21, 21, 0, 3, 8, 4…
## $ periodicos_A2                <int> 19, 21, 11, 1, 4, 32, 13, 0, 9, 2, …
## $ periodicos_B1                <int> 19, 38, 7, 3, 6, 26, 16, 2, 6, 4, 3…
## $ periodicos_B2                <int> 1, 12, 2, 6, 0, 0, 11, 0, 0, 2, 1, …
## $ periodicos_B3                <int> 3, 16, 2, 2, 3, 16, 15, 0, 4, 6, 9,…
## $ periodicos_B4                <int> 0, 4, 0, 3, 3, 0, 1, 3, 1, 6, 0, 0,…
## $ periodicos_B5                <int> 10, 16, 8, 4, 12, 4, 16, 2, 6, 2, 1…
## $ periodicos_C                 <int> 9, 34, 12, 5, 2, 3, 11, 9, 5, 10, 1…
## $ periodicos_NA                <int> 7, 15, 8, 11, 12, 6, 19, 31, 7, 14,…
## $ per_comaluno_A1              <int> 4, 1, 0, 0, 1, 7, 5, 0, 1, 0, 10, 0…
## $ per_comaluno_A2              <int> 5, 5, 5, 0, 2, 15, 3, 0, 3, 0, 3, 0…
## $ per_comaluno_B1              <int> 4, 2, 5, 2, 2, 14, 6, 0, 2, 0, 17, …
## $ per_comaluno_B2              <int> 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0,…
## $ per_comaluno_B3              <int> 2, 2, 0, 1, 0, 7, 9, 0, 2, 0, 4, 0,…
## $ per_comaluno_B4              <int> 0, 0, 0, 0, 2, 0, 1, 0, 1, 3, 0, 0,…
## $ per_comaluno_B5              <int> 5, 0, 4, 0, 8, 3, 6, 0, 4, 0, 4, 0,…
## $ per_comaluno_C               <int> 6, 5, 3, 1, 2, 3, 7, 1, 2, 4, 8, 0,…
## $ per_comaluno_NA              <int> 6, 14, 2, 2, 9, 3, 6, 4, 5, 1, 10, …

Produção e produtividade de artigos

Uma das maneiras de avaliar a produção dos docentes que a CAPES utiliza é quantificando a produção de artigos pelos docentes. Os artigos são categorizados em extratos ordenados (A1 é o mais alto), e separados entre artigos em conferências e periódicos. Usaremos para esse lab a produção em periódicos avaliados com A1, A2 e B1.

cacc = cacc_tudo %>%
  transmute(
    docentes = `Docentes permanentes`,
    producao = (periodicos_A1 + periodicos_A2 + periodicos_B1),
    produtividade = producao / docentes,
    mestrados = Dissertacoes,
    doutorados = Teses,
    tem_doutorado = tolower(`Tem doutorado`) == "sim",
    mestrados_pprof = mestrados / docentes,
    doutorados_pprof = doutorados / docentes
  )

cacc_md = cacc %>% 
  filter(tem_doutorado)

EDA

skimr::skim(cacc)
cacc %>% 
  ggplot(aes(x = docentes)) + 
  geom_histogram(bins = 15, fill = paleta[1])

cacc %>% 
  ggplot(aes(x = producao)) + 
  geom_histogram(bins = 15, fill = paleta[2])

cacc %>% 
  ggplot(aes(x = produtividade)) + 
  geom_histogram(bins = 15, fill = paleta[3])

Se quisermos modelar o efeito do tamanho do programa em termos de docentes (permanentes) na quantidade de artigos publicados, podemos usar regressão.

Importante: sempre queremos ver os dados antes de fazermos qualquer modelo ou sumário:

cacc %>% 
  ggplot(aes(x = docentes, y = producao)) + 
  geom_point()

Parece que existe uma relação. Vamos criar um modelo então:

modelo1 = lm(producao ~ docentes, data = cacc)

tidy(modelo1, conf.int = TRUE, conf.level = 0.95)
glance(modelo1)

Para visualizar o modelo:

cacc_augmented = cacc %>% 
  add_predictions(modelo1) 

cacc_augmented %>% 
  ggplot(aes(x = docentes)) + 
  geom_line(aes(y = pred), colour = "brown") + 
  geom_point(aes(y = producao)) + 
  labs(y = "Produção do programa")

Se considerarmos que temos apenas uma amostra de todos os programas de pós em CC no Brasil, o que podemos inferir a partir desse modelo sobre a relação entre número de docentes permanentes e produção de artigos em programas de pós?

Normalmente reportaríamos o resultado da seguinte maneira, substituindo VarIndepX e todos os x’s e y’s pelos nomes e valores de fato:

Regressão múltipla foi utilizada para analisar se VarIndep1 e VarIndep2 tem uma associação significativa com VarDep. Os resultados da regressão indicam que um modelo com os 2 preditores no formato VarDep = XXX.VarIndep1 + YYY.VarIndep2 explicam XX,XX% da variância da variável de resposta (R2 = XX,XX). VarIndep1, medida como/em [unidade ou o que é o 0 e o que é 1] tem uma relação significativa com o erro (b = [yy,yy; zz,zz], IC com 95%), assim como VarIndep2 medida como [unidade ou o que é o 0 e o que é 1] (b = [yy,yy; zz,zz], IC com 95%). O aumento de 1 unidade de VarIndep1 produz uma mudança de xxx em VarDep, enquanto um aumento…

Produza aqui a sua versão desse texto, portanto:

summary(modelo1)
## 
## Call:
## lm(formula = producao ~ docentes, data = cacc)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -71.941 -16.894   1.139  16.139  76.518 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -41.2731     6.5299  -6.321 2.01e-08 ***
## docentes      4.8134     0.2725  17.662  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 28.37 on 71 degrees of freedom
## Multiple R-squared:  0.8146, Adjusted R-squared:  0.812 
## F-statistic: 311.9 on 1 and 71 DF,  p-value: < 2.2e-16

Regressão linear foi utilizada para analisar se o tamanho do programa em número de docentes tem uma associação significativa com a produção do mesmo. Os resultados da regressão indicam que um modelo com o preditore no formato producao = docentes explica 81,46% da variância da variável de resposta (R2 = 81,46). Docentes, medida como o número de professores permanentes tem uma relação significativa com o erro (b = [4.269955; 5.356786], IC com 95%). O aumento de 1 unidade de docentes produz uma mudança de 4.8134 na produção do programa.


Dito isso, o que significa a relação que você encontrou na prática para entendermos os programas de pós graduação no Brasil? E algum palpite de por que a relação que encontramos é forte?


A interpretação do modelo sugere que existe uma forte correlação entre o número de docentes e a produção do programa. Apesar de que a relação seja esperada, uma vez que é intuitivo que um número maior de professores provávelmente significa mais professores trabalhando em projetos de pesquisa, o coeficiente associado a varíavel independente sugere que é uma forte relação, afinal apenas esta variável explica cerca de 81% da variação na produção.


Mais fatores

modelo2 = lm(producao ~ docentes + mestrados_pprof + doutorados_pprof + tem_doutorado, 
             data = cacc_md)

tidy(modelo2, conf.int = TRUE, conf.level = 0.95)
glance(modelo2)

E se considerarmos também o número de alunos?

modelo2 = lm(producao ~ docentes + mestrados + doutorados, data = cacc)

tidy(modelo2, conf.int = TRUE, conf.level = 0.95)
glance(modelo2)

Visualizar o modelo com muitas variáveis independentes fica mais difícil

para_plotar_modelo = cacc %>% 
  data_grid(producao = seq_range(producao, 10), # Crie um vetor de 10 valores no range
            docentes = seq_range(docentes, 4),  
            # mestrados = seq_range(mestrados, 3),
            mestrados = median(mestrados),
            doutorados = seq_range(doutorados, 3)) %>% 
  add_predictions(modelo2)

glimpse(para_plotar_modelo)
## Observations: 120
## Variables: 5
## $ producao   <dbl> 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000,…
## $ docentes   <dbl> 8.25000, 8.25000, 8.25000, 27.91667, 27.91667, 27.916…
## $ mestrados  <int> 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 5…
## $ doutorados <dbl> 0, 76, 152, 0, 76, 152, 0, 76, 152, 0, 76, 152, 0, 76…
## $ pred       <dbl> 3.199123, 79.257725, 155.316327, 72.026777, 148.08537…
para_plotar_modelo %>% 
  ggplot(aes(x = docentes, y = pred)) + 
  geom_line(aes(group = doutorados, colour = doutorados)) + 
  geom_point(data = cacc, aes(y = producao, colour = doutorados))

Considerando agora esses três fatores, o que podemos dizer sobre como cada um deles se relaciona com a produção de um programa de pós em CC? E sobre o modelo? Ele explica mais que o modelo 1? —–

Este novo modelo explica melhor a variação da variável dependente (R2 = 87,07%). Entretanto é interessante notar como a inclusão de outras variáveis afeta a variável que havíamos analisado anteriormente. Agora, um aumento de 1 unidade em docentes, representa o aumento de 3,4997 na produção do programa. É interessante notar que a quantidade de mestrados possui um efeito negativo (-0.1950), e podemos afirmar isto com 95% de confiança, uma vez que o intervalo do slope é [-0.3577316; -0.0321714], sempre abaixo de 0. O número de doutorados por sua vez afeta positivamente a variável independente, com 1.0008 por aumento de unidade.


Agora produtividade

Estamos agora interessados na produtividade. A produção acadêmica com alunos afeta a produtividade? E quanto aos mestrados, também não possuem efeito sobre esta outra variável? O programa possuir ou não doutorado é outra variável independente que queremos investigar.

cacc = cacc_tudo %>%
  transmute(
    docentes = `Docentes permanentes`,
    producao = (periodicos_A1 + periodicos_A2 + periodicos_B1),
    producao_com_alunos = (per_comaluno_A1 + per_comaluno_A2 + per_comaluno_B1),
    produtividade = producao / docentes,
    mestrados = Dissertacoes,
    doutorados = Teses,
    tem_doutorado = tolower(`Tem doutorado`) == "sim",
    mestrados_pprof = mestrados / docentes,
    doutorados_pprof = doutorados / docentes
  )


cor(cacc)
##                       docentes   producao producao_com_alunos
## docentes            1.00000000 0.90254560           0.8693681
## producao            0.90254560 1.00000000           0.9376971
## producao_com_alunos 0.86936811 0.93769708           1.0000000
## produtividade       0.55691551 0.78502134           0.6353254
## mestrados           0.79986745 0.71673968           0.7624859
## doutorados          0.83785226 0.87248447           0.9097298
## tem_doutorado       0.55344189 0.57050962           0.5132656
## mestrados_pprof     0.01191366 0.03732775           0.1228044
## doutorados_pprof    0.69121670 0.74981445           0.7492898
##                     produtividade mestrados doutorados tem_doutorado
## docentes               0.55691551 0.7998674  0.8378523  0.5534418944
## producao               0.78502134 0.7167397  0.8724845  0.5705096207
## producao_com_alunos    0.63532540 0.7624859  0.9097298  0.5132655609
## produtividade          1.00000000 0.4394700  0.5935663  0.6484260235
## mestrados              0.43947005 1.0000000  0.8024577  0.4263600089
## doutorados             0.59356631 0.8024577  1.0000000  0.5206844025
## tem_doutorado          0.64842602 0.4263600  0.5206844  1.0000000000
## mestrados_pprof        0.05179488 0.5139561  0.1306068 -0.0008550933
## doutorados_pprof       0.64530178 0.6472634  0.8991001  0.6318843464
##                     mestrados_pprof doutorados_pprof
## docentes               0.0119136649       0.69121670
## producao               0.0373277504       0.74981445
## producao_com_alunos    0.1228044354       0.74928984
## produtividade          0.0517948789       0.64530178
## mestrados              0.5139560793       0.64726340
## doutorados             0.1306067965       0.89910014
## tem_doutorado         -0.0008550933       0.63188435
## mestrados_pprof        1.0000000000       0.07301199
## doutorados_pprof       0.0730119914       1.00000000
modelo_produtividade = lm(produtividade ~ producao_com_alunos + mestrados + tem_doutorado, 
             data = cacc)
tidy(modelo_produtividade, conf.int = TRUE, conf.level = 0.95)
glance(modelo_produtividade)

Observando um sumário do modelo, percebemos que com um R2 = 33.34, as variáveis utilizadas explicam boa parte da variância na produtividade, porém é um valor inferior aos modelos anteriores. Vale notar que é uma tarefa mais difícil selecionar variáveis para realizar a regressão, uma vez que produtividade é uma função de produção e de docentes. Assim como com a produção, aqui vemos que o número de mestrados não possui um efeito notável na produtividade do programa, com um slope de -0.0031. Podemos até dizer com 95% de confiança que o efeito pode até ser positivo, (IC = [-0.008531751; 0.00225695]) porém com uma magnitude irrelevante. A produção com alunos, definida como a quantidade de publicações com alunos, parece de fato possuir uma relação positiva com a produtividade (splope = 0.019), porém mais uma vez este efeito é pequeno (IC = [0.009743492; 0.02972846]). Ter doutorado por sua vez possui um maior efeito (slope = 1.2144, IC = [0.702507080; 1.72644691]).

A análise dos resultados do modelo nos leva a crer que apesar de precisarmos analisar dados diferentes, doutorandos parecem produzir com mais frequência do que mestrandos. Alunos também parecem se envolver pouco com a produção científica enquanto que pouco de fato se produz nos mestrados. Esta última afirmação talvez seja esperada uma vez que o foco do mestrado deve ser na formação do pesquisador.