boxcox

Преобразование Бокса-Кокса

Использование fints объект для tsobj аргумент boxcox не рекомендуется. Использовать fts2timetable для преобразования fints объект в timetable объект, а затем используйте timetable2table и table2array.

Синтаксис

[transdat,lambda] = boxcox(data)
[transfts,lambda] = boxcox(tsobj)
transdat = boxcox(lambda,data)
transfts = boxcox(lambda,tsobj)

Аргументы

data

Вектор данных. Должен быть положительным и задан как вектор данных столбца.

tsobj

Объект финансовых временных рядов.

Описание

boxcox преобразует ненормально распределенные данные в набор данных, который имеет приблизительно нормальное распределение. Преобразование Бокса - Кокса является семейством степеней.

Если и не является = 0, затем

data(λ)=dataλ1λ

Если и есть = 0, затем

data(λ)=log(data)

Логарифм является естественным логарифмом (логарифмическая база e). Алгоритм вызывает нахождение значения, которое максимизирует функцию логарифмической правдоподобности (LLF). Поиск осуществляется с помощью fminsearch.

[transdat,lambda] = boxcox(data) преобразует вектор данных data используя метод преобразования Box-Cox в transdat. Это также оценивает параметр преобразования

[transfts,lambda] = boxcox(tsojb) преобразует объект финансовых временных рядов tsobj используя метод преобразования Box-Cox в transfts. Это также оценивает параметр преобразования

Если входные данные являются вектором, lambda является скаляром. Если вход является объектом финансовых временных рядов, lambda - структура с полями, подобными компонентам объекта; для примера, если объект содержит имена рядов Open и Close, lambda имеет поля lambda.Open и lambda.Close.

transdat = boxcox(lambda, data) и transfts = boxcox(lambda, tsobj) преобразуйте данные, используя определенное заданное и для преобразования Box-Cox. Этот синтаксис не находит оптимума, который максимизирует LLF.

Примеры

свернуть все

Использование boxcox преобразование ряда данных, содержащихся в объекте финансовых временных рядов, в другой набор рядов данных с относительно нормальными распределениями.

Создайте объект финансовых временных рядов из предоставленных whirlpool.dat файл данных.

whrl = ascii2fts('whirlpool.dat', 1, 2, []);
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.

Заполните все отсутствующие значения, обозначенные NaN's в whrl со значениями, вычисленными методом Linear.

f_whrl = fillts(whrl);
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.

Преобразуйте ненормально распределенный заполненный ряд данных f_whrl в нормально распределенный с использованием преобразования Box-Cox.

bc_whrl = boxcox(f_whrl);
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.

Сравните результат Close последовательность данных с нормальной (Гауссовой) функцией распределения вероятностей и ненормально распределенной f_whrl.

subplot(2, 1, 1);
hist(f_whrl.Close);
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.
grid; title('Nonnormally Distributed Data');
subplot(2, 1, 2);
hist(bc_whrl.Close);
Warning: FINTS is not recommended. Use TIMETABLE instead. For more information, see <a href="matlab:web(fullfile(docroot, 'finance/convert-from-fints-to-timetables.html'))">Convert Financial Time Series Objects (fints) to Timetables</a>.
grid; title('Box-Cox Transformed Data');

Figure contains 2 axes. Axes 1 with title Nonnormally Distributed Data contains an object of type patch. Axes 2 with title Box-Cox Transformed Data contains an object of type patch.

Столбчатая диаграмма сверху представляет функцию распределения вероятностей заполненного ряда данных, f_whrl, который является исходным рядом данных whrl с отсутствующими значениями, интерполированными с помощью метода Linear. Распределение наклонено налево (обычно не распределено). Столбчатая диаграмма внизу имеет меньший наклон налево. Если вы строите график функции распределения вероятностей (PDF) с подобным средним и стандартным отклонением, распределение преобразованных данных очень близко к нормальному (Гауссов). Когда вы исследуете содержимое получившегося объекта bc_whrl, вы находите идентичный объект исходному объекту whrl но содержимое представляет собой преобразованный ряд данных.

Представлено до R2006a