#dgamma(x, shape, rate = 1, scale = 1/rate, log = FALSE)
= seq(0, 20, by = 0.1) #criando uma sequência aleatória
x = dgamma(x, shape = 2, rate = 0.5) #definindo a probabilidade
y plot(x, y, type = "l", col = "blue", main = "Densidade da Distribuição Gamma (shape=2, rate=0.5)") #plotando
PROBABILIDADE PARTE 2
PROBABILIDADE PARTE 2: GAMMA E NORMAL
Por Renato Barreira
renatobarreira@edu.unirio.br
Vamos explorar duas distribuições continuas muito importantes em estatística: a Gamma e a Normal.
Distribuição Gamma
A distribuição Gamma é utilizada para modelar variáveis contínuas positivas, como o tempo entre eventos (ex: tempo entre uma eleição e outra). Dois parâmetros principais a controlam: shape e rate. Ela é utilizada para modelar o tempo necessário de se obter um número específico de ocorrências de um evento.
Shape (k): Este parâmetro controla a forma da distribuição. Um valor maior de shape significa que a distribuição se torna mais simétrica, enquanto valores pequenos criam distribuições mais assimétricas.
Rate (λ): O parâmetro de taxa controla a dispersão da distribuição. Um valor maior de λ significa que os eventos ocorrem mais rapidamente, concentrando os valores ao redor de zero, enquanto valores menores de λ alongam a distribuição, fazendo com que os eventos sejam menos frequentes.
Uma aplicação clássica da distribuição Gamma é a modelagem do tempo entre eventos sucessivos em processos que seguem a distribuição Poisson, como tempo entre eleições ou tempo entre ocorrências de um fenômeno natural.
Se você tem um shape alto, a distribuição tende a ter um pico mais pronunciado, enquanto um rate maior concentra os valores mais próximos de zero, indicando que os eventos estão mais próximos uns dos outros.
Função DGAMMA
Retorna a densidade de probabilidade para valores 𝑥 de uma distribuição Gamma.
shape: Controla a forma da distribuição. No exemplo, shape = 2
cria uma curva mais simétrica.
rate: Controla a dispersão. Um rate = 0.5
faz com que os valores sejam mais dispersos, enquanto um valor maior concentraria os valores mais próximos de zero.
Função PGAMMA
A função pgamma
calcula a probabilidade acumulada até um determinado valor. Isso mostra a probabilidade de que a variável aleatória seja menor ou igual a um valor específico.
#pgamma(q, shape, rate = 1, scale = 1/rate, lower.tail = TRUE, log.p = FALSE)
pgamma(5, shape = 2, rate = 0.5)
[1] 0.7127025
Função QGAMMA
A função qgamma
retorna o valor de x
associado a uma probabilidade acumulada específica. Isso é útil para encontrar quantis.
#qgamma(p, shape, rate = 1, scale = 1/rate, lower.tail = TRUE, log.p = FALSE)
qgamma(0.8, shape = 2, rate = 0.5) # Valor onde 80% da distribuição está abaixo
[1] 5.988617
Função RGAMMA
Gera uma amostra aleatória de uma distribuição Gamma.
#rgamma(n, shape, rate = 1, scale = 1/rate)
# Definindo os parâmetros shape e rate
= 2
shape = 0.5
rate
= rgamma(1000, shape = shape, rate = rate) #Gerando 1000 valores aleatórios em distribuição de probabilidade Gamma
dist_aleatoria
#histograma da distribuição de probabilidade
hist(dist_aleatoria, breaks = 30, col = "lightblue",
main = "Histograma de Valores Aleatórios da Distribuição Gamma",
xlab = "Valores Aleatórios", freq = FALSE)
# Adicionando a curva teórica da distribuição Gamma
?curve
starting httpd help server ... done
curve(dgamma(x, shape = shape, rate = rate), col = "red", lwd = 2, add = TRUE)
Distribuição NORMAL
A distribuição Normal, também chamada de distribuição Gaussiana, é uma das distribuições mais importantes em estatística. Ela é usada para modelar variáveis contínuas que tendem a se agrupar ao redor de um valor médio, com uma simetria em relação a essa média. Muitas vezes, ela é usada em fenômenos naturais e sociais, como a altura de indivíduos, notas em exames e até mesmo a distribuição de votos em eleições onde não há grandes vieses.
A distribuição Normal é amplamente utilizada para modelar fenômenos simétricos que se concentram em torno de uma média, com variação medida pelo desvio padrão.
Simetria: A distribuição Normal é simétrica em torno de sua média (μ). Isso significa que as probabilidades de valores menores e maiores que a média são iguais.
Média, Mediana e Moda: Na distribuição Normal, a média, mediana e moda são todas iguais e coincidem no ponto central da distribuição.
Parâmetros: A distribuição é controlada por dois parâmetros:
Média (μ): Indica o valor central da distribuição.
Desvio padrão (σ): Mede a dispersão dos dados em torno da média. Quanto maior o desvio padrão, mais “espalhada” a distribuição; quanto menor, mais concentrada em torno da média.
Curva em forma de sino: O gráfico da distribuição Normal tem o formato clássico de sino, com a maior parte dos valores agrupados ao redor da média e caindo suavemente à medida que se afastam da média.
Propriedades probabilísticas:
Aproximadamente 68% dos valores de uma distribuição Normal estão dentro de 1 desvio padrão da média (μ ± σ).
Aproximadamente 95% dos valores estão dentro de 2 desvios padrões da média (μ ± 2σ).
Aproximadamente 99.7% dos valores estão dentro de 3 desvios padrões da média (μ ± 3σ).
Função DNORM
A função dnorm
calcula a densidade (altura da curva) em um ponto específico da distribuição.
#dnorm(x, mean = 0, sd = 1, log = FALSE)
#Definindo os parâmetros média e desvio padrão aleatórios para esse exemplo
= 50 # Média
mu = 10 # Desvio padrão
sigma
# Criando uma sequência de valores para x para a gente usar como exemplo
= seq(20, 80, by = 0.1)
x
# Calculando a a probabilidade para todos os pontos x usando dnorm
= dnorm(x, mean = mu, sd = sigma)
y
plot(x, y, type = "l", col = "blue", lwd = 2,
main = "Densidade da Distribuição Normal (média = 50, desvio padrão = 10)",
xlab = "x", ylab = "Densidade")
Função PNORM
A função pnorm
calcula a probabilidade acumulada até um determinado valor. Isso mostra a probabilidade de que a variável seja menor ou igual a um valor específico.
#pnorm(q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
pnorm(60, mean = mu, sd = sigma) #probabilidade acumulada até x = 60
[1] 0.8413447
Função QNORM
A função qnorm
retorna o valor de x
associado a uma probabilidade acumulada específica. Isso é útil para encontrar percentis, como o valor associado ao 95º percentil.
#qnorm(p, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
qnorm(0.95, mean = mu, sd = sigma)
[1] 66.44854
Função RNORM
A função rnorm
gera valores aleatórios de uma distribuição Normal com os parâmetros especificados. Isso é útil para simulações.
#rnorm(n, lambda)
# Gerando 1000 valores aleatórios da distribuição Normal com parametros mu e sigma (definidos no primeiro bloco de código)
= rnorm(1000, mean = mu, sd = sigma)
dist_normal
#Histograma dessas probabilidades
hist(dist_normal, breaks = 30, col = "lightblue",
main = "Histograma de Valores Aleatórios da Distribuição Normal",
xlab = "Valores Aleatórios", freq = FALSE)
#Curva para facilitar a leitura
curve(dnorm(x, mean = mu, sd = sigma), col = "red", lwd = 2, add = TRUE)
SERÁ QUE VOCÊ APRENDEU MESMO?
Tente você, clique na pergunta para ver a resposta.
# Gerando a amostra Gamma
set.seed(123) #para salvar e não gerar aleatório toda a vez q a gente correr o código
= rgamma(500, shape = 3, rate = 1.2)
amostra_gamma
#histograma
hist(amostra_gamma, probability = TRUE, main = "Histograma da Amostra Gamma", col = "lightblue", border = "white", xlim = c(0, 15))
#Calculando a densidade e faznedo o gráfico
= seq(0, 15, by = 0.1)
x = dgamma(x, shape = 3, rate = 1.2)
densidade_gamma lines(x, densidade_gamma, col = "blue", lwd = 2)
legend("topright", legend = c("Densidade Teórica", "Histograma"), col = c("blue", "lightblue"), lwd = 2) #colocando a legenda pra ficar bonitinho
set.seed(123)
= rnorm(1000, mean = 5, sd = 2)
amostra_normal
hist(amostra_normal, probability = TRUE, main = "Histograma da Amostra Normal", col = "lightgreen", border = "white", xlim = c(-2, 12))
= seq(-2, 12, by = 0.1)
x = dnorm(x, mean = 5, sd = 2)
densidade_normal lines(x, densidade_normal, col = "red", lwd = 2)
legend("topright", legend = c("Densidade Teórica", "Histograma"), col = c("red", "lightgreen"), lwd = 2)
set.seed(123) #sempre q vc usar algo q gera uma saída aleatória, se vc quiser um resultado fixo sempre vc usa set.seed para "salvar" o resultado.
= rgamma(2000, shape = 4, rate = 0.8) amostra_duracao_campanha
= rnorm(2000, mean = 50, sd = 10) amostra_votos
hist(amostra_duracao_campanha, probability = TRUE, main = "Tempo de Duração de Campanhas", col = "lightblue", border = "white", xlim = c(0, 12))
= seq(0, 12, by = 0.1)
x = dgamma(x, shape = 4, rate = 0.8)
densidade_duracao_campanha lines(x, densidade_duracao_campanha, col = "blue", lwd = 2)
# Plotando o histograma da amostra Normal (distribuição de votos)
hist(amostra_votos, probability = TRUE, main = "Distribuição de Votos", col = "lightgreen", border = "white", xlim = c(20, 80))
= seq(20, 80, by = 0.1)
x = dnorm(x, mean = 50, sd = 10)
densidade_votos lines(x, densidade_votos, col = "red", lwd = 2)
legend("topright", legend = c("Densidade Teórica"), col = c("blue", "red"), lwd = 2)
QUALQUER DÚVIDA SÓ DEIXAR UM COMENTÁRIO AQUI NO RPUBS MESMO.