У меня есть несколько сотен измерений. Теперь я рассматриваю возможность использования какого-либо программного обеспечения для сопоставления каждой меры с каждой мерой. Это означает, что существуют тысячи корреляций. Среди них (статистически) должна быть высокая корреляция, даже если данные полностью случайны (каждая мера имеет только около 100 точек данных).
Когда я нахожу корреляцию, как мне включить в нее информацию о том, как сильно я искал корреляцию?
Я не на высоком уровне в статистике, поэтому, пожалуйста, потерпите меня.
R
на этом компьютере занимает 18 секунд, чтобы получить 1000 реализаций распределения нулевой перестановки максимального коэффициента корреляции для матрицы 300 на 100x
:correl <- function(x, k=1) { n <- dim(x)[2] * (dim(x)[2]-1) / 2; v <- cor(x); sort(v[lower.tri(v)])[(n-k+1):n] }; sim <- replicate(1000, correl(apply(x,2,sample)))
Ответы:
Это отличный вопрос, достойный того, кто мыслит статистически ясно, потому что он признает тонкий, но важный аспект множественного тестирования.
Существуют стандартные методы для корректировки p-значений множественных коэффициентов корреляции (или, что эквивалентно, для расширения их доверительных интервалов), такие как методы Бонферрони и Сидака ( см. ). Однако они слишком консервативны с большими корреляционными матрицами из-за врожденных математических соотношений, которые должны соблюдаться среди коэффициентов корреляции в целом. (Некоторые примеры таких отношений см. В последнем вопросе и в последующей ветке .) Один из лучших подходов для решения этой ситуации - проведение теста на перестановку (или повторную выборку)., Это легко сделать с помощью корреляций: на каждой итерации теста просто случайным образом скремблируйте порядок значений каждого из полей (тем самым разрушая любую внутреннюю корреляцию) и пересчитайте полную корреляционную матрицу. Сделайте это для нескольких тысяч итераций (или более), затем суммируйте распределения элементов корреляционной матрицы, например, указав их 97,5 и 2,5 процентили: они будут служить взаимно симметричными двусторонними 95% доверительными интервалами при нулевом значении. гипотеза о не корреляции. (В первый раз, когда вы сделаете это с большим количеством переменных, вы будете удивлены, насколько высокими могут быть некоторые коэффициенты корреляции, даже если нет внутренней корреляции.)
При сообщении результатов, независимо от того, какие вычисления вы делаете, вы должны включать следующее:
Размер корреляционной матрицы ( т. Е. Сколько переменных вы просмотрели).
Как вы определили p-значения или «значимость» любого из коэффициентов корреляции ( например , оставили их как есть, применили поправку Бонферрони, провели тест перестановки или что-то еще).
Смотрели ли вы на альтернативные меры корреляции, такие как ранговая корреляция Спирмена . Если вы это сделали, укажите также, почему вы выбрали метод, о котором вы действительно сообщаете и используете.
источник
Судя по вашему последующему ответу на вопрос Питера Флома, кажется, что вам лучше подойдут техники, которые смотрят на структуру более высокого уровня в вашей матрице корреляции.
Такие методы, как факторный анализ, PCA, многомерное масштабирование и кластерный анализ переменных, можно использовать для группировки ваших переменных в наборы относительно более связанных переменных.
Кроме того, вы можете теоретически подумать о том, какая структура должна присутствовать. Когда у вас большое количество переменных и мало наблюдений, вам часто лучше полагаться на предыдущие ожидания.
источник
Это пример нескольких сравнений. Об этом много литературы.
Если у вас, скажем, 100 переменных, то у вас будет 100 * 99/2 = 4950 корреляций.
Если данные являются просто шумом, то можно ожидать, что 1 из 20 будет значимым при p = 0,05. Это 247,5
Однако, прежде чем идти дальше, было бы хорошо, если бы вы могли сказать, ПОЧЕМУ вы это делаете. Что это за переменные, почему вы их коррелируете, какова ваша основная идея?
Или вы просто ловите высокие корреляции?
источник
Возможно, вы могли бы провести предварительный анализ случайного подмножества данных, чтобы сформировать гипотезы, а затем проверить эти несколько интересующих гипотез, используя остальные данные. Таким образом, вам не придется исправлять почти столько же тестов. (Думаю...)
Конечно, если вы воспользуетесь такой процедурой, вы уменьшите размер набора данных, используемого для окончательного анализа, и таким образом уменьшите свою способность находить реальные эффекты. Однако поправки на множественные сравнения также уменьшают мощность, и поэтому я не уверен, что вы обязательно что-то потеряете.
источник