169 похожих чатов

Все верно, все требования к нормальности относятся только к ошибкам.

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

1) Во-первых, действительно, как было сказано выше, идеально нормальных данных в в жизни не бывает, если под реальной жизнью не понимать результат работы функции rnorm(). Поэтому на большой выборке shapiro-wilk всегда будет значимым. А вот на маленьких выборках он (типа 10-20 как в моей области) он всегда незначимый из-за недостаточной мощности (даже если данные взяты из сильно скошенного распределения). Выходит, это тест больше говорит о размере выборки, нежели о нормальности
2) Во-вторых, что именно нормально? Строго говоря, сами данные не могут быть распределены нормально, они вообще дискретны и это просто набор точек. Так ты мы тестируем на то, что эти данные взяты из нормального распределения. Но, подождите-ка, у нас же обычно гипотеза именно о том, что данные взяты из _разных_ распределений с разными средними. То есть если мы имеем хорошие различия, то данные как раз будут двугорбыми. Вот, например, в линейной регрессии говорится о том, что именно ошибки должны быть нормальными (и независимыми), а все остальное не важно, что обосновывается логикой использования наименьших квадратов и выглядит вполне рационально. Если же рассмотреть т-тест с ановой как разновидности линейной регрессии, то становится понятно, что assumption о нормальности может относиться только к ошибкам. Очевидно не к независимым переменным (они вообще дихотомические) и не к зависимым (по идее, если гипотеза верна, то зависимая переменная и не будет нормальной).

3) И вообще это правило нормальности относится даже не к самим ошибкам, а к распределению выборочных средних ошибок. Которые будут стремиться к нормальным с увеличением выборки (центральная предельная теорема). От той же теоремы и эта штука про то, что если у нас много независимых факторов, то это "нормализует" переменную. То есть да, как было сказано выше, если набрать бесконечное количество выборок из даже не очень нормального распределения, то распределение их средних будет уже сильно больше напоминать нормальное. На этой магии (ок, для меня это магия) основаны всякие эти статистические тесты. Кстати, с другими статистиками (медианой, например) это не работает, насколько я знаю (хотя сам не проверял). А это значит, что даже и ошибки сами не должны быть распределены нормально, а только "ну более-менее несильно скошено". Чем больше выборка, тем меньше это страшно, отсюда всякие казавшиеся мне странными правила типа "если n>30-40-60, то можно использовать параметрические методы".

4) QQplot мне казался хорошей альтернативой всему этому безобразию с шапиро-уилком, пока я не попробовал погонять его на маленьких выборках данных. Оказывается, я всю жизнь видел отклонения от нормальности там, где их не было! Поэтому, мне кажется, к qqplot() хорошо бы добавлять еще потом строчку qqplot(rnorm(lengthofyoudataset))

5) Ок, хорошо, а если данные вот совсем ненормальные? Вот прям охренеть как перекошенные, явно не из нормального распределения? Хотя вот, если время реакции, то оно никогда не нормальное, оно ограничено снизу. Тем не менее, на ВР часто без трансформации делают t-test и анову, разве что аутлаеров удаляя. "Так уж точно нельзя!". Но вот почему? Грубо говоря, p-value<0.05 будут попадаться реже чем в 5% случаев, если эффекта нет, или же чаще? Ну, это-то как раз несложно проверить:
> d <- data.frame(s = rep(40,10000))
> d$p <- sapply(d$s, function(x) t.test(rlnorm(x), rlnorm(x))$p.value)
> sum(d$p<0.05)/length(d$p)
0.0433

2 ответов

20 просмотров

Сохранил это в избранное. Спасибо за пояснения, кажется, я вообще неверно понимаю основы. Нужно что-то фундаментальное почитать бы ещё раз или много раз.

+

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта