У меня есть график разброса (логарифмический) с примерно 10 000 точек данных, который отображает время выполнения некоторого алгоритма в зависимости от ввода случайных экземпляров некоторой проблемы.
У меня много таких сюжетов, и из-за нехватки места я не могу выделить им много места. Участки имеют высоту 1-2 сантиметра. Проблема в том, что горстке (может быть, 5 или около того) этих образцов потребовалось смехотворно короткое время (скажем, несколько миллисекунд), тогда как почти все остальные точки данных заняли 2-3 порядка величины. дольше.
Я пытаюсь показать, что мой алгоритм работает быстро, поэтому я полагаю, что не повредит просто опустить эти несколько точек данных и сгенерировать больше выборок, верно?
Я чувствую, что упоминание чего-либо излишне смутило бы читателя, а сохранение их раздражало бы читателя, поскольку в сюжете было бы много пустого места. И, очевидно, я не пытаюсь скрыть доказательства против моего исследования или что-то в этом роде — отброшенные данные только в пользу моего алгоритма.
Не нарушу ли я здесь какой-то этический кодекс, если просто откажусь от этих образцов, ничего не упомянув, чтобы мои графики выглядели лучше? Это ненаучно? И если да, то кого это действительно волнует?
Наука стремится к откровению и пониманию. Прежде чем вы сможете даже подумать об удалении этих образцов, вам нужно понять, почему они существуют.
Причина в том, что неожиданно «хорошие» данные могут быть таким же признаком проблем с вашей теорией, как и неожиданно плохие данные. Эти точки данных говорят вам, что у вас есть ошибка в вашем алгоритме? Они говорят, что инструменты, которые вы использовали для измерения времени, были ненадежными или неправильно откалиброванными? Или дело в том, что при определенных обстоятельствах ваши случайные проблемы решаются исключительно легко? Могут быть и другие возможности.
Если вы не можете определить, почему существуют выбросы, вы должны включить их, чтобы помочь читателю оценить вашу работу. Если вы обнаружите, что они существуют по какой-то проблемной причине, значит, вы еще не готовы к публикации. Если вы решите, что они существуют по уважительной причине, вы можете исключить их из рисунка, но вы должны точно объяснить, что вы сделали в тексте и почему, иначе вы рискуете ввести читателя в заблуждение.
В конце концов, данные, которые вы получили, — это данные, которые вы получили, и вам нужно относиться к ним честно.
Это ненаучно?
Да. Цель этих графиков не в том, чтобы показать, что алгоритм работает быстро, а в том, чтобы дать точное представление о его скорости. Намеренное удаление выбросов без объяснения причин дает искаженную картину. Это нормально, если вы четко об этом говорите (например, поясняете в подписи или тексте о том, какие выбросы были удалены и почему), но не в том случае, если вы делаете это молча.
Эти выбросы могут действительно иметь значение:
Возможно, они указывают на ошибку в вашем коде, и в этом случае их удаление будет выглядеть так, будто вы намеренно скрываете небрежную работу.
Объяснение выбросов может быть интересным и важным с научной точки зрения (возможно, это может привести к еще более быстрому алгоритму), но никто не будет пытаться, если он даже не знает, что они существуют.
Если кто-то реализует алгоритм и сравнит свои результаты с вашими, он может потратить время на то, чтобы понять, почему у него есть выбросы, а у вас нет.
Да. Для практического сценария представьте, что кто-то пытается воспроизвести ваше исследование, руководствуясь только вашей статьей, и бьет себя по голове, думая, что у него ошибка, потому что его график показывает эти странные выбросы.
По сути, вы должны предоставить людям всю информацию, потому что вы не знаете, как они будут использовать вашу газету. Вероятно, большинству читателей не будут интересны выбросы, и, вероятно, они будут судить о методе так же, но это решение не зависит от вас.
Конечно, вы должны как-то отфильтровать шум. Обычно хитрость заключается в том, чтобы придумать, как дать читателю всю информацию, позволяя ему сосредоточиться на том, что важно. В вашем случае я бы просто сказал в подписи к сюжету, что 5 прогонов алгоритма были настолько быстрыми, что выходили за рамки масштаба сюжета (или что-то в этом роде).
Ключевой вопрос заключается не в том, удаляете ли вы выбросы, а в том, описываете ли вы и объясняете, что вы сделали. Есть много веских причин для удаления выбросов, но если вы это делаете, вам нужно сказать, что вы это сделали, и сказать, почему.
В отличие от некоторых других ответов здесь, я не думаю, что абсолютно необходимо полностью объяснять выбросы, прежде чем исключать их. Но если у вас нет объяснения, вы должны сказать и это. В идеале вы должны объяснить результаты как с выбросами, так и без них. Если наличие или отсутствие выбросов не влияет на общий вывод, то вы все равно можете придерживаться этого вывода, упоминая при этом выбросы как диковинку, возможно, заслуживающую дальнейшего изучения.
Конечно, то, как рецензенты расценят любую из этих стратегий, зависит от вашей области и места публикации. Но эти рецензенты должны знать, какой выбор вы сделали в своем анализе. Отбрасывание выбросов — это аналитический выбор, а делать любой аналитический выбор без раскрытия информации — ненаучно.
Как человек с меньшим академическим образованием и большим опытом работы в области компьютерных наук, мой первый инстинкт при небольшом количестве неудачных тестов заключается в том, что эти конкретные тесты не выполнялись должным образом. По сути, ваш алгоритм не завершился и вернулся раньше из-за ошибки. Эта ошибка может быть либо в вашем коде, либо в вашем наборе данных, либо в том и другом. В любом случае, разница в несколько порядков ненормальна. Проверьте результаты этих конкретных прогонов и убедитесь, что они нормальные. Насколько нам известно, эти 5 точек данных могут на самом деле быть алгоритмом, работающим правильно, а эти 9995 других точек данных — ошибочными (маловероятно, но возможно).
Что касается отображения этих выбросов, рассматривали ли вы возможность отображения этого графика с логарифмической (10) осью Y? Это уменьшит количество неиспользуемого пространства, но все же покажет, что есть выбросы.
В любом случае, удаление точек данных по причине форматирования является фальсификацией данных, точно так же, как если бы вы удалили их, потому что они не подтверждают вашу точку зрения. Это может легко убить вашу карьеру.
Чтобы быть прагматичным (и соглашаясь с общей философией полной прозрачности), просто разместите свои диаграммы в отведенном для этого месте, исключив выбросы, а затем поместите большую сноску на диаграмму, объясняющую, что 5 точек были исключены из-за ограничений размера на странице. и предложите там комментарий о том, почему/как эти точки существуют. Просто мои 2 цента от одного многострадального академика другому...
Всегда полезно изменить графики, чтобы данные выглядели более четкими. Никогда не рекомендуется изменять ваши данные, чтобы ваши графики выглядели более четкими.
Есть много способов рассказать читателям о выбросах. Я предпочитаю использовать график с явно сломанной осью , которая привлекает внимание к выбросам, не нарушая остальной части графика.
Хорошо, что вы беспокоитесь о том, чтобы запутать своих читателей. Вы должны тщательно продумать, как предупредить своих читателей о таких деталях, не отвлекая их от истории, которую вы пытаетесь рассказать. Однако, как советовали вам многие, никогда не следует молча игнорировать данные, чтобы ваша история звучала проще, чем она есть на самом деле. Это может немного облегчить чтение вашей статьи, но только ценой того, что вашу работу невозможно воспроизвести (как сказал Питер ) или выкинуть странную деталь, которая могла бы оказаться важным ключом к разгадке (как сказал Кешлам) . сказал).
Если вы понимаете причину выбросов, и они представляют собой дефект вашей методологии измерения, исправьте ошибку и повторите эксперимент с улучшенным оборудованием. Вам не нужно публиковать подробности всех тупиков, по которым вы прошли. Если вы не понимаете причину выбросов, то игнорировать их неэтично, хотя я уверен, что это делается очень часто. Если вы понимаете причину, например, иногда алгоритму просто повезло, тогда вам нужно упомянуть их, но они не должны появляться на той же диаграмме, что и все другие измерения, если это сделает диаграмму нечитаемой.
Никто
пользователь541686
Никто
Врзлпрмфт
пользователь541686
ДжеффЭ
пользователь541686