Rambler's Top100
Lo-Fi Version* Virtual  Russian keyboard  Russian  
Molbiol.ru | Project | Protocols | Programs | Literature
Web | Companies | Marketplace | Labor exchange

Today's active topics  [ Log In* | Register* ]  
   



Forum: 
 

Click to add to Selected Topics* R - Kolmogorov-Smirnov test (ks.test)
Options: I want to be curator* · Track this topic* · Email this topic · Print this topic*
Topic view:* Outline · [ Standard ] · Linear+


 
Reply to this topicStart new topicStart Poll
User is offline! nattali80
Member



 old post 21.06.2013 17:20     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #1 multiquote
Question
Я только начинаю изучать R, не могли бы вы помочь разобраться с деталями проведения в R стат. анализа Kolmogorov-Smirnov для двух выборок?.


Ориентировалась по хелпу к ks.test (это пакет базовой библиотеки - stats)
Для сравнения проводила анализ с теми же данными в R и в SPSS.

Код в R:

> #1. Test September and November
> September <- c (2.4758620690, 1.0232558140, 2.4800000000, 1.5468750000, 3.1358024691, 2.6000000000,2.1904761905, 1.2,  1.4210526316, 1.6666666667, 3.4177215190, 1.1363636364, 1.2790697674)

> c=1
> November<- c(2.350, 1.0638297872, 2.8571428571, 2.40, 1.7407407407, 1.9565217391, 0.50, 1.0512820513, 1.5510204082, 0.880952381, 6.8777777778, 0.6097560976, 0.7894736842)

> c=1

> # Do September and November come from the same distribution?
> ks.test(September, November)

        Two-sample Kolmogorov-Smirnov test

data:  September and November
D = 0.3846, p-value = 0.2999
alternative hypothesis: two-sided



И результаты Колмогоров-Смирнов теста для двух выборок с этими же данными в SPSS (данные из итоговой таблицы)

1.Нулевая гипотеза: «Распределение А является одинаковым для категорий month»
2. Критерий: «Критерий Колмогорова-Смирнова для независимых выборок»
3. Значимость 0,291
4. Решение: «Нулевая гипотеза принимается»
Примечание: «Выводятся асимптотические значимости. Уровень значимости равен 0.05»


Мои вопросы по проведению этого анализа в R.

Вопрос первый. В тесте (ks.test), который я использовала - в хелпе не указано (или же я не понимаю где это), как задавать критерий значимости (по идее ведь его можно выбирать самому). Также не указано, какой они берут по умолчанию критерий значимости. (в SPSS он указан – 0,05).
Как можно понять, какой используется по умолчанию критерий значимости в ks.test?. Как можно задать другой критерий значимости (н-р 0.001 , 0.001 и т.п.)?
Исходя из моего кода в R – является ли он правильным, или там как раз не хватает задания критерия значимости?

И вопрос второй.
Как видно из кода R и результатов SPSS – определенная значимость (p-value) примерно одинаковы (0.2999 в R и 0,291 в SPSS). То есть можно предположить, что расчет в R проведен всё же правильно. Но ответ SPSS – “Нулевая гипотеза принимается”, а ответ R – “alternative hypothesis: two-sided”. Что означает такой ответ R? Что он принимает альтернативную гипотезу? Но почему если это так? Или же это просто такой стиль оформления исходных условий проведения теста? Но по идее, он, как и SPSS, должен написать именно, что "нулевая гипотеза принимается"
User is offline! Flyamer
Advanced Member
Москва



 old post 21.06.2013 22:32     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #2 multiquote

Нет, R не делает за Вас решения по поводу верности гипотез, просто выводит p-value, а дальше уже Вы, в зависимости от требуемого уровня значимости, делаете выводы. Именно поэтому указывать нигде уровень значимости не нужно. (Кажется, как-то это можно сделать, но не вижу необходимости).
Two-sided означает, что сравнение выборок производится "в обе стороны", то есть как одна больше другой, так и другая больше первой. То есть, H0 - выборки одинаковые, H1 - они различаются. Бывает односторонняя гипотеза, то есть H1 - первая выборка больше второй.

