Draw a sample from a univariate t mixture of experts (TMoE).
sampleUnivTMoE(alphak, betak, sigmak, nuk, x)
The parameters of the gating network.
Matrix of size (p + 1, K) representing the regression coefficients of the experts network.
Vector of length K giving the standard deviations of the experts network.
Vector of length K giving the degrees of freedom of the experts network t densities.
A vector of length n representing the inputs (predictors).
A list with the output variable
y and statistics.
y Vector of length n giving the output variable.
zi A vector of size n giving the hidden label of the
expert component generating the i-th observation. Its elements are
zi[i] = k, if the i-th observation has been generated by the
z A matrix of size (n, K) giving the values of the binary
latent component indicators Zik such that
Zik = 1 iff Zi = k.
stats A list whose elements are:
Ey_k Matrix of size (n, K) giving the conditional
expectation of Yi the output variable given the value of the
hidden label of the expert component generating the ith observation
zi = k, and the value of predictor X = xi.
Ey Vector of length n giving the conditional expectation
of Yi given the value of predictor X = xi.
Vary_k Vector of length k representing the conditional
variance of Yi given zi = k, and X = xi.
Vary Vector of length n giving the conditional expectation
of Yi given X = xi.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
n <- 500 # Size of the sample alphak <- matrix(c(0, 8), ncol = 1) # Parameters of the gating network betak <- matrix(c(0, -2.5, 0, 2.5), ncol = 2) # Regression coefficients of the experts sigmak <- c(0.5, 0.5) # Standard deviations of the experts nuk <- c(5, 7) # Degrees of freedom of the experts network t densities x <- seq.int(from = -1, to = 1, length.out = n) # Inputs (predictors) # Generate sample of size n sample <- sampleUnivTMoE(alphak = alphak, betak = betak, sigmak = sigmak, nuk = nuk, x = x) # Plot points and estimated means plot(x, sample$y, pch = 4) lines(x, sample$stats$Ey_k[, 1], col = "blue", lty = "dotted", lwd = 1.5) lines(x, sample$stats$Ey_k[, 2], col = "blue", lty = "dotted", lwd = 1.5) lines(x, sample$stats$Ey, col = "red", lwd = 1.5)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.