Esse é o caderno de anotações dos dados de pesquisa teste realizada com familiares
Todas são supondo que essa amostra represente o brasil, nesse tem olivias, gregos, etc…. mutliplicado e mais uns carinhas inventados (bem radicais contra e favor) para dar mais consistencia, mas o grosso é de respostas da familia multiplicado por uns 500.
Minhas perguntas são
’questão-1 O conhecimento em política é associada com avaliação em geral da gestão bozo
’questão-2 O futuro do brasil é explicado pelas outras três. Se sim, em que grau?
#A primeira tabela é o quanto acompanha política
plot(swe$conheci_tran)
#A segunda é como avaliação a gestao bozo em geral
plot(swe$avalia_gestao_tran)
#A terceira é como avalia a gestão no covid 19
plot(swe$avalia_bozo_covid19)
Nos dados abaixo verificamos as estatísticas da nota futuro brasil e as somas de todas as variáveis
summary(swe)
nota_futuro_bra avalia_gestao_tran conheci_tran avalia_bozo_covid19
Min. : 0.000 pessimo:552 pouco:704 desaprova:1020
1st Qu.: 3.000 ruim : 95 muito:519 aprova : 110
Median : 5.000 regular:311 NA's : 93
Mean : 4.711 bom : 93
3rd Qu.: 6.000 otimo :172
Max. :10.000
swe %>%
summarise(mean_dd = mean(nota_futuro_bra), sd_dd = sd(nota_futuro_bra), n = n())
a nota média é 4.71 a mediana é 5 Resultados da pesquisa Trecho da Web em destaque A média é a média aritmética de um conjunto de números. A mediana é um valor numérico que separa a metade superior de um conjunto da metade inferior.
A maior nota é 10. A menor é 0. 25% das notas é de 0 a 3 e 25% é de 6 a 10. Os outros 50% estão entre 3 e 5. COnfirmando as tabelas acima temos que 78 avaliam pessimo a gestao, 39 regular e 13 otimo 704 dizem acompanhar pouco e 519 muito 1020 desaprovam a gestão de bozo no covid 19, e 110 aprovam, 93 optaram por não responder. os valores de avaliação geral podem ser vistos acima
Ainda em relação a nota há um desvio padrão de cerca de 2.65. O desvio padrão é uma medida que expressa o grau de dispersão de um conjunto de dados. Ou seja, o desvio padrão indica o quanto um conjunto de dados é uniforme. Quanto mais próximo de 0 for o desvio padrão, mais homogêneo são os dados.O desvio padrão é uma medida que indica a dispersão dos dados dentro de uma amostra com relação à média.Um desvio padrão grande significa que os valores amostrais estão bem distribuídos em torno da média, enquanto que um desvio padrão pequeno indica que eles estão condensados próximos da média. Em poucas palavras, quanto menor o desvio padrão, mais homogênea é a amostra. Nosso desvio padrão indica que a amostra não é tão homogenea no que concerne a nota, veja o histograma abaixo:
hist (swe$nota_futuro_bra)
Iniciamos com uma tabela comparando se há associação entre ‘conhecimento em política’ e ‘avaliação em geral da gestão bozo’.
nossas hipóteses são
HO - não há associação = 0 H1 - há associação -> diferente de 0
prop.table(table(swe$conheci_tran,swe$avalia_gestao_tran),2)
pessimo ruim regular bom otimo
pouco 0.5996377 1.0000000 0.4919614 0.3333333 0.5465116
muito 0.4003623 0.0000000 0.5080386 0.6666667 0.4534884
dos que avaliam a gestão em geral como péssimo 59% dizem acompanhar pouco dos que avaliam a gestão em geral como ruim 100% dizem acompanhar pouco dos que avaliam a gestão em geral como regular 49% dizem acompanhar pouco dos que avaliam a gestão em geral como péssimo 33% dizem acompanhar pouco dos que avaliam a gestão em geral como ótimo 54% dizem acompanhar pouco
Dada a ‘géleia’ acima, não parece haver associação. Um plot pode aclarar ainda mais essa questão:
ggplot(data = swe, aes(x = avalia_gestao_tran, fill = conheci_tran)) +
geom_bar()
O gráfico acima corrobora a tese de não haver associação, a seguir uma inferência para dar ainda mais corroboração na hipótese H0 ou se há alguma possibilidade de H1
A inferência é um modo mais seguro de afirmar H0 ou H1. A exploração e correlação vista acima levantam tão somente suspeitas.
inference(y = conheci_tran, x = avalia_gestao_tran, data = swe, statistic = 'proportion', type = 'ht', null = 0, alternative = 'greater', success = 'muito', method = 'theoretical')
Ignoring null value since it's undefined for chi-square test of independence
Response variable: categorical (2 levels)
Explanatory variable: categorical (5 levels)
Observed:
y
x pouco muito
pessimo 331 221
ruim 95 0
regular 153 158
bom 31 62
otimo 94 78
Expected:
y
x pouco muito
pessimo 317.74980 234.25020
ruim 54.68520 40.31480
regular 179.02208 131.97792
bom 53.53393 39.46607
otimo 99.00899 72.99101
H0: avalia_gestao_tran and conheci_tran are independent
HA: avalia_gestao_tran and conheci_tran are dependent
chi_sq = 103.1993, df = 4, p_value = 0
Parece-nos haver alguma associação ainda que fraca. O valor de p-value é ok. As tabelas que comparam esperado e predito, mostram alguma problema. Portanto optamos por H1, com reservas.
Nessa questão faremos uma regressão linear. Para facilitar, deixaremos todas as variáveis com menos casos. Deste modo exlcuiremos as avaliações ‘ruim’ e ’bom’que deram poucos casos. Utilizaremos na avaliação gestao: péssimo e regular e ótimo.
#primeiro passo seleção das variáveis e ajuste binário
q1 <- subset(swe, avalia_gestao_tran == 'pessimo' |avalia_gestao_tran == 'regular'|avalia_gestao_tran == 'otimo', select = c(nota_futuro_bra, avalia_gestao_tran, conheci_tran, avalia_bozo_covid19)) %>% na.omit()
q1<-droplevels(subset(q1,avalia_gestao_tran!="ruim"))
q1<-droplevels(subset(q1,avalia_gestao_tran!="bom"))
plot(q1$avalia_gestao_tran)
Vemos acima uma nova variável com três levels em pessimo, regular e ótimo.
dim(q1)
[1] 1004 4
Restaram com as exclusões acima mencionadas 1004 casos. A seguir um resumo dos dados dessa nova amostra:
summary(q1)
nota_futuro_bra avalia_gestao_tran conheci_tran avalia_bozo_covid19
Min. : 0.00 pessimo:552 pouco:547 desaprova:894
1st Qu.: 2.00 regular:311 muito:457 aprova :110
Median : 5.00 otimo :141
Mean : 4.59
3rd Qu.: 5.00
Max. :10.00
Com a retirada nao se alterou tanto os dados acima conforme visualizados na seção explorando dados gerais
Nossa variável a ser explicada é a “nota_futuro_bra”, que é númerica Variável possível de entrar no modelo: “avalia_gestao_tran”, “conheci_tran” e “avalia_bozo_covid19” todas categóricas.
Antes de modelar, vamos a relacionar as três candidatas a variáveis explicativas com a variável a ser explicada.
#relacionado nota_futuro_bra com avalia_gestao em geral.
Warning messages:
1: In readChar(file, size, TRUE) : truncating string with embedded nuls
2: In readChar(file, size, TRUE) : truncating string with embedded nuls
3: In readChar(file, size, TRUE) : truncating string with embedded nuls
4: In readChar(file, size, TRUE) : truncating string with embedded nuls
5: In readChar(file, size, TRUE) : truncating string with embedded nuls
6: In readChar(file, size, TRUE) : truncating string with embedded nuls
7: In readChar(file, size, TRUE) : truncating string with embedded nuls
ggplot(data = q1) +
geom_bar(aes(nota_futuro_bra, fill = avalia_gestao_tran), position = position_dodge(), width = .75)
Somente um valor azul no gráfico destoa (e pequeno). No restante é claro que as avaliações regulares se encontram em notas futuro brasil no meio. Assim, como também as avaliações ótimos em sua imensa maioria se encotnram em nota 10 para bozo.
Já as avaliações péssimo se espalham mais pelas notas, embora o grosso desta esteja abaixo de cinco. A função by vai mensurar as medidas de dispersão.
by(q1$nota_futuro_bra, q1$avalia_gestao_tran, summary)
q1$avalia_gestao_tran: pessimo
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.00 2.00 4.00 3.62 5.00 7.00
----------------------------------------------------------------------------
q1$avalia_gestao_tran: regular
Min. 1st Qu. Median Mean 3rd Qu. Max.
2.000 4.000 5.000 4.756 5.000 7.000
----------------------------------------------------------------------------
q1$avalia_gestao_tran: otimo
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 10.000 10.000 8.021 10.000 10.000
Os dados acima tornam mais claro que há uma relação. Os valores de média acompanham a avaliação. Até agora é possível afirmar que quanto mais bem se avalia o governo, melhor a nota que se dá para o fururo do Brasil.
A seguir relacionaremos com a segunda potencial variável explicativa:
#relacionado nota_futuro_bra com conheci_tran.
ggplot(data = q1) +
geom_bar(aes(nota_futuro_bra, fill = conheci_tran), position = position_dodge(), width = .75)
Visualmente parece haver alguma associação, embora mais fraca que a vista acima. A concentraçao do ‘pouco’ na nota 5 pode acarretar alguma problema, embora os valores de muito esteja mais associados a notas altas, visualmente e os valores de pouco a notas baixas. Mas para ter certeza é necessário testá-los na fase de modelagem.
Antes, se faz necessário uma elucidação matemática com a função ‘by’:
by(q1$nota_futuro_bra, q1$conheci_tran, summary)
q1$conheci_tran: pouco
Min. 1st Qu. Median Mean 3rd Qu. Max.
0 4 5 4 5 10
----------------------------------------------------------------------------
q1$conheci_tran: muito
Min. 1st Qu. Median Mean 3rd Qu. Max.
2.000 2.000 5.000 5.295 7.000 10.000
Todos os valores acima são muito próximos, logo parece não parece haver associação clara entre conhecimento de política e nota dada para o futuro do brasil.
A seguir relacionaremos coma terceira e última potencial variável explicativa:
#relacionado nota_futuro_bra com avalia_bozo_covid19.
ggplot(data = q1) +
geom_bar(aes(nota_futuro_bra, fill = avalia_bozo_covid19), position = position_dodge(), width = .75)
também parece não haver uma forte associação entre os casos. Os valores de desaprova parecem bem espalhados, embora a maior parte dos casos, visualmente, pareça estar em notas abaixo de cinco. Já os casos de aprova que são poucos, parecem estar mais concentrados em notas dez. A função by mostrará que há uma associação, não se sabe se forte ou fraca.
by(q1$nota_futuro_bra, q1$avalia_bozo_covid19, summary)
q1$avalia_bozo_covid19: desaprova
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.000 2.000 5.000 4.236 5.000 10.000
----------------------------------------------------------------------------
q1$avalia_bozo_covid19: aprova
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 1.000 10.000 7.464 10.000 10.000
Os dados mostram que há sim uma associação, que só nao é forte pela quantidade de casos em ‘aprova’ ser pouco para gestão covid 19.
Em suma, a variável avalia gestao geral mostrou forte associação, a variável conhecimento de política mostrou associação fraca ou inexistente e a variável avalia bozo na covid mostrou média associação.
Vamos agora a procura do melhor modelo.
Primeiro um ggpairs para verificar se há algum risco de colinearidade
library(GGally)
There were 11 warnings (use warnings() to see them)
ggpairs(q1, columns = 1:4)
que bom , não há esse risco. Se houvesse apareceria. Observe a primeira linha, e veja como se comporta nossa variável nota futuro, parece que muda conforme a os levels das explicativas pensadas. Bom sinal
Nosso primeiro método será o p-value. trata-se do teste de significância, mede se tem relação e nao a intensidade. Nesse caso, se não houver significância estatística a variável explicativa sai do modelo.
O método nesse modelo 1 é o Stepwise Backwards with p-value
#passo 1 modelo full (completo)
md_full <- lm(nota_futuro_bra ~ avalia_gestao_tran + conheci_tran + avalia_bozo_covid19, data = q1)
summary(md_full)
Call:
lm(formula = nota_futuro_bra ~ avalia_gestao_tran + conheci_tran +
avalia_bozo_covid19, data = q1)
Residuals:
Min 1Q Median 3Q Max
-5.5914 -2.1271 0.8693 1.8729 3.4086
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.1271 0.1054 29.680 < 2e-16 ***
avalia_gestao_tranregular 1.0036 0.1502 6.684 3.86e-11 ***
avalia_gestao_tranotimo 6.8729 0.3929 17.494 < 2e-16 ***
conheci_tranmuito 1.2300 0.1381 8.908 < 2e-16 ***
avalia_bozo_covid19aprova -3.4086 0.4396 -7.755 2.18e-14 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.107 on 999 degrees of freedom
Multiple R-squared: 0.378, Adjusted R-squared: 0.3755
F-statistic: 151.8 on 4 and 999 DF, p-value: < 2.2e-16
Não é necessário fazer mais nada, já q todas as variáveis passram no teste de sig (ver acima as três ***) Portanto nesse método nosso modelo é o full.
Obs. Pessimo e desaprova são categorias de referência. Explicaremos melhor isso na parte de ‘analise dos dados da regressão esoclhida abaixo’.
A seguir faremos uso de outra forma de gestação de modelos, Stepwise Backwards with R Adjusted Squared. Essa não mede a significância, mas sim a correlação. O problema é passar nos testes de diagnóstico, se for o caso, veremos isso mais abaixo nesse relatório.
Antes de seguir vale a pena guardar o valor de R Adjudeste Square gerado acima, vemos ele novamente abaixo:
summary(md_full)$adj.r.squared
[1] 0.3755411
Guarde esse valor, pois será ele que será utilizado como padrão para nosso próximo passos. Qual é o significado desse número ‘0.375…’? Significa que a nota do futuro do brasil é explicada pelas três variávies em 37,5% por cento. Esse e o poder explicativo do modelo full. E o restante ? É explicado por outros fatores que não dispomos de dados para responder. Esse valor é muito bom para ciências humanas, considerado explicação médio alto.
A seguir, continuamos nossa busca pelo melhor modelo. Para tal fim faremos um modelo onde testaremos com uma variável a menos, Eis os modelos a serem criados seus respectivos valores de R Adjusted Square:
#modelos b1,b2 e b3 com duas variáveis explicativas
#modelo b1 variáveis explicativas = conheci_tran + avalia_bozo_covid19
md_b1<- lm(nota_futuro_bra ~ conheci_tran + avalia_bozo_covid19, data = q1)
summary(md_b1)$adj.r.squared
[1] 0.1728145
#modelo b2 variáveis explicativas = avalia_gestao_tran + avalia_bozo_covid19
md_b2<- lm(nota_futuro_bra ~ avalia_gestao_tran + avalia_bozo_covid19, data = q1)
summary(md_b2)$adj.r.squared
[1] 0.3266083
#modelo b3 variáveis explicativas = avalia_gestao_tran + conheci_tran
md_b3 <- lm(nota_futuro_bra ~ conheci_tran + avalia_gestao_tran, data = q1)
summary(md_b3)$adj.r.squared
[1] 0.3386154
#modelos inciados com a letra ''c'' com uma variável explicativa
#modelo c1 com uma variável explicativa = conheci_tran
md_c1<- lm(nota_futuro_bra ~ conheci_tran, data = q1)
summary(md_c1)$adj.r.squared
[1] 0.05763551
# modelo c2 com uma variável explicativa = avalia_bozo_covid19
md_c2<- lm(nota_futuro_bra ~ avalia_bozo_covid19, data = q1)
summary(md_c2)$adj.r.squared
[1] 0.1421964
# modelo c3 com uma variável explicativa = avalia_gestao_tran
md_c3<- lm(nota_futuro_bra ~ avalia_gestao_tran, data = q1)
summary(md_c3)$adj.r.squared
[1] 0.3054257
OS valores acima são abaixo do R Adjusted Square do valor do modelo full. Poranto, nesse método nossa escolha tambem é pelo modelo completo com as três variáveis explicativas.
1- md_full - nota futuro_bra explicad por avalia_gestao_tran + conheci_tran + avalia_bozo_covid19
Os valores que ficam na reserva caso o o modelo escolhido não passe no diagnóstico são:
2- md_b3 - nota futuro_bra explicado por conheci_tran + avalia_gestao_tran
3- md_b2 - nota futuro_bra explicado por avalia_gestao_tran + avalia_bozo_covid19
4- md_c3 - nota futuro_bra explicado por avalia_gestao_tran
5- md_b1 - explicado por conheci_tran + avalia_bozo_covid19
6- md_c2 - explicado por avalia_bozo_covid19
7- md_c1 - explicado por conheci_tran
Os dois métodos geraram o mesmo resultado ‘md_full’, portanto não se faz necessário compará-lo, a seguir executaremos o diagnóstico. Caso passe no mesmo podemos proceder para análise, em caso contrário iremos para nosso primeiro teste reserva (md_b3).
##diagnóstico do modelo md_full - reprovado
para verificar se está tudo ok com um modelo se faz necessário os passos de diagnóstico: são eles> 1. LINEAR RELATIONSHIPS BETWEEN X AND Y
Nearly normal residuals
Constant variability of residuals
INDEPENDENCE OF RESIDUALS
#passo 1. LINEAR RELATIONSHIPS BETWEEN X AND Y
cog_final = md_full
#esse passo não é necessário por não haver variável númerica dada como explicativa
esse passo não é necessário por não haver variável númerica dada como explicativa Abaixo o passo 2:
#passo 2. Nearly normal residuals
hist(md_full$residuals)
qqnorm(cog_final$residuals)
qqline(cog_final$residuals)
SINAL VERMELHO não é possível usar o modelo, não passou no teste. Os theorical quantiles estão mal distribuídos. Vemos o que dá nos outros passos
#passo 3. Constant variability of residuals
plot(cog_final$residuals ~ cog_final$fitted)
análise - IDEM Sinal vermelho
#passo 4. INDEPENDENCE OF RESIDUALS
plot(cog_final$residuals)
confirmado - reprovado
vamos fazer agora o diagnóstico de nosso próximo modelo:
analisaremos o primeiro do banco de reservas: md_b3 - nota futuro_bra explicado por conheci_tran + avalia_gestao_tran
#Nearly normal residuals de md_b3
hist(md_b3$residuals)
qqnorm(md_b3$residuals)
qqline(md_b3$residuals)
Mesmo problema- descartado
##diagnóstico modelo md_b2
analisaremos o segundo do banco de reservas: md_b2 - nota futuro_bra explicado por avalia_gestao_tran + avalia_bozo_covid19
#Nearly normal residuals de md_b3
hist(md_b2$residuals)
qqnorm(md_b2$residuals)
qqline(md_b2$residuals)
Mesmo problema- descartado
Reelembrando que o modelo md_c3 (nota futuro_bra explicado por avalia_gestao_tran) o próximo da lista, só tem uma variável explicativa.
Existem regras diferentes de diagnóstico para regressão lineares simples (com uma variável explicativa);
Quais são? ….
Os testes são somente 3:
#passo 1 linearity
ggplot(data = md_c3, aes(x = .fitted, y = .resid)) +
geom_point() +
geom_hline(yintercept = 0, linetype = "dashed") +
xlab("Fitted values") +
ylab("Residuals")
Parece distribuído aleatoriamente? nao muito, mas vamos os outros dois passos
#passo 2 Nearly normal residuals de md_c3
ggplot(data = md_c3, aes(x = .resid)) +
geom_histogram(binwidth = 25) +
xlab("Residuals")
Não deu boa
Último passo
ggplot(data = md_c3, aes(sample = .resid)) +
stat_qq()
nao aprovado para md_c3
Vamos para o próximo do banco de reservas:
5- md_b1 - explicado por conheci_tran + avalia_bozo_covid19 (linear múltipla)
6- md_c2 - explicado por avalia_bozo_covid19 (linear simples)
7- md_c1 - explicado por conheci_tran (linear simples)
#Nearly normal residuals de md_b1
hist(md_b1$residuals)
qqnorm(md_b1$residuals)
qqline(md_b1$residuals)
descartado próximo modelo:
6- md_c2 - explicado por avalia_bozo_covid19 (linear simples)
7- md_c1 - explicado por conheci_tran (linear simples)
#passo 1 linearity de md_c2
ggplot(data = md_c2, aes(x = .fitted, y = .resid)) +
geom_point() +
geom_hline(yintercept = 0, linetype = "dashed") +
xlab("Fitted values") +
ylab("Residuals")
#passo 2 Nearly normal residuals de md_c2
ggplot(data = md_c2, aes(x = .resid)) +
geom_histogram(binwidth = 25) +
xlab("Residuals")
Até agora não deu boa - vamos para o passo 3
ggplot(data = md_c2, aes(sample = .resid)) +
stat_qq()
descartado próximo modelo e útlimo modelo:
7- md_c1 - explicado por conheci_tran (linear simples)
#passo 1 linearity de md_c1
ggplot(data = md_c2, aes(x = .fitted, y = .resid)) +
geom_point() +
geom_hline(yintercept = 0, linetype = "dashed") +
xlab("Fitted values") +
ylab("Residuals")
#passo 2 Nearly normal residuals de md_c2
ggplot(data = md_c1, aes(x = .resid)) +
geom_histogram(binwidth = 25) +
xlab("Residuals")
ggplot(data = md_c1, aes(sample = .resid)) +
stat_qq()
Não foi possível modelo descartado
não podemos utilizar nenhum modelo, os dados são insuficientes.
Não foi pssível fazer analise de regresssão, , uma vez que as regressões naõ foram aprovados nos testes de diagnóstico.
A solução são análises de inferência com cada uma das três variáveis explicativas acerca da variável nota futuro_bra
boxplot(swe$nota_futuro_bra ~ swe$avalia_gestao_tran, col = "orange", main="nota futuro bra e avalia gestao", ylab="nota fut", xlab="avalia gestao")
There were 44 warnings (use warnings() to see them)
Há uma visível relação. abaixo mais um teste:
swe %>%
There were 32 warnings (use warnings() to see them)
group_by(avalia_gestao_tran) %>%
summarise(mean_nota_fut = mean(nota_futuro_bra))
`summarise()` ungrouping output (override with `.groups` argument)
Com excessão do pessimo e do ruim, o resto segue um caminho. A seguir a inferência propriamente dita:
inference(y = nota_futuro_bra, x = avalia_gestao_tran, data = swe, statistic = "mean", type = "ht", null = 0,
alternative = "greater", method = "theoretical")
Ignoring null value since it's undefined for ANOVA
Response variable: numerical
Explanatory variable: categorical (5 levels)
n_pessimo = 552, y_bar_pessimo = 3.6196, s_pessimo = 2.1327
n_ruim = 95, y_bar_ruim = 3.0105, s_ruim = 0.8186
n_regular = 311, y_bar_regular = 4.7556, s_regular = 1.2436
n_bom = 93, y_bar_bom = 6.3333, s_bom = 1.7089
n_otimo = 172, y_bar_otimo = 8.1977, s_otimo = 3.4056
ANOVA:
Pairwise tests - t tests with pooled SD:
analise- o p_value nos dá segurança em afirmar que há signifcância entre as variáveis (mesmo com essa diferença entre ruim e pessimo).
boxplot(swe$nota_futuro_bra ~ swe$conheci_tran, col = "orange", main="nota futuro bra e conheci/acompanha", ylab="nota fut", xlab="conhec/acomp")
Há uma visível relação. abaixo mais um teste:
swe %>%
group_by(conheci_tran) %>%
summarise(mean_nota_fut = mean(nota_futuro_bra))
`summarise()` ungrouping output (override with `.groups` argument)
parece ok, vamos para a inferência propriamente dita
inference(y = nota_futuro_bra, x = conheci_tran, data = swe, statistic = "mean", type = "ht", null = 0,
alternative = "twosided", method = "theoretical")
Response variable: numerical
Explanatory variable: categorical (2 levels)
n_pouco = 704, y_bar_pouco = 4.0866, s_pouco = 2.4096
n_muito = 519, y_bar_muito = 5.5588, s_muito = 2.7227
H0: mu_pouco = mu_muito
HA: mu_pouco != mu_muito
t = -9.8074, df = 518
p_value = < 0.0001
Deu boa.(bom p-value) tem associação.
Mesmo procedimento das duas anteriores.
boxplot(swe$nota_futuro_bra ~ swe$avalia_bozo_covid19, col = "orange", main="nota futuro bra e bozo no corona", ylab="nota fut", xlab="bozo no coronga")
Nesse caso nao parece haver tao forte, como já vimos antes os valores do aprova se consolidam por todos as notas.
Os que desaprovam dao notas mais baixar, os que aprovam dão todos os tipos de notas.
Veremos mais dados abaixo que corroboram isso que foi dito:
swe %>%
group_by(avalia_bozo_covid19) %>%
summarise(mean_nota_fut = mean(nota_futuro_bra))
`summarise()` ungrouping output (override with `.groups` argument)
Ok, a inferência a seguir:
inference(y = nota_futuro_bra, x = avalia_bozo_covid19, data = swe, statistic = "mean", type = "ht", null = 0,
alternative = "twosided", method = "theoretical")
Response variable: numerical
Explanatory variable: categorical (2 levels)
n_desaprova = 1020, y_bar_desaprova = 4.3882, s_desaprova = 2.2178
n_aprova = 110, y_bar_aprova = 7.4636, s_aprova = 4.0675
H0: mu_desaprova = mu_aprova
HA: mu_desaprova != mu_aprova
t = -7.8058, df = 109
p_value = < 0.0001
Opa deu boa. Isso nos dá uma esperança, a seguir:
Faremos uma última tentativa desesperada de tentar as regressões COM TODOS OS VALORES DISPONÍVES, SEM CORTAR NADA
m_full <- lm(nota_futuro_bra ~ avalia_gestao_tran + conheci_tran + avalia_bozo_covid19, data = swe)
summary(m_full)
Call:
lm(formula = nota_futuro_bra ~ avalia_gestao_tran + conheci_tran +
avalia_bozo_covid19, data = swe)
Residuals:
Min 1Q Median 3Q Max
-5.591 -1.361 0.500 1.873 3.409
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.12711 0.09973 31.357 < 2e-16 ***
avalia_gestao_tranruim 0.37289 0.26853 1.389 0.165
avalia_gestao_tranregular 1.00362 0.14212 7.062 2.88e-12 ***
avalia_gestao_tranbom 3.14286 0.27842 11.288 < 2e-16 ***
avalia_gestao_tranotimo 6.87289 0.37187 18.482 < 2e-16 ***
conheci_tranmuito 1.23003 0.13069 9.412 < 2e-16 ***
avalia_bozo_covid19aprova -3.40856 0.41605 -8.193 6.90e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.995 on 1123 degrees of freedom
(93 observations deleted due to missingness)
Multiple R-squared: 0.4238, Adjusted R-squared: 0.4208
F-statistic: 137.7 on 6 and 1123 DF, p-value: < 2.2e-16
r_adj_m_full <- 0.4208
Bom valor de 42%, talvez o erro tenha sido criar ‘q1’. Vamos aos temidos diagnósticos:
hist(m_full$residuals)
qqnorm(m_full$residuals)
qqline(m_full$residuals)
plot(m_full$residuals ~ m_full$fitted)
plot(m_full$residuals)
O terceira tabela nos da segurança de seguir com esse modelo, embora ele não esteja tão ok. ele está mais ok que o md_full
Pra desencargo veremos se há algum modelo sem ‘q1’ que tem maior R adjusted Square.
#modelos f1,f2 e f3 com duas variáveis explicativas
#modelo f1 variáveis explicativas = conheci_tran + avalia_bozo_covid19
md_f1<- lm(nota_futuro_bra ~ conheci_tran + avalia_bozo_covid19, data = swe)
summary(md_f1)$adj.r.squared
[1] 0.1834883
#modelo f2 variáveis explicativas = avalia_gestao_tran + avalia_bozo_covid19
md_f2<- lm(nota_futuro_bra ~ avalia_gestao_tran + avalia_bozo_covid19, data = swe)
summary(md_f2)$adj.r.squared
[1] 0.375628
#modelo f3 variáveis explicativas = avalia_gestao_tran + conheci_tran
md_f3 <- lm(nota_futuro_bra ~ conheci_tran + avalia_gestao_tran, data = swe)
summary(md_f3)$adj.r.squared
[1] 0.4178691
#modelos inciados com a letra ''g'' com uma variável explicativa
#modelo g1 com uma variável explicativa = conheci_tran
md_g1<- lm(nota_futuro_bra ~ conheci_tran, data = swe)
summary(md_g1)$adj.r.squared
[1] 0.07479796
# modelo g2 com uma variável explicativa = avalia_bozo_covid19
md_g2<- lm(nota_futuro_bra ~ avalia_bozo_covid19, data = swe)
summary(md_g2)$adj.r.squared
[1] 0.1203229
# modelo g3 com uma variável explicativa = avalia_gestao_tran
md_g3<- lm(nota_futuro_bra ~ avalia_gestao_tran, data = swe)
summary(md_g3)$adj.r.squared
[1] 0.3794131
#relembrando o valor de m_full
r_adj_m_full
[1] 0.4208
nenhum valor superou o 0.4208, vamos com ele
Já que o m_full foi escolhido(so testes diagnóstico colocam ele no limiar de ok e não ok), vamos analisar o que ele nos diz:
summary(m_full)
Call:
lm(formula = nota_futuro_bra ~ avalia_gestao_tran + conheci_tran +
avalia_bozo_covid19, data = swe)
Residuals:
Min 1Q Median 3Q Max
-5.591 -1.361 0.500 1.873 3.409
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.12711 0.09973 31.357 < 2e-16 ***
avalia_gestao_tranruim 0.37289 0.26853 1.389 0.165
avalia_gestao_tranregular 1.00362 0.14212 7.062 2.88e-12 ***
avalia_gestao_tranbom 3.14286 0.27842 11.288 < 2e-16 ***
avalia_gestao_tranotimo 6.87289 0.37187 18.482 < 2e-16 ***
conheci_tranmuito 1.23003 0.13069 9.412 < 2e-16 ***
avalia_bozo_covid19aprova -3.40856 0.41605 -8.193 6.90e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.995 on 1123 degrees of freedom
(93 observations deleted due to missingness)
Multiple R-squared: 0.4238, Adjusted R-squared: 0.4208
F-statistic: 137.7 on 6 and 1123 DF, p-value: < 2.2e-16
r_adj_m_full <- 0.4208
analise - devemos entender que é um exercício e o o diagnóstico não foi muito bom
feita essa ressalva, é possível notar primeiramente que as categorias de referência são pessimo, pouco e desaprova.
-Sobre a avaliação gestão ruim não é possível dizer nada (pois não passa no teste de sig, não tem as ***)
-Sobre avaliação gestão regular é possível dizer avaliar regularmente ao invés de pessimamente tem como expectativa no modelo melhorar em cerca de 1 ponto a nota do futuro do Brasil.
-Avaliar como bom ao invés de pessimamente tem como expectativa no modelo melhorar em cerca de 3.14 pontos a nota do futuro do Brasil.
Avaliar como ótimo ao invés de pessimamente tem como expectativa no modelo melhorar em cerca de 6.87 pontos a nota do futuro do Brasil.
Se diszer conhecedo0r e que acompanha muito a política tem como expectativa no modelo melhorar a nota do futuro do Brasil em 1.23003.
aprovar a gestão Bolsonado na covid-19 tem como expectativa reduzir a nota do futuro do Brasil em 3.40 pontos.
A segunda regressão com mais R Adjusted foi md_f3, vamos testá-la também
Os plots do diagnóstico de md_f3 são um pouco melhores que em m_full veja abaixo
hist(md_f3$residuals)
qqnorm(md_f3$residuals)
qqline(md_f3$residuals)
plot(md_f3$residuals ~ md_f3$fitted)
plot(md_f3$residuals)
Portanto cabe também analisá-lo (dado seu alto R adjusted)
summary(md_f3)
Call:
lm(formula = nota_futuro_bra ~ conheci_tran + avalia_gestao_tran,
data = swe)
Residuals:
Min 1Q Median 3Q Max
-6.6977 -1.2980 0.8045 1.3023 2.7193
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.17814 0.09893 32.125 < 2e-16 ***
conheci_tranmuito 1.10257 0.12216 9.026 < 2e-16 ***
avalia_gestao_tranruim -0.16761 0.22969 -0.730 0.466
avalia_gestao_tranregular 1.01734 0.14385 7.072 2.57e-12 ***
avalia_gestao_tranbom 2.42015 0.22880 10.578 < 2e-16 ***
avalia_gestao_tranotimo 4.51953 0.17655 25.599 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.02 on 1217 degrees of freedom
Multiple R-squared: 0.4203, Adjusted R-squared: 0.4179
F-statistic: 176.4 on 5 and 1217 DF, p-value: < 2.2e-16
-Sobre a avaliação gestão ruim não é possível dizer nada (pois não passa no teste de sig, não tem as ***)
-Sobre avaliação gestão regular é possível dizer avaliar regularmente ao invés de pessimamente tem como expectativa no modelo melhorar em cerca de 1 ponto a nota do futuro do Brasil.
-Avaliar como bom ao invés de pessimamente tem como expectativa no modelo melhorar em cerca de 2.42 pontos a nota do futuro do Brasil.
vamos criar três personagens: o bolsonarista, o critico e o neutro abaixo mais infos:
##Vamos prever que nota daria um apoiador forte de Bolsonaro Vamos prever que nota daria um apoiador forte de Bolsonaro (avalia como ótimo a gestão, acompanha muito e aprova a gestão covid)
Vamos chamá-lo de bolsonarista
newdata1 <- data.frame(avalia_gestao_tran = "otimo", conheci_tran = "muito", avalia_bozo_covid19 = "aprova")
bolsonarista <- round(predict(m_full, newdata1), digit = 0)
c(bolsonarista , newdata1$nota_futuro_bra)
1
8
a nota prevista do bolsonarista é 8.
vamos ampliar o escopo com intervalo de 95% de confiança
predict(m_full, newdata1, interval = 'prediction', level = 0.95)
fit lwr upr
1 7.821462 3.889363 11.75356
entre 3,88 e 10. (temos 95% de confiança que não dará menos que 3,88 para o futuro do brasil)
##Vamos prever que nota daria um crítico forte de Bolsonaro Vamos prever que nota daria um crítico forte de Bolsonaro (avalia como péssimo a gestão, acompanha muito e reprova a gestão covid)
Vamos chamá-lo de crítico
newdata2 <- data.frame(avalia_gestao_tran = "pessimo", conheci_tran = "muito", avalia_bozo_covid19 = "desaprova")
critico <- round(predict(m_full, newdata2), digit = 0)
c(critico , newdata2$nota_futuro_bra)
1
4
a nota prevista do crítico é 4
predict(m_full, newdata2, interval = 'prediction', level = 0.95)
fit lwr upr
1 4.357136 0.4369333 8.277338
o intervalo com 95% DE CONFIANÇA É 0.43 E 8.27 - TEMOS 95% DE CERTEZA QUE NÃO DARÁ MAIS 8.27 PARA O FUTURO DO BRASIL.
##Vamos prever um que acompanha pouco, avalia regular e nao tem opinião sobre a covid Vamos prever um que acompanha pouco, avalia regular e nao tem opinião sobre a covid
Vamos chamá-lo de neutro e usar md_f3
newdata3 <- data.frame(avalia_gestao_tran = "regular", conheci_tran = "pouco")
neutro <- round(predict(md_f3, newdata3), digit = 0)
c(neutro , newdata3$nota_futuro_bra)
1
4
Previsão de nota 4
predict(md_f3, newdata2, interval = 'prediction', level = 0.95)
fit lwr upr
1 4.280708 0.310615 8.2508
entre 0.31 e 8,25
Em relação a pergunta 1, Há associação
Em relação a pergunta 2, é seguro afimar que nota_futuro é explicado por no entanto, como não foi possível rodar as regressões com 100% de seguraça, não é possível dizer com segurança a intensidade.
Se aceitarmos que os modelo m_full e md_f3 estão ok -(pode-se dizer que estão no limiar), as conclusões estão presentes na análise analise da regressão m_full e md_f3
Concluimos também dizendo que que se prevê que os bolsonaristas sejam mais otimistas que os neutros e críticos.