所以我写了一个函数,它应该找到与loess
方程的自由度相对应的函数的跨度:
m <- function(x) x+4*cos(7*x)
x<-seq(-1,1,length=101)
为了找到自由度,我使用了单位矩阵
y<-diag(101)
slp<-matrix(0,nrow=101,ncol=101)
snw<- is the hat matrix
这是我的函数,我希望它输出的跨度大约等于帽子矩阵中相同的自由度snw
(对角线的总和)
y<-diag(101)
dflp<-function(span,value)
{
for(q in 1:301)
{
for(i in 1:101)
{
slp[,i]<-predict(loess(y[,i]~x,span=span[q]),newdata=x)
}
if(sum(diag(slp))-value==0)
{
cat("span:",format(span[q]),"\n")
break
}
}
}
它似乎没有输出任何东西,并且 的值q
始终为 7。
谢谢你。
注意:这不是家庭作业。