Анализ сходимости и воспроизводимости измерительных систем в R

Анализ сходимости и воспроизводимости измерительной системы является составной частью пакета R – SixSigma. Для того, чтобы установить этот пакет, запустите программу и введите команду “install.packages("SixSigma")” в консоли программы. В открывшемся окне выберите источник (сервер, с которого будет происходить установка) и следуйте командам установщика.

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

  • Колонка с результатами измерений
  • Колонка, указывающая деталь (образец)
  • Колонка, указывающая оператора (устройства и т.д.)
  • Переменная / источник данных
  • Заголовок “Header”
  • Подзаголовок “Footer”

Рассмотрим на примере анализа, описанного в статье Сходимость и воспроизводимость измерительных систем. Исходные данные перенесены в файл с расширением *.csv и доступны для скачивания всем зарегистрированным пользователям сайта. Сохраните файл в каталог “Мои документы” и вызовите таблицу на экран с помощью команды “read.table("Cable.csv", sep=";", dec=",", header=TRUE)”. Если файл размещен в какой-либо другой папке, укажите к нему путь следующим образом: “read.table("C:\\...\\Cable.csv", sep=";", dec=",", header=TRUE)”. С некоторыми особенностями синтаксиса R читатель может ознакомиться из публикации Статистика с большой буквы или R.

После ввода соответствующей команды на экране появится следующая таблица:

       Part_Number Operator Measurement
    1            1        1         4.9
    2            1        1         4.7
    3            1        1         4.8
    4            1        1         4.5
    5            1        1         4.7
    ...

R, как и любой язык программирования работает с переменными, поэтому для начала запишем таблицу в какую-либо переменную (например, Gage_RR):

> Gage_RR<-read.table("Cable.csv", sep=";", dec=",", header=TRUE)

Так как столбцы “Operator” и “Part_Number” содержат не атрибутивные значения, а цифровые, следует указать тип столбцов во время присвоения таблицы переменной. Таким образом, команда выше примет следующий вид:

> Gage_RR<-read.table("Cable.csv", sep=";", dec=",", header=TRUE, colClasses=c(Part_Number="factor", Operator="factor"))

Чтобы провести анализ сходимости и воспроизводимости измерительной системы в консоли программы следует указать следующую команду: “ss.rr(результаты измерений, образец, оператор, data=переменная, main="заголовок", sub="подзаголовок")”. Например:

> ss.rr(Measurement, Part_Number, Operator, data=Gage_RR, main="Gage R & R", sub="SixSigmaOnine.ru")

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

    library("SixSigma")
    #Gage_R_and_R
    Gage_RR<-read.table("Cable.csv", sep=";", dec=",", header=TRUE, colClasses=c(Part_Number="factor", Operator="factor"))
    ss.rr(Measurement, Part_Number, Operator, data=Gage_RR, main="Gage R & R", sub="SixSigmaOnine.ru")

Результаты анализа в консоли программы:

    Analysis of Variance Table
    Response: var
                  Df Sum Sq Mean Sq F value    Pr(>F)
    part           4 3.9352  0.9838 54.9609 1.001e-15
    appr           1 0.0002  0.0002  0.0112    0.9163
    part:appr      4 0.5848  0.1462  8.1676 6.511e-05
    Repeatability 40 0.7160  0.0179

    Gage R&R
                      VarComp %Contrib
    Total Gage R&R    0.04356    34.21
      Repeatability   0.01790    14.06
      Reproducibility 0.02566    20.15
        appr          0.00000     0.00
        part:appr     0.02566    20.15
    Part-To-Part      0.08376    65.79
    Total Variation   0.12732   100.00

                         StdDev   5,15*SD %StudyVar
    Total Gage R&R    0.2087103 1.0748582     58.49
      Repeatability   0.1337909 0.6890230     37.50
      Reproducibility 0.1601874 0.8249651     44.89
        appr          0.0000000 0.0000000      0.00
        part:appr     0.1601874 0.8249651     44.89
    Part-To-Part      0.2894132 1.4904780     81.11
    Total Variation   0.3568193 1.8376193    100.00
    Number of Distinct Categories= 1

