как интерпретировать предупреждение lmrob из пакета robustbase - PullRequest
0 голосов
/ 15 декабря 2018

Я использую функцию lmrob из надежного пакета.Я получаю несколько предупреждений и не знаю, как их интерпретировать.lmrob используется в цикле for.Ниже приведен код и предупреждения.

warnings

S refinements did not converge (to refine.tol=1e-07) in 200 (= k.max) steps

In lmrob.fit(x, y, control, init = init) :
M-step did NOT converge. Returning unconverged SM-estimate  

код:

for(i in 1:ncol(core)){
  for(j in 1:ncol(core)){
        if(i == j){
              dat[i,j] = 0
        }else {
              samp = mutate(core,
                            l1 = lag(core[,i]),
                            l2 = lag(core[,j]))
              samp = na.omit(samp)
              predicted = samp[,i]
              explanatory = samp[,j]
              l1 = samp$l1
              l2 = samp$l2
              model = lmrob(predicted ~ explanatory + l1 + l2)
              new_data = data.frame(explanatory = iv[j], l1 = 
  tail(samp$l1,1), l2 =  tail(samp$l2,1))
              pred1 = predict(model, new_data)
              dat[j,i] = round(log(iv[i]/as.numeric(pred1)),2)
        }}
 }

Основной объект изначально xts, однако мы преобразуем его в data.frame

  core = as.data.frame(coredata(xts_object))
  class(core) 
  # "data.frame"

  > str(core)
   'data.frame':    357 obs. of  3 variables:
   $ VNQ: num  0.0744 0.1078 0.1246 0.1426 0.1064 ...
   $ QQQ: num  0.177 0.179 0.171 0.138 0.165 ...
   $ SPY: num  0.1066 0.1105 0.1183 0.0884 0.0981 ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...