Чтобы узнать больше о языке программирования R, мы рекомендуем воспользоваться многочисленными книгами и бесчисленными учебными пособиями в интернете. Мы будем работать с библиотекой R под названием LearnBayes, которая сама по себе является учебным пособием. У автора этого модуля, Джима Альберта, есть замечательная книга3 и несколько учебных пособий, доступных онлайн, к которым можно обращаться в случае возникновения вопросов, как это делаем мы. Если у вас нет R, можно загрузить его для нужной платформы по ссылке: https://cran.rstudio.com/index.html. Мы также рекомендуем среду разработки RStudio, которая значительно облегчит написание кода на R: https://www.rstudio.com/products/rstudio/download/.
Скачав RStudio, вам нужно будет ее запустить, введите для этого в командной строке:
install.packages(«LearnBayes»).
Вот факты для нашего сценария.
• Теперь вы – часть команды, которой поручено провести аудит с целью оценки приобретения стоимостью несколько миллиардов долларов.
• Компания, о которой идет речь, имеет значительное глобальное облачное присутствие.
• Вам сообщили, что у компании есть несколько сотен облачных приложений, обслуживающих различные критически важные отрасли с миллионами пользователей.
• Вам дали меньше недели, чтобы, как говорит ваш генеральный директор, «определить, насколько все плохо, есть ли какие-либо подводные камни и, кроме того, насколько вырастет наш технический долг с точки зрения безопасности».
• Ваша организация – одна из нескольких, заинтересованных в сделке с данной компанией. Это что-то вроде срочной распродажи в том смысле, что правление компании-продавца хочет быстрее со всем покончить.
• Вы не сможете получить всю желаемую информацию. Фактически вам даже толком не дадут провести формальную оценку.
Поскольку вы хотите, чтобы ваша работа была состоятельна с точки зрения технической оценки, вы решили сосредоточиться на некоторых аспектах безопасности из Матрицы мер безопасности для облаков от Cloud Security Alliances. Она соотносится со всеми крупными системами контроля вроде ISO, NIST и прочих. Вы сокращаете список до пяти обязательных макроэлементов. Отсутствие любого из этих средств контроля может привести к затратам в несколько сотен тысяч долларов на исправление одного приложения или даже больше.
После проведения небольшого исследования вы на 50 % уверены, что на самом деле истинная доля средств контроля безопасности менее 40 %. Непонятно? Все потому, что мы пытаемся объяснить «картину в пропорции». Лучше всего представлять эту информацию в виде графика. У вас есть колоколообразная кривая, наивысшая точка которой немного смещена влево от центра – отметки 40 % на оси
Предположим, вы проводите первый аудит/опрос по поводу 10 приложений и обнаруживаете, что в 3 из 10 приложений установлены базовые средства контроля безопасности. И теперь вы вводите свои «априорные суждения» о компании, добавив к ним недавно полученные данные, в R:
> library(LearnBayes)
>
> beta.par <– beta.select(list(p=0.5, x=0.40), list(p=0.90, x=.60))
> triplot(beta.par, c(3,7))
Как указано выше, согласно априорным суждениям, вы считаете, что количество действующих средств контроля безопасности для большинства облачных приложений, о которых идет речь, составляет около 40 %. По мере получения дополнительных данных ваши соображения начинают «обретать форму». Это отражено в апостериорных данных, под которыми понимаются данные, полученные после проведения анализа. Если использовать апостериорные данные для нового анализа, то в нем они станут априорными. Данные, с которых вы начинаете прогноз, являются априорными для получения выходных данных, которые будут апостериорными. Разброс ваших суждений уменьшается, диапазоны сужаются и, следовательно, становятся более определенными. Конечно, это только после 10 опросов.
Обратите внимание на график «Вероятность». Эта функция описывает степень вероятности того, что вы сможете увидеть желаемые данные с учетом вашей модели (гипотезы). Формально это было бы записано так: P(Данные | Гипотеза). В нашем случае было три успеха и семь неудач. Если модель последовательна, то вероятность, что она отражает наши данные, должна быть относительно высокой.
Рис. 10.2. Трилинейная диаграмма Байеса, бета (4,31, 6,3) априорные данные, у (успех, попадания) = 3, н (неудачи, промахи) = 7