Autocorrelação alta ao tomar a L-ésima ordem de diferença de uma sequência de números aleatórios independentes


9

Para explicar essa pergunta com mais detalhes, primeiro elaborarei minha abordagem:

  1. Simulei uma sequência de números aleatórios independentes .X={x1,...,xN}
  2. Tomo então vezes a diferença; ou seja, eu crio as variáveis:L

    dX1={X(2)X(1),...,X(N)X(N1)}

    dX2={dX1(2)dX1(1),...,dX1(N1)dX1(N11)}

    ...

    dXL={dXL1(2)dXL1(1),...,dXL1(NL)dXL1(NL1)}

Observo que a autocorrelação (absoluta) de aumenta à medida que se torna maior; o ac se aproxima de 0,99 para . Ou seja, ao tomar a L-ésima ordem da diferença, criamos uma série de números altamente dependentes (sequência) a partir de uma sequência inicialmente independente.dXLLL>100

Aqui estão alguns gráficos para ilustrar minhas observações:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Minhas perguntas:

  • Existe alguma teoria por trás dessa abordagem e suas implicações ou aplicações?

  • Isso indica que essa abordagem explora os pontos fracos de um gerador pseudo-aleatório (do computador). Ou seja, a sequência "aleatória" gerada não é verdadeiramente aleatória, e isso é ilustrado / comprovado pela minha abordagem?

  • Podemos explorar a alta autocorrelação da L-ésima ordem das diferenças, a fim de prever o próximo número na sequência (isto é, ). seja, se pudermos prever o próximo número de (por exemplo, por regressão linear), podemos deduzir de volta a sequência estimada tomando vezes a soma cumulativa. Essa é uma abordagem viável?X(N+1)dXLX(i)L

Objetivo Observe que estou tentando prever , mas como os números são gerados de forma independente e aleatória, isso é muito difícil (baixa CA de ).X(N+1)N


Você o editou duas vezes, mas há muito que não entendo. Duvido que o problema esteja no gerador de números pseudo-aleatórios. Você está transformando os números aleatórios uniformes em alguma outra distribuição? Você está percebendo diferenças, mas por que se as variáveis ​​devem ser independentes? Por que você está tentando prever números na sequência? Normalmente, é feita diferença para remover a tendência polinomial.
Michael R. Chernick

@ Michael Meu objetivo é prever o próximo número na sequência, não alterar a distribuição. Tentar prever X (N + 1) é difícil porque os números da sequência são independentes e aleatórios (também com baixa autocorrência). Portanto, diferenciei a sequência L vezes e descobri que a CA aumenta quando L aumenta, o que me fez pensar no que isso significa e se pode ser explorado.
JohnAndrews

Eu adicionei alguns gráficos para ilustração.
JohnAndrews

11
A diferença de ordem é uma combinação linear dos valores originais em uma janela de largura ; portanto, é claro que haverá fortes relações entre os valores sucessivos das diferenças. Não há como explorar isso, porque você está basicamente prevendo pequenos desvios dos valores que você já conhece. LL+1
whuber

Respostas:


12

Teoria

Se a autocorrelação tiver algum significado, devemos supor que as variáveis ​​aleatórias originais tenham a mesma variação, que - por uma escolha adequada de unidades de medida - podemos definir como unidade. A partir da fórmula para a diferença finitaX0,X1,,XNLth

Xi(L)=(ΔL(X))i=k=0L(1)Lk(Lk)Xi+k

para e a independência do , calculamos prontamente0iNLXi

(1)Var(Xi(L))=k=0L(Lk)2=(2LL)

e para e ,0<j<LiNLj

(2)Cov(Xi(L),Xi+j(L))=(1)jk=0Lj(Lk)(Lk+j)=(1)j4L(Lj)j!Γ(L+1/2)π(L+j)!.

Dividindo por dá o lag- de série correlação . É negativo para impar e positivo para par .(2)(1)jρjjj

A fórmula de Stirling fornece uma aproximação facilmente interpretável

log(|ρj|)(j2Lj22L2+j2(j2+1)6L3j44L4+O(L5)O(j6))

Em função de sua magnitude é aproximadamente uma curva gaussiana (em forma de sino), como seria de esperar de qualquer procedimento baseado em difusão, como diferenças sucessivas. Aqui está um gráfico deatravés deem função de , mostrando a rapidez com que a correlação serial se aproxima . Em ordem de cima para baixo, os pontos representamatravés de.j|ρ1||ρ5|L1|ρ1||ρ5|

