У меня есть два набора данных, представляющих параметры звезд: наблюдаемый и смоделированный. С помощью этих наборов я создаю так называемую двухцветную диаграмму (TCD). Образец можно увидеть здесь:
Быть наблюдаемые данные и Аргументы B данных , извлеченные из модели (не говоря уже о черных линиях, точки представляют данные) У меня есть только один A - схема, но могут производить множество различных B диаграмм , как я хочу, и что мне нужно чтобы сохранить тот , который лучше всего подходит А .
Так что мне нужен надежный способ проверить правильность подгонки диаграммы B (модель) к диаграмме A (наблюдается).
Сейчас я создаю двухмерную гистограмму или сетку (это то, что я называю, возможно, у нее более подходящее имя) для каждой диаграммы, разбивая обе оси (по 100 корзин для каждой). Затем я прохожу каждую ячейку сетки. и я нахожу абсолютную разницу в количестве между А и В для этой конкретной ячейки. После того , как прошел через все клетки, я просуммировать значения для каждой ячейки , и поэтому я в конечном итоге с одного положительного параметра , представляющего степень согласия ( ) между A и B . Чем ближе к нулю, тем лучше подходит. По сути, так выглядит этот параметр:
; где я J есть число звезд в диаграммеАдля этой конкретной ячейки (определяется я J ) и б я J есть число дляB.
Это то, что те как выглядят a i j - b i j ) различия в количестве ячеек в каждой ячейке всетке, которуюя создаю (обратите внимание, что я не использую абсолютные значения ( a i j - b i j ) на этом изображении, но Ясделатьих использовать при вычислении г ф параметра):
Проблема в том, что мне сообщили, что это может быть не очень хорошей оценкой, главным образом потому, что, кроме того, что эта подгонка лучше, чем эта другая, потому что параметр ниже , я действительно не могу сказать больше ничего.
Важно :
(спасибо @PeterEllis за это)
1- Точки B не связаны один-к-одному с точками A . Это важная вещь , чтобы иметь в виду при поиске наилучшего: число точек А и В является не обязательно то же самое и благость пригонки теста следует также учитывать это несоответствие и попытаться свести его к минимуму.
2- Количество точек в каждом наборе данных B (вывод модели), который я пытаюсь подогнать к A , не является фиксированным.
Я видел, как в некоторых случаях использовался критерий хи-квадрат :
Кроме того, я читал, что некоторые люди рекомендуют использовать логарифмический критерий Пуассона для правдоподобия в случаях, подобных этому, где используются гистограммы Если это правильно, я бы очень признателен, если бы кто-то мог научить меня, как использовать этот тест в данном конкретном случае (помните, мои знания статистики довольно скудны, поэтому, пожалуйста, держите его как можно проще :)
источник
Ответы:
Хорошо, я тщательно пересмотрел этот ответ. Я думаю, что вместо того, чтобы объединять ваши данные и сравнивать счетчики в каждом бине, предложение, которое я похоронил в своем первоначальном ответе о подборе 2-мерной оценки плотности ядра и сравнении их, является гораздо лучшей идеей. Более того, в пакете ks Tarn Duong для R есть функция kde.test (), которая делает это легко, как пирог.
Проверьте документацию для kde.test для получения более подробной информации и аргументов, которые вы можете настроить. Но в основном это делает именно то, что вы хотите. Возвращаемое значение p - это вероятность генерации двух наборов данных, которые вы сравниваете в соответствии с нулевой гипотезой о том, что они были получены из одного и того же распределения. Таким образом, чем выше значение p, тем лучше соответствие между A и B. См. Мой пример ниже, где легко обнаружить, что B1 и A различны, но что B2 и A правдоподобно совпадают (как они были сгенерированы) ,
МОЙ ОРИГИНАЛЬНЫЙ ОТВЕТ НИЖЕ, УДЕРЖИВАЕТСЯ ТОЛЬКО ТОЛЬКО, ЧТО ЕСТЬ СЕЙЧАС ССЫЛКИ НА ЭТО ОТ ДРУГОГО, КОТОРОЕ НЕ ОЗНАЧАЕТ
Во-первых, могут быть и другие способы сделать это.
Justel и др. Предложили многовариантное расширение критерия пригодности по Колмогорову-Смирнову, которое, я думаю, можно использовать в вашем случае, чтобы проверить, насколько хорошо каждый набор смоделированных данных соответствует оригиналу. Я не мог найти реализацию этого (например, в R), но, возможно, я не выглядел достаточно сложно.
В качестве альтернативы может быть способ сделать это, подгоняя связку как к исходным данным, так и к каждому набору смоделированных данных, а затем сравнивая эти модели. Есть реализации этого подхода в R и других местах, но я не особенно знаком с ними, поэтому не пробовал.
Но для непосредственного решения вашего вопроса разумный подход. Несколько пунктов предлагают себя:
Если ваш набор данных больше, чем кажется, я думаю, что сетка 100 х 100 - это слишком много бинов. Интуитивно я могу представить, что вы пришли к выводу, что различные наборы данных более различны, чем просто потому, что точность ваших бинов означает, что у вас есть много бинов с небольшим количеством точек в них, даже когда плотность данных высока. Однако это в конечном итоге является предметом суждения. Я бы обязательно проверил ваши результаты с разными подходами к биннингу.
После того как вы выполнили сборку и преобразовали свои данные в (фактически) таблицу на случай непредвиденных обстоятельств с двумя столбцами и числом строк, равным количеству бинов (в вашем случае 10000), у вас возникает стандартная проблема сравнения двух столбцов отсчетов. Подойдет либо критерий хи-квадрат, либо подгонка к какой-либо модели Пуассона, но, как вы говорите, есть неловкость из-за большого числа нулевых отсчетов. Любая из этих моделей обычно подбирается путем минимизации суммы квадратов разности, взвешенной по обратной величине ожидаемого числа отсчетов; когда это приближается к нулю, это может вызвать проблемы.
Редактировать - остальная часть этого ответа я больше не считаю подходящим подходом.
Я думаю, что точный тест Фишера может оказаться бесполезным или неуместным в этой ситуации, когда предельные суммы строк в кросс-таблице не фиксированы. Это даст правдоподобный ответ, но мне трудно совместить его использование с его первоначальным выводом из экспериментального плана. Я оставляю оригинальный ответ здесь, чтобы комментарии и последующие вопросы имели смысл. Кроме того, все еще может быть способ ответить на желаемый подход ОП - объединение данных и сравнение элементов с помощью некоторого теста, основанного на средних абсолютных или квадратичных различиях. Такой подход все равно будет использоватьNграмм× 2
Я смоделировал некоторые данные, чтобы они немного походили на ваши, и обнаружил, что этот подход был довольно эффективным для определения того, какие из моих наборов данных "B" были сгенерированы из того же процесса, что и "A", а какие немного отличались. Конечно, более эффективно, чем невооруженным глазом.
Надеюсь, это поможет.
источник