我知道有很多类似的问题,但我需要专门用伯恩斯坦多项式来解决这个问题
我试过这样的事情:
library(pracma)
train <- rnorm(100)
test <- rnorm(50)
eCDF <- ecdf(train)
# squeeze eCDF support between 0 and 1
Fy <- function(y){
b <- max(train)
a <- min(train)
eCDF((b-a)*y+a)
}
m <- min(test)
M <- max(test)
# squeeze points between 0 and 1
x_to_y <- function(x) return ((x-m)/(M-m))
# polynomial order
k = 10
x <- x_to_y(test)
# bernstein Args: function to be approximated, order, points to estimates
y <- bernstein(Fy,k, x)
plot(x, y)
在这一点上,我得到的只是点。这对我来说不是很清楚......我认为伯恩斯坦方法应该做一些函数平滑但是如何?
我试过了
lo <- loess(y~x)
plot(x,y)
lines(predict(lo), col='red', lwd=2)
但是: 1. 它不起作用 2. 有点胡说八道
感谢您的任何帮助