Я должен немедленно уточнить, что я являюсь практикующим разработчиком программного обеспечения, а не статистиком, и что мой класс по статистике в колледже был очень давно ...
Тем не менее, я хотел бы знать, существует ли метод для накопления набора описательной статистики, который затем может быть использован для создания коробочного графика, который не влечет за собой сохранение группы отдельных выборок?
То, что я пытаюсь сделать, это создать графическую сводку времени обслуживания очереди в рамках сложного процесса с несколькими очередями. В прошлом я использовал пакет под названием tnftools, который позволял накапливать большие выборки, а затем обрабатывать их в виде хорошего графика времени отклика и выбросов ... Но tnftools недоступны для моей текущей платформы.
В идеале я хотел бы иметь возможность собирать набор описательной статистики «на лету» по мере выполнения процесса, а затем извлекать данные для анализа по требованию. Но я не могу просто заставить процесс накапливать сэмплы, так как задействованная при этом память / ввод-вывод окажет неприемлемое влияние на производительность системы.
источник
Ответы:
Для бокса «на лету» вам понадобятся мин / макс (тривиально) «на лету», а также квартили «на лету» (0,25,0,5 = медиана и 0,75).
В последнее время проделана большая работа по проблеме онлайнового (или «на лету») алгоритма для вычисления медианы.
Недавние разработки - это бинмед . Как побочный удар, он также имеет лучшую сложность в худшем случае, чем быстрый выбор (который не является ни онлайн, ни однопроходным).
Вы можете найти соответствующую статью, а также код C и FORTRAN онлайн здесь . Возможно, вам придется проверить детали лицензирования с авторами.
Вам также потребуется алгоритм однократного прохода для квартилей, для которого вы можете использовать описанный выше подход и следующую рекурсивную характеристику квартилей в терминах медиан:
а также
то есть квартиль 25 (75) процентов очень близок к медиане тех наблюдений, которые меньше (больше) медианы.
Приложение:
Существует множество старых многопроходных методов для вычисления квантилей. Популярный подход заключается в поддержании / обновлении детерминированного размера резервуара наблюдений, случайно выбранных из потока, и рекурсивного вычисления квантилей (см. Этот обзор) для этого резервуара. Этот (и связанный) подход заменен предложенным выше.
источник
Вместо того, чтобы просто найти медиану, существует алгоритм, который непосредственно поддерживает оценочную гистограмму: « Алгоритм P-квадрата для динамического вычисления квантилей и гистограмм без сохранения наблюдений». Это, вероятно, будет намного эффективнее повторного биннинга для каждого квантиля, который вы хотите.
источник