Como você compara dois processos gaussianos?


14

A divergência de Kullback-Leibler é uma métrica para comparar duas funções de densidade de probabilidade, mas que métrica é usada para comparar dois X e GP Y?


d(X,Y)=E[supt|X(t)Y(t)|]

@ Zen: Se você tiver tempo, estou interessado em saber mais sobre essa métrica de distância.
Neil G

Olá Neil. Eu não sei muito sobre isso. Por favor, veja minha resposta abaixo.
Zen

Respostas:


8

Observe que a distribuição dos processos gaussianos é a extensão do gaussiano multivariado para possivelmente possivelmente infinito . Portanto, você pode usar a divergência de KL entre as distribuições de probabilidade GP integrando over :X R XXRXRX

DKL(P|Q)=RXlogdPdQdP.

Você pode usar métodos de MC para aproximar numericamente essa quantidade em um intervalo discreto. X amostrando repetidamente os processos de acordo com sua distribuição de GP. Não sei se a velocidade de convergência é suficientemente boa ...

Observe que se é finito com , você volta à divergência KL usual para distribuições normais multivariadas: | X | = N D K L ( L P ( μ 1 , K 1 ) , L P ( μ 2 , K 2 ) ) = 1X|X|=n

DKL(GP(μ1,K1),GP(μ2,K2))=12(tr(K21K1)+(μ2μ1)K21(μ2μ1)n+log|K2||K1|)

Como posso calcular duas médias (mu1 e mu2) que você mencionou. Ou devo levá-los iguais a zero, como de costume no processo gaussiano?
Marat Zakirov

4

Recordar que se é um processo normal de média função m e função de covariância K , então, para cada t 1 , ... , t kT , o vector aleatório ( X ( t 1 ) , ... , X ( t k ) ) tem uma distribuição normal multivariada com vetor médio ( m ( t 1 ) , , mX:T×ΩRmKt1,,tkT(X(t1),,X(tk)) e matriz de covariância Σ = ( σ i j ) = ( K ( t i , t j ) ) , onde usamos a abreviação comum X ( t ) = X ( t ,(m(t1),,m(tk))Σ=(σij)=(K(ti,tj)) .X(t)=X(t,)

Cada realização é uma função real cujo domínio é o índice set T . Suponha que T = [ 0 , 1 ] . Dados dois Processos Gaussianos X e Y , uma distância comum entre duas realizações X (X(,ω)TT=[0,1]XY e Y (X(,ω) é sup t [ 0 , 1 ] | X ( t , ω ) - Y ( t , ω ) | . Portanto, parece natural definir a distância entre os dois processos X e Y como d ( X , Y ) = EY(,ω)supt[0,1]|X(t,ω)Y(t,ω)|XY Não sei se existe uma expressão analítica para essa distância, mas acredito que você pode calcular uma aproximação de Monte Carlo da seguinte maneira. Corrija uma grade fina 0 t 1 < < t k1 e colete amostras ( x i 1 , , x i k ) e ( y i 1 , , y i k ) dos vetores aleatórios normais ( X ( t 1 )

d(X,Y)=E[supt[0,1]|X(t)Y(t)|].()
0t1<<tk1(xi1,,xik)(yi1,,yik) e ( Y ( t 1 ) , ... , Y ( t k ) ) , respectivamente, para i = 1 , ... , N . D aproximado ( X , Y ) por 1(X(t1),,X(tk))(Y(t1),,Y(tk))i=1,,Nd(X,Y)
1Ni=1Nmax1jk|xijyij|.

Como você amostra de cada vetor? Se você apenas provar as médias em cada um dos GPs, não levará em consideração as variações. Caso contrário, você precisará criar uma técnica de amostragem consistente.
pushkar 29/05

Este é um recurso excelente: gaussianprocess.org/gpml/chapters
Zen

Você também pode ler todas as respostas a esta pergunta: stats.stackexchange.com/questions/30652/...
Zen

Preste atenção que isso não é uma distância desde . Como o KL compara duas distribuições e não duas realizações, a distância de Zen entre dois GPs deve ser definida como d ( G 1 , G 2 ) = E X G 1 , Y G 2 [ sup t | X ( t ) - Y ( t ) | ] , e nós temos esse E X Gd(X,X)0d(G1,G2)=EXG1,YG2[supt|X(t)Y(t)|]para não degenerou processo GaussianG. EXG,YGsupt|X(t)Y(t)|>0G
Emile

@Emile: como é que usando a definição ( ) ? d(X,X)0()
Zen
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.