Number of thanks: 1These members thanked the author (1): nattali80
User is offline! nattali80
Member



 old post 22.06.2013 03:12     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #3 multiquote

(Flyamer @ 21.06.2013 23:32)
Link to the original post  Нет, R не делает за Вас решения по поводу верности гипотез, просто выводит p-value, а дальше уже Вы, в зависимости от требуемого уровня значимости, делаете выводы. Именно поэтому указывать нигде уровень значимости не нужно. (Кажется, как-то это можно сделать, но не вижу необходимости).
Two-sided означает, что сравнение выборок производится "в обе стороны", то есть как одна больше другой, так и другая больше первой. То есть, H0 - выборки одинаковые, H1 - они различаются. Бывает односторонняя гипотеза, то есть H1 - первая выборка больше второй.


Я, видимо, несколько запуталась в теории, оттого не до конца понимаю этот принцип.
Ведь по теории теста Two-sample Kolmogorov-Smirnov - нулевая гипотеза отвергается если D эмпирическое > D критическое.
Но при этом само D критическое рассчитывается, исходя из задаваемого уровня значимости (a). Вот эта формула в Wiki: ссылка


Но как тогда программа рассчитывает p-value без задания уровня значимости пользователем? На основе чего или какой формулы она выводит значение p-value?


Ведь я правильно понимаю, что p-value = P (D эмпир > D крит), то есть это вероятность того, что D эмпир > D крит. Исходя из этого понятно, что раз
p-value < уровня значимости (0.05), то нулевая гипотеза принимается.

This post has been edited by nattali80: 22.06.2013 03:13
User is offline! Flyamer
Advanced Member
Москва



 old post 22.06.2013 11:06     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #4 multiquote

Честно скажу, я крайне плохо разбираюсь в этом на уровне значений статистик и тому подобное... Но тем не менее, цитата из вики: "Обычно P-значение равно вероятности того, что случайная величина с данным распределением (распределением тестовой статистики при нулевой гипотезе) примет значение, не меньшее, чем фактическое значение тестовой статистики." То есть это неверно: "p-value = P (D эмпир > D крит)", а для вычисления p-value не нужно использовать никакого заданного уровня значимости: необходимо только знать распределение статистики теста и наше полученное значение этой статистики.

Number of thanks: 2These members thanked the author (2): Den-N, nattali80
User is offline! nattali80
Member



 old post 22.06.2013 18:55     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #5 multiquote

Спасибо за помощь!
Мне сейчас это пока плоховато дается, так как вернулась к теории и практики применения статистики после большого перерыва, да и изучалась она когда-то не очень сильно.

Но – чтобы подытожить все-таки вопрос. Кажется я поняла причину такого расхождения и моего непонимания (как в R вычисляется p-value без задаваемого уровня значимости, если в теории к KS тесту задание уровня значимости необходимо?).

Видимо, причина в том, что в R и в SPSS (где уровень значимости задается) используются разные способы проверки статистических гипотез.

Цитата из Резника, с. 49

Проверка статистических гипотез может идти двумя путями.
Первый путь связан с определением вероятности P получения 
эмпирического значения Кэмпир. Если эта вероятность окажется меньше или равна 
выбранному значению уровня значимости А, нулевая гипотеза отвергается и
принимается альтернативная. Если вероятность P оказывается больше 
выбранного значения уровня значимости A, у нас нет оснований, чтобы отвергнуть
нулевую гипотезу.



Во втором случае решается другая задача. Определяются значения Kкритич
для фиксированных вероятностей ошибки первого рода, используемых при
проверке статистических гипотез (в большинстве случаев это p=0,05, р = 0,01,
р =0,001). Значение Kкритич служит границей между той областью, где нулевая
гипотеза принимается, и той областью, где нулевая гипотеза отвергается.
Область, где нулевая гипотеза отвергается, в статистике называется критической
областью. При использовании этого понятия необходимо учитывать ряд 
подводных камней, с ним связанных.


