Трансформация Бокса-Кокса |
Здравствуйте, гость ( Вход | Регистрация )
Трансформация Бокса-Кокса |
10.12.2007 - 02:46
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 7 Регистрация: 6.11.2007 Пользователь №: 4508 |
Здравствуйте,
Ситуация: есть данные по шести экспериментальным группам. Хочу сделать АНОВУ, знаю что для этого данные должны быть нормально распределены. Вопрос такой: Как смотреть распределение (1) у всех групп по отдельности или (2) у всех групп вместе. Если (1) у 5 групп нормально распределены а у одной нет. Что делать. Что такое Cox-Box трансформация. Как ее сделать. Правда ли что это самая мощная трансформация? |
|
10.12.2007 - 14:04
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 1114 Регистрация: 10.04.2007 Пользователь №: 4040 |
В случае, если распределение не является нормальным, нужно делать непараметрический дисперсионный анализ. К данной категории относятся: критерий Джонкхиера-Терпстра, критерий Краскела-Уоллиса, критерий Данна, ранговый критерий Фридмана, критерий Q Кокрена. Исходя из шкалы измерения и сопряженности исходных данных, следует выбрать подходящий метод.
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
11.12.2007 - 22:21
Сообщение
#3
|
|
Группа: Пользователи Сообщений: 1013 Регистрация: 4.10.2006 Пользователь №: 1933 |
Рискуя показаться назойливым, все равно повторю - для проведения теста надо знать распределение показателя в популяции, а не в выборке. Поскольку основное допущение дисперсионного анализа - что все группы пришли из одной популяции, то надо анализировать суммарное распределение. Дисперсионный анализ относительно устойчив к небольшим отклонениям от нормального распределения, поэтому если отклонения будут небольшими, можно пользоваться и обычным дисперсионным анализом.
Трансформация Бокса-Кокса действительно используется достаточно часто для того, чтобы нормализовать данные. T(трансформированное значение)=frac{y^{\lambda}-1}{\lambda} если lambda не равно 0 и T(трансформированное значение)=ln{y} если lambda=0 Довольно часто программы имеют встроенные процедуры, которые позволяют найти наилучшее значение lambda. Затем данные трансформируются и с ними работают, как с исходными. |
|
12.12.2007 - 09:10
Сообщение
#4
|
|
Группа: Пользователи Сообщений: 1114 Регистрация: 10.04.2007 Пользователь №: 4040 |
Если не трудно, просьба указать источники, по которым можно ознакомиться с преобразованием Бокса-Кокса и другими методами нормализации данных, в том числе с критериями адекватности такой нормализации.
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
12.12.2007 - 13:09
Сообщение
#5
|
|
Группа: Пользователи Сообщений: 1013 Регистрация: 4.10.2006 Пользователь №: 1933 |
Достаточно полное описание методов трансформации, включая трансформацию Бокса-Кокса дано в Armitage P., Berry G., Matthews J. Statistical Methods in Medical Research (Blackwell Science, 2002) раздел 10.8
Оригинальная работа была опубликована Box, George E. P.; Cox, D. R. (1964). "An analysis of transformations". Journal of Royal Statistical Society, Series B 26: 211-246 Очень неплохой обзор современного состояния, включая ряд проблем трансформации (достаточно технический) можно найти тут http://www.stat.uconn.edu/~studentjournal/.../pengfi_s05.pdf Википедия содержит краткое введение со ссылками на интерактивные экспериментальные страницы http://en.wikipedia.org/wiki/Box-Cox_transformation Довольно много статей посвященных разным аспектам использования этой трансформации, в основном в эконометрической литературе, есть в Интернете, например http://ageconsearch.umn.edu/bitstream/1234.../1/08010068.pdf Кроме того, как обычно SAS предоставляет описание этого вида трансформации в документации на процедуру TRANSREG, которая как раз выполняет трансформацию по Боксу-Коксу и находит наилучшие значения параметра лямбда с которыми и может выполнять дисперсионный анализ или регрессию |
|
12.12.2007 - 13:16
Сообщение
#6
|
|
Группа: Пользователи Сообщений: 1114 Регистрация: 10.04.2007 Пользователь №: 4040 |
Большое спасибо.
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
12.07.2008 - 16:46
Сообщение
#7
|
|
Группа: Пользователи Сообщений: 1114 Регистрация: 10.04.2007 Пользователь №: 4040 |
Собрал комплект оригинальных источников.
А есть ли по трансформациям вообще источники на русском языке? Если кто знает, укажите, пожалуйста. Интересуют, конечно, не учебники по эконометрике, почти в каждом из которых метод упоминается, а работы, к примеру, описывающие алгоритмы подбора параметров преобразования. Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
12.07.2008 - 18:22
Сообщение
#8
|
|
Группа: Пользователи Сообщений: 1013 Регистрация: 4.10.2006 Пользователь №: 1933 |
Собрал комплект оригинальных источников. А есть ли по трансформациям вообще источники на русском языке? Если кто знает, укажите, пожалуйста. Интересуют, конечно, не учебники по эконометрике, почти в каждом из которых метод упоминается, а работы, к примеру, описывающие алгоритмы подбора параметров преобразования. Так вроде Бокс и Кокс в своей статье как раз описали алгоритм, основанный на методе максимального правдоподобия. |
|
12.07.2008 - 18:49
Сообщение
#9
|
|
Группа: Пользователи Сообщений: 1114 Регистрация: 10.04.2007 Пользователь №: 4040 |
Да, конечно, изучаем.
Метод Зарембки оценки параметра лямбда искал. О русских источниках и речи нет Английские не смог пока найти в бесплатном виде. Если не будут найдены работы, можно будет восстановить алгоритм по косвенным источникам. Что не раз уже бывало. Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
13.07.2008 - 13:24
Сообщение
#10
|
|
Группа: Пользователи Сообщений: 1202 Регистрация: 13.01.2008 Из: Челябинск Пользователь №: 4704 |
... О русских источниках и речи нет... Разбирался с Б-К год назад - прикрепил файл с пошаговым решением на примере (в форматах doc и на случай неотображения формул - pdf). Источник там указан, правда на итальянском, но понять что к чему можно. К сожалению, это самое простое преобразование Бокса-Кокса - однопараметрическое, не предусматривающее сдвига распределения на константу. Но именно оно чаще всего и используется.
Прикрепленные файлы
Преобразование_Бокса_Кокса.zip ( 31,66 килобайт )
Кол-во скачиваний: 845
Преобразование_Бокса_Кокса.pdf ( 112,12 килобайт ) Кол-во скачиваний: 1394 |
|
13.07.2008 - 14:29
Сообщение
#11
|
|
Группа: Пользователи Сообщений: 1114 Регистрация: 10.04.2007 Пользователь №: 4040 |
Спасибо, уважаемый nokh!
А вот эта работа Вам не встречалась? Zarembka P. Transformation of variables in econometrics // In Frontiers in Econometrics / Ed by. P. Zarembka. - New York, NY: Academic Press, 1974. Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
13.07.2008 - 16:26
Сообщение
#12
|
|
Группа: Пользователи Сообщений: 1013 Регистрация: 4.10.2006 Пользователь №: 1933 |
Кстати, попытаться разобраться в подходах можно при анализе кода программ, выполняющих эту трансформацию, например M.Friendly (язык SAS, он использует регрессию) http://www.math.yorku.ca/SCS/sasmac/boxcox.html или же программу в MatLab (http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=10419&objectType=FILE или она же http://www.mathworks.com/matlabcentral/fil...419/boxcoxlm.m).
Несколько других интересных статей, которые могут быть полезны: http://dspace.mit.edu/bitstream/1721.1/231...87-22473972.pdf http://ageconsearch.umn.edu/bitstream/32394/1/05020129.pdf http://www.ajd.umontreal.ca/source-pdf/newcrt972.pdf http://www.oup.com/uk/orc/bin/978019928096...erty3e_ch04.pdf В последней ссылке приведена процедура Зарембки |
|
13.07.2008 - 17:40
Сообщение
#13
|
|
Группа: Пользователи Сообщений: 1013 Регистрация: 4.10.2006 Пользователь №: 1933 |
Нуждается в проверке, но, похоже, можно использовать следующий подход для выбора наиболее адекватного параметра лямбда трансформации (в Экселе)
1. Внести в таблицу значения х и у 2. Рассчитать трансформированные значения у для разных значений лямбда по формуле (y^lambda-1)/lambda и LOG(y) для лямбда=0. 3. Рассчитать среднее геометрическое для каждого трансформированного значения 4. Разделить все трансформированные значения на среднее геометрическое 5. Подсчитать коэффициент корреляции между х и трансформированных и деленным значением у. 6. Значение лямбда с наибольшим коэффициентом корреляции и есть нужное значение лямбда. Поскольку процедура итеративная, найдя максимум при большом шаге лямбда, ставим найденное значение в середину и с боков ставим значения чуть меньшие и большие (grid search). Прикрепляю экселевский файл с примером, где этот подход реализован (проверен сравнением результата с PROC TRANSREG SAS), хотя не считает доверительные интервалы.
Прикрепленные файлы
|
|
13.07.2008 - 18:21
Сообщение
#14
|
|
Группа: Пользователи Сообщений: 1202 Регистрация: 13.01.2008 Из: Челябинск Пользователь №: 4704 |
>Игорь. Нет не встречалась, да и не знал про такую. Сейчас погуглил сам, начал смотреть ссылки Плава. Насколько понял, метод Зарембки используется в регрессионом анализе. Сходный с представленным выше Плавом алгоритм Заребки нашел тоже в C. Dougherty. Introduction to Econometrics (видно издание другое стр. 167 и без вывода формул): http://www.iaaeg.de/documents/kapitel_5.pdf .Только там не максимизируется коэффициент корреляции x и y, а минимизируется сумма квадратов отклонений от линейной регресии x и y, что аналогично.
В моем примере преобразование Бокса-Кокса использовалось для другой цели - нормализации распределения (в одной выборке). Если будете разбираться с алгоритмами, подскажите, пожалуйста, автора алгоритма в примере. Встречал также третью разновидность преобразования - программную реализацию алгоритма Б-K с одновременной оптимизацией нормальности и однородности дисперсий (для случая нескольких выборок) в бесплатной программе Rundom-BC: http://pjadw.tripod.com/legacy.htm#j2. Мой ручной расчет совпадает с выдаваемым этой программой для одновыборочного случая (не SAS, конечно, но тоже приятно ). |
|
13.07.2008 - 19:52
Сообщение
#15
|
|
Группа: Пользователи Сообщений: 1013 Регистрация: 4.10.2006 Пользователь №: 1933 |
>Игорь. Нет не встречалась, да и не знал про такую. Сейчас погуглил сам, начал смотреть ссылки Плава. Насколько понял, метод Зарембки используется в регрессионом анализе. Сходный с представленным выше Плавом алгоритм Заребки нашел тоже в C. Dougherty. Introduction to Econometrics (видно издание другое стр. 167 и без вывода формул): http://www.iaaeg.de/documents/kapitel_5.pdf .Только там не максимизируется коэффициент корреляции x и y, а минимизируется сумма квадратов отклонений от линейной регресии x и y, что аналогично. В моем примере преобразование Бокса-Кокса использовалось для другой цели - нормализации распределения (в одной выборке). Если будете разбираться с алгоритмами, подскажите, пожалуйста, чей алгоритм в примере. Встречал также третью разновидность преобразования - программную реализацию алгоритма Б-K с одновременной оптимизацией нормальности и однородности дисперсий (для случая нескольких выборок) в бесплатной программе Rundom-BC: http://pjadw.tripod.com/legacy.htm#j2. Мой ручной расчет совпадает с выдаваемым этой программой для одновыборочного случая (не SAS, конечно, но тоже приятно ). На самом деле я тоже начал минимизировать сумму квадратов, но наткнулся на то, что TRANSREG и другие программы дают иной результат, пытаясь нормализовать отклик в рамках регрессионного уравнения (т.е. варьируют лямбда и коэффициент регрессии). Моя ошибка была в том, что я пытался фиксировать коэффициент регрессии одинаковым для всех (бета1=1), а нужно варьировать одновременно коэффициентом регрессии и лямбда. Поэтому я стал использовать коэффициент корреляции. |
|