boxcox

Преобразование Cox поля

boxcox был частично удален и больше не будет принимать объект fints (tsobj).

Замените все экземпляры объекта fints (tsobj) для входа с массивом при помощи fts2timetable, чтобы преобразовать объект fints в объект timetable и затем использовать timetable2table и table2array.

Синтаксис

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

Аргументы

data

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

tsobj

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

Описание

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

Если λ не = 0, то

data(λ)=dataλ1λ

Если λ = 0, то

data(λ)=журнал(data)

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

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

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

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

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

Примеры

свернуть все

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

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

whrl = ascii2fts('whirlpool.dat', 1, 2, []);
Warning: FINTS will be removed in a future release. 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 в whrl со значениями, вычисленными с помощью линейного метода.

f_whrl = fillts(whrl);
Warning: FINTS will be removed in a future release. 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 данных в нормально распределенное использование преобразование Cox Поля.

bc_whrl = boxcox(f_whrl);
Warning: FINTS will be removed in a future release. 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 will be removed in a future release. 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 will be removed in a future release. 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');

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

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

Для просмотра документации необходимо авторизоваться на сайте