## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.2 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.2 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
##
## Attaching package: 'modelr'
##
##
## The following object is masked from 'package:broom':
##
## bootstrap
##
##
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.3'
## (as 'lib' is unspecified)
##
## here() starts at /cloud/project
##
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.3'
## (as 'lib' is unspecified)
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 = iat = read_csv(here::here("data/cacc.csv"))
## Rows: 73 Columns: 31
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (4): Instituição, Programa, Sigla, Tem doutorado
## dbl (27): Nível, Docentes colaboradores, Docentes permanentes, Docentes visi...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
glimpse(cacc_tudo)
## Rows: 73
## Columns: 31
## $ Instituição <chr> "UNIVERSIDADE FEDERAL DO AMAZONAS", "UNIV…
## $ Programa <chr> "INFORMÁTICA (12001015012P2)", "CIÊNCIA D…
## $ Nível <dbl> 5, 4, 3, 3, 3, 5, 4, 3, 3, 3, 5, 3, 3, 3,…
## $ Sigla <chr> "UFAM", "UFPA", "UFMA", "UEMA", "FUFPI", …
## $ `Tem doutorado` <chr> "Sim", "Sim", "Não", "Não", "Não", "Sim",…
## $ `Docentes colaboradores` <dbl> 0.25, 5.50, 3.00, 6.25, 1.75, 2.00, 1.00,…
## $ `Docentes permanentes` <dbl> 24.75, 14.00, 10.00, 14.00, 9.50, 20.75, …
## $ `Docentes visitantes` <dbl> 0.00, 0.00, 0.00, 0.00, 0.00, 0.75, 0.50,…
## $ `Resumos em conf` <dbl> 20, 23, 15, 5, 4, 10, 6, 136, 0, 24, 27, …
## $ `Resumos expandidos em conf` <dbl> 25, 24, 7, 10, 1, 68, 9, 13, 4, 6, 16, 5,…
## $ `Artigos em conf` <dbl> 390, 284, 115, 73, 150, 269, 179, 0, 120,…
## $ Dissertacoes <dbl> 108, 77, 50, 25, 31, 75, 60, 129, 45, 3, …
## $ Teses <dbl> 14, 0, 0, 0, 0, 24, 5, 0, 0, 0, 29, 0, 0,…
## $ periodicos_A1 <dbl> 15, 19, 5, 1, 7, 21, 21, 0, 3, 8, 44, 0, …
## $ periodicos_A2 <dbl> 19, 21, 11, 1, 4, 32, 13, 0, 9, 2, 23, 2,…
## $ periodicos_B1 <dbl> 19, 38, 7, 3, 6, 26, 16, 2, 6, 4, 32, 4, …
## $ periodicos_B2 <dbl> 1, 12, 2, 6, 0, 0, 11, 0, 0, 2, 1, 0, 0, …
## $ periodicos_B3 <dbl> 3, 16, 2, 2, 3, 16, 15, 0, 4, 6, 9, 0, 2,…
## $ periodicos_B4 <dbl> 0, 4, 0, 3, 3, 0, 1, 3, 1, 6, 0, 0, 4, 5,…
## $ periodicos_B5 <dbl> 10, 16, 8, 4, 12, 4, 16, 2, 6, 2, 11, 0, …
## $ periodicos_C <dbl> 9, 34, 12, 5, 2, 3, 11, 9, 5, 10, 16, 1, …
## $ periodicos_NA <dbl> 7, 15, 8, 11, 12, 6, 19, 31, 7, 14, 19, 0…
## $ per_comaluno_A1 <dbl> 4, 1, 0, 0, 1, 7, 5, 0, 1, 0, 10, 0, 0, 2…
## $ per_comaluno_A2 <dbl> 5, 5, 5, 0, 2, 15, 3, 0, 3, 0, 3, 0, 0, 1…
## $ per_comaluno_B1 <dbl> 4, 2, 5, 2, 2, 14, 6, 0, 2, 0, 17, 0, 1, …
## $ per_comaluno_B2 <dbl> 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,…
## $ per_comaluno_B3 <dbl> 2, 2, 0, 1, 0, 7, 9, 0, 2, 0, 4, 0, 0, 1,…
## $ per_comaluno_B4 <dbl> 0, 0, 0, 0, 2, 0, 1, 0, 1, 3, 0, 0, 2, 0,…
## $ per_comaluno_B5 <dbl> 5, 0, 4, 0, 8, 3, 6, 0, 4, 0, 4, 0, 2, 5,…
## $ per_comaluno_C <dbl> 6, 5, 3, 1, 2, 3, 7, 1, 2, 4, 8, 0, 11, 3…
## $ per_comaluno_NA <dbl> 6, 14, 2, 2, 9, 3, 6, 4, 5, 1, 10, 0, 17,…
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)
| Name | cacc |
| Number of rows | 73 |
| Number of columns | 8 |
| _______________________ | |
| Column type frequency: | |
| logical | 1 |
| numeric | 7 |
| ________________________ | |
| Group variables | None |
Variable type: logical
| skim_variable | n_missing | complete_rate | mean | count |
|---|---|---|---|---|
| tem_doutorado | 0 | 1 | 0.47 | FAL: 39, TRU: 34 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| docentes | 0 | 1 | 20.63 | 12.27 | 8.25 | 11.25 | 16.75 | 25.75 | 67.25 | ▇▃▁▁▁ |
| producao | 0 | 1 | 58.03 | 65.44 | 0.00 | 18.00 | 42.00 | 67.00 | 355.00 | ▇▂▁▁▁ |
| produtividade | 0 | 1 | 2.36 | 1.37 | 0.00 | 1.40 | 2.27 | 3.20 | 5.66 | ▆▇▇▅▂ |
| mestrados | 0 | 1 | 75.79 | 63.23 | 0.00 | 39.00 | 58.00 | 103.00 | 433.00 | ▇▃▁▁▁ |
| doutorados | 0 | 1 | 14.96 | 30.98 | 0.00 | 0.00 | 0.00 | 14.00 | 152.00 | ▇▁▁▁▁ |
| mestrados_pprof | 0 | 1 | 3.66 | 1.81 | 0.00 | 2.57 | 3.58 | 4.88 | 8.19 | ▂▇▇▃▂ |
| doutorados_pprof | 0 | 1 | 0.43 | 0.73 | 0.00 | 0.00 | 0.00 | 0.57 | 2.69 | ▇▁▁▁▁ |
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:
A regressão linear simples foi utilizada para analisar se o número de docentes permanentes tem uma associação significativa com a produção de artigos. Os resultados da regressão indicam que o modelo no formato Produção = -41.3 + 4.81 * Docentes explica 81.5% da variância na produção de artigos (R² = 0.815). O número de docentes permanentes tem uma relação significativa com a produção de artigos (b = 4.81; IC com 95%: [4.27, 5.36]). Um aumento de 1 unidade no número de docentes permanentes resulta em um aumento de aproximadamente 4.81 na produção de artigos.
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 relação encontrada sugere que programas de pós-graduação com mais docentes permanentes tendem a ter uma maior produção de artigos. Isso pode ser devido ao fato de que mais docentes proporcionam uma maior capacidade de pesquisa e colaboração, resultando em mais publicações. A relação forte pode ser explicada pela importância dos docentes na condução de pesquisas e orientação de alunos, que são fatores críticos na produção acadêmica.
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)
Ao considerar também o número de alunos (mestrados e doutorados), o modelo Produção = -14.4 + 3.50 * Docentes - 0.195 * Mestrados + 1.00 * Doutorados explica 87.1% da variância na produção de artigos (R² = 0.871). O número de docentes permanentes (b = 3.50; IC com 95%: [2.58, 4.42]), o número de mestrados (b = -0.195; IC com 95%: [-0.358, -0.0322]) e o número de doutorados (b = 1.00; IC com 95%: [0.636, 1.37]) têm uma relação significativa com a produção de artigos. O modelo com mais variáveis independentes explica mais da variância da produção de artigos do que o modelo original, sugerindo que o número de alunos também é um fator relevante na produção acadêmica.
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.000…
## $ docentes <dbl> 8.25000, 8.25000, 8.25000, 27.91667, 27.91667, 27.91667, 47…
## $ mestrados <dbl> 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,…
## $ pred <dbl> 3.199123, 79.257725, 155.316327, 72.026777, 148.085378, 224…
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?
Ao considerar também o número de alunos (mestrados e doutorados), o modelo Produção = -14.4 + 3.50 * Docentes - 0.195 * Mestrados + 1.00 * Doutorados explica 87.1% da variância na produção de artigos (R² = 0.871). O número de docentes permanentes (b = 3.50; IC com 95%: [2.58, 4.42]), o número de mestrados (b = -0.195; IC com 95%: [-0.358, -0.0322]) e o número de doutorados (b = 1.00; IC com 95%: [0.636, 1.37]) têm uma relação significativa com a produção de artigos. O modelo com mais variáveis independentes explica mais da variância da produção de artigos do que o modelo original, sugerindo que o número de alunos também é um fator relevante na produção acadêmica.
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)
Produza abaixo o modelo e um texto que comente (i) o modelo, tal como os que fizemos antes, e (ii) as implicações - o que aprendemos sobre como funcionam programas de pós no brasil?.
modelo_produtividade = lm(produtividade ~ docentes + mestrados_pprof + doutorados_pprof, data = cacc_md)
summary(modelo_produtividade)
##
## Call:
## lm(formula = produtividade ~ docentes + mestrados_pprof + doutorados_pprof,
## data = cacc_md)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.5075 -0.8353 -0.1306 0.6033 2.9238
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.443604 0.536410 4.555 8.15e-05 ***
## docentes 0.006199 0.016333 0.380 0.7070
## mestrados_pprof 0.021307 0.105543 0.202 0.8414
## doutorados_pprof 0.670229 0.266491 2.515 0.0175 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.032 on 30 degrees of freedom
## Multiple R-squared: 0.2849, Adjusted R-squared: 0.2133
## F-statistic: 3.983 on 3 and 30 DF, p-value: 0.01679
cacc_md = cacc_md %>%
add_predictions(modelo_produtividade, var = "pred_produtividade")
cacc_md %>%
ggplot(aes(x = docentes, y = produtividade)) +
geom_point() +
geom_line(aes(y = pred_produtividade), color = "blue") +
labs(y = "Produtividade (Artigos por Docente)", x = "Número de Docentes Permanentes")
tidy(modelo_produtividade, conf.int = TRUE)
glance(modelo_produtividade)
A regressão linear múltipla foi utilizada para analisar como o número de docentes permanentes, o número de mestrados por docente e o número de doutorados por docente se relacionam com a produtividade dos programas de pós-graduação. O modelo foi definido da seguinte maneira:
Produtividade =𝛽0 + 𝛽1⋅Docentes + 𝛽2 ⋅ Mestrados por Docente + 𝛽3 ⋅ Doutorados por Docente
Os resultados da regressão indicam que o modelo no formato:
Produtividade = 2.44 + 0.006 ⋅ Docentes + 0.021 ⋅ Mestrados por Docente + 0.670 ⋅ Doutorados por Docente explica 28.49% da variância na produtividade (R² = 0.2849). A análise dos coeficientes é a seguinte:
Intercepto (𝛽0): 2.4436 (p < 0.001, significativo) Docentes (𝛽1): 0.0062 (p = 0.7070, não significativo) Mestrados por Docente (𝛽2): 0.0213 (p = 0.8414, não significativo) Doutorados por Docente (𝛽3): 0.6702 (p = 0.0175, significativo)
O termo “Doutorados por Docente” é o único preditor que se mostrou estatisticamente significativo no nível de 5%, com um coeficiente estimado de 0.6702, o que indica que para cada aumento unitário na proporção de doutorados por docente, a produtividade aumenta em 0.6702 artigos por docente.
Implicações:
Os resultados sugerem que a produtividade dos programas de pós-graduação, medida em termos de artigos publicados por docente, é significativamente influenciada pela proporção de doutorados por docente. Em outras palavras, programas que formam mais doutorandos por docente tendem a ser mais produtivos em termos de publicações.
Apesar de o número de docentes permanentes e o número de mestrados por docente não terem mostrado significância estatística, a relação positiva com a produtividade sugere que esses fatores ainda podem desempenhar um papel importante. A inclusão de mais variáveis ou um conjunto de dados maior poderia fornecer uma visão mais clara sobre essas relações.
Essas descobertas indicam que focar na formação de doutorandos pode ser uma estratégia eficaz para aumentar a produtividade acadêmica dos programas de pós-graduação no Brasil. A relação entre esses fatores e a produtividade ressalta a importância de investimentos em programas de doutorado e no aumento da capacidade de orientação dos docentes permanentes para o sucesso dos programas de pós-graduação.