Fórum de Matemática
DÚVIDAS? Nós respondemos!

Um Fórum em Português dedicado à Matemática
Data/Hora: 29 mar 2024, 10:15

Os Horários são TMG [ DST ]




Fazer Nova Pergunta Responder a este Tópico  [ 8 mensagens ] 
Autor Mensagem
MensagemEnviado: 23 nov 2015, 18:35 
Offline

Registado: 12 nov 2015, 19:11
Mensagens: 4
Localização: Brasil
Agradeceu: 1 vez(es)
Foi agradecido: 0 vez(es)
Boa tarde. Fiz uma pergunta há uns dias atrás, mas quando recebi a resposta notei que não explanei minha verdadeira dúvida.

Estou num impasse, pois tenho dois algoritmos, um que simula a distribuição triangular para uma quantidade y de números aleatórios, e que simula a distribuição PERT-BETA a mesma quantidade y de números aleatórios .

Sobre os números aleatórios é aplicada uma função de distribuição, de forma a se obter uma distribuição triangular. Para isso, é feito o cálculo da frequência de classes.

Porém, para se obter a distribuição beta, usa-se uma função de densidade, que retorna diretamente a frequência de cada número aleatório na distribuição, como se cada número já fosse uma classe.

Sendo assim, há duas estratégias diferentes, uma com a função de distribuição e outra com função de densidade. Apesar de ter uma ideia da diferença entre as duas, não achei uma definição formal. Alguém pode me ajudar? Qual é a definição de função de densidade e qual é a definição de função de distribuição?
É possível gerar uma distribuição BETA a partir de uma função de distribuição?


Topo
 Perfil  
 
MensagemEnviado: 24 nov 2015, 12:10 
Offline

Registado: 17 jan 2013, 13:36
Mensagens: 2487
Localização: Lisboa
Agradeceu: 31 vezes
Foi agradecido: 1049 vezes
A função de distribuição retorna a probabilidade acumulada até certo ponto, concretamente, se f(x) for uma densidade de probabilidade contínua em \(\mathbb{R}\), então a função distribuição será dada por
\(F(x) = P(X \leq x) = \int_{-\infty}^x f(t) dt.\)


Topo
 Perfil  
 
MensagemEnviado: 24 nov 2015, 20:02 
Offline

Registado: 25 jun 2013, 14:35
Mensagens: 300
Agradeceu: 101 vezes
Foi agradecido: 100 vezes
Olá SamuelDvn

Para gerar números pseudo-aleatórios a partir de uma função distribuição, um dos procedimentos comumente usados é o seguinte:

1.º Gerar um número q pseudo-aleatório da distribuição contínua Uniforme([0,1])
2.º Tendo presente a função distribuição desejada F(x) (uma função invertível (*)), aplicá-la a q , ficando \(F^{-1}(q)\)
com um número pseudo-aleatório gerado a partir de F(x).

A distribuição de Beta(m,n,a,b), tem a seguinte função densidade,

\(\frac{1}{B(m,n)}\frac{(x-a)^{m-1}(b-x)^{n-1}}{(b-a)^{m+n+1}}\) onde B(m,n) representa a função Beta.

O caso da distribuição de Beta-Pert, é uma particularização da função distribuição de BETA. Pode obter-se, PERT(a, b, Mo,\(\lambda\) ) = Beta(m, n, a, b), onde, Mo = moda da distribuição Beta-Pert, \(\lambda\) é um parâmetro de escala adicional representando a altura da distribuição.
Onde,

\(\mu=\frac{a+b+\lambda M_{o}}{(\lambda +2)}\)

\(m=\frac{(\mu -a)(2M_{o}-a-b)}{(M_{o}-\mu )(b-a)}\)

\(n=\frac{m(b-\mu )}{(\mu -a)}\)

Logo, para gerar aleatoriamente neste 2.º passo, uma amostra, deve escolher-se previamente os parâmetros, a, b, Mo,\(\lambda\), calcular os parâmetros da distribuição Beta, m, n, a, b, e aplicar \(F^{-1}(q)\).

Não é simples, mas também não é muito complicado.
(*) Veja também os comentários abaixo.

;)

_________________
http://www.matematicaviva.pt/
F. Martins


Topo
 Perfil  
 
MensagemEnviado: 24 nov 2015, 20:36 
Offline

Registado: 17 jan 2013, 13:36
Mensagens: 2487
Localização: Lisboa
Agradeceu: 31 vezes
Foi agradecido: 1049 vezes
Estou um pouco esquecido destas coisas, mas acho que o método não será bem como descreve... Se Y tem distribuição uniforme em [0,1] e F(.) é a função de distribuição de uma v.a. \(X\), então \(F^{-1} (Y)\) tem a mesma distribuição que \(X\). Assim, na sua descrição do método, após gerar o número aleatório q, deve aplicar a inversa da distribuição, não a distribuição. Os números \(F^{-1}(q)\) é que teriam distribuição F.