И из Резника же (с. 148) – пример и теория (в простом изложении) по КС тесту для двух выборок:
user posted image

То есть, как я это понимаю сейчас, возможно, в R используется Первый способ проверки гипотез. И тогда p-value в R – это вероятность получения именно такого Dэмпирич. в данных двух выборках (подчеркнуто красным на рисунке). И тогда (если судить по первому способу, приведенного Резником) – ее уже сам «пользователь» сравнивает с выбранным уровнем значимости. То есть – как вы мне ответили в первом сообщении.


Непонятным остается– как именно в R вычисляется p-value. Но, видимо, это нужно уже понимать из общей теории статистики, а не из теории данного теста (я пока не разобралась).

А в SPSS, раз там задается уровень значимости, возможно p-value несколько другое. Там это вероятность того, что Dэмпир > D критич. Что также позволяет определить, подтверждается ли нулевая гипотеза, но другим способом

Возможно, я ошибаюсь, может быть, потом дойду до этого лучше.

This post has been edited by nattali80: 22.06.2013 18:58
User is offline! Den-N
Advanced Member



 old post 23.06.2013 01:09     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #6 multiquote

Подход 2 по Резнику - подход, вытекающий из концепции проверки статистических гипотез Эгона Пирсона - Ежи Неймана. Он был популярен, когда не было компьютеров. т.к. для принятия решений позволял ограничиться только малым набором таблиц критических значений. Хотя и тогда люди пользовались этими таблицами не так как предлагали её авторы, а как предлагал их идеологический противник - Фишер. В настоящее время эта концепция используется для расчёта объёмов выборок при планировании исследований и для расчёта мощности уже проведённого исследования, но не для проверки гипотез. Хотя бы потому, что в ней нет места фишеровскому Р, а есть только Альфа; и хотя геометрически Р и альфа идентичны, но кто из исследователей-практиков знает как правильно пользоваться альфой Пирсона-Неймана именно для проверки гипотез? Тяжёлое наследие этой стройной концепции - глупые цифры типа 0,05, 0,01 и 0,001, за которыми вообще ничего не стоит (ни теории, ни внятной эмпирики), но которыми зомбированы практически все, кроме, может, приверженцев Байесовского подхода. Для проверки гипотез в настоящее время используется так называемый "синтетический" частотный подход, который идеологически, по-сути, есть подход 1 - подход Фишера, и хорошие программы должны выдавать точные достигнутые значения Р.

Почему вам не понятно как считает R - "остаётся непонятным", т.к. в первом посте вы писали, что разбирались по хэлпу. Вот цитата оттуда:

"Exact p-values are not available for the one-sided two-sample case, or in the case of ties. If exact = NULL (the default), an exact p-value is computed if the sample size if less than 100 in the one-sample case, and if the product of the sample sizes is less than 10000 in the two-sample case. Otherwise, asymptotic distributions are used whose approximations may be inaccurate in small samples. In the one-sample two-sided case, exact p-values are obtained as described in Marsaglia, Tsang & Wang (2003). The formula of Birnbaum & Tingey (1951) is used for the one-sample one-sided case."

Из неё следует, что для вашего случая (two-sample, two-sided, произведение объёмов выборок меньше 10 тыс.) по умолчанию рассчитывается точное значение р.

Из результатов SPSS:
"Примечание: «Выводятся асимптотические значимости. Уровень значимости равен 0.05»" А вот какой смысл программисты вкладывали в выражение «Уровень значимости равен 0.05» действительно остаётся непонятным.

Т.е. небольшие (и не принципиальные в данном случае) различия в результатах связаны с тем, что R считает точно, а SPSS выдаёт асимптотику, приемлемую лишь для больших выборок. Точный расчёт всегда предпочтителен, поэтому в данном случае пользуйтесь результатами R
(но такой расчёт может быть сопряжён с техническими сложностями программной реализации, о которых нам, практикам, простительно не знать. Видимо бывает куда проще заплатить за лицензию и использовать готовый алгоритм точного расчёта, чем собирать свою команду статистиков и программистов. Например, та же SPSS использует кое-какие лицензионные алгоритмы Cytel)

