оценка Концентрированная функция правдоподобия для модели локального уровня - PullRequest
0 голосов
/ 01 августа 2020

У меня есть проект на R, но я столкнулся с некоторыми трудностями. Я действительно хочу запустить модель локального уровня для скорости роста смертей от пандемии c без использования structTS или любого другого готового пакета для моделей временных рядов. Я хочу найти ошибку прогноза, используя фильтр Калмана и более гладкий, и принять их в качестве входных данных для регрессии, которую я хочу запустить. Ниже вы можете увидеть код для фильтра Калмана, который я уже написал, но я не знаю, как инициализировать дисперсии состояния и уравнения наблюдения. В данных по реке Нил Дурбина и Купмана они начинаются с оценок, которые получаются путем максимизации концентрированной функции правдоподобия. На фотографиях видно, что я имею в виду. Начальные значения var epsilon и var eta равны 15099 и 1469. Для имеющихся у меня данных я хочу оценить var epsilon и q, как указано на фотографии, а затем использовать эти инициализации в качестве входных данных для фильтра Калмана и сглаживания. Есть ли у кого-нибудь из вас представление о том, как оценить q в R, используя концентрированную логарифмическую функцию правдоподобия 2,63? Спасибо за ваше время.

    a_ini = 0 p_ini = 10^7
var_eps = 0.01
var_eta = 0.01

a_filtered = c()
p_t = c()
v_t = c()
k_t = c()
f_t = c()

a = a_ini
p = p_ini

for(t in 1:NROW(covid6)){
  if(t == 1){
    a_filtered[t] = a_ini
    p_t[t] = p_ini
  } else {
    a_filtered[t] = a_filtered[t-1] + k_t[t-1]*v_t[t-1]
    p_t[t] = k_t[t-1]*var_eps + var_eta
  }
  v_t[t] = (covid6[[t,"new_deaths"]])- a_filtered[t]
  f_t[t] = p_t[t] + var_eps
  k_t[t] = p_t[t]/f_t[t]
}

л

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