Camilo Daleles Rennó Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2016 Simulação Estocástica
Simulação O que é Simulação? é um experimento realizado a partir de modelos (reais ou virtuais) Pode ser: determinística: as entradas do modelo são fixas e para uma determinada combinação de valores de entrada o resultado final é sempre o mesmo estocástica (ou probabilística): o modelo e/ou as entradas incorporam variações aleatórias de modo que os resultados são diferentes a cada simulação Para que fazer Simulação? avaliar propagação de incertezas (quando a solução analítica é inviável) avaliar cenários futuros (resultados possíveis) testar a sensibilidade de parâmetros de um modelo estimar pontualmente ou por intervalo um determinado resultado de um modelo testar a significância de um resultado num teste de hipótese MODELO X1X2...XnX1X2...Xn Y entrada fixa + modelo determinístico MODELO X1X2...XnX1X2...Xn Y entrada fixa + modelo estocástico MODELO Y X1X1 X2X2 XnXn entrada estocástica + modelo determinístico (µ, ,, , etc) 2
Simulação de Monte Carlo É um método que avalia um modelo determinístico através da aleatorização das entradas deste modelo. É particularmente útil quando o modelo é complexo, não-linear, ou quando envolve muitos parâmetros de entrada (com diferentes graus de incerteza), o que dificultaria uma solução analítica. Através de um grande número de repetições (acima de 1000), garante-se que praticamente todas as combinações de entradas sejam avaliadas. O termo Monte Carlo foi dado em homenagem a roleta, jogo muito popular de Monte Carlo, Mônaco X ~ Binomial ( n = 5 ; p = 0,4 ) xP(X = x) 07,78% 125,92% 234,56% 323,04% 47,68% 51,02% área de cada fatia é proporcional a probabilidade do valor correspondente 3
Geração de Números Aleatórios Originalmente os números aleatórios eram gerados usando dados, roletas, tabelas, etc. Atualmente os computadores são usados para gerar números chamados pseudo-aleatórios, que constituem uma sequencia de valores que, embora sejam gerados de forma determinística, simulam variáveis aleatórias uniformes [0,1] independentes. Qualquer variável aleatória pode ser simulada a partir de uma variável aleatória uniforme [0,1] desde que se conheça a função de distribuição acumulada F(x) = P(X x). X ~ Binomial ( n = 5 ; p = 0,4 ) xP(X = x) P(X x)P(X x) 07,78% 125,92%33,70% 234,56%68,26% 323,04%91,30% 47,68%98,98% 51,02%100,00% U = 0,4367 X = ,0 0,8 0,6 0,4 0,2 0,0 P(X x)P(X x) X 4
u(0,1) 0,4138 0,9155 0,6218 0,3848 0,1058 0,2763 0,3855 0,8036 u(0,1)Z ~N(0,1) 0,4138-0,2177 0,91551,3753 0,62180,3101 0,3848-0,2929 0,1058-1,2492 0,2763-0,5938 0,3855-0,2910 0,80360,8546 u(0,1)Z ~N(0,1)X ~N(10,4) 0,4138-0,21779,5645 0,91551,375312,7505 0,62180,310110,6202 0,3848-0,29299,4142 0,1058-1,24927,5017 0,2763-0,59388,8124 0,3855-0,29109,4180 0,80360,854611,7092 Geração de Números Aleatórios Sorteio de 8 valores X ~ Normal ( = 10 ; 2 = 4 ) 0,25 0,0 0,5 0,75 1, P(Z z)P(Z z) Y Originalmente os números aleatórios eram gerados usando dados, roletas, tabelas, etc. Atualmente os computadores são usados para gerar números chamados pseudo-aleatórios, que constituem uma sequencia de valores que, embora sejam gerados de forma determinística, simulam variáveis aleatórias uniformes [0,1] independentes. Qualquer variável aleatória pode ser simulada a partir de uma variável aleatória uniforme [0,1] desde que se conheça a função de distribuição acumulada F(x) = P(X x). 5
Avaliação das Simulações Estimação da Função de Probabilidade através das frequências relativas observadas (variáveis discretas) Métricas de tendência central e de dispersão: média, desvio padrão, mediana, quantis, amplitude, mínimo/máximo, etc Intervalos de Credibilidade os limites são definidos, desprezando-se os valores extremos (mesma proporção para ambos os lados) Box-plot mediana, 1 o e 3 o quartis e valores extremos (outliers) 6
Boxplot É uma ótima alternativa para mostrar graficamente a dispersão de observações de uma amostra e são muito úteis para comparar conjuntos de dados pois causam grande impacto visual e são fáceis de entender. Há muitas variações de boxplot mas em geral representam: a)mediana b)1 o e 3 o quartis c)mínimos e máximos d)“outliers” Ex: amostra com 20 valores DIQ (distância interquartil) 1,5*DIQ 1 o quartil 3 o quartil mediana último ponto superior último ponto inferior outliers 1,5*DIQ outliers extremos 7
Boxplot B C D A a)qual é a distribuição mais simétrica? D b)qual é a distribuição mais assimétrica? A c)quais as 2 distribuições que mais se confundem entre si? A e B d)quais as 2 distribuições que mais se distinguem entre si? B e C 8
Exemplos de Aplicações Exemplo 1: estimar função de probabilidade de um experimento complexo (urnas) (ver Simulacao_exemplo1.xls) Exemplo 2: simular dados correlacionados (componentes principais) (ver Simulacao_exemplo2.xls) Exemplo 3: determinar o valor crítico de um teste estatístico (KS para duas amostras) (ver Simulacao_exemplo3.xls) 9
Exemplo 1 I AB C Etapas: I)Das urnas A e B, sorteia-se uma bola de cada. As duas bolas são colocadas na urna C 10
Exemplo 1 II AB C Etapas: I)Das urnas A e B, sorteia-se uma bola de cada. As duas bolas são colocadas na urna C II)Da urna C, sorteiam-se duas bolas (sem reposição) 11
Exemplo 1 bolas de mesma cor? Sim Não III AB C Etapas: I)Das urnas A e B, sorteia-se uma bola de cada. As duas bolas são colocadas na urna C II)Da urna C, sorteiam-se duas bolas (sem reposição) III)Se as bolas forem da mesma cor, ambas são colocadas na urna A. Caso contrário, ambas são colocadas na urna B 12
Exemplo 1 IV Etapas: I)Das urnas A e B, sorteia-se uma bola de cada. As duas bolas são colocadas na urna C II)Da urna C, sorteiam-se duas bolas (sem reposição) III)Se as bolas forem da mesma cor, ambas são colocadas na urna A. Caso contrário, ambas são colocadas na urna B IV)Escolhe-se aleatoriamente a urna A ou B e dela retiram-se 5 bolas (sem reposição) AB C Definindo-se X como o número de bolas azuis nas 5 observações, qual a distribuição dos valores de X ? XFR 07,85% 147,00% 240,19% 34,31% 40,65% 50,00% 13
Exemplo 1 em R >A<-c("R","R","R","G","B","B") >B<-c("R","G","G","G","G","B") >C<-c("R","G","B","B","B") >n< >p<-rep(0,6) >for (i in 1:n) { >Af<-A >Bf<-B >sorteio1<-c(sample(A,size=1),sample(B,size=1)) >Cf<-c(C,sorteio1) >sorteio2<-sample(Cf,size=2) >if (sorteio2[1] == sorteio2[2]) Af<-c(A,sorteio2) else Bf<-c(B,sorteio2) >if (runif(1,0,1) < 0.5) sorteio3<-sample(Af,5) else sorteio3<-sample(Bf,5) >nB<-length(which(sorteio3 == "B")) >p[nB+1]<-p[nB+1]+1 >} >p<-p/n >p [1]
Exemplo 1 Solução Analítica 15
Exemplo 1 Solução Analítica XFRProb 07,85%8,50% 147,00%46,47% 240,19%39,61% 34,31%4,65% 40,65%0,77% 50,00% 16
Exemplo 2 Simulação de 3 variáveis correlacionadas sendo que Deseja-se simular 500 valores destas 3 variáveis respeitando suas correlações. A simulação conjunta, mesmo para uma distribuição gaussiana, não é muito simples. Por outro lado, a simulação de variáveis independentes é bastante simples de ser implementada quando se conhece a distribuição destas variáveis: Solução: para simular variáveis correlacionadas, primeiramente gera-se variáveis independentes através de uma transformação por componentes principais, simulam-se estas componentes independentemente uma das outras e depois aplica-se a transformação inversa. 17
Exemplo 2 TCP Por definição, todas as componentes principais tem média zero e a variância de cada componente é dada pelo autovalor correspondente. Além disso, no caso de distribuições gaussianas, a forma da distribuição é preservada após a transformação, ou seja, as componentes também têm distribuição gaussiana: 18
Exemplo 2 Neste exemplo, deseja-se gerar 500 valores para cada variável X. O processo inicia-se com a geração de números aleatórios de uma distribuição uniforme contínua entre 0 e 1: U1U2U
U1U2U Z1Z2Z Exemplo 2 A partir de U calcula-se Z através da relação: Exemplo: 20
Z1Z2Z PC1PC2PC Exemplo 2 A partir de Z calcula-se PC multiplicando cada z ij pelo desvio padrão da componente principal i, ou seja, a raiz quadrada do autovalor i : Exemplo: 21
Z1Z2Z PC1PC2PC Exemplo 2 Finalmente, aplica-se a rotação inversa definida pela matriz de autovetores e soma-se a média correspondente a cada uma das variáveis X : Exemplo: onde kw é o k -ésimo elemento do autovetor w X1X2X
Exemplo 2 É importante notar que, por se tratar de uma simulação, os valores de média, variância e covariância estimados a partir dos valores simulados não são exatamente os que se desejava: 23
Exemplo 2 em R >mX<-c(10.3,35.1,107.8) >covX<-cbind(c(3.5,-2.2,-0.5),c(-2.2,7.8,0.9),c(-0.5,0.9,1.2)) >auto<-eigen(covX) #gera autovalores e autovetores a partir da matriz de covariância >n<-500 >U1<-runif(n,0,1) #gera n valores aleatórios de uma distribuição uniforme contínua entre 0 e 1 >U2<-runifn,0,1) >U3<-runif(n,0,1) >U<-cbind(U1,U2,U3) >pairs(U,upper.panel = NULL) >Z<-qnorm(U) #em R há uma função que gera valores de uma normal padrão: Z<-matrix(rnorm(3*n),nrow=n,ncol=3) >colnames(Z)<-c("Z1","Z2","Z3") >pairs(Z,upper.panel = NULL) >PC<-Z*matrix(rep(1,n))%*%t(sqrt(auto$values)) >colnames(PC)<-c("PC1", "PC2", "PC3") >pairs(PC,upper.panel = NULL) >X<-t(auto$vectors%*%t(PC)+t(matrix(rep(1,n))%*%mX)) >colnames(X)<-c("X1", "X2", "X3") >pairs(X,upper.panel = NULL) >round(colMeans(X),2) >round(cov(X)) 24
Exemplo 2 em R X1 X2 X3 X X X X1 X2 X
Exemplo 3 Região ARegião B Exemplo: Um pesquisador deseja saber se duas regiões de uma mesma imagem apresentam a mesma distribuição de valores (desconhecida). Para testar esta hipótese, amostrou-se 15 pontos independentes de cada região. Os valores observados são apresentados na tabela abaixo. O que se conclui a partir destes valores? ValorFRA A FRA B |Dif| 5401/ /15 561/154/153/15 582/154/152/15 613/155/152/15 644/155/151/15 664/156/152/15 695/157/152/15 715/158/153/15 756/158/152/15 766/159/153/15 787/1510/153/15 807/1511/154/15 818/1511/153/15 839/1512/153/ /1512/152/ /1513/153/ /1513/152/ /1513/151/ /1513/151/ / /1514/151/ /15 0 D obs = 4/15 KD obs = 4 H 0 : As duas amostras provêm da mesma população H 1 : As duas amostras provêm de populações diferentes (bilateral) Conclusão: aceita-se H 0, ou seja, as duas amostras provêem da mesma população, adotando-se 5% de significância Pela simulação: Valor-P = P(KD > KD obs ) = 64,3% KD crít 5% = 8 Exemplo Slide 48 (15EstNaoParam.ppt) 26
Exemplo 3 em R >regA<-c(81,78,61,89,69,58,64,84,89,83,88,56,87,95,75) >regB<-c(56,55,76,54,83,97,85,66,78,80,61,69,71,55,91) >min<-min(regA,regB) >max<-max(regA,regB) >dif<-rep(0,max-min+1) >for (i in min:max) dif[i-min+1]<-abs(length(which(regA <= i))-length(which(regB <= i))) >KDobs<-max(dif) >KDobs >regAB<-c(regA,regB) >n< >pKD<-rep(0,16) >ValorP<-0 >for (k in 1:n) { >regAB<-sample(regAB) >regAt<-regAB[1:length(regA)] >regBt<-regAB[length(regA)+1:length(regAB)] >dif<-rep(0,max-min+1) >for (i in min:max) dif[i-min+1]<-abs(length(which(regAt <= i))-length(which(regBt <= i))) >KD<-max(dif) >if (KD <= KDobs) ValorP<- ValorP+1 >pKD[KD+1]<- pKD[KD+1]+1 } >pKDcum <-rev(cumsum(rev(pKD))/n) >KDcrit<-min(which(pKDcum < 0.05))-1 >KDcrit >ValorP<-ValorP/n >ValorP 27