Построение диаграмм причинно-следственных связей в R

Диаграмма рыбы – один из наиболее часто используемых инструментов качества в анализе причинно-следственных связей. Этот метод прост, эффективен и нагляден. Благодаря чему стал неотъемлемой частью любого анализа. В проектах шести сигм диаграммы Ишикавы чаще всего используются на этапах сбора (Measure) и анализа (Analyze) данных. Именно поэтому разработчики библиотеки SixSigma для R добавили его в пакет одним из первых.

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

Построению диаграммы Ишикавы соответствует команда “ss.ceDiag()” в пакете SixSigma. Чтобы установить пакет запустите R и введите в командной строке “install.packages("SixSigma")”. В открывшемся окне выберите источник (сервер, с которого будет происходить установка) и следуйте командам установщика. После завершения установки вызываем пакет командой “library("SixSigma")”. Чтобы посмотреть состав пакета в консоли программы введите “example("SixSigma")”.

Процесс построения диаграмм рыбы условно можно разделить на 5 этапов:

    1. Сформулируем задачу или проблему – это голова рыбы, и запишем в командной строке R. С помощью функции “<-” присвоим это значение какой-либо переменной, например, переменной “effect”:

> effect<-"Дефект литья"

    2. Проведем горизонтальную линию – хребет рыбы и укажем основные причины – ребра. Поскольку все переменные в R представляют собой векторы, то основные категории анализа следует присвоить переменной “causes.gr”.

> causes.gr<-c("Оборудование", "Материал", "Метод", "Персонал", "Окружающая среда")

    3. Определим специфические категории анализа – кости рыбы. Для этого запишем их в переменную causes, которая должна принадлежать типу list (список):

> causes<-vector(mode="list", length=length(causes.gr))

Объекты типа list могут содержать в себе несколько векторов. В нашем случае каждый элемент списка будет относиться к одному из ребер. Для начала создадим пустой список, а затем поочередно будем добавлять к нему элементы. В большинстве случаев, язык R не требует предварительного объявления переменных, но поскольку мы не можем добавлять элементы списка, не имея самого списка, то используем функцию vector() для создания пустой переменной causes.

    4. Определим элементы списка – специфические категории анализа:

> causes[1]<-list(c("нагревающий элемент", "пресс-форма")
> causes[2]<-list(c("структура", "краситель", "размер гранул")
> causes[4]<-list(c("опыт работы", "образование")
> causes[5]<-list(c("влажность", "температура", "запыленность")

Таким образом, мы заполнили значениями список causes. Индексы после имени переменной показывают, с каким из элементов списка мы работаем в данный момент. Например, оборудованию соответствует первый компонент списка: “causes[1]”, а материалу – второй: “causes[2]”.

Обратите внимание: для ребра “метод” не указана переменная и причины второго уровня, соответственно, категория останется незаполненной.

    5. Последний этап собирает все переменные в кучу и выводит результат. В консоли R введите команду:

> ss.ceDiag(effect, causes.gr, causes, main="Диаграмма Ишикавы", sub="SixSigmaOnline.ru")

Алгоритм целиком выглядит так:

    library("SixSigma")
    #fishbone
    effect<-"Дефект литья"
    causes.gr<-c("Оборудование", "Материал", "Метод", "Персонал", "Окружающая среда")
    causes<-vector(mode="list", length=length(causes.gr))
    causes[1]<-list(c("нагревающий элемент", "пресс-форма"))
    causes[2]<-list(c("структура", "краситель", "размер гранул"))
    causes[4]<-list(c("опыт работы", "образование"))
    causes[5]<-list(c("влажность", "температура", "запыленность"))
    ss.ceDiag(effect, causes.gr, causes, main="Диаграмма Ишикавы", sub="SixSigmaOnline.ru")

Результат работы будет выведен в отдельное окно:

Чтобы отредактировать какой-либо из элементов списка, например, категорию “Оборудование”, введите следующую команду:

> causes[1]<-list(c("нагревающий элемент", "пресс-форма", "форма шнека"))

Затем повторно щаг №5:

> ss.ceDiag(effect, causes.gr, causes, main="Диаграмма Ишикавы", sub="SixSigmaOnline.ru")

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

25.07.2011 / 5111 / Загрузок: 0 / Voliadis /
Всего комментариев: 0
avatar
SixSigmaOnline.ru © 2009-2017            Хостинг от uWeb