Сообщение было отредактировано Den-N - сегодня, 04:05

This post has been edited by Den-N: 23.06.2013 01:16

Number of thanks: 1These members thanked the author (1): nattali80
User is offline! nattali80
Member



 old post 23.06.2013 01:18     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #7 multiquote

Большое спасибо за разъяснения! Они усложнили и дополнили моё представление. Буду осмыслять.

(Den-N @ 23.06.2013 02:09)
Почему вам не понятно как считает R - "остаётся непонятным", т.к. в первом посте вы писали, что разбирались по хэлпу. Вот цитата оттуда:

Из неё следует, что для вашего случая (two-sample, two-sided, произведение объёмов выборок меньше 10 тыс.) по умолчанию рассчитывается точное значение р.

Да, они это пишут. Но они не пишут, по какой формуле и какому принципу было рассчитано это точное p-value. Вот это и не понятно.

Я предполагаю, что, возможно, этот принцип настолько общий, что его "не нужно" объяснять. Но вот мне это, увы, пока не понятно. Собственно этот пункт (как в R получают точное значение p-value) остается последним значительным непонятным моментом.

This post has been edited by nattali80: 23.06.2013 01:21
User is offline! Den-N
Advanced Member



 old post 23.06.2013 02:18     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #8 multiquote

Любой статистический критерий это - математический метод, позволяющий количественно рассчитать Р. Для того чтобы быть хорошим исследователем-практиком вовсе необязательно знать собственно математический метод, т.к. есть очень сложные методы для понимания которых нужно быть именно математиком. Но хороший исследователь должен уметь правильно выбирать из всего многообразия существующих математических методов (стат. критериев) именно тот, который оптимален в данном конкретном случае. Для этого нужно быть больше чем просто практиком, но всё-же не нужно быть математиком (и это радует smile.gif ). Важно знать основные принципы выбора критерия + сильные и слабые стороны конкретного критерия. В хороших учебниках их пытаются расписать максимально понятным для нематематиков языком. Т.е. если вы, опираясь на такое руководство, пришли к выводу, что критерий Колмогорова-Смиронова и есть тот самый оптимальный критерий для вашей задачи, типа данных и объёмов выборок, то ему в любой программе нужно просто "скормить" сырые данные (и только их), чтобы он выдал Р.

Проблема выбора оптимального критерия намного важнее каких-то технических деталей реализации расчётного алгоритма конкретного метода и даже того точные или асимптотические оценки выдаёт программа. Т.е сначала выбираем лучший метод, а уже потом лучшую программу с ним.

Что касается стат. проверки гипотез, то тут действительно есть и путаница и недопонимание даже у авторов учебников.

Number of thanks: 1These members thanked the author (1): nattali80
Guest
IP-stamp: fr0lOdqGFMOWc
guest



 old post 23.06.2013 17:05     Report Post       
Quote Post Put in the news column  URL #9 multiquote

(Den-N @ 23.06.2013 01:09)
Link to the original post А вот какой смысл программисты вкладывали в выражение «Уровень значимости равен 0.05» действительно остаётся непонятным.

Смысл предельно ясен. Для того, чтобы написать в результатах вот это smile.gif:

4. Решение: «Нулевая гипотеза принимается»
User is offline! nattali80
Member



 old post 23.06.2013 17:52     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #10 multiquote

