Figura 1: Distribuiçao Normal de propabilidade
Calcular a integral de uma distribuição Normal(mu, sigma) partindo de uma função integra no R (a,b,mu,sigma, n) que possibilite a obtenção da integral definida entre a e b quaisquer, de uma distribuição Normal com esperança matemática mu e desvio padrão sigma, usando o método geométrico por soma de retângulos em que n representa o número de retângulos na aproximação. Deseja-se considerar uma Normal definida (mu=100,sigma=30) nos pontos:
a=35 e b=72;
a= -infinito e b=10;
a=200 e b=infinito.
Quais seriam os valores mínimos de n necessários para que a aproximação seja próxima dos valores obtidos por pnorm em cada caso, para garantir pelo menos 4 decimais corretas nos resultados?
Partindo da função Densidade de Probabilidade,
em que x pertence ao intervalo (-infinito, infinito),
Figura 2: Funçao Densidade de Probabilidade
usa-se uma função “seq” para definir a sequência entre a e b, a definição de z contida na fórmula da f.d.p, a área como a definição da f.d.p e o comando “sum” que soma todos os resultados obtidos.
Tem-se:
integral_normal= function (a,b,mu,sigma,n){
x=seq(a,b,length.out=n)
z=(x-mu)/sigma
area= (b-a)/n*(1/(sqrt(2*pi)*sigma))*exp(-0.5*(z^2))
int=sum(area)
int
}
Considerando um n=10000000, ou seja 10000000 retângulos, e para a=35 e b=72, mu=100 e sigma=30, o primeiro resultado abaixo e sua equivalência dada pela função “pnorm”
Caso 1: para a=35 e b=72
integral_normal(35,72,100,30,10000000)
## [1] 0.1601938
pnorm(72,100,30)-pnorm(35,100,30)
## [1] 0.1601938
Caso 2: para a= -infinito e b=10:
integral_normal(-1000000,10,100,30,10000000)
## [1] 0.001357297
pnorm(10,100,30)-pnorm(-1000000,100,30)
## [1] 0.001349898
Caso 3: para a=200 e b=infinito
integral_normal(200,1000000,100,30,10000000)
## [1] 0.000431635
pnorm(1000000,100,30)-pnorm(200,100,30)
## [1] 0.0004290603
``` Nota-se que para os três casos os valores obtidos pela integral e pela funçao pnorm foram os mesmos até a quarta casa decimal.
Vamos testar qual o valor mínimo de n, reduzindo o valor de n e observando para qual valor os resultados mudam para a quarta casa decimal.
Para n=10000
integral_normal(35,72,100,30,10000)
## [1] 0.1601961
pnorm(72,100,30)-pnorm(35,100,30)
## [1] 0.1601938
Para n=1000
integral_normal(35,72,100,30,1000)
## [1] 0.1602163
pnorm(72,100,30)-pnorm(35,100,30)
## [1] 0.1601938
Para n= 4000
integral_normal(35,72,100,30,4000)
## [1] 0.1601994
pnorm(72,100,30)-pnorm(35,100,30)
## [1] 0.1601938
Para n =3000
integral_normal(35,72,100,30,3000)
## [1] 0.1602013
pnorm(72,100,30)-pnorm(35,100,30)
## [1] 0.1601938
Para n=100000 não houve mudança nos resultados obtidos pela integral e pela pnorm até a quarta casa decimal. Quando usamos n=1000 já houve mudança. O número mínimo de retângulos necessários na aproximação está entre 3000 e 4000 retângulos, pois com n=4000 a aproximação até 4 casas decimais ainda é boa.
Referências: Manual do R: An Introduction to R WIKIPEDIA, R (linguagem de programação). Disponível em: http://pt.wikipedia.org/wiki/R_(linguagem_de_programa%C3%A7%C3%A3o).
Agradeciamentos especiais: Daniel Miquelluti - Aluno do Doutorado da ESALQ/USP e Ana Goffredo - Aluna do Mestrado da ESALQ/USP.