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)
Rows: 73
Columns: 31
$ Instituição <chr> "UNIVERSIDADE FEDERAL DO AMAZONAS", "UNIVERSIDADE FEDERAL DO PARÁ", "UNIVERSIDADE FEDERAL DO MARANHÃO…
$ Programa <chr> "INFORMÁTICA (12001015012P2)", "CIÊNCIA DA COMPUTAÇÃO (15001016047P9)", "CIÊNCIA DA COMPUTAÇÃO (20001…
$ Nível <int> 5, 4, 3, 3, 3, 5, 4, 3, 3, 3, 5, 3, 3, 3, 4, 6, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 7, 4, 5, 7, 3, 4, 7,…
$ Sigla <chr> "UFAM", "UFPA", "UFMA", "UEMA", "FUFPI", "UFC", "UNIFOR", "UECE/Prof", "UECE", "IFCE", "UFRN", "UFRN/…
$ `Tem doutorado` <chr> "Sim", "Sim", "Não", "Não", "Não", "Sim", "Sim", "Não", "Não", "Não", "Sim", "Não", "Não", "Não", "Si…
$ `Docentes colaboradores` <dbl> 0.25, 5.50, 3.00, 6.25, 1.75, 2.00, 1.00, 6.25, 2.75, 0.75, 2.25, 2.00, 4.25, 5.00, 9.25, 22.25, 8.50…
$ `Docentes permanentes` <dbl> 24.75, 14.00, 10.00, 14.00, 9.50, 20.75, 16.00, 15.75, 8.50, 9.00, 26.25, 8.50, 13.50, 20.00, 31.00, …
$ `Docentes visitantes` <dbl> 0.00, 0.00, 0.00, 0.00, 0.00, 0.75, 0.50, 1.00, 0.50, 0.00, 0.00, 0.00, 0.50, 0.00, 0.00, 0.00, 0.00,…
$ `Resumos em conf` <int> 20, 23, 15, 5, 4, 10, 6, 136, 0, 24, 27, 4, 30, 20, 5, 14, 49, 63, 33, 3, 8, 3, 17, 14, 19, 6, 23, 69…
$ `Resumos expandidos em conf` <int> 25, 24, 7, 10, 1, 68, 9, 13, 4, 6, 16, 5, 25, 29, 28, 81, 65, 38, 14, 6, 18, 101, 58, 26, 27, 6, 22, …
$ `Artigos em conf` <int> 390, 284, 115, 73, 150, 269, 179, 0, 120, 92, 389, 60, 127, 322, 338, 763, 585, 132, 255, 79, 185, 12…
$ Dissertacoes <int> 108, 77, 50, 25, 31, 75, 60, 129, 45, 3, 108, 12, 94, 108, 104, 433, 92, 26, 71, 93, 23, 54, 0, 41, 8…
$ Teses <int> 14, 0, 0, 0, 0, 24, 5, 0, 0, 0, 29, 0, 0, 0, 40, 144, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 5, 87, 16, 56, 6…
$ periodicos_A1 <int> 15, 19, 5, 1, 7, 21, 21, 0, 3, 8, 44, 0, 6, 21, 20, 93, 70, 16, 16, 0, 22, 8, 7, 11, 17, 2, 23, 46, 2…
$ periodicos_A2 <int> 19, 21, 11, 1, 4, 32, 13, 0, 9, 2, 23, 2, 6, 20, 15, 43, 23, 5, 5, 1, 12, 4, 25, 18, 17, 2, 14, 89, 4…
$ periodicos_B1 <int> 19, 38, 7, 3, 6, 26, 16, 2, 6, 4, 32, 4, 2, 11, 29, 51, 29, 11, 8, 1, 14, 6, 18, 16, 17, 4, 6, 59, 34…
$ periodicos_B2 <int> 1, 12, 2, 6, 0, 0, 11, 0, 0, 2, 1, 0, 0, 4, 1, 10, 6, 1, 2, 0, 1, 3, 2, 1, 1, 0, 2, 11, 7, 10, 3, 1, …
$ periodicos_B3 <int> 3, 16, 2, 2, 3, 16, 15, 0, 4, 6, 9, 0, 2, 6, 16, 20, 13, 9, 2, 0, 12, 0, 6, 5, 6, 3, 1, 19, 10, 21, 1…
$ periodicos_B4 <int> 0, 4, 0, 3, 3, 0, 1, 3, 1, 6, 0, 0, 4, 5, 1, 3, 3, 5, 3, 0, 4, 2, 2, 2, 2, 0, 0, 4, 4, 3, 0, 3, 0, 3,…
$ periodicos_B5 <int> 10, 16, 8, 4, 12, 4, 16, 2, 6, 2, 11, 0, 4, 16, 9, 29, 18, 16, 18, 0, 3, 15, 6, 6, 4, 5, 2, 29, 20, 1…
$ periodicos_C <int> 9, 34, 12, 5, 2, 3, 11, 9, 5, 10, 16, 1, 14, 28, 8, 19, 24, 23, 9, 0, 7, 26, 10, 2, 2, 16, 6, 10, 16,…
$ periodicos_NA <int> 7, 15, 8, 11, 12, 6, 19, 31, 7, 14, 19, 0, 27, 26, 18, 29, 19, 21, 25, 0, 7, 43, 18, 4, 14, 6, 15, 24…
$ per_comaluno_A1 <int> 4, 1, 0, 0, 1, 7, 5, 0, 1, 0, 10, 0, 0, 2, 8, 63, 1, 1, 3, 0, 5, 0, 3, 1, 1, 0, 12, 12, 9, 13, 10, 2,…
$ per_comaluno_A2 <int> 5, 5, 5, 0, 2, 15, 3, 0, 3, 0, 3, 0, 0, 1, 11, 22, 0, 0, 0, 0, 2, 0, 13, 2, 3, 1, 6, 39, 9, 23, 21, 0…
$ per_comaluno_B1 <int> 4, 2, 5, 2, 2, 14, 6, 0, 2, 0, 17, 0, 1, 5, 18, 37, 0, 1, 1, 0, 2, 0, 9, 0, 1, 0, 2, 21, 10, 15, 14, …
$ per_comaluno_B2 <int> 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 2, 1, 0, 0, 5,…
$ per_comaluno_B3 <int> 2, 2, 0, 1, 0, 7, 9, 0, 2, 0, 4, 0, 0, 1, 10, 12, 0, 0, 0, 0, 2, 0, 6, 4, 0, 0, 1, 8, 4, 10, 7, 1, 6,…
$ per_comaluno_B4 <int> 0, 0, 0, 0, 2, 0, 1, 0, 1, 3, 0, 0, 2, 0, 0, 2, 0, 2, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 3, 2, 0, 1, 0, 2,…
$ per_comaluno_B5 <int> 5, 0, 4, 0, 8, 3, 6, 0, 4, 0, 4, 0, 2, 5, 3, 17, 1, 4, 5, 0, 0, 5, 2, 0, 1, 0, 2, 12, 7, 5, 4, 0, 4, …
$ per_comaluno_C <int> 6, 5, 3, 1, 2, 3, 7, 1, 2, 4, 8, 0, 11, 3, 8, 13, 4, 5, 2, 0, 0, 13, 6, 1, 0, 7, 5, 5, 8, 1, 9, 2, 8,…
$ per_comaluno_NA <int> 6, 14, 2, 2, 9, 3, 6, 4, 5, 1, 10, 0, 17, 6, 7, 17, 0, 3, 5, 0, 1, 8, 6, 1, 2, 1, 5, 12, 14, 4, 4, 8,…
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)
skimr::skim(cacc)
── Data Summary ────────────────────────
Values
Name cacc
Number of rows 73
Number of columns 8
_______________________
Column type frequency:
logical 1
numeric 7
________________________
Group variables None
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])
Além da inspeção visual, olhamos também a matriz de correlação entre as variáveis numéricas, para termos uma medida quantitativa (e não só visual) da força das relações antes de partir para os modelos:
cacc %>%
select(docentes, producao, produtividade, mestrados, doutorados) %>%
cor() %>%
round(2)
docentes producao produtividade mestrados doutorados
docentes 1.00 0.90 0.56 0.80 0.84
producao 0.90 1.00 0.79 0.72 0.87
produtividade 0.56 0.79 1.00 0.44 0.59
mestrados 0.80 0.72 0.44 1.00 0.80
doutorados 0.84 0.87 0.59 0.80 1.00
A correlação entre docentes e producao é de
0,90 (bem forte), consistente com o gráfico de dispersão acima. Já
produtividade tem correlação bem mais fraca com
docentes (0,56) do que com producao (0,79), ou
seja, já é um indício de que o tamanho do programa (docentes) explica
bem a produção total, mas explica bem menos a produtividade por docente,
motivando os modelos com outros fatores mais adiante.
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:
Regressão linear simples foi utilizada para analisar se o número de docentes permanentes (docentes) tem uma associação significativa com a produção de artigos em periódicos A1, A2 e B1 (producao). Os resultados da regressão indicam que um modelo com o preditor no formato producao = -41,27 + 4,81 . docentes explica 81,46% da variância da variável de resposta (R2 = 0,8146). Docentes, medido em número de docentes permanentes do programa, tem uma relação significativa com a produção (b = [4,27; 5,36], IC com 95%). O aumento de 1 docente permanente produz uma mudança de +4,81 artigos na produção esperada do programa, mantendo-se as demais condições constantes.
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?
Na prática, a relação encontrada indica principalmente um efeito de escala: programas com mais docentes permanentes produzem, em números absolutos, mais artigos qualificados. Isso não diz nada sobre a eficiência ou qualidade individual dos pesquisadores, apenas sobre o volume total de produção do programa, e isso é, em boa medida, um resultado quase mecânico: cada docente contribui com sua própria produção para o total do programa, então mais docentes tende a somar mais artigos, do mesmo jeito que mais funcionários tendem a produzir mais unidades numa fábrica.
O palpite para a força da relação (R² = 0,81, ou seja, o número de docentes explica sozinho cerca de 81% da variância na produção) é que o tamanho do corpo docente está fortemente correlacionado com outros recursos do programa, como orçamento, número de bolsas, infraestrutura e quantidade de orientandos disponíveis para colaborar em artigos, que juntos impulsionam a produção total. Programas maiores tendem a ser maiores em todas as dimensões ao mesmo tempo, o que produz essa relação forte entre uma medida de tamanho (docentes) e uma medida de volume de produção (artigos).
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)
Rows: 120
Columns: 5
$ producao <dbl> 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 39.44444, 3…
$ docentes <dbl> 8.25000, 8.25000, 8.25000, 27.91667, 27.91667, 27.91667, 47.58333, 47.58333, 47.58333, 67.25000, 67.25000, 67.25000, 8.…
$ mestrados <int> 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,…
$ doutorados <dbl> 0, 76, 152, 0, 76, 152, 0, 76, 152, 0, 76, 152, 0, 76, 152, 0, 76, 152, 0, 76, 152, 0, 76, 152, 0, 76, 152, 0, 76, 152,…
$ pred <dbl> 3.199123, 79.257725, 155.316327, 72.026777, 148.085378, 224.143980, 140.854430, 216.913032, 292.971634, 209.682084, 285…
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?
EXPLICAÇÃO:
Regressão múltipla foi utilizada para analisar se docentes, mestrados (número de dissertações) e doutorados (número de teses) têm uma associação significativa com a produção de artigos (producao). Os resultados da regressão indicam que um modelo com os três preditores no formato producao = -14,37 + 3,50 . docentes - 0,19 . mestrados + 1,00 . doutorados explica 87,07% da variância da variável de resposta (R2 = 0,8707), ou seja, uma melhora em relação aos 81,46% do modelo 1 com apenas docentes.
Ou seja, o modelo com os três fatores explica mais a variância na produção do que o modelo 1 (87,07% contra 81,46%), e mostra que não é só o tamanho do corpo docente que importa: o perfil de formação do programa (produção de doutores versus mestres) também está associado à produção de artigos qualificados. Vale notar que docentes, mestrados e doutorados são fortemente correlacionados entre si (r ≈ 0,80 a 0,84), o que é esperado, ou seja, programas maiores tendem a formar mais mestres e doutores ao mesmo tempo e isso pode tornar os coeficientes individuais menos estáveis (multicolinearidade), então a interpretação de cada coeficiente isoladamente deve ser feita com cautela.
Diferente de medirmos produção (total produzido), é medirmos produtividade (produzido / utilizado). Abaixo focaremos nessa análise. Para isso crie um modelo que investiga como um conjunto de fatores que você julga que são relevantes se relacionam com a produtividade dos programas. Crie um modelo que avalie como pelo menos 3 fatores se relacionam com a produtividade de um programa. Pode reutilizar fatores que já definimos e analizamos para produção. Mas cuidado para não incluir fatores que sejam função linear de outros já incluídos (ex: incluir A, B e um tercero C=A+B)
Como produtividade = producao / docentes, evitamos usar
docentes diretamente como preditor (ou variáveis já
divididas por docentes, como mestrados_pprof e
doutorados_pprof): como esse mesmo docentes
está no denominador da variável resposta, incluí-lo como preditor tende
a gerar uma correlação artificial entre preditor e resposta (o problema
clássico de “correlação espúria de razões”, já que ambas as variáveis
compartilham o mesmo denominador). Preferimos, então, usar variáveis em
valores absolutos, que carregam informação sobre o perfil do
programa e não apenas seu tamanho bruto:
tem_doutorado: se o programa forma doutores ou
não;mestrados: número de dissertações de mestrado
defendidas;doutorados: número de teses de doutorado
defendidas.Isso também segue a dica do enunciado sobre programas sem doutorado
terem doutorados estruturalmente igual a 0, então faz
sentido incluir tem_doutorado como fator explícito e não
apenas depender de doutorados.
Antes de rodar o modelo, olhamos a estatística descritiva da produtividade separada pelos dois grupos (com e sem doutorado), já que essa é a variável categórica mais forte que temos, e a comparamos com um teste de hipótese formal (não só visualmente):
cacc %>%
group_by(tem_doutorado) %>%
summarise(media = mean(produtividade),
mediana = median(produtividade),
dp = sd(produtividade),
n = n())
t.test(produtividade ~ tem_doutorado, data = cacc)
Welch Two Sample t-test
data: produtividade by tem_doutorado
t = -7.0753, df = 63.581, p-value = 1.415e-09
alternative hypothesis: true difference in means between group FALSE and group TRUE is not equal to 0
95 percent confidence interval:
-2.271982 -1.271372
sample estimates:
mean in group FALSE mean in group TRUE
1.539251 3.310928
Programas com doutorado têm produtividade média de 3,31
artigo/docente (mediana 3,16), contra 1,54 (mediana 1,41) nos programas
sem doutorado, mais que o dobro. O teste t (Welch) confirma que essa
diferença é estatisticamente significativa (p < 0,001), o que já
antecipa e dá suporte adicional ao resultado de
tem_doutorado ser o preditor mais forte no modelo de
regressão a seguir.
modelo_produtividade = lm(produtividade ~ tem_doutorado + mestrados + doutorados, data = cacc)
tidy(modelo_produtividade, conf.int = TRUE, conf.level = 0.95)
glance(modelo_produtividade)
Visualizando o modelo (produtividade em função de doutorados, separando programas com e sem doutorado):
para_plotar_produtividade = cacc %>%
data_grid(doutorados = seq_range(doutorados, 10),
mestrados = median(mestrados),
tem_doutorado = c(TRUE, FALSE)) %>%
add_predictions(modelo_produtividade)
para_plotar_produtividade %>%
ggplot(aes(x = doutorados, y = pred, colour = tem_doutorado)) +
geom_line() +
geom_point(data = cacc, aes(y = produtividade, colour = tem_doutorado)) +
labs(y = "Produtividade (artigos por docente)",
colour = "Tem doutorado?")
Regressão múltipla foi utilizada para analisar se ter doutorado (tem_doutorado), o número de dissertações de mestrado (mestrados) e o número de teses de doutorado (doutorados) têm uma associação significativa com a produtividade de um programa (producao / docentes). Os resultados da regressão indicam que um modelo no formato produtividade = 1,67 + 1,28 . tem_doutorado - 0,0025 . mestrados + 0,0196 . doutorados explica 51,50% da variância da variável de resposta (R2 = 0,5150; R2 ajustado = 0,4939).
O achado mais forte é que ter um programa de doutorado é o fator mais
associado à produtividade por docente, mais até do que o volume de
formação de mestrado. Isso sugere que produtividade em artigos
qualificados (A1/A2/B1) no Brasil está estruturalmente ligada à pesquisa
de doutorado: doutorandos tendem a ser coautores de artigos em
periódicos de maior extrato como parte natural do processo de
doutoramento, enquanto a produção associada a dissertações de mestrado
tende a se concentrar mais em outros formatos (resumos e artigos de
conferência, não contabilizados neste producao).
Isso indica que a maturidade da pós-graduação de um programa (ter ou não doutorado, e quantos doutores forma) é um indicador mais forte de produtividade científica do que apenas seu tamanho (número de docentes) ou seu volume de formação de mestres. Em outras palavras, dois programas com o mesmo número de docentes podem ter produtividades bem diferentes dependendo de estarem ou não consolidados na formação de doutores, o que é coerente com o próprio sistema de avaliação da CAPES, que usa os níveis mais altos (5 a 7) justamente para programas com doutorado maduro e alta produção.
Vale ressaltar duas limitações: (1) o modelo explica apenas ~51% da
variância da produtividade, ou seja, outros fatores não capturados aqui
(área de concentração, tempo de existência do doutorado, cooperações
internacionais, etc.) certamente também influenciam; e (2)
mestrados e doutorados são moderadamente
correlacionados entre si e com docentes (r ≈ 0,80), então
os coeficientes individuais devem ser lidos como associações
condicionais dentro deste modelo, não como efeitos causais isolados.