O futuro dos carros elétricos - Trabalho Final de Estatística
1. Introdução
Os carros elétricos são uma solução para a frear a produção de gás carbônico jogado na atmosfera. Substituir o motor a combustão, diminuindo a liberação de gases no ar, é um passo necessário ao futuro uma vez que, o planeta já traz consequências desse enorme volume de CO2, agravando o efeito estufa e alterando o clima do globo terrestre. Os carros a combustão são responsáveis por grande parte dessa poluição, como exemplo, a frota de veículos dos estados de São Paulo e Rio de Janeiro representam 60% do total de partículas poluentes do ar dos mesmos, segundo Thiago Tanji, em matéria escrita para o site Auto Esporte.
Segundo um estudo feito pela a Volvo, montadora sueca de automóveis, os carros elétricos também poluem pela sua produção e ciclo de vida, deve-se levar em conta de como essa energia é produzida, sendo assim, poluindo indiretamente. Em um cenário de 50% da produção de energia sendo oriunda de fontes renováveis, a partir de 109 mil Km rodados, o carro elétrico passa a ser 15% mais sustentável que o convencional e no caso de ser abastecido só com energia limpa, 30% em apenas 48 mil Km rodados. Cada vez mais se faz necessário a implementação do carro elétrico e o avanço de suas tecnologias para deixa-lo mais eficiente, sustentável e barato para o uso em larga escala.
2. Objetivo
O objetivo desse estudo é analisar dados sobre a conjuntura atual dos carros elétricos, de que forma está o progresso da tecnologia, se há avanços e o mercado, se há veículos de custo benefício sustentável baratos. Para análise foram trabalhadas as variáveis velocidade e distancia percorrida, até onde o carro elétrico pode chegar, a relação entre os preços e a eficiência e uma relação inversa entre velociade e aceleração dos carros elétricos.
3. Metodologia
Para o estudo, foi escolhido a base de dados EVs - One Electric Vehicle Dataset - Smaller disponível na plataforma Kaggle, que traz dados do ano de 2020 sobre carros elétricos europeus oriundos de diversas marcas, levantando variáveis importantes para a comparação. Na plataforma é possível encontrar diversas bases de dados abertas para o público, como essa que está sendo estudada. A base foi carregada no programa RStudio para a utilização da linguagem R para a análise.
Dicionário de dados
library(readr)
ElectricCarData_Clean <- read_csv("C:/Users/Lucas E/Downloads/ElectricCarData_Clean.csv")##
## -- Column specification --------------------------------------------------------
## cols(
## Brand = col_character(),
## Model = col_character(),
## AccelSec = col_double(),
## TopSpeed_KmH = col_double(),
## Range_Km = col_double(),
## Efficiency_WhKm = col_double(),
## FastCharge_KmH = col_character(),
## RapidCharge = col_character(),
## PowerTrain = col_character(),
## PlugType = col_character(),
## BodyStyle = col_character(),
## Segment = col_character(),
## Seats = col_double(),
## PriceEuro = col_double()
## )
carrosele <- ElectricCarData_Clean
summary(carrosele)## Brand Model AccelSec TopSpeed_KmH
## Length:103 Length:103 Min. : 2.100 Min. :123.0
## Class :character Class :character 1st Qu.: 5.100 1st Qu.:150.0
## Mode :character Mode :character Median : 7.300 Median :160.0
## Mean : 7.396 Mean :179.2
## 3rd Qu.: 9.000 3rd Qu.:200.0
## Max. :22.400 Max. :410.0
## Range_Km Efficiency_WhKm FastCharge_KmH RapidCharge
## Min. : 95.0 Min. :104.0 Length:103 Length:103
## 1st Qu.:250.0 1st Qu.:168.0 Class :character Class :character
## Median :340.0 Median :180.0 Mode :character Mode :character
## Mean :338.8 Mean :189.2
## 3rd Qu.:400.0 3rd Qu.:203.0
## Max. :970.0 Max. :273.0
## PowerTrain PlugType BodyStyle Segment
## Length:103 Length:103 Length:103 Length:103
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Seats PriceEuro
## Min. :2.000 Min. : 20129
## 1st Qu.:5.000 1st Qu.: 34430
## Median :5.000 Median : 45000
## Mean :4.883 Mean : 55812
## 3rd Qu.:5.000 3rd Qu.: 65000
## Max. :7.000 Max. :215000
Para legenda das variáveis da tabela: Brand = marca, Model= modelo, AccelSec= aceleração por segundo, TopSpeed_KmH= velocidade máxima em Km/H, Range_Km= a distãncia percorrida por Km, Efficiency_WhKm= eficiência energética watts por Km, FastCharge_KmH= carga rápida por Km/h, RapidCharge = recarregamento rápido, PowerTrain= tipo de tração, PlugType = tipo de saida para conector energético, BodyStyle= tipo de carro, Segment= segmento, Seats= número de lugares e PriceEuro= preço do carro em euros.
Método
Para as análises, foram utilizados:
- Matriz de Correlação
- Diagrama de dispersão
- Histograma
- Boxplot
- Teste de hipóteses com o uso dos métodos de Shapiro e Spearman
4. Análise de Resultados
Matriz de correlação
A utilização da matriz de correlação é para o entendimento de quais variáveis possuem correlação e se são correlações fortes ou fracas.
library(dplyr)
library(corrplot)
library(flextable)
library(reactable)
library(RColorBrewer)
DADOCERTO <- carrosele %>% select(TopSpeed_KmH, Range_Km, Efficiency_WhKm, AccelSec, Seats)
DADOCERTO <- na.omit(DADOCERTO)
DADOCERTO %>% cor() %>% corrplot.mixed()Pode-se observar que existem correlações fortes, em que no caso, a matriz mostra duas correlações forte entre variáves, sendo 1 diretamente proporcional e outra inversamente proporcional lucidado pela cor vermelha.
Diagrama de Dispersão
No diagrama de dispersão, é possível verificar a concetração dos dados indicando um correlação e a linha de tendência
par(bg="#ffffe8")
plot(carrosele$TopSpeed_KmH, carrosele$Range_Km,pch=17,col="#341bf5",
main="Gráfico Velocidade/Distancia percorrida",
xlab = "Velocidade", ylab = "Distancia em Km")
abline(lsfit(carrosele$TopSpeed_KmH, carrosele$Range_Km),col="#15402a")A linha de tendencia crescente indica uma correlação positiva.
Tabela com Flextable
Para a utilização da tabela, houve um trato dos dados, onde houve a mudança da variável quantitativa preço para qualitativa, para assim, observar melhor a distribuição dos preços no boxplot e poder entender a eficiência energética em relação ao preço do carros com a média e desvio padrão. Será util também observar o histograma de eficencia energética para ter uma imagem mais clara sobre os dados e relacionar com a tabela Preço x Eficiência.
carrosele$PriceEuro <- ifelse(carrosele$PriceEuro > 55812, "Carro preço elevados", "Carro preços popular")
carrosele %>% select(Efficiency_WhKm,PriceEuro) %>%
group_by(PriceEuro) %>%
summarise(Média = round(mean(Efficiency_WhKm),3),
Desvio_Padrão=round(sd(Efficiency_WhKm),3),
Tamanho= n()) %>% flextable() %>% theme_booktabs()PriceEuro | Média | Desvio_Padrão | Tamanho |
Carro preço elevados | 210.056 | 33.265 | 36 |
Carro preços popular | 177.940 | 19.957 | 67 |
par(bg="#ffffe8")
hist(carrosele$Efficiency_WhKm,main = "Histograma de Eficiência Energética", col = "#08c4c7", labels = TRUE, ylim = c(0,60), xlim = c(0,300),xlab = "Eficiência", ylab = "Número de carros")Assim temos a média de eficencia por Km dos carros com preço elevado e popular e uma amostra de como eles estão distribuidos.
Boxplot
par(bg="#ffffe8")
boxplot(carrosele$Efficiency_WhKm~carrosele$PriceEuro,col=c("#d9d18f","#b56ead"),
xlab = "Preço", ylab = "Eficiência")No boxplot observa-se que a eficiência está atrelada ao preço e que os carros elétricos com preço mais popular, apesar de alguns outliers, sua amostra possui uma eficiência energética baixa, detalhando de como é a relação.
Teste de hipótese
O teste de hipótese é utilizado para constatar ou rejeitar uma hipótese estatística observada na amostra de dados, onde pode-se analisar através de métodos já estabelecidos pela estatística, se as variáveis escolhidas, em sua hipótese, possuem relação. Para este teste foram utilizadas duas variáveis quantitativas, velocidade máxima e distância percorrida, já trabalhadas na matriz de correlação e no diagrama de dispersão para assim, constatar a hipótese que elas possuem uma correlação como mostrado anteriormente.
Em um teste de duas variáveis quantitativas, há necessário seguir um padrão para a definição do teste.
Primeiro, se utilizou para verificação o teste de Shapiro Wilk, se as variáveis atendiam uma distribuição normal.
Caso não sigam, o teste de Spearman mostrará se o resultado da hipótese.
Para Shapiro:
Hipótese nula (H0): Os dados seguem uma distribuição normal
Hipótese alternativa (H1): Os dados não seguem uma distribuição normal
Alpha = 0,05
Se o pvalor < alpha, a HO é rejeitada
Se o pvalor > alpha, a H0 não é rejeitada
Teste de normalidade da variável velocidade máxima
shapiro.test(carrosele$TopSpeed_KmH)##
## Shapiro-Wilk normality test
##
## data: carrosele$TopSpeed_KmH
## W = 0.83937, p-value = 3.345e-09
p-value = 0.000000003345
A velocidade máxima dos carros elétricos não segue uma distribuição normal
Teste de normalidade da variável distância percorrida
shapiro.test(carrosele$Range_Km)##
## Shapiro-Wilk normality test
##
## data: carrosele$Range_Km
## W = 0.90348, p-value = 1.531e-06
p-value = 0.000001531
A distância percorrida dos carros elétricos não segue uma distribuição normal
Os dois testes mostraram que as variáveis não possuem distribuição normal, onde o pvalor é menor que 0,05.
O teste de Spearman:
H0: rho = 0
H1: rho != 0
Alpha: 0,05
Se o pvalor < alpha, A hipótese H0 é rejeitada
Se o pvalor > alpha, a hipótese H0 não é rejeitada
cor.test(carrosele$TopSpeed_KmH,carrosele$Range_Km, method = "spearman", conf.level = 0.95)## Warning in cor.test.default(carrosele$TopSpeed_KmH, carrosele$Range_Km, : Cannot
## compute exact p-value with ties
##
## Spearman's rank correlation rho
##
## data: carrosele$TopSpeed_KmH and carrosele$Range_Km
## S = 43863, p-value < 2.2e-16
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## 0.7591339
p-value < 0.00000000000000022
Com o teste de Spearman, verificou- se que duas variáveis possuem relação pois o pvalor é menor do que alpha, rejeitando a hipótese nula de rho =0, então as variáveis estão correlacionadas.
Matriz de correlação (Correlação Inversa)
A segunda matriz de correlação tem como finalidade analisar e demostrar a correlação inversa verificada pela primeira matriz de correlação.
par(bg="#ffffe8")
DADOCERTO <- carrosele %>% select(TopSpeed_KmH, AccelSec)
DADOCERTO <- na.omit(DADOCERTO)
DADOCERTO %>% cor() %>% corrplot.mixed()Diagrama de Dispersão (Correlação Inversa)
par(bg="#ffffe8")
plot(carrosele$TopSpeed_KmH, carrosele$AccelSec,pch=17,col="tomato2",
main="Gráfico Velocidade/aceleração",
xlab = "Velocidade", ylab = "Aceleração")
abline(lsfit(carrosele$TopSpeed_KmH, carrosele$AccelSec),col="#26de12")