Я пытаюсь сделать 10000 моделирования для следующей регрессии для того, чтобы найти H:моделирования для регрессии в R
журнала (TV) = H * журнал (м)
, в котором журнал (TV) представляет собой логарифм суммарной вариации броуновского движения (BM), а m - размер непересекающегося поднабора на оси x. Таким образом, меняя размер m, мы получаем новое значение для TV и, следовательно, log (TV). Запуск журнала (TV) против log (m) можно найти в качестве наклона настроенной линии. Ниже приведен код, который я работал на:
t<-0:1000
nsim <- 10000
sig2<-0.01
#simulate with single BM
x <- rnorm(n = length(t) - 1, sd = sqrt(sig2))
d1<- c(0, cumsum(x))
# calculating total variation
v1<-d1[seq(1,length(d1),1)] # m=1
v2<-d1[seq(1,length(d1),10)] # m=10
v3<-d1[seq(1,length(d1),100)]#m=100
s1<-sum(abs(v1[1:(length(v1)-1)]-v1[2:length(v1)]))
s2<-sum(abs(v2[1:(length(v2)-1)]-v2[2:length(v2)]))
s3<-sum(abs(v3[1:(length(v3)-1)]-v3[2:length(v3)]))
s<-c(log(s1),log(s2),log(s3))
m<-c(log(1),log(10),log(100))
fit<-lm(s~m)
Это помогает мне найти одно значение Н, и теперь я хочу сделать 10000 моделирования и следующий код, который я придумал:
for (i in 1:nsim) {X[i, ] <- c(0, cumsum(rnorm(n = length(t) - 1, sd = sqrt(sig2))))}#10000 simulations of BM
# calculating total variation:
v1<-X[,1:1==1]
v2<-X[,1:3==10]
v3<-X[,1:100==100]
a1<-abs(v1[,1:ncol(v1)-1]-v1[,2:ncol(v1)])
a2<-abs(v2[,1:ncol(v2)-1]-v2[,2:ncol(v2)])
a3<-abs(v3[,1:ncol(v3)-1]-v1[,2:ncol(v3)])
s1<-apply(a1,1,sum)
s2<-apply(a2,1,sum)
s3<-apply(a3,1,sum)
s<-cbind(s1,s2,s3)
S<-log(s)
M<-c(log(1),log(10),log(100))
Матрица S - это матрица, в которой каждая строка будет содержать 3 значения log (TV), которые соответствуют m = 1,10,100. Теперь мне нужно запустить регрессию каждой строки в S с M и записать значение H каждый раз, когда я запускаю регрессию. Я застрял на этом шаге. Может кто-нибудь, пожалуйста, предложите мне способ, которым я могу это сделать?
Большое спасибо заранее за любые предложения
Параметр 'replicate' функция является стандартным методом это. Тот факт, что '' '' '' '' '' '' только длина три, не беспокоит вас? –