Введение
В этой статье я представлю байесовскую сеть и основные понятия с соответствующими уравнениями и примерами. Байесовская сеть представляет собой графическую модель (DAG — направленный ациклический граф), основанную на определениях вероятности и рассматривающую условные зависимости между переменными и событиями (вероятность наступления события). Прежде чем продолжить изучение байесовской сети, позвольте мне дать некоторые основные определения.
Терминология
- Совместная вероятность.Вычисление вероятности двух событий вместе в одно и то же время называется совместной вероятностью.
- Условная вероятность.Условная вероятность — это вероятность события (от случайной величины), основанная на другом событии. Чтобы иметь условную вероятность, нам нужно вычислить совместную вероятность и вероятность предыдущего события. Условное распределение возникает, когда есть некоторые данные о связанных переменных.
- Предельная вероятность:вероятность предельного распределения набора случайных величин. В отличие от условной вероятности, она не зависит от значений других переменных.
- Нормализация. – это метод масштабирования, при котором подмножество переменной масштабируется до определенного диапазона (например, от нуля до единицы).
- Маргинализация: определяется как суммирование вероятных значений переменной для анализа предельного вклада других событий.
Байесовская сеть
Байесовская сеть — это сеть, включающая связь между различными узлами, в которой каждый узел является случайной величиной, а тип связи определяет условную вероятность между переменными. На следующем рисунке у нас может быть простая байесовская сеть.
Вероятность Z при данном W будет следующей;
Есть два важных аспекта байесовской сети: определение совместного распределения в задаче и вычисление запросов.
Здесь у нас есть условное распределение, которое необходимо для вычисления вероятностей запросов.
Существует несколько стратегий для нахождения результата запроса с вышеуказанной вероятностью, включая исключение переменных, фильтрацию частиц и подход Гиббса.
Обратите внимание, что при расчете важно нормировать условную вероятность.
Исключение переменных
Исключение переменных является полезным подходом в вероятностных сетевых моделях, таких как цепь Маркова и байесовские сети. Идея состоит в том, чтобы применить факторинг к переменным. Вы можете учитывать конкретную переменную, чтобы преобразовать часть уравнения вероятности в функцию. Однако этот метод потребует времени и ресурсов.
Выборка Гиббса
В выборке Гиббса мы выбираем случайную переменную и берем выборку из переменной по всем другим условным свойствам или свойствам марковского покрытия. Выборка переменной проверяется на все возможности марковского одеяла.
В качестве резюме:
Байесовская сеть — это направленный ациклический граф, который показывает условные зависимости между различными переменными. Узлы описывают переменные, а ребра означают условную связь.
Выполнение
Чтобы реализовать причинно-следственную модель на основе структуры DAG, необходимо рассмотреть следующие шаги;
- Подгонка набора данных к DAG
- Вернуть условные вероятности
- Вычислите запрос, используя один из вышеуказанных методов.
- Предсказать причинно-следственную связь
Вы можете построить DAG, указав ребра. и используя множество методов Python для его получения. Ниже приведен один пример DAG, который показывает, что набор данных имеет четыре функции, а DAG имеет одно ребро.
Имея зависимости, вы можете написать условную вероятность. И примените библиотеку Python или R для вычисления логического вывода.
R Пример
{r}
# R code
library(bnlearn)
data = read.csv()
fit <- bn.fit(net, data, method="bayes")
fit
Пример Python
df = pandas.read_csv() bn_model =bnlearn
.structure_learning.fit(df, methodtype='naivebayes', root_node="0") DAG = bn.make_DAG(bn_model) query =bnlearn
.inference.fit(DAG, variables=['1','2'], evidence={'0':1}, verbose=0)