Приложение Econometric Modeler является интерактивным инструментом для анализа одномерных данных временных рядов. Приложение хорошо подходит для визуализации и преобразования данных, выполнения статистической спецификации и идентификационных тестов модели, подбирать модели к данным и итерацию среди этих действий. Когда вы удовлетворены моделью, можно экспортировать ее в MATLAB® Workspace, чтобы предсказать будущие ответы или для последующего анализа. Можно также сгенерировать код или отчет от сеанса.
Запустите Econometric Modeler путем ввода econometricModeler
в командной строке MATLAB, или путем нажатия на Econometric Modeler под Computational Finance в галерее Apps (вкладка Apps на Панели инструментов MATLAB).
Следующий рабочий процесс описывает, как найти модель с лучшей подгонкой в выборке к данным временных рядов с помощью Econometric Modeler. Рабочий процесс не является строгим предписанием — шаги, которые вы реализуете, зависят от ваших целей и типа модели. Можно легко пропустить шаги и выполнить итерации нескольких шагов по мере необходимости. Приложение хорошо подходит для подхода Поля-Jenkins к построению моделей временных рядов [1].
Подготовьте данные к Econometric Modeler — Выбор переменная отклика, чтобы анализировать и от которого можно создать прогнозную модель. Опционально, выберите объясняющие переменные, чтобы включать в модель.
Можно импортировать только одну переменную из рабочего пространства MATLAB в Econometric Modeler. Поэтому в командной строке, необходимо синхронизировать и конкатенировать несколько рядов в одну переменную.
Импортируйте переменные временных рядов — Импортируют Данные в Econometric Modeler от рабочего пространства MATLAB или MAT-файла. После импортирования данных можно настроить переменные свойства или присутствие переменных.
Выполните исследовательский анализ данных — Представление ряд в различных способах, стабилизируйте ряд путем преобразования его и обнаружьте свойства временных рядов путем выполнения статистических тестов.
Визуализируйте данные временных рядов — Поддерживаемые графики включают графики временных рядов и коррелограммы (например, автокорреляционная функция (ACF)).
Выполните спецификацию и идентификационные тесты гипотезы модели — Серия испытаний для стационарности, heteroscedasticity, автокорреляции и коллинеарности среди нескольких рядов. Для моделей ARIMA и GARCH этот шаг может включать определение соответствующего количества задержек, чтобы включать в модель. Поддерживаемые тесты включают увеличенный Более полный Дики тест, тест ДУГИ Энгла, Q-тест Ljung-поля и диагностику коллинеарности Белсли.
Преобразуйте временные ряды — Поддерживаемые преобразования включают логарифмическое преобразование и сезонное и несезонное дифференцирование.
Подбирайте модели кандидата к данным — модель Choose параметрические формы для одномерного ряда ответа на основе исследовательского анализа данных или продиктованный экономической теорией. Затем оцените модель. Поддерживаемые модели включают сезонное и несезонное условное среднее значение (например, ARIMA), условное отклонение (например, GARCH), и модели многофакторной линейной регрессии (опционально содержащий ошибки ARMA).
Осуществите проверки качества подгонки — Убедитесь, что модель соответственно описывает данные путем выполнения остаточной диагностики.
Визуализируйте остаточные значения, чтобы проверять, сосредоточены ли они на нуле, нормально распределенном, гомоскедастичном, и последовательно некоррелированом. Поддерживаемые графики включают графики квантиля квантиля и ACF.
Протестируйте остаточные значения на homoscedasticity и автокорреляцию. Поддерживаемые тесты включают Q-тест Ljung-поля и тест ДУГИ Энгла на квадратах остатков.
Найдите модель с лучшей подгонкой в выборке — Оценочные многоуровневые модели в том же семействе, и затем выберите модель, которая дает к минимальной подходящей статистической величине, например, Критерию информации о Akaike (AIC).
Экспортируйте результаты сеанса — После того, как вы находите модель или модели, которые выполняют соответственно, обобщают результаты сеанса. Метод, который вы выбираете, зависит от ваших целей. Поддерживаемые методы включают:
Экспортируйте переменные — Econometric Modeler экспортирует выбранные переменные в рабочее пространство MATLAB. Если сеанс в приложении не завершает вашу аналитическую цель, такую как прогнозирование ответов, то можно экспортировать переменные (включая предполагаемые модели) для последующего анализа в командной строке.
Сгенерируйте функцию — Econometric Modeler генерирует простой текст MATLAB или live функцию, которая возвращает выбранную модель, учитывая импортированные данные. Этот метод помогает вам изучить функции командной строки что использование приложения, чтобы создать прогнозные модели. Можно изменить сгенерированную функцию, чтобы выполнить аналитические цели.
Сгенерируйте отчет — Econometric Modeler представляет документ, такой как, PDF, описывая ваши действия на выбранных переменных или моделях. Этот метод предоставляет ясные и удобные сводные данные вашего анализа, когда вы завершаете свою цель в приложении.
Можно импортировать только одну переменную из рабочего пространства MATLAB в Econometric Modeler. Поэтому прежде, чем импортировать данные, конкатенируйте ряд ответа и любой ряд предиктора в одну переменную.
Econometric Modeler поддерживает эти типы данных переменных.
Расписание MATLAB — Переменные должны быть двойная точность числовые векторы. Лучшая практика состоит в том, чтобы импортировать ваши данные в расписании потому что Econometric Modeler:
Переменные имен при помощи имен сохранены в VariableNames
поле Properties
свойство.
Использует значения переменных времени в качестве меток в виде галочки для любой оси, которая представляет время. В противном случае метки в виде галочки, представляющие время, являются индексами.
Позволяет вам наложить полосы рецессии на графиках временных рядов (см. recessionplot
)
Таблица MATLAB — Переменные должны быть двойная точность числовые векторы. Имена переменных являются именами в VariableNames
поле Properties
свойство.
Числовой вектор или матрица — Для матрицы, каждый столбец является отдельной переменной под названием variableNamej
, где j
соответствующий столбец.
Независимо от типа переменной Econometric Modeler принимает, что строки соответствуют моментам времени (наблюдения).
Набор данных может существовать в рабочем пространстве MATLAB или в MAT-файле, к которому можно получить доступ от машины.
Импортировать набор данных из Рабочей области, на вкладке Econometric Modeler, в разделе Import, нажатии кнопки. В диалоговом окне Import Data кликните по флажку в столбце Import? для переменной, содержащей данные, и затем нажмите Import. Все переменные в Рабочей области поддерживаемого типа данных появляются в диалоговом окне, но можно выбрать одно единственное.
Чтобы импортировать данные из MAT-файла, в разделе Import, нажимают Import, затем выбирают Import From MAT-file
. В диалоговом окне Select a MAT-file, обзоре к папке, содержащей набор данных, затем дважды кликают MAT-файл.
После того, как вы импортируете данные, имя каждой переменной (столбец) в наборе данных появляется в разделе Time Series Data Browser. Кроме того, график временных рядов включая все переменные появляется в Графике Временных рядов (VariableName
) окно рисунка, где VariableName
имя одной из переменных в Data Browser.
Можно взаимодействовать с переменными в Data Browser несколькими способами.
Чтобы выбрать переменную, чтобы выполнить статистический тест или создать график, например, кликают по переменной в Data Browser. Если вы дважды кликаете переменную вместо этого, то приложение также строит ее в отдельном графике временных рядов.
Чтобы изменить название переменной или удалить переменную, щелкните правой кнопкой по нему по Data Browser. Затем из контекстного меню выберите желаемое действие.
Чтобы работать с несколькими временными рядами одновременно, нажмите Ctrl и кликните по каждой переменной, которую вы хотите использовать.
Рассмотрите импортирование данных в Data_USEconModel
Matfile.
В командной строке загрузите данные в Рабочую область.
load Data_USEconModel
В Econometric Modeler, в разделе Import вкладки Econometric Modeler, нажатия кнопки. Диалоговое окно Import Data появляется.
Data_USEconModel
хранилища несколько переменных. DataTable и Data содержат те же данные, но DataTable является расписанием, которое приписывает имена к переменным и время выборки к строкам. Импортируйте DataTable путем установки соответствующего флажка Import?, затем нажатия на Import.
Все переменные в DataTable появляются в Data Browser. Предположим, что вы хотите сохранить COE
, FEDFUNDS
, и GDP
только. Выберите все другие переменные, щелкните правой кнопкой по одному из них и выберите Delete.
После работы в приложении можно импортировать другой набор данных. После того, как вы нажмете Import, Econometric Modeler отображает следующее диалоговое окно.
Если вы нажимаете OK, то Econometric Modeler удаляет все переменные от Data Browser и закрывает все документы на правой панели.
Исследовательский анализ данных включает определение характеристик ваших переменных и отношений между ними с формированием прогнозной модели в памяти. Для данных временных рядов идентифицируйте ряды, которые растут экспоненциально, содержат тренды, или являются неустановившимися, и затем преобразовывают их соответственно. Для моделей ARIMA, чтобы идентифицировать форму модели и значительные задержки в последовательной структуре корреляции ряда ответа, используют методологию [1] Поля-Jenkins. Если вы планируете создать модели GARCH, затем оценить, содержат ли ряды кластеризацию энергозависимости и значительные задержки. Для моделей множественной регрессии идентифицируйте коллинеарные предикторы и те предикторы, которые линейно связаны с ответом.
Для анализа данных временных рядов исследовательский анализ обычно включает итерацию среди визуализации данных, выполнения статистической спецификации и идентификационных тестов модели и преобразования данных.
После того, как вы импортируете набор данных, Econometric Modeler выбирает все переменные в импортированных данных и отображает график временных рядов их на правой панели по умолчанию. Например, после того, как вы импортируете DataTable
в Data_USEconModel
набор данных, отображения приложения этот график временных рядов.
Создать ваш собственный график временных рядов:
В Data Browser выберите соответствующее количество ряда для графика.
Кликните по вкладке Plots в панели инструментов.
Нажмите кнопку для типа графика, который вы хотите.
Econometric Modeler поддерживает следующие графики временных рядов.
График | Цели |
---|---|
Временные ряды или |
|
Автокорреляционная функция (ACF) |
|
Частичный ACF (PACF) |
|
Корреляции |
|
Можно взаимодействовать с существующим графиком:
Щелчок правой кнопкой по нему
Используя кнопки графика, которые появляются, когда вы делаете паузу на графике
Используя опции на окне рисунка
Поддерживаемые взаимодействия варьируются типом графика.
Сохраните фигуру — Щелкают правой кнопкой по фигуре, затем выбирают Export. Сохраните фигуру, которая появляется.
Добавьте или удалите временные ряды в графике — Щелкают правой кнопкой по фигуре, указывают на меню Show Time Series, затем выбирают временные ряды, чтобы добавить или удалить.
Постройте полосы рецессии — Щелкают правой кнопкой по графику временных рядов, затем выбирают Show Recessions.
Покажите, что линии сетки — Делают паузу на фигуре, затем щелкают.
Переключитесь легенда — Делают паузу на фигуре, затем щелкают.
Панорамирование — Делает паузу на фигуре, затем щелкает. Для получения дополнительной информации о панорамировании смотрите Изменение масштаба, Панорамирование, и Вращайте Данные (MATLAB).
Изменение масштаба — Делает паузу на фигуре. Чтобы увеличить масштаб, щелкнуть. Чтобы уменьшить масштаб, щелкнуть. Для получения дополнительной информации смотрите Изменение масштаба, Панорамирование, и Вращайте Данные (MATLAB).
Восстановите представление — Чтобы возвратить график в его исходное представление после того, как вы панорамируете или масштабируете, делаете паузу на фигуре, затем щелкните.
Для последовательных графиков функции корреляции дополнительные опции существуют во вкладках PACF или ACF. Можно задать:
Количество задержек, чтобы отобразиться
Количество стандартных отклонений для полос доверия
MA или AR заказывают, в котором теоретический ACF или PACF, соответственно, являются эффективно нулевыми
Econometric Modeler обновляет график в режиме реального времени, когда вы настраиваете параметры.
Чтобы просмотреть несколько графиков одновременно, можно ориентировать вкладки графика путем перетаскивания их в различные разделы правой панели. Когда вы перетаскиваете график, приложение подсвечивает возможные разделы, в которые можно поместить его. Чтобы отменить последнее расположение документа или окна рисунка, сделайте паузу минута в минуту расположенный посреди раздела, затем щелкните, когда это появится.
Рассмотрите модель ARIMA для эффективной ставки по федеральным фондам (FEDFUNDS
). Идентифицировать характеристики модели (например, количество AR или задержек MA), строят временные ряды, ACF и PACF рядом друг с другом.
В Data Browser дважды кликните FEDFUNDS
.
Добавьте полосы рецессии в график путем щелчка правой кнопкой по графику в окне рисунка Time Series Plot(FEDFUNDS), затем выбора Show Recessions.
На вкладке Plots нажмите ACF.
Нажмите PACF.
Кликните по окну рисунка Time Series Plot(FEDFUNDS) и перетащите его к левой стороне правой панели. Кликните по окну рисунка PACF(FEDFUNDS) и перетащите его к правой нижней из панели.
ACF медленно вымирает, и PACF убегает после первой задержки. Поведение ACF предлагает, чтобы временные ряды были преобразованы, прежде чем вы выберете на форме модели ARIMA.
На правой панели наблюдайте точку посреди горизонтального раздела между коррелограммами (ниже подписи по осям Lag x ACF). Чтобы отменить это расположение коррелограммы, то есть, разделяют коррелограммы вкладками, делают паузу минута в минуту и нажатие кнопки, когда это появляется.
Можно выполнить тесты гипотезы, чтобы подтвердить свойства временных рядов, которые вы получаете визуально или тест для свойств, которые затрудняют, чтобы видеть. Econometric Modeler поддерживает эти тесты для одномерного ряда.
Тест | Гипотезы |
---|---|
Увеличенный более полный Дики | H 0: Ряд имеет модульный корень. H 1: Ряд является стационарным. Для получения дополнительной информации на поддерживаемых параметрах, смотрите |
Квиатковский, Филлипс, Шмидт, голень (KPSS) | H 0: Ряд является стационарным трендом. H 1: Ряд имеет модульный корень. Для получения дополнительной информации на поддерживаемых параметрах, смотрите |
Leybourne-McCabe | H 0: Ряд является трендом стационарный AR (p) процесс. H 1: Рядом является ARIMA (p, 1,1) процесс. Чтобы задать p, настройте параметр Number of Lags. Для получения дополнительной информации на поддерживаемых параметрах, смотрите |
Филлипс-Перон | H 0: Ряд имеет модульный корень. H 1: Ряд является стационарным. Для получения дополнительной информации на поддерживаемых параметрах, смотрите |
Отношение отклонения | H 0: Ряд является случайным обходом. H 1: Ряд не является случайным обходом. Для получения дополнительной информации на поддерживаемых параметрах, смотрите |
ДУГА Энгла | H 0: Ряд не показывает условного выражения heteroscedasticity (эффекты ДУГИ). H 1: Ряд является моделью ARCH (p) с p> 0. Чтобы задать p, настройте параметр Number of Lags. Для получения дополнительной информации на поддерживаемых параметрах, смотрите |
Q-тест Ljung-поля | H 0: Ряд не показывает автокорреляции в первых задержках m, то есть, соответствующие коэффициенты являются совместно нулевыми. H 1: Ряд имеет по крайней мере один ненулевой коэффициент автокорреляции ρj, j ∈ {1, …, m}. Чтобы задать m, настройте параметр Number of Lags. Для получения дополнительной информации на поддерживаемых параметрах, смотрите |
Прежде, чем провести тесты, Econometric Modeler удаляет начальные и конечные отсутствующие значения (NaN
значения) в ряду. Тест ДУГИ Энгла не поддерживает отсутствующие значения в ряду, то есть, NaN
значениям предшествуют и следуют наблюдения.
Результаты испытаний стационарности предлагают, необходимо ли преобразовать ряд, чтобы стабилизировать его, и какое преобразование является соответствующим. Для моделей ARIMA предлагают результаты испытаний стационарности, включать ли степени интегрирования. Результаты испытаний ДУГИ Энгла указывают, показывает ли ряд кластеризацию энергозависимости и предлагает, чтобы задержки включали в модель GARCH. Q-результаты-испытаний Ljung-поля предлагают, сколько задержек AR требуется в модели ARIMA.
Выполнять одномерный тест в Econometric Modeler:
Выберите переменную в Data Browser.
На вкладке Econometric Modeler, в разделе Tests, нажимают New Test.
В тестовой галерее кликните по тесту, который вы хотите провести. Новая вкладка для тестового типа появляется в панели инструментов, и новый документ для результатов испытаний появляется на правой панели.
На тестовой вкладке типа, в разделе Parameters, настраивают параметры для теста. Например, рассмотрите выполнение теста ДУГИ Энгла. На вкладке ARCH, в разделе Parameters, выбирают количество задержек в тестовой статистической величине использование поля счетчика Number of Lags или уровня значения (то есть, значение α) использование поля счетчика Significance Level.
На вкладке тестового типа, в разделе Tests, нажимают Run Test. Результаты испытаний, включая то, отклонить ли нулевую гипотезу, p - значение и установки параметров, появляются в новой строке в таблице Results документа результатов испытаний. Если нулевая гипотеза была отклонена, то приложение подсвечивает строку желтого цвета.
Можно настроить параметры и запустить тест многократно. Результаты каждого тестового прогона для конкретной переменной появляются как новая строка в таблице Results. Чтобы удалить строку из таблицы Results, установите соответствующий флажок в столбце Select, затем нажмите Clear Tests во вкладке тестового типа.
Несколько тестирование раздувают ложный уровень открытия. Один консервативный способ обеспечить полный ложный уровень открытия α состоит в том, чтобы применить коррекцию Bonferroni к уровню значения каждого теста. Таким образом, в общей сложности для тестов t, устанавливает значение Significance Level к α/t.
Для нескольких рядов можно оценить силу и источники коллинеарности среди ряда с помощью диагностики коллинеарности Белсли. Выполнять диагностику корреляции Белсли:
Выберите по крайней мере две переменные в Data Browser.
На вкладке Econometric Modeler, в разделе Tests, нажимают New Test.
В тестовой галерее, в разделе Collinearity, нажимают Belsley Collinearity Diagnostics. Новая вкладка для диагностики коллинеарности Белсли появляется в панели инструментов, и новый документ для результатов появляется на правой панели.
На вкладке Collinearity, в разделе Tolerances, настраивают параметры для теста. Приложение выполняет диагностику в режиме реального времени, когда вы настраиваете значения параметров.
Econometric Modeler возвращает таблицу сингулярных значений, индексов условия и пропорций разложения отклонения для каждой переменной. Строки подсветки Econometric Modeler желтого цвета имеют индекс условия, больше, чем допуск, заданный значением параметров Condition Index в разделе Tolerances вкладки Collinearity. Кроме того, Econometric Modeler строит пропорции разложения отклонения для подсвеченных строк для каждой переменной.
В подсвеченных строках те переменные с разложением отклонения, больше, чем допуск (или, те переменные с красными маркерами в графике), показывают мультиколлинеарность. Для получения дополнительной информации о результатах диагностики коллинеарности Белсли и мультиколлинеарности, смотрите collintest
и регрессия временных рядов II: коллинеарность и отклонение средства оценки.
Добавить или удалить временные ряды из диагностики:
В документе результатов испытаний щелкните правой кнопкой по таблице Results или графику.
Укажите на Show Time Series. Список всех переменных появляется.
Кликните по переменной, чтобы добавить его в диагностику или кликнуть по выбранной переменной, чтобы удалить его из диагностики.
Рассмотрите прогнозную модель, содержащую канадскую инфляцию и процентные ставки как переменные предикторы. Определите, коллинеарны ли переменные. Data_Canada
набор данных содержит временные ряды.
Импортируйте DataTable
переменная в Data_Canada
набор данных в Econometric Modeler (см. Переменные Временных рядов Импорта). График временных рядов появляется на правой панели.
Все ряды, кажется, содержат автокорреляцию. Несмотря на то, что необходимо удалить автокорреляцию из переменных предикторов прежде, чем создать прогнозную модель, этот пример продолжает, не удаляя автокорреляцию.
В разделе Tests нажмите New Test. В разделе Collinearity нажмите Belsley Collinearity Diagnostics.
Econometric Modeler создает документ, содержащий результаты диагностики коллинеарности Белсли.
Индексом условия и значениями по умолчанию допуска пропорции разложения отклонения является 30
и 0.5
, соответственно. Поскольку их пропорции разложения отклонения выше допуска к индексу условия, коллинеарными предикторами является INT_L
, INT_M
, и INT_S
.
Методология [1] Поля-Jenkins для выбора модели ARIMA принимает, что ряд ответа является стационарным, и побочные модели регрессии могут следовать из модели, содержащей неустановившиеся предикторы и переменные отклика (для получения дополнительной информации, смотрите IV Регрессии Временных рядов: Побочная Регрессия). Чтобы стабилизировать ваш ряд, Econometric Modeler поддерживает эти преобразования в разделе Transforms вкладки Econometric Modeler.
Преобразование | Используйте когда ряд... | Примечания |
---|---|---|
Журнал | Имеет экспоненциальный тренд или отклонение, которое растет с его уровнями | Все значения в ряду должны быть положительными. |
Линейный детрендируют | Имеет линейный детерминированный тренд, который может быть идентифицирован с помощью наименьших квадратов | Когда Econometric Modeler детрендирует ряд, он игнорирует ведущий или запаздывающий, отсутствуя ( Если какие-либо отсутствующие значения находятся между наблюдаемыми величинами, то приложение возвращает вектор |
Различие первого порядка | Имеет стохастический тренд | Econometric Modeler предварительно ожидает differenced ряд с NaN значение. Это действие гарантирует, что differenced ряд имеет ту же длину и основу времени как исходный ряд. |
Сезонное различие | Имеет сезонный, стохастический тренд | Можно задать период в сезон с помощью поля счетчика. Например, Econometric Modeler предварительно ожидает differenced ряд с |
Для получения дополнительной информации смотрите Преобразования данных.
Чтобы преобразовать переменную, выберите переменную в Data Browser, затем кликните по преобразованию. После того, как вы преобразуете ряд, новая переменная, представляющая преобразованный ряд, появляется в Data Browser. Кроме того, Econometric Modeler строит и выбирает новую переменную. Чтобы создать имя переменной, приложение добавляет имя преобразования в конец имени переменной. Можно переименовать преобразованную переменную путем щелчка правой кнопкой по нему по Data Browser, выбора Rename в контекстном меню, затем ввода нового имени. Можно выбрать несколько рядов путем нажатия Ctrl и нажатия на каждый ряд, и затем применить то же преобразование к выбранному ряду одновременно. Приложение создает новые переменные для каждого ряда, добавляет имя преобразования в конец каждого преобразованного имени переменной и строит преобразованные переменные в той же фигуре.
Например, предположите что серия GDP в Data_USEconModel
имеет экспоненциальный тренд и стохастический тренд. Стабилизируйте GDP путем применения логарифмического преобразования и затем применения второго различия.
Импортируйте DataTable
переменная в Data_USEconModel
набор данных в Econometric Modeler (см. Переменные Временных рядов Импорта).
В Data Browser выберите GDP
.
На вкладке Econometric Modeler, в разделе Transforms, нажимают Log. Приложение создает переменную под названием GDPLog
, который появляется в Data Browser и отображает график для временных рядов.
В разделе Transforms нажмите Difference. The app создает переменную под названием GDPLogDiff
и отображает график для временных рядов.
В разделе Transforms нажмите Difference. Приложение создает переменную под названием GDPLogDiffDiff
и отображает график для временных рядов.
GDPLogDiffDiff
стабилизированный GDP.
Результаты исследовательского анализа данных могут предложить несколько моделей кандидата. Чтобы выбрать модель, в Data Browser, выбирают переменную временных рядов для ответа, затем, на вкладке Econometric Modeler, в разделе Models, кликают по модели или щелкают один в галерее моделей. Econometric Modeler поддерживает следующие модели.
Модель | Ввод |
---|---|
Условное среднее значение: раздел ARMA/ARIMA Models | Стационарный авторегрессивный (AR) Для получения дополнительной информации см. Авторегрессивную Модель, |
Стационарное скользящее среднее значение (MA) Для получения дополнительной информации см. Модель Скользящего среднего значения, | |
Стационарный ARMA Для получения дополнительной информации см. Авторегрессивную Модель Скользящего среднего значения, | |
Неустановившийся, интегрированный ARMA (ARIMA) Для получения дополнительной информации см. Модель ARIMA, | |
Сезонный (мультипликативный) ARIMA (SARIMA) Для получения дополнительной информации см. Мультипликативную Модель ARIMA, | |
ARIMA включая внешние предикторы (ARIMAX) Для получения дополнительной информации см., что Модель ARIMA Включает Внешние Коварианты, | |
Сезонный ARIMAX Для получения дополнительной информации смотрите | |
Условное отклонение: раздел GARCH Models | Обобщенное авторегрессивное условное выражение heteroscedastic (GARCH) Для получения дополнительной информации см. Модель GARCH, |
Экспоненциал GARCH (EGARCH) Для получения дополнительной информации см. Модель EGARCH, | |
Glosten, Jagannathan и Runkle (GJR) Для получения дополнительной информации см. Модель GJR, | |
Многофакторная линейная регрессия: раздел Regression Models | Многофакторная линейная регрессия Для получения дополнительной информации смотрите Регрессию Временных рядов I: Линейные Модели, |
Модель Regression с ошибками ARMA Для получения дополнительной информации см. Модели Регрессии с Ошибками Временных рядов, |
Для условной средней оценки модели SARIMA и SARIMAX являются самыми гибкими моделями. Можно создать любую условную среднюю модель, которая исключает внешние предикторы путем нажатия на SARIMA, или можно создать любую условную среднюю модель, которая включает по крайней мере один внешний предиктор путем нажатия на SARIMAX.
После того, как вы выбираете модель, отображения приложения Type
Диалоговое окно Model Parameters, где Type
тип модели. Этот рисунок показывает диалоговое окно SARIMAX Model Parameters.
Корректируемые параметры в Type
Окно Model Parameters зависит от Type
. В общем случае корректируемые параметры включают:
Константа модели (смещение или прерывание) и коэффициенты линейной регрессии, соответствующие переменным предикторам (см. Настраивающие Параметры Компонента Постоянного и Регрессии Модели),
Параметры компонента временных рядов, которые включают сезонные и несезонные задержки и степени интегрирования (см. Настраивающие Параметры Компонента Временных рядов),
Инновационное распределение (см. Настраивающие Инновационные Параметры распределения),
Когда вы настраиваете значения параметров, уравнение в разделе Model Equation изменяется, чтобы совпадать с вашими техническими требованиями. Корректируемые параметры соответствуют входному и аргументам пары "имя-значение", описанным на соответствующих страницах с описанием создания модели. Для получения дополнительной информации смотрите страницу ссылки на функцию для определенной модели. Независимо от модели вы выбираете, все коэффициенты в модели являются неизвестными и допускающими оценку, включая t - параметр степеней свободы распределения (когда вы задаете инновационное распределение t).
Econometric Modeler не поддерживает:
Корректировки опции оптимизации к оценке.
Составьте условное среднее значение и модели отклонения. Для получения дополнительной информации смотрите, Задают Условные Модели Среднего значения и Отклонения.
Применение ограничений равенства к заданным параметрам во время оценки (за исключением содержания параметров, зафиксированных в нуле во время оценки).
Чтобы настроить опции оптимизации, оценка составляет условное среднее значение и модели отклонения, или применяет ограничения равенства, использует командную строку MATLAB.
Чтобы включать константу модели (смещение или прерывание) термин, установите флажок Include Constant Term или Include Offset Term. Чтобы удалить константу модели (то есть, ограничьте его обнулять во время оценки), снимите флажок. Местоположение и тип флажка в Type
Диалоговое окно Model Parameters зависит от типа модели. По умолчанию Econometric Modeler включает константу модели во все типы модели кроме условных моделей отклонения.
Чтобы выбрать предикторы для компонента регрессии, в списке Predictors, устанавливают флажок в столбце Include?, соответствующем предикторам, которые вы хотите включать в модель. По умолчанию приложение не включает компонент регрессии ни в какой тип модели.
Если вы выбираете ARIMAX, SARIMAX или RegARMA, то необходимо выбрать по крайней мере один предиктор.
Если вы выбираете MLR, то можно задать одно из следующего:
Модель MLR, когда вы выбираете по крайней мере один предиктор
Постоянная средняя модель (модель только для прерывания), когда вы снимаете все флажки в столбце Include? и устанавливаете флажок Include Intercept
Модель только для ошибки, когда вы снимаете все флажки в столбце Include? и снимаете флажок Include Intercept
Рассмотрите модель линейной регрессии GDP на CPI и уровень безработицы. Задавать регрессию:
Импортируйте DataTable
переменная в Data_USEconModel
набор данных в Econometric Modeler (см. Переменные Временных рядов Импорта).
В Data Browser выберите переменную отклика GDP
.
На вкладке Econometric Modeler, в разделе Models, кликают по стреле, чтобы отобразить галерею моделей.
В галерее моделей, в разделе Regression Models, нажимают MLR.
В диалоговом окне MLR Model Parameters, в столбце Include?, устанавливают флажки CPIAUCSL и UNRATE.
Нажмите кнопку Estimate.
В общем случае параметры компонента временных рядов содержат задержки, чтобы включать в сезонные и несезонные полиномы оператора задержки и сезонные и несезонные степени интегрирования.
Для условных средних моделей можно задать сезонные и несезонные авторегрессивные задержки и сезонные и несезонные задержки скользящего среднего значения. Можно также настроить сезонные и несезонные степени интегрирования.
Для условных моделей отклонения можно задать задержки GARCH и ДУГА. Модели EGARCH и GJR также поддерживают задержки рычагов.
Для моделей регрессии с ошибками ARMA можно задать несезонные задержки авторегрессивного и скользящего среднего значения. Для моделей, содержащих сезонные задержки или степени сезонного или несезонного интегрирования, используйте командную строку вместо этого.
Econometric Modeler поддерживает две опции, чтобы настроить параметры. Опции корректировки находятся на отдельных вкладках Type
Диалоговое окно Model Parameters: Lag Order и вкладки Lag Vector. На вкладке Lag Order можно задать порядки полиномов оператора задержки. Эта функция позволяет вам включать все задержки эффективно, от 1 до заданного порядка, в полиноме оператора задержки. На вкладке Lag Vector можно задать отдельные задержки, которые включают полином оператора задержки. Эта функция хорошо подходит для создания гибких моделей. Для получения дополнительной информации смотрите Полиномы Оператора Задержки Определения В интерактивном режиме.
Для всех моделей можно указать, что распределение инноваций является Гауссовым. Для всех моделей, кроме моделей многофакторной линейной регрессии, можно задать t Студента вместо этого, чтобы обратиться к инновационным распределениям с эксцессом выше нормального (для получения дополнительной информации, смотрите Оценку Наибольшего правдоподобия для Условных Средних Моделей, Оценку Наибольшего правдоподобия для Условных Моделей Отклонения или Оценку Наибольшего правдоподобия regARIMA Моделей). Если вы задаете распределение t, то Econometric Modeler оценивает свой параметр степеней свободы с помощью наибольшего правдоподобия.
По умолчанию Econometric Modeler использует Распределение Гаусса в инновациях. Изменить инновационное распределение, в Type
Диалоговое окно Model Parameters, от кнопки Innovation Distribution, выбирает распределение в списке.
Econometric Modeler обрабатывает все параметры в модели как неизвестные и допускающие оценку. После того, как вы задаете модель, соответствуете ей к данным путем нажатия на Estimate в Type
Диалоговое окно Model Parameters.
Econometric Modeler требует, чтобы начальные значения для допускающих оценку параметров и преддемонстрационных наблюдений инициализировали модель для оценки. Econometric Modeler всегда выбирает начальные и преддемонстрационные значения по умолчанию как описано в estimate
страница с описанием модели вы хотите оценить.
Если Econometric Modeler выдает ошибку во время оценки, то:
Заданная модель плохо описывает данные. Настройте параметры модели, затем оцените новую модель.
В командной строке настройте опции оптимизации и оцените модель. Для получения дополнительной информации смотрите Настройки Оптимизации для Условной Средней Оценки Модели, Настройки Оптимизации для Условной Оценки Модели Отклонения или Настройки Оптимизации для regARIMA Оценки Модели.
После того, как вы оцениваете модель:
Новая переменная, которая описывает предполагаемую модель, появляется в разделе Models Data Browser с именем Type_response
Ввод
тип модели и response
переменная отклика, к которой Econometric Modeler подбирают модель, например, ARIMA_FEDFUNDS
.
Вы работаете с предполагаемой моделью в Data Browser путем щелчка правой кнопкой по нему. В дополнение к опциям, доступным для переменных временных рядов (см. Переменные Временных рядов Импорта), контекстное меню включает Modify
опция, которая позволяет вам изменить и повторно оценить модель. Например, щелкните правой кнопкой по модели и выберите Modify
. Затем в Type
Диалоговое окно Model Parameters, настройте параметры и нажмите Estimate.
Сводные данные модели (Type_response
) документ, обобщающий результаты оценки, появляется на правой панели. Показанные результаты зависят от типа модели. Для условного среднего значения и моделей регрессии, результаты включают:
Model Fit — График временных рядов ряда ответа и подходящих значений
Parameters — сводная таблица оценки, содержащая оценки параметра, стандартные погрешности, и статистику t и p - значения для тестирования нулевой гипотезы, что соответствующий параметр 0
Residual Plot — График временных рядов остаточных значений
Модель Goodness of Fit — Akaike information criterion (AIC) и Bayesian information criterion (BIC) соответствует статистике
Для условных моделей отклонения результаты также включают сводную таблицу оценки и статистику качества подгонки, но графики Econometric Modeler:
Conditional Variances — График временных рядов выведенных условных отклонений
Standardized Residuals — График временных рядов стандартизированных остаточных значений , где c является предполагаемым смещением
Можно взаимодействовать с индивидуальными участками путем приостановки на одном и выбора взаимодействия (см. Данные временных рядов Визуализации). Можно также взаимодействовать со сводными данными путем щелчка правой кнопкой по документу. Опции включают:
Export — Поместите график в отдельном окне рисунка.
Show Model — Отобразите сводные данные другой предполагаемой модели, указав на Show Model, затем выбрав модель в списке.
Show Recessions — Постройте полосы рецессии в графиках временных рядов.
Рассмотрите SARIMA (0,1,1) × (0,1,1) 12 для ежемесячных международных чисел авиапассажира от 1 949 до 1960 в Data_Airline
набор данных. Оценить эту модель с помощью Econometric Modeler:
Импортируйте DataTable
переменная в Data_Airline
набор данных в Econometric Modeler (см. Переменные Временных рядов Импорта).
На вкладке Econometric Modeler, в разделе Models, кликают по стреле> SARIMA.
В диалоговом окне SARIMA Model Parameters, на вкладке Lag Order:
Раздел Nonseasonal
Установите Degrees of Integration на 1
.
Установите Moving Average Order на 1
.
Снимите флажок Include Constant Term.
Раздел Seasonal
Установите Period на 12
указать на ежемесячные данные.
Установите Moving Average Order на 1
.
Установите флажок Include Seasonal Difference.
Нажмите Estimate.
Переменная под названием SARIMA_PSSG
появляется в разделе Models Data Browser, и эти сводные данные оценки появляются в новом документе Model Summary(SARIMA_PSSG).
После того, как вы оцениваете модель, хорошая практика должна определить соответствие подобранной модели (см. Качество подгонки). Econometric Modeler хорошо подходит для того, чтобы визуально оценить подгонку в выборке (для всех моделей кроме условных моделей отклонения) и выполнить остаточную диагностику.
Остаточная диагностика включает оценку предположений модели и исследование, необходимо ли повторно задать модель, чтобы обратиться к другим свойствам данных. Предположения модели, чтобы оценить включают проверку, сосредоточены ли остаточные значения на нуле, нормально распределенном, гомоскедастичном, и последовательно некоррелированом. Если остаточные значения не демонстрируют все эти свойства, то необходимо определить серьезность отъезда, преобразовать ли данные, и задать ли различную модель. Для получения дополнительной информации об остаточной диагностике смотрите Регрессию Временных рядов VI: Остаточная Диагностика и Остаточная Диагностика.
Чтобы выполнить проверки качества подгонки с помощью Econometric Modeler, в разделе Models Data Browser, выбирают предполагаемую модель. Затем завершите следующие шаги:
Чтобы визуально оценить пригодное в выборке для всех моделей (кроме условных моделей отклонения), смотрите график Model Fit в документе Model Summary.
Визуально оценить, сосредоточены ли остаточные значения на нуле, автокоррелировало, и heteroscedastic, смотрите Residual Plot в документе Model Summary.
На вкладке Econometric Modeler, в разделе Diagnostics, нажимают Residual Diagnostics. Галерея диагностики предоставляет эти остаточные графики и тесты.
Метод | Диагностика |
---|---|
Остаточная гистограмма | Визуально оцените нормальность |
Остаточный график квантиля квантиля | Визуально оцените нормальность и скошенность |
ACF | Визуально оцените, автокоррелируются ли остаточные значения |
Q-тест Ljung-поля | Протестируйте остаточные значения на значительную автокорреляцию |
ACF квадратов остатков | Визуально оцените, имеют ли остаточные значения условное выражение heteroscedasticity |
Тест ДУГИ Энгла | Протестируйте остаточные значения на условное выражение heteroscedasticity (значительные эффекты ДУГИ) |
В качестве альтернативы построить гистограмму, график квантиля квантиля или ACF остаточных значений предполагаемой модели:
Выберите модель в Data Browser.
Кликните по вкладке Plots.
В разделе Plots кликните по стреле и затем кликните по одному из графиков в разделе Model Plots галереи.
Другая важная проверка качества подгонки является оценкой прогнозирующей производительности. Оценить прогнозирующую производительность нескольких моделей:
Соответствуйте набору моделей к данным с помощью Econometric Modeler.
Выполните остаточную диагностику на всех моделях.
Выберите подмножество моделей с желательными остаточными свойствами и минимальной подходящей статистикой (см. Модель Открытия с Лучшей Подгонкой В выборке).
Экспортируйте выбранные модели в рабочее пространство MATLAB (см. Результаты Сеанса Экспорта).
Выполните прогнозирующую оценку производительности в командной строке (см., Оценивают Прогнозирующую Производительность).
Для примера смотрите, Сравнивают Прогнозирующую Производительность После Создания Моделей Используя Приложение Econometric Modeler.
Рассмотрите выполняющие проверки качества подгонки на предполагаемом SARIMA (0,1,1) × (0,1,1) 12 моделей для данных о количествах авиакомпании в Оценке Модели.
На правой панели, на документе Model Summary(SARIMA_PSSG):
Model Fit предполагает, что модель соответствует к данным довольно хорошо.
Residual Plot предлагает, чтобы остаточные значения имели среднее значение нуля. Однако остаточные значения появляются heteroscedastic и последовательно коррелируемый.
На вкладке Econometric Modeler, в разделе Diagnostics, нажимают Residual Diagnostics. В галерее диагностики:
Нажмите Residual Q-Q Plot. Отображение правой панели окно рисунка под названием QQPlot(SARIMA_PSSG), содержащий график квантиля квантиля остаточных значений.
График предполагает, что остаточные значения приблизительно нормальны, но с немного более тяжелыми хвостами.
Нажмите Autocorrelation Function. В панели инструментов вкладка ACF появляется и содержит опции графика. Правая панель отображает окно рисунка под названием ACF(SARIMA_PSSG), содержащий ACF остаточных значений.
Поскольку почти все демонстрационные значения автокорреляции ниже доверительных границ, остаточные значения, вероятно, последовательно не коррелируются.
Нажмите Engle's ARCH Test. На вкладке ARCH, в разделе Tests, нажимают Run Test, чтобы запустить тест с помощью опций по умолчанию. Правая панель отображает документ ARCH(SARIMA_PSSG), который показывает результаты испытаний в таблице Results.
Результаты предлагают отклонение нулевой гипотезы, что остаточные значения не показывают эффектов ДУГИ на 5%-м уровне значения. Можно попытаться удалить heteroscedasticity путем применения логарифмического преобразования к ряду.
Econometric Modeler позволяет вам подбирать несколько связанных моделей к набору данных эффективно. После того, как вы оцениваете модель, можно оценить, что другие модели путем итерации методов в Выполняют Исследовательский Анализ данных, Подбирая Модели к Данным, и Осуществляя Проверки Качества подгонки. После каждой итерации новая переменная модели появляется в разделе Models Data Browser.
Для моделей в том же параметрическом семействе, которому вы соответствуете к тому же ряду ответа, можно определить модель с лучшей экономной, подгонкой в выборке среди предполагаемых моделей путем сравнения их подходящей статистики. От подмножества моделей кандидата, чтобы определить модель лучшей подгонки с помощью Econometric Modeler:
В разделе Models Data Browser дважды кликните предполагаемую модель. На правой панели результаты оценки модели появляются в Сводных данных Модели (Model
) документ, где Model
имя выбранной модели.
На сводных данных модели (Model
) документ, в таблице Goodness of Fit, выбирает подходящую статистическую величину (AIC или BIC) и записывает его значение.
Выполните итерации предыдущих шагов для всех моделей кандидата.
Выберите модель, которая дает к минимальной подходящей статистической величине.
Для получения дополнительной информации о статистике качества подгонки смотрите информационные Критерии.
Рассмотрите нахождение модели SARIMA оптимальной подгонки, с периодом 12, для журнала количеств авиапассажира в Data_Airline
набор данных. Соответствуйте подмножеству моделей SARIMA, рассматривая все комбинации моделей, которые включают до двух сезонных и несезонных задержек MA.
Импортируйте DataTable
переменная в Data_Airline
набор данных в Econometric Modeler (см. Переменные Временных рядов Импорта).
Примените логарифмическое преобразование к PSSG
(см. временные ряды преобразования).
Соответствуйте SARIMA (0,1, q) × (0,1, q 12) 12 к PSSGLog
, где все неизвестные порядки 0 (см. Оценку Модели).
На правой панели, на документе Model Summary(SARIMA_PSSGLog), в таблице Goodness of Fit, записывают значение AIC.
В Data Browser выберите PSSGLog
.
Выполните итерации шагов 4 и 5, но настройте q и q 12, чтобы покрыть девять сочетаний q ∈ {0
,1,2
} и q 12 ∈ {
0
,1,2
}. Econometric Modeler отличает последующие модели того же типа путем добавления последовательных цифр в конец имени переменной.
Получившиеся значения AIC находятся в этой таблице.
Модель | Имя переменной | AIC |
---|---|---|
SARIMA (0,1,0) × (0,1,0) 12 | SARIMA_PSSGLog1 | -491.8042 |
SARIMA (0,1,0) × (0,1,1) 12 | SARIMA_PSSGLog2 | -530.5327 |
SARIMA (0,1,0) × (0,1,2) 12 | SARIMA_PSSGLog3 | -528.5330 |
SARIMA (0,1,1) × (0,1,0) 12 | SARIMA_PSSGLog4 | -508.6853 |
SARIMA (0,1,1) × (0,1,1) 12 | SARIMA_PSSGLog5 | -546.3970 |
SARIMA (0,1,1) × (0,1,2) 12 | SARIMA_PSSGLog6 | -544.6444 |
SARIMA (0,1,2) × (0,1,0) 12 | SARIMA_PSSGLog7 | -506.8027 |
SARIMA (0,1,2) × (0,1,1) 12 | SARIMA_PSSGLog8 | -544.4789 |
SARIMA (0,1,2) × (0,1,2) 12 | SARIMA_PSSGLog9 | -542.7171 |
Поскольку это дает к минимальному AIC, SARIMA (0,1,1) × (0,1,1), 12 моделей являются моделью с лучшей экономной, подгонкой в выборке.
Econometric Modeler предлагает несколько опций для вас, чтобы совместно использовать ваши результаты сеанса. Опция, которую вы выбираете, зависит от ваших аналитических целей.
Опции для совместного использования ваших результатов находятся в разделе Export вкладки Econometric Modeler. Эта таблица описывает доступные параметры.
Опция | Описание |
---|---|
Экспортируйте переменные | Экспортируйте временные ряды и переменные модели к рабочему пространству MATLAB. Выберите эту опцию, чтобы выполнить последующий анализ в командной строке MATLAB. Например, можно сгенерировать прогнозы из предполагаемой модели или проверять прогнозирующую производительность нескольких моделей. |
Сгенерируйте функцию | Сгенерируйте функцию MATLAB, чтобы использовать вне приложения. Функция принимает данные, загруженные в приложение, как введено, и выводит модель, оцененную на сеансе приложения. Выберите эту опцию к:
|
Сгенерируйте live функцию | Сгенерируйте live функцию MATLAB, чтобы использовать вне приложения. Функция принимает данные, загруженные в приложение, как введено, и выводит модель, оцененную на сеансе приложения. Выберите эту опцию к:
|
Сгенерируйте отчет | Сгенерируйте отчет, который обобщает сеанс. Выберите эту опцию, когда вы достигаете своих аналитических целей в Econometric Modeler, и вы хотите совместно использовать сводные данные результатов. |
Экспортировать временные ряды и оцененные переменные модели от Data Browser до рабочего пространства MATLAB:
На вкладке Econometric Modeler, в разделе Export, нажатии кнопки или Export> Export Variables.
В диалоговом окне Export Variables все переменные временных рядов в Data Browser появляются на левой панели, и все переменные модели появляются на правой панели. Выберите временные ряды и переменные модели, чтобы экспортировать путем устанавливания соответствующих флажков в столбце Select. Приложение устанавливает флажок всех временных рядов или переменных модели, которые выбраны в Data Browser. Снимите любые флажки для переменных вам, не хотят экспортировать. Например, этот рисунок показывает, как выбрать PSSGLog
временные ряды и SARIMA_PSSGLog
Модель SARIMA.
Нажмите Export.
Выбранные переменные появляются в рабочем пространстве MATLAB. Переменные временных рядов являются вектор-столбцами с двойной точностью. Предполагаемые модели являются объектами типа в зависимости от модели (например, экспортируемой моделью ARIMA является arima
объект.
В качестве альтернативы можно экспортировать переменные из Data Browser путем выбора по крайней мере одной переменной, щелчка правой кнопкой по выбранной переменной и выбора Export.
Приложение может сгенерировать функцию простого текста или live функцию. Основным различием между двумя функциями является редактор, используемый, чтобы изменить сгенерированную функцию: вы редактируете функции простого текста в редакторе MATLAB и live функции в Live Editor. Для получения дополнительной информации о различиях между двумя функциональными типами смотрите то, Что Live Script или Функция? MATLAB.
Независимо от функционального типа вы выбираете, сгенерированная функция принимает данные, загруженные в приложение, как введено, и выводит модель, оцененную на сеансе приложения. Чтобы экспортировать функцию MATLAB или live функцию, которая создает модель, оцененную на сеансе приложения:
В Data Browser выберите предполагаемую модель.
На вкладке Econometric Modeler, в разделе Export, нажимают Export. В меню Export выберите Generate Function или Generate Live Function.
Редактор MATLAB или Live Editor отображают неназванную, несохраненную функцию, содержащую код, который оценивает модель.
По умолчанию именем функции является modelTimeSeries
.
Функция принимает первоначально импортированный набор данных, как введено.
Прежде чем функция оценивает модель, она извлекает переменные из набора входных данных, используемого по оценке, и применяет те же преобразования к переменным, которые вы применили в Econometric Modeler.
Функция возвращает выбранную предполагаемую модель.
Рассмотрите генерацию live функции, которая возвращает SARIMA_PSSGLog
, SARIMA (0,1,1) × (0,1,1) 12 подгонок модели к журналу данных авиапассажира (см. Оценку Модели). Этот рисунок показывает сгенерированную live функцию.
Econometric Modeler может представить отчет, описывающий ваши действия на выбранных временных рядах и переменных модели. Приложение организует отчет в главы, соответствующие выбранным временным рядам и переменным модели. Главы описывают действия сеанса, которые вы выполняете на соответствующей переменной.
Главы по переменным временных рядов описывают преобразования, графики и тесты, которые вы выполняете на выбранной переменной на сеансе. Предполагаемые главы модели содержат сводные данные оценки, то есть, элементы документа Model Summary (см. Оценку Модели), и остаточные графики диагностики и тесты.
Можно экспортировать отчет как один из следующих типов документа:
Язык разметки гипертекста (HTML)
Документ Microsoft® Word XML Format (DOCX)
Формат переносимых документов (PDF)
Экспортировать отчет:
На вкладке Econometric Modeler, в разделе Export, нажимают Export> Generate Report.
В диалоговом окне Select items to include in report все переменные временных рядов в Data Browser появляются на левой панели, и все переменные модели появляются на правой панели. Выберите переменные, чтобы включать отчет путем устанавливания их флажков в столбце Select.
Выберите тип документа путем нажатия на Report Format и выбора формата, который вы хотите.
Нажмите OK.
В окне Select File to Write:
Просмотрите к папке, в которой вы хотите сохранить отчет.
В поле File name введите имя для отчета.
Нажмите Save.
Рассмотрите генерацию отчета HTML для анализа данных авиапассажира (см. Осуществляющие Проверки Качества подгонки). Этот рисунок показывает, как выбрать все переменные и формат HTML.
Этот рисунок показывает выборку сгенерированного отчета.
[1] Поле, G. E. P. Г. М. Дженкинс и Г. К. Рейнсель. Анализ Временных Рядов: Прогнозирование и Управление. 3-й редактор Englewood Cliffs, NJ: Prentice Hall, 1994.