Вопрос об оценке ненаблюдаемых состояний в пакете MARSS в R - PullRequest
0 голосов
/ 22 февраля 2020

Я работаю над моделью пространства состояний в R с использованием пакета MARSS. Ниже приведен код

rm(list=ls())
cls <- function() cat(rep("\n",1000))
cls()

library(MARSS)
library(moments)
library(fGarch)
library(copula)
library(VineCopula)
library(maxLik)
library(sn)

dat=read.csv("F://potential_output/italy.csv",header=T)
summary(dat)




# transpose data so time goes across columns
dat = t(dat)
# get number of time series
N = dim(dat)[1]
# get length of time series
TT = dim(dat)[2]

Z.vals=list(1, "z1", 0, "z2", 0, 0, 0, "z3",
           0, "z4",     0,    0,     0, 0, 0, 0,
           "z5", "z6",  "z7", "z8", 0, 0, "z9", 0,
           0, 0,     0,   "z10",      0, 0,  0,0,
           "z11", 0,  "z12",  0, "z13", "z14", 0, 0,
           0, 0,     0,   0,      0, "z15", 0, 0,
           0, 0,     0,   0,      0, 0, "z16", 0,
           0, 0,     0,   0,      0, 0, 0, "z17")


Z=matrix(Z.vals,nrow=N,ncol=N,byrow=T)



#R.vals=list("b1", 0, 0, 0, 0, 0, "b2", 0,
           0, "b3", 0, 0, 0, 0, 0, 0,
           0, 0, "b4", 0, 0, 0,"b5","b6",
           0, 0, 0, "b7", 0, 0, 0, 0,
           0, 0, 0, 0, "b8", "b9", 0, 0,
           0, 0, 0, 0, 0, "b10", 0, 0,
           0, 0, 0, 0, 0, 0, "b11", 0,
           0, 0, 0, 0, 0, 0, 0, "b12")

#R=matrix(R.vals,nrow=N,ncol=N,byrow=T)


B.vals=list("b1", 0, 0, 0, 0, 0, "b2", 0,
           0, "b3", 0, 0, 0, 0, 0, 0,
           0, 0, "b4", 0, 0, 0,"b5","b6",
           0, 0, 0, "b7", 0, 0, 0, 0,
           0, 0, 0, 0, "b8", "b9", 0, 0,
           0, 0, 0, 0, 0, "b10", 0, 0,
           0, 0, 0, 0, 0, 0, "b11", 0,
           0, 0, 0, 0, 0, 0, 0, "b12")

B=matrix(B.vals,nrow=N,ncol=N,byrow=T)

U=matrix(list(0), nrow=N, ncol=1, byrow=T)
A=matrix(list(0), nrow=N, ncol=1, byrow=T)

#Q=B=diag(1,2)

x0=U #matrix(0,nrow=2,ncol=1)
x0=A=U="zero"
#V0=diag(8,2)

dfa.model = list(Z=Z, A=A, B=B, U=U)
cntl.list = list(maxit=500)
model.2 = MARSS(dat, model=dfa.model)

Я хочу увидеть оценочные состояния. Поэтому я напечатал print (MLEobj, что = "xtT"). Но это дало наблюдаемые, то есть данные, а не оценочные состояния. Кто-нибудь может указать, где я иду не так? Как узнать приблизительные переменные состояния?

Спасибо, с нетерпением жду.

1 Ответ

0 голосов
/ 25 февраля 2020
print(MLEobj,what="xtT")

печатает сглаженные состояния. Однако если ваше оценочное значение R равно 0, то оценочные состояния будут равны данным (если n = m).

Обратите внимание, что если вы используете текущую версию MARSS,

plot(MLEobj)

будет пробежаться по какому-нибудь примеру сюжета (включая штаты).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...