Я пытался использовать пакет genlasso
в R, чтобы решить мою проблему.Однако когда я строю двойной график, некоторые двойные координаты оказываются за пределами границ, что не имеет никакого смысла.Я не уверен почему.
Я не знаю, как загрузить изображение здесь, но следующий код должен создать этот график
library(genlasso)
set.seed(95)
x = matrix(c(rnorm(3,2,1),rnorm(3,8,1)),ncol=1)
no.exp = nrow(x)
dim=ncol(x)/2
D = matrix(0,nrow=dim*no.exp*(no.exp-1),ncol=2*dim*no.exp)
Dindex=1
Drow=1-2*dim
repeat{
j=Dindex+2*dim
repeat{
Drow=Drow+2*dim
D[Drow:(Drow+2*dim-1),Dindex:(Dindex+2*dim-1)]=diag(rep(1,2*dim))
D[Drow:(Drow+2*dim-1),j:(j+2*dim-1)]=-diag(rep(1,2*dim))
if(j+2*dim-1==2*dim*no.exp){break}
j=j+2*dim
}
Dindex=Dindex+2*dim
if(Dindex==2*dim*no.exp+1-2*dim){break}
}
model = genlasso(x,D=D)
plot(model,type='dual')