Figura

Conclusões

Por serem relações puramente matemáticas, elas revelam pouco sobre o . Em particular, porque todas as diferenças finitas são combinações lineares das variáveis ​​originais, elas não fornecem informações adicionais que possam ser usadas para prever de .XiXN+1X0,X1,,XN

Observações práticas

À medida que cresce, os coeficientes nas combinações lineares crescem exponencialmente. Observe que cada é uma soma alternada: especificamente, no meio dessa soma, aparecem coeficientes relativamente grandes próximos a . Considere os dados reais sujeitos a um pouco de ruído aleatório. Esse ruído é multiplicado por esses grandes coeficientes binomiais e, em seguida, esses grandes resultados são quase cancelados pela adição e subtração alternadas. Como resultado, computando essas diferenças finitas para grandesLXi(L)(LL/2)Ltende a apagar todas as informações dos dados e reflete apenas pequenas quantidades de ruído, incluindo erro de medição e erro de arredondamento de ponto flutuante. Os padrões aparentes nas diferenças mostradas na pergunta para e quase certamente não fornecem informações significativas. (Os coeficientes binomiais para são tão grandes quanto e tão pequenos quanto , implicando um erro de ponto flutuante de precisão dupla dominando o cálculo.)L=100L=168L=10010291


3
Muito claro, e depois de ler isso, faz totalmente sentido. No seu último ponto, na verdade eu testei adicionando um número pequeno (por exemplo, 0,00001) para um grande , e é surpreendente ver que ele tem um efeito tão grande em , devido aos grandes coeficientes. Em outras palavras, seria necessário uma previsão altamente precisa para prever a próxima sequência, mas como não há informações adicionais nas seqüências para um grande , isso parece uma tarefa impossível. LXiL
JohnAndrews

3

Isso é mais um comentário ou, na melhor das hipóteses, talvez mais uma pista para resolver sua pergunta, mas minha reputação não me permite postar comentários.

Eu repliquei sua experiência no Stata usando desenhos de um Normal padrão com o seguinte código:

clear all
set obs 100000

gen t = _n
tsset t

drawnorm x, n(100000)

forvalues i = 1(1)100 {
generate D`i' = D`i'.x
}

Olhando para os correlogramas das variáveis ​​diferenciadas, fiquei pensando por que as faixas de confiança são tão pequenas. Eu nunca vi faixas tão pequenas de confiança em um correlograma Stata. Alguma ideia?

Eu estava pensando que isso poderia ser uma pista, porque, com faixas de confiança tão pequenas, até as pequenas autocorrelações dos mais atrasados ​​estão sendo contadas na sua autocorrelação absoluta, se estou interpretando "absoluto" corretamente.

Aqui está o correlograma para o meu dX_10 ...

Correlograma para dX_10

... e aqui está novamente, ampliado nos 10 primeiros atrasos ...

Correlograma para os 10 primeiros atrasos do dX_10


Olhando para o seu gráfico, as faixas de confiança também são pequenas para atrasos menores? Eu só uso AC (1) das variáveis ​​diferenciadas. Com absoluto, quero dizer simplesmente ac negativo ou positivo.
precisa saber é o seguinte

Sim, as bandas também são muito pequenas para dX_1 a dX_9. E, desculpe, pensei que por "absoluto" você de alguma forma significava a soma das correlações para todos os atrasos.
suckrates

AC (1) é de fato maior quanto mais diferimos, como você disse ... interessante.
suckrates

3

Isso é esperado porque as diferenças não são independentes uma da outra. Por exemplo, é diretamente proporcional a enquanto é inversamente proporcional aComo as definições de elementos consecutivos de compartilham elementos de dessa maneira inversa, esperamos que eles sejam inversamente correlacionados. De fato, à medida que avançamos para diferenças de ordem superior , valores consecutivos compartilham uma fração cada vez mais alta dos elementos de que entram em sua definição e sua anticorrelação aumenta. No entanto, se não soubéssemos o elemento compartilhado (dX1(1)X(2)X(1)X(2)dX1(2)X(3)X(2)X(2).dX1XdXiXX(2)no meu exemplo) não poderíamos calcular nenhuma diferença que inclua esse elemento. Portanto, não podemos usar as anticorrelações nas diferenças para prever elementos desconhecidos de se eles forem gerados independentemente dos elementos conhecidos.X

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.