Визуализация компонентов процесса генерации данных в R - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь повторить эту цифру с истинной базовой функцией, приведенной также там (см. Также код ниже).

Мне было интересно, как автор придумал эту (на первый взгляд, легко повторяемую) фигуру. Если я смотрю, например, в первом компоненте (11) f (X_1) = 8 * sin (X_1) я не могу видеть, как автор получает соответствующий граф, который имеет отрицательные значения функции (насколько я понимаю в статье, область значений взятия значений X в диапазоне от 0 до 3). Та же путаница с последним линейным компонентом.

Ссылка на полный текст статьи: https://epub.ub.uni -muenchen.de / 2057/1 / tr002.pdf

Это мой код

rm(list = ls())

library(mboost)

set.seed(2)

n_sim <- 50
n <- 100

# generate design matrix
x <- seq(from=0.00001, to=3, length.out=n)
x1 <- sample(x, size= n)
x2 <- sample(x, size= n)
x3 <- sample(x, size= n)
x4 <- sample(x, size= n)
x5 <- sample(x, size= n)
x6 <- sample(x, size= n)
x7 <- sample(x, size= n)
x8 <- sample(x, size= n)
x9 <- sample(x, size= n)

X <- matrix(c(x1, x2, x3, x4, x5, x6, x7, x8, x9), nrow = n, ncol = 9)

# generate true underlying function and observations with errors
f_true_train <- 1+ 8*sin(X[,1]) + 3*log(X[,2]) - 0.8*(X[,7]^4-X[,7]^3-5*X[,7]^2) - 3*X[,8]
y <- f_true_train + rnorm(n, 0, 3)

# plot components of true underlying function as in Fig. 1 
# of Boosting Additive Models using Component-wise P-Splines by Schmid & Hothorn (2007)
plot(X[,1], 8*sin(X[,1]))
plot(X[,2], 3*log(X[,2]))
plot(X[,7], - 0.8*(X[,7]^4-X[,7]^3-5*X[,7]^2))
plot(X[,8], - 3*X[,8])
...