Как нормализовать результаты эталонных тестов, чтобы получить правильное распределение коэффициентов? - PullRequest
1 голос
/ 25 сентября 2011

Чтобы дать немного контекста, я измеряю производительность виртуальных машин (ВМ) или системного программного обеспечения в целом и обычно хочу сравнить различные оптимизации для решения проблемы производительности. Производительность измеряется в абсолютном времени выполнения для ряда тестов и, как правило, для ряда конфигураций ВМ, варьирующихся по используемому количеству ядер ЦП, различных параметров тестов и т. Д. Чтобы получить надежные результаты, каждая конфигурация измеряется примерно в 100 раз. Таким образом, я получаю целый ряд измерений для всех видов различных параметров, где я обычно заинтересован в ускорении для всех из них, сравнивая ВМ и ВМ без определенной оптимизации.

В настоящее время я выбираю одну серию измерений. Допустим, измерения для виртуальной машины с оптимизацией и без нее (VM-norm / VM-opt) выполняются в тесте A на 1 ядре.

Поскольку я хочу сравнить результаты различных тестов и количества ядер, я не могу использовать абсолютное время выполнения, но нужно как-то его нормализовать. Таким образом, я объединяю 100 измерений для эталона A на 1 ядре для VM-нормы с соответствующими 100 измерениями VM-opt для расчета отношений VM-opt / VM-norm.

Когда я делаю это, проводя измерения именно в том порядке, в котором я их получил, у меня, очевидно, довольно сильно варьируются мои 100 результирующих отношений VM-opt / VM-norm. Итак, я подумал, хорошо, давайте предположим, что изменения в моих измерениях происходят от недетерминированных эффектов, и те же самые эффекты одинаково вызывают изменение для VM-opt и VM-norm. Итак, наивно, все должно быть в порядке, чтобы отсортировать измерения перед их сопряжением. И, как и ожидалось, это уменьшает вариации курса.

Однако, мои полусознания говорят мне, что это не лучший способ и, возможно, даже не правильный. Поскольку в конечном итоге меня интересует распределение этих соотношений, чтобы визуализировать их с помощью бин-графиков, коллега предложил использовать декартово произведение вместо объединения отсортированных измерений. Это звучит так, как будто бы лучше объяснить случайный характер двух произвольных измерений, спаренных для сравнения. Но мне все еще интересно, что статистик предложил бы для такой проблемы.

В конце концов, мне действительно интересно построить распределение отношений с R в виде графиков бобов или скрипки. Простые коробочные сюжеты, или просто означает + stddev, расскажи мне слишком мало о том, что происходит. Эти распределения обычно указывают на артефакты, которые возникают в результате сложного взаимодействия на этих сложных компьютерах, и это то, что меня интересует.

Любые указатели на подходы к тому, как работать и как правильно составлять такие соотношения, очень приветствуются.

PS: Это репост, оригинал был размещен на https://stats.stackexchange.com/questions/15947/how-to-normalize-benchmark-results-to-obtain-distribution-of-ratios-correctly

1 Ответ

0 голосов
/ 25 сентября 2011

Мне показалось странным, что вы получили такой минимальный ответ на "Cross Validated".Это не похоже на конкретный R-вопрос, а скорее на вопрос о том, как разработать анализ.Возможно, аудитория там думала, что вы задаете слишком широкий вопрос, но если это так, то форум [R] еще хуже, так как мы обычно решаем проблемы, когда данные фактически предоставляются.Мы занимаемся запросами на реализацию конструкции на нашем языке.Я согласен с тем, что для изучения распределений предпочтительнее участки для игры на скрипке, а не для боксов (когда имеется достаточно данных, и я не уверен, что в этом случае оценка составляет 100 образцов на группу), но в любом случае это означает, что «ответ R»что вам просто нужно обратиться к соответствующей странице справки R:

library(lattice)
?xyplot
?panel.violin

Для дальнейших комментариев потребуется больше деталей и, предпочтительно, несколько примеров данных, построенных в R. Вы можете обратиться к странице, где "дизайн большого вопроса обрисован в общих чертах ".

Еще один графический метод: если вас интересуют отношения двух парных переменных, но вы не хотите" фиксировать "только х / у, то вы можете изучитьих путем построения, а затем построения линий изо-отношения путем многократного использования аблайна (a = 0, b =).Я думаю, что 100 выборок довольно «тонкие» для оценки плотности, но есть методы 2-мерной плотности, если вы можете собрать больше данных.

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