R та EView розбіжності в оцінках AR (1)


10

Основна проблема полягає в тому, що я не можу отримати подібні оцінки параметрів за допомогою EViews та R.

З причин, яких я не знаю, мені потрібно оцінити параметри для певних даних за допомогою EViews. Це робиться шляхом вибору параметра NLS (нелінійні найменші квадрати) та використання наступної формули:indep_var c dep_var ar(1)

EViews стверджує, що вони оцінюють лінійні процеси AR (1), такі як: де помилки визначаються як: , використовуючи еквівалент рівняння (з деякими алгебраїчними ): Крім того, ця нитка над на форумах EViews припускає, що їх оцінки NLS формуються алгоритмом Марквардта.

Yт=α+βХт+ут
ут
ут=ρут-1+ε
Yт=(1-ρ)α+ρYт-1+βХт-ρβХт-1+εт

Тепер функція go-to для оцінки процесів AR (1) є arima. Однак є дві проблеми:

  1. оцінки - максимальна оцінка ймовірності;
  2. оцінка перехоплення насправді не є перехоплюючою оцінкою (за даними RH Shumway & DS Stoffer).

Тому я звернувся до nlsLMфункції з пакету minpack.lm. Ця функція використовує алгоритм Маркварда для досягнення нелінійних оцінок найменших квадратів, які повинні дати ті ж результати, що й реалізація EViews (або, принаймні, дуже схожі).

Тепер код. У мене є фрейм даних ( data) з незалежною змінною та залежною змінною, такою як генерований наступним кодом:

data <- data.frame(independent = abs(rnorm(48)), dependent = abs(rnorm(48)))

Для оцінки параметрів у рівнянні претензій EViews для оцінки (3- й на цій посаді) я використовую такі команди:

library(minpack.lm)
result <-
nlsLM(dependentB ~ ((1 - theta1) * theta2) + (theta1 * dependentA) +
                    (theta3 * independentB) - (theta1 * theta3 * independentA),
data = list(dependentB = data$dependent[2:48], dependentA = data$dependent[1:47],
   independentB = data$independent[2:48], independentA = data$independent[1:47]),
start = list(theta1 = -10, theta2 = -10, theta3 = -10)
)

На жаль, оцінки, отримані за допомогою nlsLM, не наближені до тих, що виводиться EViews. Чи маєте ви уявлення про те, що може бути причиною цього? А може мій код неправильний?

Нарешті, я хотів би сказати, що я особисто є користувачем R - саме тому я намагаюся зробити це в R замість EViews. Я також хотів би надати вам дані, з якими працюю, але це неможливо, оскільки це конфіденційні дані.


4
Ласкаво просимо на сайт, @Fael. +1 для чіткого запитання. Я взяв на себе сміття трохи змінити форматування, щоб зробити його більш чистим. Будь ласка, переконайтеся, що в ньому все ще сказано, що ви хочете.
gung - Відновіть Моніку

Нічого собі, це було дуже приємно з вас. Велике спасибі, @gung!
Фаель

2
Ви завжди розміщуєте / кодуєте дані та розміщуєте їх. перетворення форми [(y-константа1) / константа2] зробить трюк.
IrishStat

BTW: Параметри лінійних процесів можна оцінити за допомогою OLS.
Germaniawerks

Відповіді:


1

Ваша NLLS має чотири умови ортогональності, по одній на змінну плюс константа (аналог нормальним рівнянням у стандартній OLS) для вирішення трьох параметрів ( ). Нелінійні алгоритми часто мають гетерогенні конфігурації параметрів допуску через програмне забезпечення. Я можу запропонувати вам скинути зі свого рівняння, щоб точно визначити систему, а потім протестувати Eviews на R? якщо обидва згодні, це, ймовірно, означає, що один з них має проблеми з переопределенням.X t - 1ρ,β,αХт-1

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.