Я использовал Matlab для выполнения неограниченных наименьших квадратов (обычных наименьших квадратов), и он автоматически выводит коэффициенты, тестовую статистику и p-значения.
Мой вопрос заключается в том, что при выполнении ограниченных наименьших квадратов (строго неотрицательных коэффициентов) он выводит только коэффициенты, БЕЗ тестовой статистики, p-значения.
Можно ли рассчитать эти значения для обеспечения значимости? И почему он не доступен напрямую в программном обеспечении (или любом другом программном обеспечении в этом отношении?)
Ответы:
Решение неотрицательных наименьших квадратов (NNLS) основано на алгоритме, который отличает его от обычных наименьших квадратов.
Алгебраическое выражение для стандартной ошибки (не работает)
С помощью регулярных наименьших квадратов вы можете выразить p-значения, используя t-критерий в сочетании с оценками дисперсии коэффициентов.
Обратная матрица информации Фишера (не применимо)
Дисперсия / распределение оценки коэффициентов также асимптотически приближается к наблюдаемой информационной матрице Фишера :
Но я не уверен, хорошо ли это здесь применимо. Оценка NNLS не является объективной оценкой.
Метод Монте-Карло
Когда выражения становятся слишком сложными, вы можете использовать вычислительный метод для оценки ошибки. Используя метод Монте-Карло, вы моделируете распределение случайности эксперимента, моделируя повторы эксперимента (пересчитывая / моделируя новые данные), и на основе этого вы оцениваете дисперсию коэффициентов.
источник
Если бы вы были в порядке, используя RI, думаю, вы могли бы также использовать
bbmle
«smle2
функцию для оптимизации наименьших квадратов функцию правдоподобия и вычислить 95% доверительные интервалы на неотрицательными коэффициентами NNLS. Кроме того, вы можете принять во внимание, что ваши коэффициенты не могут стать отрицательными, оптимизируя журнал ваших коэффициентов, так что в обратном преобразовании они никогда не станут отрицательными.Вот числовой пример, иллюстрирующий этот подход, здесь в контексте деконволюции суперпозиции гауссовидных хроматографических пиков с гауссовским шумом на них: (любые комментарии приветствуются)
Сначала давайте смоделируем некоторые данные:
Давайте теперь деконволюцию измеренного зашумленного сигнала
y
с помощью полосчатой матрицы, содержащей сдвинутую копию известного ядра гауссовой формы размытияbM
(это наша матрица ковариации / дизайна).Во-первых, давайте деконволюцию сигнала с неотрицательными наименьшими квадратами:
Теперь давайте оптимизируем отрицательное логарифмическое правдоподобие нашей цели потерь по Гауссу и оптимизируем логарифм ваших коэффициентов так, чтобы в обратном преобразовании они никогда не были отрицательными:
Я не пытался сравнивать производительность этого метода относительно непараметрической или параметрической начальной загрузки, но это, безусловно, намного быстрее.
Я также был склонен думать, что я должен быть в состоянии рассчитать доверительные интервалы Вальда для неотрицательных
nnls
коэффициентов на основе наблюдаемой информационной матрицы Фишера, рассчитанной по логарифмически преобразованной шкале коэффициентов для обеспечения ограничений неотрицательности и оцененной наnnls
оценкам.Я думаю, что это так, и на самом деле должно быть формально идентично тому, что я использовал
mle2
выше:Результаты этих вычислений и те, которые были возвращены
mle2
, почти идентичны (но намного быстрее), поэтому я думаю, что это правильно, и будет соответствовать тому, что мы неявно делали сmle2
...Простая установка ковариат с положительными коэффициентами в подбор с
nnls
использованием регулярного линейного подбора модели, кстати, не работает, так как такое линейное моделирование не будет учитывать ограничения неотрицательности и, следовательно, приведет к бессмысленным доверительным интервалам, которые могут стать отрицательными. Это бумажный Джейсона Ли и Джонатана Тейлора «Точный вывод выбора после модели для предельного скрининга» также представляет метод, позволяющий сделать вывод выбора модели после неотрицательных коэффициентов nnls (или LASSO) и использует для этого усеченные гауссовские распределения. Я не видел какой-либо открыто доступной реализации этого метода для подгонки nnls - для подгонки LASSO есть селективный выводпакет, который делает что-то подобное. Если у кого-нибудь будет реализация, пожалуйста, дайте мне знать!В вышеописанном методе можно также разделить данные в наборе обучения и проверки (например, нечетные и четные наблюдения) и вывести ковариаты с положительными коэффициентами из набора обучения, а затем вычислить доверительные интервалы и значения p из набора проверки. Это было бы немного более устойчивым к переоснащению, хотя это также привело бы к потере мощности, поскольку можно было бы использовать только половину данных. Я не делал этого здесь, потому что ограничение неотрицательности само по себе уже достаточно эффективно для защиты от переоснащения.
источник
Чтобы быть более конкретным в отношении метода Монте-Карло, о котором упоминается @Martijn, вы можете использовать Bootstrap, метод повторной выборки, который включает выборку из исходных данных (с заменой) из множества наборов данных для оценки распределения оценочных коэффициентов и, следовательно, любой связанной статистики, включая доверительные интервалы и р-значения.
Широко используемый метод подробно описан здесь: Эфрон, Брэдли. «Методы начальной загрузки: еще один взгляд на складной нож». Прорывы в статистике. Springer, New York, NY, 1992. 569-593.
Это реализовано в Matlab, см. Https://www.mathworks.com/help/stats/bootstrp.html, в частности, раздел «Начальная загрузка модели регрессии».
источник