Первая таблица (Analysis of Variance Table) содержит результаты двухфакторного дисперсионного анализа (Two Way ANOVA), отражающего вклад операторов и деталей в вариабельность результатов измерения. Первые две строки таблицы описывают изолированное влияние каждого фактора на результат измерения, а в третьей (part:appr) – учитывается их взаимодействие. В последнем столбце указан уровень значимости, согласно которому значимое влияние на результат измерения оказывают непосредственно измеряемые образцы, а также взаимодействие двух факторов. Из-за значимости взаимодействия изучаемых факторов интерпретировать изолированные факторы следует с осторожностью. Последняя строка таблицы показывает вклад неучтенных факторов в вариабельность результатов измерений.

Теперь рассмотрим таблицу Gage R&R. В этой таблице показаны источники общей вариабельности результатов: измерительная система (Total Gage R&R), включая ее компоненты, а также вариабельность между измеряемыми деталями. Сходимость измерительной системы (Repeatability) – это различия между повторными измерениями, выполненными одним оператором, а различия, возникшие при измерении одной детали разными операторами, характеризуют воспроизводимость системы (Reproducibility).

В первом столбце таблицы приведены величины компонентов дисперсии (VarComp), для удобства анализа эти же значения выражены в процентах во втором столбце (%Contrib). Другими словами, это доля вклада каждого компонента в общую вариабельность. Однако, вариабельность выраженная в величинах дисперсии нам не подходит. Для анализа необходимо знать величину стандартного отклонения. Поэтому столбец StdDev не что иное, как квадратный корень из VarComp. Следующий столбец, обозначенный как «5,15*SD», содержит все значения в диапазоне 5,15 стандартных отклонений. Как известно, в случае нормального распределения величины, примерно 99,73% всех данных входят в диапазон размером в шесть стандартных отклонений. Если же использовать 5,15 сигм, то получается примерно 99% от совокупности. И последний столбец, по аналогии с %Contrib, отражает процентное соотношение всех источников вариабельности системы.

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

Остался еще один показатель – уровень дискретности или число категорий дискретности (Number of Distinct Categories). Этот показатель характеризует способность измерительной системы дифференцировать разные детали. В нашем случае величина NDC равна единице – это значит, что измерительная система не может достоверно различить разные детали.

Ниже представлены диаграммы, построенные на основе значений из таблицы:

График Components of variation отражает все источники вариабельности. В идеале, последняя пара столбцов должна значительно превосходить все остальные (согласно руководству AIAG, вклад измерительной системы не должен превышать 10% вариабельности результатов измерений). Рассмотренный пример свидетельствует о непригодности измерительной системы.

На графике R chart показан уровень постоянства операторов при измерениях, а также согласованность их действий. Как видно из рисунка, действия операторов сильно различались в процессе измерений.

Следующая диаграмма – X chart – сравнивает изменчивость между деталями и показатель сходимости. На этом графике должно быть как можно больше выбросов за линии верхнего и нижнего контрольного пределов.

Остальные три графика показывают вклад в изменчивость результатов измерений деталей, операторов, а так же совместное влияние этих двух факторов вариабельности. Горизонтальная линия на графике Var by appraiser говорит о том, что в целом, оба оператора производили схожие измерения одной и той же детали. В свою очередь, перекрещивающиеся линии на последнем графике говорят нам, что результаты измерений зависят от того, какая деталь измеряется.

Чтобы вывести диаграмму в графический файл, используйте функцию “jpeg()”: в консоли программы введите следующую команду:

> jpeg(file="полный_путь_к_файлу", width=1100, height=600)
> ss.rr(Measurement, Part_Number, Operator, data=Gage_RR, main="Gage R & R", sub="SixSigmaOnine.ru")

Размеры изображения задаются с помощью значений “width” и “height”. Обязательно запустите функцию “dev.off()” – иначе файл не сформируется.

> dev.off()

При корректном завершении операции программа выводит на экран следующую информацию:

null device
          1

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