psi management что это
Индексы PSI и CSI — лучшие метрики для мониторинга работы модели
Представляем вам перевод статьи, опубликованной в блоге towardsdatascience.com.
Ее автор, Juhi Ramzai, рассказала об эффективных методах проверки моделей — PSI (индексе стабильности популяции) и CSI (индексе стабильности характеристик).
Изображение предоставлено автором
После выпуска модели в продакшен необходимо проводить регулярный мониторинг ее работы, чтобы убедиться, что модель все еще актуальна и надежна. Ранее я писала пост о валидации модели и мониторинге ее работы, в котором подчеркивала важность этих двух этапов.
А теперь перейдем к основной теме данного поста. Мы узнаем все о PSI (индексе стабильности популяции) и CSI (индексе стабильности характеристик), которые являются одними из самых важных стратегий мониторинга, используемых во многих областях, особенно в сфере оценки кредитных рисков.
Обе эти метрики (и PSI, и CSI) сосредоточены на изменениях в РАСПРЕДЕЛЕНИИ ПОПУЛЯЦИИ.
Основная идея этих метрик заключается в том, что модель прогнозирования лучше всего работает, если данные, использованные для ее обучения, не слишком отличаются от валидационных / OOT (out of time) данных в плане экономических условий, основополагающих допущений, стиля ведения кампании, направленности и т. д.
Например, мы разработали модель прогнозирования показателей оттока пользователей кредитных карт в условиях нормальной экономической ситуации. Затем мы приступили к тестированию этой модели, но уже в условиях экономического кризиса. Вполне возможно, что в этом случае модель не выдаст точный прогноз, поскольку не сможет уловить тот факт, что в разных сегментах дохода распределение популяции могло значительно измениться (и это могло привести к высокому фактическому уровню оттока пользователей). В результате мы получим ошибочные предсказания. Но так как сейчас мы это уже понимаем, то можем перейти к проверке изменений распределения популяции между временем разработки (DEV time) и настоящим временем. Так мы получим ясное представление о том, можно ли полагаться на результаты, предсказанные моделью, или нет. Именно это и показывают важные метрики мониторинга PSI и CSI.
Индекс стабильности популяции (PSI)
Эта метрика позволяет измерить то, насколько переменная изменилась в распределении между двумя выборками с течением времени. Она широко используется для мониторинга изменений характеристик популяции и диагностики возможных проблем с эффективностью модели. Если модель перестала делать точные прогнозы из-за значительных изменений в распределении популяции, то часто это является хорошим показателем.
Приведенное выше определение как нельзя лучше объяснено в данной исследовательской работе. Я также привела ссылку на него в конце этого поста.
Изначально индекс стабильности популяции (PSI) был разработан для мониторинга изменений в распределении между внеплановыми выборками (ООТ) и выборками периода времени разработки при оценке кредитных рисков. В настоящее время использование индекса PSI стало более гибким по своей природе, что позволяет исследовать изменения как распределений, связанных с атрибутами модели, так и популяций в целом, включая зависимые и независимые переменные CSI. Мы рассмотрим это в следующем разделе.
Индекс PSI отражает тенденцию к изменению популяции в целом, в то время как индекс CSI обычно сосредоточен на используемых индивидуальных переменных модели.
Источник
Изменение в распределении популяции может быть связано:
ШАГИ ДЛЯ РАСЧЕТА ИНДЕКСА PSI (Ссылка)
Какие задачи PSI выполняет, а какие — нет
Интерфейс Project сервера (PSI) может помочь автоматизировать многие серверные процессы в локальной установке Project Server 2013. Но некоторые функции требуют использования Microsoft Project профессиональный 2013.
PSI предназначен для дополнения возможностей Project профессиональный 2013 г., а не для предоставления серверной альтернативы для всех Project профессиональный функций. Сторонние разработчики могут использовать PSI для создания веб-части для локальных установок рабочих пространств Project Web App и проекта, создания настраиваемого Windows приложений и веб-приложений, взаимодействующих с локальными данными Project Server, разработки логики рабочих процессов для управления портфелями проектов, разработки локальных обработчиков событий с полным доверием и интеграция Project Server с другими приложениями. PSI нельзя использовать для разработки приложений для Office Store, мобильных устройств или планшетов; для этого можно использовать клиентскую объектную модель (CSOM).
PSI предоставляет более полный программный интерфейс для Project Server 2013, чем CSOM. Но, если CSOM не предоставляет необходимые функции, рекомендуется использовать CSOM для разработки новых приложений. Дополнительные сведения см. в дополнительных сведениях о том, что делает и не делает CSOM.
Сценарии использования для PSI
Ниже приводится пример некоторых приложений, поддерживаемых PSI для серверных проектов и вычислений:
Автоматизация создания или управления сущностями в Project Server Хотя Project профессиональный 2013 и Project Web App вместе предназначены для обработки управления и создания сущностях, таких как проекты, корпоративные ресурсы и настраиваемые поля, часто бывают случаи, когда настраиваемые приложения могут сэкономить время с помощью массовых или повторяющихся заданий. PSI может автоматизировать несколько видов заданий, которые CSOM не делает, например, с кубами OLAP, анализом портфеля проектов, драйверами бизнеса, уведомлениями, поставщиками ссылок на объекты, безопасностью и SharePoint работой.
Получать данные в опубликованных или архивных таблицах Project базы данных Так как прямой доступ к таблицам черновиков, опубликованных и архивных таблиц не поддерживается, можно использовать PSI для чтения данных, недоступных в таблицах отчетов или представлениях. Например, получите сведения о версиях проекта, датах и изменениях, хранимых в таблицах архива, а затем заполнять управление JS Grid в веб-части информацией.
Проверка данных о состоянии и времени Используйте PSI в локальных обработчиках предварительного события, чтобы проверить состояние назначения или данные таблицы, которые введите пользователи, прежде чем данные будут сохранены в Project Web App.
Проекты по обслуживанию Создайте проекты-заполнители для использования с планами ресурсов. Зарезервируйте время и ресурсы для работ по обслуживанию или основного бизнеса. В проектах по обслуживанию задачи обычно не используются.
Создание финансовых проектов. Создавайте проекты для резервирования времени с помощью расписаний для последующей интеграции с финансовыми системами. Создавайте иерархию финансовых кодов, отражающих структуру детализации затрат финансовой системы. Для финансовых проектов не требуется выполнять планирование или обновлять состояния.
Интеграция с системами бухгалтерского учета. Регистрируйте затраты на ресурсы и расходы, связанные с проектами, и передавайте данные в финансовые системы и системы выставления счетов, а также используйте эти данные для целей сравнения с бюджетом. Синхронизируйте задачи, ресурсы и назначения между системами. Отметьте данные расписания в одной системе для передачи в другую (вопрос о том, какое расписание должно использоваться, зависит от потребностей организации или от индивидуальных проектов).
Автоматизация обновлений, получаемых от участников рабочих групп. При работе с проектами, которые не являются активно управляемыми, вы можете автоматически обновлять проекты на сервере по мере прогресса и внесения изменений в проекты участниками рабочих групп. Проекты можно обновлять и повторно публиковать без участия руководителей проектов, проверяющих результаты или корректирующих планы.
Оценка Project серверов в локальных обработчиках событий полного доверия Локальный обработник событий для предварительного события ProjectCreating может использовать данные Project Server из PSI, чтобы определить, следует ли отменять событие. Например, прежде чем создать проект, можно сравнить предлагаемый проект с существующими проектами.
Создание настраиваемой деятельности рабочего процесса для управления запросами Используйте PSI в локальных действиях рабочего процесса с полным доверием для изменения и обновления предложений проектов на основе шаблонов корпоративных проектов. Используйте настраиваемые поля проекта для тегов проекта с информацией, необходимой для процесса инициации и утверждения. Добавьте задачи по определению этапов проекта, основных вех и конечных результатов. После утверждения предложений по проектам рабочий процесс может изменять их в полнофутбные проекты, управляемые с помощью Project профессиональный.
Создание расширений PSI (Deprecated. Расширения обесценяются в Project Server 2013 и не будут поддерживаться в будущих выпусках.) PSI можно расширить с помощью настраиваемой службы с помощью интерфейса Windows связи (WCF). Расширения PSI работают на компьютере Project Server и могут использовать ту же инфраструктуру безопасности, что и встроенные службы PSI. Расширения могут запрашивать таблицы отчетов, использовать отдельные таблицы баз данных, консолидировать вызовы PSI для сохранения пропускной способности, а также интегрироваться с сторонними приложениями и другими серверными компонентами. Дополнительные сведения см. в дополнительных сведениях о разработке расширений PSI.
Использование обезличения в локальных приложениях с полным доверием Вызовы к интерфейсу WCF PSI можно обезличить, чтобы приложение допускали разрешения безопасности обезличенных пользователей. Обезличение следует использовать с осторожностью и осторожностью. Чтение и обновление сведений о состоянии для других пользователей не требует обезличения. Новые приложения, которые требуют обезличения, должны использовать протокол CSOM и OAuth вместо PSI. Дополнительные сведения о вымыске с PSI см. в см. в этой ссылке Use Impersonation with WCF.
В некоторых случаях PSI можно использовать в клиентских приложениях с CSOM и Project Online. Если вы используете веб-службу PSI на основе ASMX, приложение должно включать метод проверки подлинности объекта Microsoft.ProjectServer.Client.ProjectContext в CSOM и метод проверки подлинности клиентского объекта System.Web.Services.Protocols.SoapHttpClientProtocol. Пример, использующий веб-службу с SharePoint CSOM, см. в SharePoint Online с использованием проверки подлинности на основе утверждений. > из-за ограниченных разрешений на уровне приложений PSI не может использоваться в приложениях, предназначенных для распространения в общедоступных Office Store. В этом случае можно использовать только CSOM.
Что не делает PSI
Несмотря на то, что PSI может делать много вещей, PSI не делает. Ниже следующую следующую статью: PSI не может сделать, но CSOM может сделать.
Project Online и удаленные приемники событий
Основное ограничение PSI — это Project Online. Приложения, которые используют PSI, требуют полного доступа к локальной установке Project Server. Например, PSI нельзя использовать в приемниках удаленных событий, где приемник событий устанавливается в качестве службы Microsoft Azure.
Проверка подлинности рабочего процесса и утверждений
Определение рабочего процесса, использующее Windows workflow Foundation версии 4 (WF4), требует проверки подлинности утверждений, которую PSI не поддерживает напрямую. Это означает, что вы не можете использовать PSI для создания проекта в Project Server 2013 с типом корпоративного проекта (EPT) с определением рабочего процесса WF4.
PSI можно использовать для создания проектов с epTs, которые либо не имеют рабочего процесса, либо используют устаревшее определение WF3.5 (версия рабочего процесса в Project Server 2010). Чтобы создать проект с EPT с определением WF4, используйте CSOM.
Действия, Project профессиональный:
Следующий список — это вещи, которые не могут сделать ни PSI, ни CSOM.
Локальные данные
Управление данными в локальных проектах (.mpp files). Например, определение таблиц коэффициента затрат или контуров доступности для локальных ресурсов.
Определение или редактирование локальных базовых календарей или календарей ресурсов, включая исключения календаря.
Определение локальных пользовательских полей. (PSI поддерживает редактирование локальных пользовательских значений полей для задач, ресурсов и назначений.)
Корпоративные данные
Проверка или редактирование корпоративного глобального шаблона. Глобальные корпоративные данные в Project Server 2013 — это набор двоичных таблиц данных в базе данных Project, а не шаблон проекта, как в Office Project Server 2007 и более ранних версиях.
Определение или редактирование корпоративных календарей. Методы Calendar управляют только исключениями календаря.
Мастер-проекты и межпроектные ссылки
Создание мастер-проектов и вставка подпроектов.
Планирование критического пути в мастер-проекте.
Создание межпроектных ссылок.
Ресурсы
Запрос или выполнение выравнивания ресурсов.
Изменение ресурса при назначении. (С помощью PSI можно удалить назначение и создать новое.)
Удаление или замена ресурса, на который фактически принята работа (фактические данные).
Изменение типа ресурса между работой, материалом и стоимостью.
Создание или редактирование календарей ресурсов.
При добавлении ресурса в задачу PSI автоматически не перераспределяет работу так, Project профессиональный делает. От разработчика зависит выбор и явное назначение распределения работ.
Затратные ресурсы
Контуры работы
Редактирование данных с периодом времени.
Метод UpdateStatus в веб-службе Statusing Может изменять время выполнения заданий после обновления и публикации данных назначения руководителем проекта.
Настройка или изменение типа контура назначения (например, плоский, загруженный сзади или фронтальная загрузка).
Базовые показатели и заработаное значение
Сохранение базовых данных или редактирование базовых данных.
Настройка даты выполнения.
Вычисление отклонений и заработанных значений.
Интерактивное планирование
Поддержка интерактивного планирования. (Поскольку Project Сервер асинхронно обрабатывает взаимодействия, интерактивное планирование должно быть сделано с Project профессиональный.)
Чтобы избежать изменения программного поведения, методы PSI, которые выдвигаются из Project Server 2010, действуют так же в Project Server 2013. Например, QueueUpdateProject по-прежнему имеет те же ограничения и использует более старый серверный движок планирования. Новый метод QueueUpdateProject2 устраняет многие из этих ограничений и использует новый серверный движок Project Server 2013, который является тем же механизмом планирования, что и в Project профессиональный 2013 г.
Задачи
Изменение типа задачи (фиксированная работа, продолжительность или единицы).
Изменение того, является ли задача управляемой усилиями.
Изменение начисления с фиксированной стоимостью задачи.
Создание или редактирование повторяющихся задач.
Назначение или изменение календаря задач для существующих задач.
Создание новой задачи с календарем задач.
Изменение значения поля TASK_IGNORES_RES_CAL (задача игнорирует календарь ресурсов).
Изменение активного состояния задачи с помощью QueueUpdateProject, если в одном вызове будут внесены дополнительные изменения. Дополнительные сведения см. в Project Scheduling on the Server в разделе Project Server.
Суммарные задачи.
Создание или изменение назначений в сводных задачах.
Рекомендуется не выполнять назначения по суммарным задачам с помощью Project профессиональный или другим способом. Дополнительные сведения см. в Project Scheduling on the Server в разделе Project Server.
Редактирование сводных полей задач, которые обычно свернуты из подзадачи. Проекты на стороне серверов всегда сверкают сводную информацию, а не настраивают сведения о сводной задаче и передвигают ее в подзадачи. В сводных задачах можно редактировать только следующие поля:
Что такое системы API Management
Зачем они нужны и какие функции они выполняют.
Всем привет! Меня зовут Антон, я – инженер команды, отвечающей за развитие централизованных IT-сервисов, которыми пользуются продуктовые команды в X5 Retail Group.
В этой статье я расскажу о системах класса API Management и в частности о APIM Gravitee (https://www.gravitee.io), том, что это за класс систем, как они используются для обеспечения потребностей команд разработки. Статья не погружает в технические аспекты, но может быть полезна архитекторам и менеджерам, которые думают о том, чтобы попробовать использовать данный класс систем, но не знают, подойдут ли они для их задач, а также разработчикам, которые могут открыть для себя новые инструменты для удобной работы с API.
Что такое системы API Management
Определение
В данных вариантах определения понятия «API Management» мы видим, что это процессы и системы позволяющие публиковать внутренние API сервисов, прописывать им определенные политики обработки запросов и ответов, контролировать доступ и анализировать статистику использования и производительности. Также рядом могут располагаться несколько подсистем, которые организуют выполнение необязательных функций, но интересных с точки зрения других подразделений, например монетизация API.
Зачем еще один огород городить?
Архитектура сервиса
В архитектуру сервиса API Management обычно входят (см. рис. 1):
Management Core: ядро системы, которое отвечает за формирование политик, планов, работу точками входа и выхода, настроек API Gateways и API, настройку CORS, Failover, Healthcheck, формирование запросов на отображение статистики использования API и логов.
Web/Development Portal: отвечает за UI, отображение настроек, статистики использования API, healthcheck и логов, а также позволяет общаться разработчикам, администраторам и владельцам API.
API Gateways: шлюзы или прокси, они отвечают за обработку запросов от клиентов сервиса согласно установленных настроек и политик, ведение логов запросов и ответов, а также запуск healthcheck по Backend API.
Backend API: отвечает за обработку запросов согласно бизнес-логике конечного сервиса.
Databases: в части сервиса API Management, хранят данные по настройке API, API Gateways, логи запросов клиентов и ответы backend, healthcheck, данные мониторинга практически всех компонентов API Management.
рис. 1 Архитектура сервиса API Management
Плюсы и минусы систем API Management
У данных систем есть несколько преимуществ:
Абстракция: система упрощает сложность сервисов под ним и предоставляет клиентам единый опыт.
Аутентификация: система позволяет пройти аутентификацию, в том числе и через сторонние службы, например Keycloak.
Управление трафиком: система регулирует входящий и исходящий трафик API.
Мониторинг API: система может помочь в мониторинге запросов/ответов клиента.
Преобразования: система позволяет преобразовать запросы/ответы API.
К минусам можно отнести:
Увеличение Latency: шлюзу необходимо время для обработки запросов/ответов согласно настроенным политикам.
TCO: Совокупная стоимость владения для всей цепочки поставки ценности, естественно будет больше, чем просто установить nginx и выставить его наружу.
API Gateways
API Gateways работают как единая точка входа в ЦОД (центр обработки данных), группу распределенных служб или сервисов (см. рис. 2). Также API Gateways могут использоваться для связи между двумя продуктами/сервисами, развернутыми в одном ЦОД. API Gateways принимают вызовы от клиентов, обрабатывают их согласно политикам/правилам и направляют их в соответствующие сервисы. Чтобы API Gateways могли максимально быстро обрабатывать запросы от клиентов их делают максимально легковесными, с использованием асинхронных фреймворков. API Gateways, как правило, работают только на седьмом уровне (L7) модели OSI.
рис. 2
Типы API Gateways
С точки зрения расположения есть два места установки API Gateways:
Local API Gateways работают как шлюз для сервисов внутри организации.
DMZ API Gateways работают как шлюз для внешних потребителей и клиентов сервисов.
Jabber-клиент WIME. Наш open source форк на базе PSI+
Последнее время поле разработки меcсенджеров сместилось на мобильные платформы и закрытые протоколы, а многие старые проекты стали коммерциализированы и замкнулись на себя. Логика понятна, зачем делать мессенджеры на основе открытых протоколов, так нельзя привязать пользователей к себе. Подобные проекты могут существовать только в рамках Open Source сообщества и доброй инициативы.
Один из сотрудников нашей компании (whoer.net) предложил сделать свой форк Psi+ и возглавил проект, зачем это нужно и что мы сделали, под катом.
PSI+ это вполне самостоятельный клиент, на базе известного PSI, который развивается в рамках существующей команды и их видения удобного мессенджера. Некоторые вещи в нем, нам казались не очень удобными и мы понимаем, что требовать от разработчиков что-то переделать на наш вкус это не правильно и контрпродуктивно. Поэтому мы связались с командой разработчиков и несколько месяцев вместе с ними, работали над собственной версией клиента, которую хотим вам презентовать и предложить для использования. Это GNU GPL open source продукт, в нет и не будет коммерции. Это первый билд, преальфа того, что мы хотели бы сделать. Работа над клиентом будет продолжаться и он будет улучшаться до тех пор, пока не возникнет понимание, что улучшать больше особо нечего. Зачем это нужно? Многие из нас пользуются jabber-клиентами для деловой и личной переписки, у каждого из нас сотни контактов и мы хотели улучшить жизнь себе и обществу. Нам не нравится, что появляются десятки различных мессенджеров, где каждый тянет одеяло на себя, раздражает необходимость переключаться между скайпами, вотсапами, вайберами, аськами и телеграммами. Мы хотели бы видеть единый open source XMPP протокол и разные удобные клиенты под него, на вкус и цвет.
Теперь о том, что сделано на данный момент.
1) Сильно переработали работу с историей, ей теперь реально удобно пользоваться:
— удобный поиск по всей истории контактов
— найденные сообщения показываются в контексте истории, а не набором отдельных реплик
— увеличили количество сообщений на страницу истории, теперь перелистывать страницы нужно гораздо реже
2) Переработали меню настроек, что-то не сильно важное убрали в расширенные настройки, что-то более важное переместли из расширенных настроек в общее меню. В общем, тут стало поудобнее. На наш взгляд.
3) Изменили всплывающее меню, по нажатию правой кнопки мыши, в поле списка контактов и в поле чатов. Расширили его функционал. Теперь часто используемые действия будут совершаться гораздо быстрее.
4) Т.к. ресурс у нас про безопасность и анонимность, а главный залог анонимности это — умение не выделяться. На старте, пользоваться программой будут достаточно мало людей и название клиента (эта информация которую может посмотреть любой ваш собеседник) будет вас резко выделять из толпы. В клиенте, в расширенных настройках, есть возможность маскировки под самые популярные Jabber клиенты, по умолчанию мы установили клиент PSI.
5) Все открытые вкладки, до момента закрытия клиента, так же открываются и после его перезапуска, это просто удобно.
6) Теперь все сообщения (в том числе и технические, например запрос на авторизацию) связанные с контактом из вашего контакт-листа отображаются в окне чата, ранее это были отдельно всплывающие окна с технической информацией.
7) Сделали полностью портативную сборку клиента.
8) Убрали постоянно появляющееся окно, с назойливым предложением внести информации о себе. Если человек ее не ввел, значит не хотел, зачем ему напоминать об этом?
9) Улучшили поиск по контакт-листу.
— вызов меню поиска происходит по нажатию клавиши F3
— фильтр поиска не сбрасывается после щелчка по одному из отфильтрованных контактов
10) Устранили ошибку возникающую при запуске 2х клиентов одновременно.
11) Переработали и значительно улучшили работу многострочных табов.
— добавили возможность жестко прикреплять вкладки чатов, по аналогии с прикрепленными табами в браузере. Это может пригодиться когда вам надо не забыть переговорить с человеком когда он появиться онлайн.
— активный таб чата выделен более ярко — это удобно когда у вас открыто много чатов.
— открытые табы теперь можно менять местами
12) В табе, при общении с вашим контактом, вы теперь видите название текущей группы в которой он находится. Это удобно когда у вас много контактов и десятки “Иванов”, с которыми порой возникала путаница.
13) При смене вашего статуса, больше не появляется назойливое окно с предложением описать свой статус.
14) Возможность копировать часть выделенного URL во входящих сообщениях, а не только весь URL целиком, как было ранее
15) При открытии чата с контактом, вам сразу показываются последние 5 сообщений (это можно изменить в настройках) с ним, для того чтобы вы могли сразу сориентироваться о чем вы с ним общались ранее.
16) Теперь сертификаты автоматически генерируются «из коробки».
17) OTR включается автоматически для любого чата, при возможности со стороны другого собеседника его использовать (регулируется в настройках).
18) Добавили предупреждение при начале диалога с другим контактом, если этот контакт использует не латинские символы в своем Jabber ID.
А так же много мелких, технических и графических исправлений которые были найдены в процессе работы над продуктом, которые мешали жить и нормально пользоваться IM мессенджером.
В ближайших планах:
1) Улучшить работу с ОТР, проверять статус собеседника и не отправлять в оффлайн зашифрованные сообщения, спрашивать пользователя, что отправить шифрованное невозможно, отправить ли обычное.
2) Сделать поддержку и работу через TOR из коробки
3) Ускорить работу истории, отказаться от перелистывания страниц
4) Портировать клиент на популярные *nix based платформы.
5) Выпустить мобильную версию приложения, для android и iOS. Большинство мобильных jabber-клиентов не обновлялись год. Ситуация не нормальная.
6) Сделать автообновления.
Доработать SIP связь и привести ее в стабильно рабочее стояние, подумать на счет целесообразности видеосвязи.
Создание своего jabber-сервера лежит в русле ваших отзывов, с одной стороны, существует очень много различных серверов и мы не видим смысла в создании какой-то группы собственных серверов, с другой стороны, они часто работают не стабильно.