调节高斯过程回归

时间:2016-05-31 07:31:09

标签: gaussian normal-distribution

我想知道如何调整高斯过程(例如,通过调整协方差函数?)以仅产生满足某些预设约束的那些轨迹。例如,下面用R编写的代码产生平滑曲线(图1),我想使曲线从原点开始,即f(0)= 0。此外,是否可以强制其他特征,例如,使所有曲线向下凹陷,只有一个拐点等。

require(MASS) ## mvrnorm function is needed 
## to generate covariance matrix using a squared exponential function
calc.sigma <- function( X1, X2, sigma_sq, phi_sq, tau_sq ) {
    Sigma <- matrix( rep( 0, length(X1)*length(X2) ), nrow=length(X1) )
    for( i in 1:nrow(Sigma) ) {
        for( j in 1:ncol(Sigma) ) {
            Sigma[i,j] <- sigma_sq*exp(-phi_sq*(X1[i] - X2[j])^2) + ifelse(i==j, tau_sq, 0.0);
        }
    }
    return(Sigma)
}

x <- seq(0,1,len=100) # input value
## parameters for covariance function 
sigma_sq <- 1 
phi_sq <- 10
tau_sq <- 1e-6

## parameters for mean function
a <- 1
b <- 5
mu <- a*( 1-exp(-b*x) ) # mean
# plot(mu)

sigma <- calc.sigma( x, x , sigma_sq, phi_sq, tau_sq )

N <- 10 # number of samples
samples <- matrix( rep( 0, length(x)*N ), ncol=N )
for ( i in 1:N ) {
    samples[,i] <- mvrnorm( 1, mu, sigma )
}

plot( x, samples[,1], type="l", xlim=c(0,1), ylim=c(-5,5) )
for( i in 2:ncol(samples) ){
    lines( x, samples[,i] ) 
}

Figure 1.

2 个答案:

答案 0 :(得分:0)

在我看来,对高斯过程的理解是不透明的。

虽然从实验中得到许多轨迹,但可以检查它们是否是高斯过程的结果,可以将它们建模为高斯过程,并在估算平均值时找到平均值或误差。
<登记/> 但另一方面是不可能的:即使有一个精确的高斯过程模型,每个实验中的轨迹也会不同 - 因为过程中发生的事情会经历正态分布......
/> 因此,即使你可以塑造过程的概率特征,你也无法从概率过程获得可预测的行为(给定的轨迹,甚至不是一系列共享某些特征的轨迹)。

答案 1 :(得分:0)

您要求的第一个属性非常容易实现:

  • 如果且仅当平均函数和方差函数在x = 0时消失时,GP的样本路径将满足属性 f(0)= 0几乎肯定。< / em>的
  • 请注意,这仅适用于非静止 GP(当然,对于具有零均值和方差函数的普通GP)。
  • 这个标准布朗运动的典型例子是[0; + \ infty),它具有零均值函数和协方差函数k(x,y)= min(x,y)。
  • 从通用协方差函数k0开始,您可以使用条件公式获得此属性:k(x,y)= k0(x,y) - k0(x,0)k0(0,y)/ k0( 0,0)。

以上所有内容都可以推广到任何属性,这些属性是函数的某些值的等式约束,或者是函数的线性组合。

关于仿射约束的调节是可能的,但更难:

  • 样本路径的单调性相当于导数的无限多个积极性约束(每个点一个)。
  • 样本路径的凹度相当于对二阶导数的无限多个积极性约束。
  • 可以通过在有限数量的此类约束上调节GP来强制执行这些属性的近似版本。然而,由此产生的过程不再是GP。例如,参见[1]以获得更多细节。
  • 我不知道是否有任何现成的包提出这个。

[1] S. Da Veiga&amp; A. Marrel(2012),高斯过程建模与不等式约束,Annales delafacultédessciences deToulouseMathématiques,21(3),529-555。