确保样条回归中的节点放置在正确的位置
Ensure knots in spline regression are placed at correct positions
我的时间序列数据为:
library(xts)
library(splines)
set.seed(123)
time <- seq(as.POSIXct("2015-09-01"),as.POSIXct("2015-09-01 23:59:59"),by="hour")
ob <- xts(rnorm(length(time),150,5),time))
对象ob
为每小时时间序列对象。现在,我想对其进行样条回归。我想在 7 A.M 和 4 P.M 处打结。
R
中的以下语句是否确保了这一点
ns(ob,knots = c(7,16)) # 7 corresponds to 7 AM and 16 corresponds to 4 PM
此外,我应该如何交叉检查是否在上述时间放置了结?
你走错了路。看来你想按时回归观察,所以你真的应该提供时间索引而不是观察 ob
到 ns
.
y <- as.vector(ob) ## observations
x <- 1:24 ## 24 hourse
再考虑一个模型:
y ~ ns(x, knots = c(7, 16))
如你所见,这里确实没有必要使用"xts"对象。
ns
生成设计矩阵。检查
X <- ns(x, knots = c(7, 16))
您将看到属性:
#attr(,"degree")
#[1] 3
#attr(,"knots")
#[1] 7 16
#attr(,"Boundary.knots")
#[1] 1 24
#attr(,"intercept")
#[1] FALSE
#attr(,"class")
#[1] "ns" "basis" "matrix"
"knots" 字段为您提供有关内部结点位置的信息。
我的时间序列数据为:
library(xts)
library(splines)
set.seed(123)
time <- seq(as.POSIXct("2015-09-01"),as.POSIXct("2015-09-01 23:59:59"),by="hour")
ob <- xts(rnorm(length(time),150,5),time))
对象ob
为每小时时间序列对象。现在,我想对其进行样条回归。我想在 7 A.M 和 4 P.M 处打结。
R
中的以下语句是否确保了这一点
ns(ob,knots = c(7,16)) # 7 corresponds to 7 AM and 16 corresponds to 4 PM
此外,我应该如何交叉检查是否在上述时间放置了结?
你走错了路。看来你想按时回归观察,所以你真的应该提供时间索引而不是观察 ob
到 ns
.
y <- as.vector(ob) ## observations
x <- 1:24 ## 24 hourse
再考虑一个模型:
y ~ ns(x, knots = c(7, 16))
如你所见,这里确实没有必要使用"xts"对象。
ns
生成设计矩阵。检查
X <- ns(x, knots = c(7, 16))
您将看到属性:
#attr(,"degree")
#[1] 3
#attr(,"knots")
#[1] 7 16
#attr(,"Boundary.knots")
#[1] 1 24
#attr(,"intercept")
#[1] FALSE
#attr(,"class")
#[1] "ns" "basis" "matrix"
"knots" 字段为您提供有关内部结点位置的信息。