Topo
 Perfil  
 
MensagemEnviado: 24 nov 2015, 22:58 
Offline

Registado: 25 jun 2013, 14:35
Mensagens: 300
Agradeceu: 101 vezes
Foi agradecido: 100 vezes
Olá Sobolev

Bem notado, amigo! Foi meu engano, pois é claro.
Existe esta bijecção (que é a função distribuição F(x) ), que estabelece a relação, ponto-a-ponto entre [a,b] e [0,1].

Tem-se portanto,

\(P(X\leq x)=F(x)=p,\forall x\epsilon [a,b]\Leftrightarrow q_{p}=F^{-1}(p)=x ,\forall p\epsilon [0,1]\)

onde, \(q_{p}\) é o quantil de probabilidade p..

\(\therefore\) Quando geramos um número p em [0,1], teremos imediatamente \(x=F^{-1}(p)\epsilon [a,b]\), com lei de distribuição Beta-Pert(m,n,a,b) .

Boa Sobolev! Grato pela correcção. ;)

_________________
http://www.matematicaviva.pt/
F. Martins


Topo
 Perfil  
 
MensagemEnviado: 27 nov 2015, 18:47 
Offline

Registado: 12 nov 2015, 19:11
Mensagens: 4
Localização: Brasil
Agradeceu: 1 vez(es)
Foi agradecido: 0 vez(es)
Na verdade meu problema não usa números pseudo-aleatórios. Essa não é a questão.
Ele pega os valores ao partir de um servidor que gera números verdadeiramente randômicos.

A função inversa não me ajudou muito. Vou melhorar minha pergunta:

Para a distribuição triangular, estou usando:
\(d(x)=\begin{cases}
a + \sqrt{x(b-a)(c-a)} & \text{ se } a \leq x < m \\
b-\sqrt{(1-x)(b-a)(b-c)} & \text{ se } m \leq x\leq b
\end{cases}\)
como função de distribuição

Porém, a função de densidade da distribuição triangular é
\(p(x)=\begin{cases}
\dfrac{2(x-a)}{(b-a)(m-a)} & \text{ se } a \leq x \leq m \\
\dfrac{2(b-x)}{(b-a)(b-m)} & \text{ se } m < x\leq b
0 & \text{ senao }
\end{cases}\)

Para a distribuição beta, só encontrei a função

\(\frac{1}{B(m,n)}\frac{(x-a)^{m-1}(b-x)^{n-1}}{(b-a)^{m+n+1}}\) onde \(B(m,n)\) representa a função Beta.

Essa função é, de acordo como analisei e entendi, a função de densidade da distribuição beta. Porém não achei até agora uma função para a distribuição beta que possuísse o mesmo comportamento que a função de distribuição triangular.


Topo
 Perfil  
 
MensagemEnviado: 27 nov 2015, 18:55 
Offline

Registado: 12 nov 2015, 19:11
Mensagens: 4
Localização: Brasil
Agradeceu: 1 vez(es)
Foi agradecido: 0 vez(es)
No meu algoritmo, dados os números aleatórios, para a distribuição triangular faço:
1 - a distribuição dos números com a função de distribuição;
2 - o calculo de frequência (densidade) das classes;
3 - e por fim o calculo da frequência acumulada;
4 - depois gero o gráfico.

Há também a opção de se usar a função de densidade e assim juntar os passos 1 e 2 em um único

Já na distribuição beta, como não encontrei a função de distribuição, só tenho a opção de usar a função de densidade, então o passo a passo ficou:
1 - o calculo de frequência (densidade) dos números;
2 - o calculo da frequência acumulada;
3 - depois gero o gráfico.

Queria encontrar a definição formal das duas funções (densidade e distribuição), e também saber qual é a função de distribuição da distribuição beta.


Topo
 Perfil  
 
MensagemEnviado: 01 dez 2015, 16:23 
Offline

Registado: 25 jun 2013, 14:35
Mensagens: 300
Agradeceu: 101 vezes
Foi agradecido: 100 vezes
Não existe uma expressão analítica para F(x) genérica. Se pretende calcular os valores F(xi) para um conjunto de valores simulados xi então terá de recorrer necessariamente ao cálculo através da expressão constante na primeira resposta do Sobolev. (Pode sempre fazer aproximações numéricas por somas de Riemann ou métodos numéricos).

_________________
http://www.matematicaviva.pt/
F. Martins


Topo
 Perfil  
 
Mostrar mensagens anteriores:  Ordenar por  
Fazer Nova Pergunta Responder a este Tópico  [ 8 mensagens ] 

Os Horários são TMG [ DST ]


Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 25 visitantes


Criar perguntas: Proibído
Responder a perguntas: Proibído
Editar Mensagens: Proibído
Apagar Mensagens: Proibído
Enviar anexos: Proibído

Pesquisar por:
Ir para:  
cron