Постройте goodnesss-fit регрессию отклонения
plotChiSquaredFit(
строит эмпирический CDF вероятностей в квадрате хи отношения между наблюдаемым и предполагаемым отклонением, расслоенным уровнями количества в пять интервалов равного размера. Используйте этот график оценить качество подгонки.test
)
test
, выход nbintest
функционируйте, NegativeBinomialTest
объект. Это содержит результаты непарного теста гипотезы для двух независимых выборок.
Если 'VarianceLink'
аргумент пары "имя-значение" был установлен в 'Identity'
когда вы запустили nbintest
, затем вероятность в квадрате хи вычисляется с помощью отношения между наблюдаемым отклонением к среднему значению.
plotChiSquaredFit(test,
использует аргумент пары "имя-значение".Name,Value
)
возвращает указатели на оси.H
= plotChiSquaredFit(___)
В этом примере показано, как выполнить непарный тест гипотезы для синтетических данных о количестве короткого чтения из двух различных биологических условий.
Данные в этом примере содержат синтетические генные данные о количестве для 5 000 генов, представляя два различных биологических условия, такие как больные и нормальные ячейки. Для каждого условия существует пять выборок. Только 10% генов (500 генов) дифференцированно выражаются. А именно, половина из них (250 генов) точно 3-кратная сверхвыраженный. Другие 250 генов являются 3-кратным underexpressed. Остальная часть данных об экспрессии гена сгенерирована от того же отрицательного биномиального распределения для обоих условий. Каждая выборка также имеет различный фактор размера (то есть, покрытие или глубина выборки).
Загрузите данные.
clear all load(fullfile(matlabroot,'examples','bioinfo','nbintest_data.mat'),'K','H0');
Переменная K
содержит генные данные о количестве. Строки представляют гены, и столбцы представляют выборки. В этом случае первые пять столбцов представляют выборки от первого условия. Другие пять столбцов представляют выборки от второго условия. Отобразите первые несколько строк K
.
K(1:5,:)
ans = 5×10
13683 14140 8281 14309 12208 8045 9446 11317 14597 14592
16028 16805 9813 16486 14076 9901 10927 13348 16999 17036
814 862 492 910 758 521 573 753 870 936
15870 16453 9857 16454 14267 9671 10997 13624 17151 17205
9422 9393 5734 9598 8174 5381 6315 7752 9869 9795
В этом примере нулевая гипотеза верна, когда гена дифференцированно не выражают. Переменная H0
содержит булевы индикаторы, которые указывают, для которых генов нулевая гипотеза верна (отмеченный как 1). Другими словами, H0 содержит известные метки, которые вы будете использовать позже, чтобы соответствовать предсказанным результатам.
sum(H0)
ans = 4500
Из 5 000 генов, 4500 дифференцированно не выражаются в этих синтетических данных.
Запустите непарный тест гипотезы для выборок от двух условий с помощью nbintest
. Предположение - то, что данные прибыли из отрицательного биномиального распределения, где отклонение соединяется со средним значением через локально регрессировавшую сглаженную функцию среднего значения как описано в [1] установкой 'VarianceLink'
к 'LocalRegression'
.
tLocal = nbintest(K(:,1:5),K(:,6:10),'VarianceLink','LocalRegression');
Используйте plotVarianceLink
построить график рассеивания для каждого экспериментального условия (для условий X и Y), с демонстрационным отклонением по общей шкале по сравнению с оценкой зависимого условием среднего значения. Используйте линейную шкалу в обеих осях. Включайте кривые для всех других опций рычажного устройства установкой 'Compare'
к true
.
plotVarianceLink(tLocal,'Scale','linear','Compare',true)
Identity
линия представляет модель Poisson, где отклонение идентично среднему значению как описано в [3]. Заметьте, что данные, кажется, сверхрассеиваются (то есть, большинство точек выше Identity
строка. Constant
линия представляет отрицательную биномиальную модель, где отклонение является суммой термина шума выстрела (среднее значение) и константа, умноженная на среднее значение в квадрате как описано в [2]. Local Regression
и Constant
опции рычажного устройства, кажется, соответствуют лучше сверхрассеянным данным.
Используйте plotChiSquaredFit
оценить качество подгонки для регрессии отклонения. Это строит эмпирический CDF (ecdf) вероятностей в квадрате хи. Вероятности являются отношением между наблюдаемым и предполагаемым отклонением, расслоенным уровнями количества короткого чтения в пять интервалов равного размера.
plotChiSquaredFit(tLocal)
Каждый рисунок показывает пять кривых ecdf. Каждая кривая представляет один из пяти уровней количества короткого чтения. Например, синяя линия представляет кривую ecdf для низких количеств короткого чтения между 0 и 1264. Красная линия представляет высокие количества (больше чем 11 438).
Один способ интерпретировать кривые состоит в том, чтобы проверять, ли кривые ecdf выше диагональной линии. Если они выше линии, то отклонение завышено. Если они ниже линии, то отклонение недооценено. В обеих фигурах отклонение, кажется, правильно оценивается для более высоких количеств (то есть, красная линия следует за диагональной линией), но немного завышенный для более низких уровней количества.
Чтобы оценить производительность теста гипотезы, создайте матрицу беспорядка использование известных меток и предсказанных p-значений.
confusionmat(H0,(tLocal.pValue > .001))
ans = 2×2
493 7
5 4495
Из 500 дифференцированно выраженных генов, 493 правильно предсказаны (истинные положительные стороны), и 7 из них неправильно предсказаны как не дифференцированно выраженные гены (ложные отрицательные стороны). Из 4 500 генов, которых дифференцированно не выражают, 4495, правильно предсказаны (истинные отрицательные стороны), и 5 из них неправильно предсказаны как дифференцированно выраженные гены (ложные положительные стороны).
Для сравнения, запущенного тест гипотезы, снова принимающий, что количества моделируются распределением Пуассона, где отклонение идентично среднему значению.
tPoisson = nbintest(K(:,1:5),K(:,6:10),'VarianceLink','Identity');
Постройте кривые ecdf. Заметьте, что все кривые ниже диагональной линии, подразумевая, что отклонение недооценено. Поэтому отрицательная биномиальная модель соответствует данным лучше.
plotChiSquaredFit(tPoisson)
test
— Непарный результат испытаний гипотезыNegativeBinomialTest
объект (значение по умолчанию)Непарные результаты испытаний гипотезы, заданные как NegativeBinomialTest
объект. тест возвращен nbintest
функция.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'NumBins',4
'NumBins'
— Количество интервалов равного размера
(значение по умолчанию) | положительное целое числоКоличество интервалов равного размера, заданных как разделенная запятой пара, состоящая из 'NumBins'
и положительное целое число.
Пример: 'NumBins',3
H
— Указатели на осиУказатели на оси, заданные как вектор указателей.
NegativeBinomialTest
| mattest
| nbintest
| plotVarianceLink
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.