Den-N, из вашего сообщения (url#6), а также из других сообщений треда.
1. Следует, что все хорошие программы сейчас используют для проверки стат. гипотез метод Фишера (Первый метод по ссылке Резника в моем сообщении) = "синтетический" частотный подход.

И для него пользователь не должен указывать уровень значимости, а, наоборот, исходя из рассчитанного программой точного значения p-value - должен сравнивать его с любым желаемым для себя уровнем значимости (сообщение #2)

2. Однако не следует ли из того, что при расчете в SPSS пользователь может задавать любой уровень значимости (а 0,05 – это просто установка по умолчанию), что это уровень значимости входит в расчет P-value в SPSS? И что тогда, может быть, они используют все-таки второй подход (из ссылки по Резнику), где уровень значимости входит в формулу?

This post has been edited by nattali80: 23.06.2013 17:53
User is offline! nattali80
Member



 old post 23.06.2013 17:57     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #11 multiquote

Den-N, ваше сообщение #8.
Большое спасибо. Мне стал понятен подход к использованию. Да, выбрать критерий, и просто использовать его в программе. Но всё таки.. очевидно, что обычный исследователь чаще этим и ограничиться, не будет сравнивать и закапываться.

Но вот даже в этом маленьком примере – видна разница между расчетом в R и расчетом в SPSS. Отсюда возникает предположение – что они используют разную методику расчетов. Отсюда возникает желание – увидеть эту методику в этих программах. Да и просто – создавая программу, очевидно, что авторы должны создавать возможность «проверить» их, как они считают а как же иначе? На основе чего им доверять? То есть, может быть, это громоздко и ненужно выводить всё в описании к опции. Но должна быть возможность – найти информацию об использованном математическом принципе расчета. Пусть даже понятным только для математика. Подходя к серьезной научной задаче – нельзя слепо полагаться на программы, нужно иметь возможность проверить ключевые вещи самому, или имея кого-то в команде кто может это сделать.



(Den-N @ 23.06.2013 03:18)


Проблема выбора оптимального критерия намного важнее каких-то технических деталей реализации расчётного алгоритма конкретного метода и даже того точные или асимптотические оценки выдаёт программа. Т.е сначала выбираем лучший метод, а уже потом лучшую программу с ним.

Что касается стат. проверки гипотез, то тут действительно есть и путаница и недопонимание даже у авторов учебников.


This post has been edited by nattali80: 23.06.2013 18:02
User is offline! Flyamer
Advanced Member
Москва



 old post 23.06.2013 20:40     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #12 multiquote

У R открыт код, можно посмотреть, что там комп выполняет) Если тест написан на самом R'е, то должно быть вполне реально разобраться.

Number of thanks: 1These members thanked the author (1): nattali80
User is offline! Den-N
Advanced Member



 old post 23.06.2013 20:55     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #13 multiquote

(nattali80 @ 23.06.2013 20:57)
Link to the original post  Den-N, ваше сообщение #8.
Но вот даже в этом маленьком примере – видна разница между расчетом в R и расчетом в SPSS. Отсюда возникает предположение – что они используют разную  методику расчетов. Отсюда возникает желание – увидеть эту методику в этих программах. Да  и просто – создавая программу, очевидно, что авторы должны создавать возможность «проверить» их, как они считают а как же иначе? На основе чего им доверять? То есть, может быть, это громоздко и ненужно выводить всё в описании к опции. Но должна быть возможность – найти информацию об использованном математическом принципе расчета. Пусть даже понятным только для математика. Подходя к серьезной научной задаче – нельзя слепо полагаться на программы, нужно иметь возможность проверить ключевые вещи самому, или имея кого-то в команде кто может это сделать.

Конечно, возможность проверки обязательно должна быть, т.к. даже крутые пакеты неизбежно содержат ошибки. Даже в математических библиотеках Excel'я есть ошибки, что уж говорить о более специализированных/ менее распространённых пакетах. Если хотите разбираться с критерием Колмогорова, известным на западе как критерий Колмогорова-Смирнова, то лучше всего он изложен в
Большев Л.Н., Смирнов Н.В. Таблицы математической статистики. М: Наука, 1983. 416 с.
на стр. 80-82. Там даны как точные формулы, так и аппроксимации разной степени точности, а также ссылки на литературу.

Number of thanks: 1These members thanked the author (1): nattali80
User is offline! nattali80
Member



 old post 24.06.2013 01:27     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #14 multiquote

(Den-N @ 23.06.2013 21:55)
Если хотите разбираться с критерием Колмогорова, известным на западе как критерий Колмогорова-Смирнова, то лучше всего он изложен в
Большев Л.Н., Смирнов Н.В. Таблицы математической статистики. М: Наука, 1983. 416 с.
на стр. 80-82. Там даны как точные формулы, так и аппроксимации разной степени точности, а также ссылки на литературу.


Ну на данном этапе мне важно знать, что это вообще в принципе можно проверить, и кто-то это, вероятно, и делает, то есть - идет контроль на ошибки в пакетах.


(Den-N @ 23.06.2013 02:09)
Для проверки гипотез в настоящее время используется так называемый "синтетический" частотный подход, который идеологически, по-сути, есть подход 1 - подход Фишера, и хорошие программы должны выдавать точные достигнутые значения Р.


А вот по "синтетическому" частотному подходу - может быть вы подскажете, какое он имеет название на английском, чтобы можно было найти о нем информацию и понять в общих чертах суть, грамотно сослаться в методике работы и пр.?

This post has been edited by nattali80: 24.06.2013 01:31
User is offline! Den-N
Advanced Member



 old post 24.06.2013 17:13     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #15 multiquote

В сортированном материале не нашёл, значит быстро не найду. Но можно и от википедии оттолкнуться:
http://en.wikipedia.org/wiki/Statistical_hypothesis_testing
Здесь он назван не "синтетическим", а "гибридным".
Немного истории и много критики по русски во вложении.

This post has been edited by Den-N: 24.06.2013 17:22

Attached File(s)

Download attachment _________________________________.pdf
Size:: 7.41mb
Number of downloads: 1082


User is offline! nattali80
Member



 old post 25.06.2013 06:38     Report Post         Personal message  Send an e-mail
Quote Post Put in the news column  URL #16 multiquote

(Den-N @ 24.06.2013 18:13)
Link to the original post  В сортированном материале не нашёл, значит быстро не найду. Но можно и от википедии оттолкнуться:
http://en.wikipedia.org/wiki/Statistical_hypothesis_testing
Здесь он назван не "синтетическим", а "гибридным".
Немного истории и много критики по русски во вложении.


Большое спасибо! Wiki отличная вещь для начала любого изучения, а то и заполнения части вводной информации.

The modern version of hypothesis testing is a hybrid of the two approaches that resulted from confusion by writers of statistical textbooks (as predicted by Fisher) beginning in the 1940s.



Немного истории и много критики по русски во вложении.

Спасибо!

This post has been edited by nattali80: 25.06.2013 06:44

*





Name:

 Enable Smilies · Show Smilies Pop Up Window
Icons designation:

   Say THANKS to the author — say THANKS to the author
   Delete Post — delete
   Edit Post — edit
   Put in the news column — put in the news column
   Quote Post — quote the post
   multiquote  not included/multiquote included — quote several posts
   Report SPAM — mark spam message
   Report Post — report post to the moderator
   User is online!/User is offline! — author online/offline
   Photo — photo of the author

   - other designations -
 
   *
« Next Oldest · Biophysics and math-methods in biology · Next Newest »
Fast ReplyReply to this topicStart new topic

Rambler   molbiol.ru - методы, информация и программы для молекулярных биологов              

 ·  Викимарт - все интернет-магазины в одном месте  ·  Доска объявлений Board.com.ua  · 
--- сервер арендован в компании Hetzner Online, Германия ---
--- администрирование сервера: Intervipnet ---

Helicon · Dia-m · InterLabService · Beckman Coulter · SkyGen · OPTEC · BIOCAD · Evrogen · Syntol · Bioline · Sartorius · Khimexpert · SibEnzyme · Tecan · Danies · NPP «TRIS» · Bialexa · FizLabPribor · Genotek · ATG Service Gene · Biogen-Analitika
Your forum  ·  editor@zbio.net  ·  Time is now: 18.10.21 18:25
Bridged By IpbWiki: Integration Of Invision Power Board and MediaWiki © GlobalSoft