Como cientista de dados, você vai precisar analisar a distribuição das variáveis do seu conjunto de dados. Normalmente, isso é feito com histogramas — ótimo para mostrar a faixa de valores da variável, sua dispersão e onde os valores se concentram.
número de locações iniciadas por usuários não registrados
registered
número de locações iniciadas por usuários registrados
count
número total de locações
Seleção de variáveis
Você vai analisar a relação entre atemp e humidity por season, então selecione essas colunas do dataset. Lembre de carregar o pacote dplyr.
bike_data<-
bike %>%
dplyr::select(season, atemp, humidity)
head(bike_data)Tecnologia
Histogramas
Beleza, agora você está pronto para começar a análise. Comece criando um histograma para cada variável por estação. Vamos usar a biblioteca ggplot2, então não esqueça de carregá-la.
Com o histograma, dá para ver que há umidade mais alta no inverno (o que faz sentido), e você tem uma noção de como ela se distribui em cada estação.
Agora adicione a densidade, um rug de densidade e troque os nomes dos facets para deixar a visualização mais agradável.
bike_data %>%
mutate(season_label = case_when(
season ==1~"Spring",
season ==2~"Summer",
season ==3~"fall",
season ==4~"winter"))%>%
ggplot( aes(x=humidity))+
geom_histogram(bins=30,aes(y = ..density..))+
geom_rug()+
geom_density()+
facet_wrap(~season_label,ncol =2)+
ggtitle("Histogram of humidity by season")Tecnologia
Agora dá para sentir melhor como a umidade se comporta. Faça o mesmo com atemp.
Histograma de atemp
Reaproveite o código acima e troque a variável para atemp,
bike_data %>%
mutate(season_label = case_when(
season ==1~"Spring",
season ==2~"Summer",
season ==3~"fall",
season ==4~"winter"))%>%
ggplot( aes(x=atemp))+
geom_histogram(bins=30,aes(y = ..density..))+
geom_rug()+
geom_density()+
facet_wrap(~season_label,ncol =2)+
ggtitle("Histogram of atemp by season")Tecnologia
Histograma de atemp por estação
Até aqui, tudo certo — os resultados batem com o esperado para cada estação. Em cada gráfico, você tem uma aproximação da função de distribuição de probabilidade.
Mas é difícil, com base nesses gráficos, visualizar como as variáveis interagem entre si. O primeiro desafio é que seu histograma precisaria ser em 3D, já que você quer encontrar a função de distribuição para as duas variáveis ao mesmo tempo.
Ajustando uma distribuição bivariada aos seus dados
O objetivo é visualizar a distribuição bivariada. Para isso, primeiro é preciso ajustá-la aos dados. Vamos usar a biblioteca MASS e a função kde2d. A kde2d estima a distribuição bivariada, assumindo normalidade para as variáveis aleatórias. As entradas da função são:
Observação: ao carregar a biblioteca MASS, ela vem com uma função select, o que conflita com a select do dplyr. Para resolver, quando usar a select do dplyr, adicione dplyr::, assim: dplyr::select(), para funcionar corretamente.
É uma lista com 3 valores: x, y e z. Os dois primeiros trazem os valores das variáveis e o terceiro é uma matriz com os valores da fdp. Dê uma olhada na densidade usando a função contour:
Observando o gráfico, dá para identificar alguns pontos de acúmulo, que podem ser entendidos como os valores mais frequentes para a combinação das duas variáveis. Os valores de cada ponto estão resumidos na tabela a seguir:
ponto
atemp (°C)
umidade (%)
1
12.2
89
2
10.4
43
3
21
43
4
21.6
78
Heatmap
Para criar seu heatmap, primeiro defina a escala de cores que você quer usar. Você pode fazer isso com a função colorRampPalette
hm_col_scale é um vetor que vai do preto ao vermelho usando código RGB em 1000 passos.
Agora plote seu heatmap usando a função image, que é usada para plotar matrizes.
image(bike_density$z,
col = hm_col_scale,
zlim=c(min(bike_density$z),max(bike_density$z)))text(0.31,0.46,"Most Frequent",col="blue",cex=0.8)points(0.31,0.45,col="blue",pch=18)Tecnologia
Como você pode ver, isso traz mais informação do que o gráfico de contorno, porque agora as cores indicam a intensidade dos pontos de acúmulo. Dá para ver que os valores mais frequentes de umidade e atemp durante a primavera ficam por volta do ponto (10,4; 43).
Conclusão
Agora que você sabe criar um heatmap, é sua vez de colocar em prática. Comece olhando para as outras estações e a relação com as demais variáveis.
Pense em como usar isso para estimar quantas bicicletas você deve disponibilizar para diferentes valores das variáveis, considerando que os pontos mais frequentes têm maior probabilidade.
Este artigo ensina a você o significado, as diferenças e os casos de uso apropriados de intervalos de previsão e intervalos de confiança em análises estatísticas e de regressão. Ele também mostra a você como implementar esses intervalos no R.
Descubra as complexidades dos modelos não lineares em comparação com os modelos lineares. Saiba mais sobre suas aplicações, limitações e como ajustá-las usando conjuntos de dados do mundo real.
Como cientista de dados, você vai precisar analisar a distribuição das variáveis do seu conjunto de dados. Normalmente, isso é feito com histogramas — ótimo para mostrar a faixa de valores da variável, sua dispersão e onde os valores se concentram.
Este tutorial usa R. Se você ainda não está familiarizado com R, recomendo fazer nosso curso gratuito Introduction to R na DataCamp.
Conjunto de dados de compartilhamento de bicicletas
Para este tutorial, você vai usar o Bike Sharing Demand Dataset de uma competição do Kaggle.
Siga o link, vá até a aba de dados e baixe o arquivo
train.csv.Carregue o dataset no R.
Recursos do dataset
2 = verão
3 = outono
4 = inverno
2: névoa + nublado, névoa + nuvens dispersas, névoa + poucas nuvens, névoa
3: neve fraca, garoa/chuva fraca + trovoadas + nuvens dispersas, chuva fraca + nuvens dispersas
4: chuva forte + granizo + trovoadas + névoa, neve + neblina
Seleção de variáveis
Você vai analisar a relação entre
atempehumidityporseason, então selecione essas colunas do dataset. Lembre de carregar o pacotedplyr.Histogramas
Beleza, agora você está pronto para começar a análise. Comece criando um histograma para cada variável por estação. Vamos usar a biblioteca
ggplot2, então não esqueça de carregá-la.Histograma de umidade
Com o histograma, dá para ver que há umidade mais alta no inverno (o que faz sentido), e você tem uma noção de como ela se distribui em cada estação.
Agora adicione a densidade, um rug de densidade e troque os nomes dos facets para deixar a visualização mais agradável.
Agora dá para sentir melhor como a umidade se comporta. Faça o mesmo com atemp.
Histograma de atemp
Reaproveite o código acima e troque a variável para atemp,
Até aqui, tudo certo — os resultados batem com o esperado para cada estação. Em cada gráfico, você tem uma aproximação da função de distribuição de probabilidade.
Mas é difícil, com base nesses gráficos, visualizar como as variáveis interagem entre si. O primeiro desafio é que seu histograma precisaria ser em 3D, já que você quer encontrar a função de distribuição para as duas variáveis ao mesmo tempo.
Ajustando uma distribuição bivariada aos seus dados
O objetivo é visualizar a distribuição bivariada. Para isso, primeiro é preciso ajustá-la aos dados. Vamos usar a biblioteca
MASSe a funçãokde2d. Akde2destima a distribuição bivariada, assumindo normalidade para as variáveis aleatórias. As entradas da função são:Agora aplique ao dataset filtrando para o verão,
Agora veja a classe e a estrutura de
bike_densityÉ uma lista com 3 valores: x, y e z. Os dois primeiros trazem os valores das variáveis e o terceiro é uma matriz com os valores da fdp. Dê uma olhada na densidade usando a função
contour:Observando o gráfico, dá para identificar alguns pontos de acúmulo, que podem ser entendidos como os valores mais frequentes para a combinação das duas variáveis. Os valores de cada ponto estão resumidos na tabela a seguir:
Heatmap
Para criar seu heatmap, primeiro defina a escala de cores que você quer usar. Você pode fazer isso com a função
colorRampPalettehm_col_scaleé um vetor que vai do preto ao vermelho usando código RGB em 1000 passos.Agora plote seu heatmap usando a função
image, que é usada para plotar matrizes.Como você pode ver, isso traz mais informação do que o gráfico de contorno, porque agora as cores indicam a intensidade dos pontos de acúmulo. Dá para ver que os valores mais frequentes de umidade e atemp durante a primavera ficam por volta do ponto (10,4; 43).
Conclusão
Agora que você sabe criar um heatmap, é sua vez de colocar em prática. Comece olhando para as outras estações e a relação com as demais variáveis.
Pense em como usar isso para estimar quantas bicicletas você deve disponibilizar para diferentes valores das variáveis, considerando que os pontos mais frequentes têm maior probabilidade.
Se quiser aprender mais sobre visualização de dados com
ggplot, confira nosso curso Data Visualization with ggplot2.