Настройте p-значения для нескольких сравнений в Matlab - PullRequest
8 голосов
/ 25 августа 2011

У меня есть массив ячеек с p-значениями, которые необходимо скорректировать для нескольких сравнений. Как я могу сделать это в Matlab? Я не могу найти встроенную функцию.

В R я бы сделал:

data.pValue_adjusted = p.adjust(data.pValue, method='bonferroni')

Есть ли подобная функция для Matlab? В идеале тот, который выполняет различные методы настройки (Bonferroni, Benjamini-Hochberg, FDR ...)?

Ответы [ 6 ]

5 голосов
/ 29 августа 2011

Если у вас есть Bioinformatics Toolbox, вы можете использовать функцию MAFDR для вычисления p-значений, скорректированных с помощью False Discovery Rate.

1 голос
/ 04 июля 2014

Для людей без Биоинформатического инструментария метод FDR (False Discovery Rate) также очень хорошо описан здесь , он также предоставляет ссылку со сценарием fdr.

0 голосов
/ 05 мая 2019

Доступна реализация MATLAB / Octave функции R p.adjust здесь . Он может выполнить настройку p-значения для нескольких сравнений следующими методами, эквивалентными их аналогам R:

  • Holm
  • Хехберг
  • Hommel
  • Бонферони
  • BH
  • BY
  • FDR
  • Сидак (этот недоступен в функции R)

Отказ от ответственности: я автор этого пакета.

0 голосов
0 голосов
/ 27 августа 2011

Это представление , вероятно, то, что вы ищете, но оно реализует только метод Бонферрони-Холма. Вам придется искать в FEX аналогичные решения другим методам коррекции.

При этом у панели инструментов статистики есть метод MULTCOMPARE , который предназначен для множественных сравнительных тестов, хотя и не возвращает исправленные p-значения. Вот пример:

load fisheriris
[pVal tbl stats] = kruskalwallis(meas(:,1), species)   %# Kruskal-Wallis or ANOVA
title('Sepal Length'), xlabel('Groups'), ylabel('Value')

[c,m] = multcompare(stats, 'ctype','bonferroni', 'display','on');
0 голосов
/ 26 августа 2011

Взгляните на T-тест с Bonferroni Correction и связанные файлы в Matlab File-exchange.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...