• Регистрация
Н/Д
Н/Д 0.00
н/д

Функции Statistics Toolbox

17.09.2019

Информация в данной статье относится к релизам программы MATLAB ранее 2016 года, и поэтому может содержать устаревшую информацию в связи с изменением функционала инструментов. С более актуальной информацией вы можете ознакомиться в разделе документации MATLAB на русском языке.

Statistics Toolbox предлагает широкий спектр инструментов для статистических вычислений. Основные возможности включают: регрессионный анализ и диагностика с выбором переменной, нелинейное моделирование, моделирование вероятностей и оценка параметров, анализ чувствительности с использованием генератора случайных чисел, управление статистическими процессами и планирование эксперимента. Пакет включает 20 различных распределений вероятностей, включая T, F и Хи-квадрат.

Автор - Мищенко Зорислав Владимирович - кандидат технических наук, доцент Владимирского государственного университета.

Список функций Statistics Toolbox

Оценка параметров закона распределения по экспериментальным данным

  • betafit - Оценка параметров бета распределения
  • binofit - Оценка параметров биномиального распределения
  • nbinfit - Оценка параметров отрицательного биномиального распределения
  • expfit - Оценка параметров экспоненциального распределения
  • gamfit - Оценка параметров гамма распределения
  • normfit - Оценка параметров нормального распределения
  • poissfit - Оценка параметров распределения Пуассона
  • raylfit - Оценка параметров распределения Релея
  • unifit - Оценка параметров равномерного распределения
  • weibfit - Оценка параметров распределения Вейбулла
  • mle - Расчет функции максимального правдоподобия

Законы распределения случайных величин

  • betacdf - Бета распределение
  • binocdf - Биномиальное распределение
  • cdf - Параметризованная функция распределения
  • chi2cdf - Функция распределения хи-квадрат
  • expcdf - Экспоненциальное распределение
  • ecdf - Эмпирическая функция распределения (на основе оценки Каплана-Мейера)
  • fcdf - Распределение Фишера
  • gamcdf - Гамма распределение
  • geocdf - Геометрическое распределение
  • hygecdf - Гипергеометрическое распределение
  • logncdf - Логнормальное распределение
  • nbincdf - Отрицательное биномиальное распределение
  • ncfcdf - Смещенное распределение Фишера
  • nctcdf - Смещенное распределение Стьюдента
  • ncx2cdf - Cмещенное хи-квадрат распределение
  • normcdf - Нормальное распределение
  • poisscdf - Распределение Пуассона
  • raylcdf - Распределение Релея
  • tcdf - Распределение Стьюдента
  • unidcdf - Дискретное равномерное распределение
  • unifcdf - Непрерывное равномерное распределение
  • weibcdf - Распределение Вейбулла

Функции плотности распределения случайных величин

  • betapdf - Бета распределение
  • binopdf - Биномиальное распределение
  • chi2pdf - Функция распределения хи-квадрат
  • exppdf - Экспоненциальное распределение
  • fpdf - Распределение Фишера
  • gampdf - Гамма распределение
  • geopdf - Геометрическое распределение
  • hygepdf - Гипергеометрическое распределение
  • lognpdf - Логнормальное распределение
  • nbinpdf - Отрицательное биномиальное распределение
  • ncfpdf - Смещенное распределение Фишера
  • nctpdf - Смещенное распределение Стьюдента
  • ncx2pdf - Cмещенное хи-квадрат распределение
  • normpdf - Нормальное распределение
  • poisspdf - Распределение Пуассона
  • mvnpdf - Функция плотности вероятности многомерного нормального распределения
  • raylpdf - Распределение Релея
  • pdf - Параметризованная функция плотности распределения
  • tpdf - Распределение Стьюдента
  • unidpdf - Дискретное равномерное распределение
  • unifpdf - Непрерывное равномерное распределение
  • weibpdf - Распределение Вейбулла

Обратные функции распределения случайных величин

  • betainv - Бета распределение
  • binoinv - Биномиальное распределение
  • chi2inv - Функция распределения хи-квадрат
  • expinv - Экспоненциальное распределение
  • finv - Распределение Фишера
  • gaminv - Гамма распределение
  • geoinv - Геометрическое распределение
  • hygeinv - Гипергеометрическое распределение
  • icdf - Параметризованная обратная функция распределения
  • logninv - Логнормальное распределение
  • nbininv - Отрицательное биномиальное распределение
  • ncfinv - Смещенное распределение Фишера
  • nctinv - Смещенное распределение Стьюдента
  • ncx2inv - Cмещенное хи-квадрат распределение
  • norminv - Нормальное распределение
  • poissinv - Распределение Пуассона
  • raylinv - Распределение Релея
  • tinv - Распределение Стьюдента
  • unidinv - Дискретное равномерное распределение
  • unifinv - Непрерывное равномерное распределение
  • weibinv - Распределение Вейбулла

Генерация псевдослучайных чисел по заданному закону распределения

  • betarnd - Бета распределение
  • binornd - Биномиальное распределение
  • chi2rnd - Функция распределения хи-квадрат
  • exprnd - Экспоненциальное распределение
  • frnd - Распределение Фишера
  • gamrnd - Гамма распределение
  • geornd - Геометрическое распределение
  • hygernd - Гипергеометрическое распределение
  • iwishrnd - Обратная матрица случайных чисел распределения Уишарта
  • lognrnd - Логнормальное распределение
  • mvnrnd - Многомерное нормальное распределение
  • mvtrnd - Многомерное распределение Стьюдента
  • nbinrnd - Отрицательное биномиальное распределение
  • ncfrnd - Смещенное распределение Фишера
  • nctrnd - Смещенное распределение Стьюдента
  • ncx2rnd - Cмещенное хи-квадрат распределение
  • normrnd - Нормальное распределение
  • poissrnd - Распределение Пуассона
  • random - Параметризованная функция генерации псевдослучайных чисел
  • raylrnd - Распределение Релея
  • trnd - Распределение Стьюдента
  • unidrnd - Дискретное равномерное распределение
  • unifrnd - Непрерывное равномерное распределение
  • weibrnd - Распределение Вейбулла
  • wishrnd - Матрица случайных чисел распределения Уишарта

Оценка математического ожидания и дисперсии по заданному закону распределения и его параметрам

  • betastat - Бета распределение
  • binostat - Биномиальное распределение
  • chi2stat - Функция распределения хи-квадрат
  • expstat - Экспоненциальное распределение
  • fstat - Распределение Фишера
  • gamstat - Гамма распределение
  • geostat - Геометрическое распределение
  • hygestat - Гипергеометрическое распределение
  • lognstat - Логнормальное распределение
  • nbinstat - Отрицательное биномиальное распределение
  • ncfstat - Смещенное распределение Фишера
  • nctstat - Смещенное распределение Стьюдента
  • ncx2stat - Смещенное хи-квадрат распределение
  • normstat - Нормальное распределение
  • poisstat - Распределение Пуассона
  • raylstat - Распределение Релея
  • tstat - Распределение Стьюдента
  • unidstat - Дискретное равномерное распределение
  • unifstat - Непрерывное равномерное распределение
  • weibstat - Распределение Вейбулла

Расчет логарифма функции максимального правдоподобия

  • betalike - Расчет логарифма функции максимального правдоподобия бета распределения
  • gamlike - Расчет логарифма функции максимального правдоподобия гамма распределения
  • normlike - Расчет логарифма функции максимального правдоподобия нормального распределения
  • weiblike - Расчет логарифма функции максимального правдоподобия распределения Вейбулла
  • nbinlike - Расчет логарифма функции максимального правдоподобия отрицательного биномиального распределения

Функции описательной статистики

  • bootstrp - Бутстреп оценки. Оценка статистик для данных с дополненным объемом выборки посредством математического моделирования
  • corrcoef - Оценка коэффициента корреляции (функция MATLAB)
  • cov - Оценка матрицы ковариаций (функция MATLAB)
  • crosstab - Кросстабуляция для нескольких векторов с положительными целыми элементами
  • geomean - Среднее геометрическое
  • grpstats - Сводные статистики по группам
  • harmmean - Среднее гармоническое
  • iqr - Разность между 75% и 25% квантилями или между 3-й и 1-ой квартилями
  • kurtosis - Оценка коэффициента эксцесса (в отечественной литературе коэффициент эксцесса определяется как b2=kurtosis-3)
  • mad - Среднее абсолютное отклонение от среднего значения
  • mean - Среднее арифметическое (функция MATLAB)
  • median - Медиана (функция MATLAB)
  • moment - Оценка центрального момента. Порядок момента задается как аргумент функции
  • nanmax - Максимальное значение в выборке. Нечисловые значения в выборке игнорируются
  • nanmean - Среднее арифметическое выборки. Нечисловые значения в выборке игнорируются
  • nanmedian - Медиана выборки. Нечисловые значения в выборке игнорируются
  • nanmin - Минимальное значение в выборке. Нечисловые значения в выборке игнорируются
  • nanstd - Оценка среднего квадратического отклонения выборки. Нечисловые значения в выборке игнорируются
  • nansum - Сумма элементов выборки. Нечисловые значения в выборке игнорируются
  • prctile - Выборочная процентная точка (процентиль)
  • range - Размах выборки
  • skewness - Оценка коэффициента асимметрии
  • std - Оценка среднего квадратического отклонения (функция MATLAB)
  • tabulate - Определение частот целых положительных элементов вектора случайных значений
  • trimmean - Оценка среднего арифметического значения, находимая с игнорированием заданного процента минимальных и максимальных элементов в выборки
  • var - Оценка дисперсии

Функции статистических графиков

  • boxplot - График "Ящик с усами". График 0%, 25%, 50%, 75%, 100% процентилей выборки
  • cdfplot - График кумулятивной кривой по эмпирическим данным
  • fsurfht - Контурный график заданной функции. Операция построения графика выполняется интерактивно.
  • gline - Операция прорисовки прямой линии в текущем графике
  • gname - Нанесение меток на график
  • gplotmatrix - Матрица графиков рассеяния группированных по общей переменной
  • gscatter - График рассеяния двух переменных группированных по значениям третьей переменной
  • lsline - График рассеяния двух переменных с линией регрессии по методу наименьших квадратов
  • normplot - Нормальный вероятностный график
  • qqplot - График "квантиль-квантиль" для двух выборок
  • refcurve - Построение полиномиальной кривой на текущий график
  • refline - Построение прямой на текущий график
  • surfht - Контурный график по матрице данных
  • weibplot - Вероятностный график Вейбулла

Функции статистического контроля качества

  • capable - Расчет индексов воспроизводимости процесса Cp, Сpk
  • capaplot - График воспроизводимости процесса
  • ewmaplot - Контрольная карта экспоненциально взвешенного среднего
  • histfit - Гистограмма по негруппированным экспериментальным данным с наложенной на нее кривой функции плотности распределения нормального закона
  • normspec - График функции плотности нормального закона с наложенными границами допусков контролируемого параметра
  • schart - Контрольная карта среднего квадратического отклонения
  • xbarplot - Контрольная карта среднего арифметического

Функции линейного регрессионного анализа

  • kruskalwalli - Непараметрический однофакторный дисперсионный анализ Краскала-Уоллиса
  • anova1 - Однофакторный дисперсионный анализ
  • anova2 - Двухфакторный дисперсионный анализ
  • anovan - Многофакторный дисперсионный анализ
  • aoctool - Однофакторный анализ ковариационных моделей. Выходными параметрами функции являются: 
    - Интерактивный график исходных данных линейных математических моделей
    - Таблица однофакторного дисперсионного анализа ·
    - Таблица с оценками параметров математических моделей
  • dummyvar  - Условное кодирование переменных. Функция возвращает матрицу единиц и нулей содержащую число колонок равное сумме чисел возможных значений в столбцах исходной матрицы. Единицы и нули характеризуют отсутствие или наличие определенного значения в каждой колонки исходной матрицы.
  • friedman - Тест Фридмана (непараметрический двухфакторный дисперсионный анализ Фридмана)
  • glmfit - Определение параметров обобщенной линейной модели
  • glmval - Прогнозирование с использованием обобщенной линейной модели
  • kruskalwallis - Тест Краскала-Уоллиса (непараметрический однофакторный дисперсионный анализ)
  • leverage - Оценка степени влияния отдельных наблюдений в исходном многомерном множестве данных на значения параметров линии регрессии.
  • lscov - Линейная регрессия (метод наименьших квадратов) при заданной матрице ковариаций (встроенная функция MATLAB)
  • manova1 - Однофакторный многомерный дисперсионный анализ
  • manovacluster - Дендрограмма, показывающая группировку исходных данных в кластеры по средним значениям. В качестве исходных данных используются выходные данные однофакторного многомерного дисперсионного анализа (manova1)
  • multcompare - Множественной сравнение оценок средних, параметров линии регрессии и т.д. В качестве входных параметров используются выходные параметры функций anova1, anova2, anovan, aoctool, friedman, kruskalwallis.
  • polyconf - Определение доверительных интервалов для линии регрессии
  • polyfit - Полиномиальная регрессия (встроенная функция MATLAB)
  • polyval - Прогноз с использованием полиномиальной регрессии (встроенная функция MATLAB)
  • rcoplot - График остатков
  • regress - Множественная линейная регрессия
  • regstats - Функция диагностирования линейной множественной модели. Графический интерфейс.
  • ridge - Линейная регрессия с применением гребневых оценок (ридж-регрессия)
  • rstool - Интерактивный подбор и визуализация поверхности отклика
  • robustfit - Робастная оценка параметров регрессионной модели
  • stepwise - Пошаговая регрессия (графический интерфейс пользователя)

Функции нелинейного регрессионного анализа

  • lsqnonneg - Функция реализует метод наименьших квадратов и возвращает только неотрицательные значения параметров модели (встроенная функция MATLAB)
  • nlinfit - Нелинейный метод наименьших квадратов (метод Гаусса-Ньютона)
  • nnls - Решение системы линейных уравнений методом наименьших квадратов для неотрицательных значений аргумента
  • nlintool - График прогнозируемых значений
  • nlparci - Вектор доверительных интервалов для параметров модели
  • nlpredci - Прогнозируемые значения и их доверительные интервалы

Функции планирования эксперимента

  • bbdesign - Планы Бокса-Бенкена
  • candexch - D-оптимальный план (на основе алгоритма перестановки строк для формирования множества возможных значений)
  • candgen - Генерирует множество возможных сочетаний факторов соответствующих D-оптимальному плану
  • ccdesign - Центральный композиционный план
  • cordexch - Функция для определения точного D-оптимального плана эксперимента на основе алгорима обмена координатами
  • daugment - Определение матрица плана дополняющую матрицу заданного плана до D-оптимального
  • dcovary - Функция для построения D-оптимального блочного плана
  • ff2n - Определение плана полного факторного эксперимента для факторов имеющих 2 уровня
  • fracfact - Функция для формирования двухуровнего дробного факторного плана
  • fullfact - Функция формирования плана полного факторного эксперимента для числа уровней факторов задаваемых пользователем
  • hadamard - Матрица Адамара. Матрица Адамара соответствует плану дробного факторного эксперимента для факторов, каждый из которых задан на отрезке [-1 1]. И служит для построения линейной регрессионной модели. (Встроенная функция MATLAB)
  • lhsdesign - План на основе латинских квадратов
  • lhsnorm - Латинские квадраты для многомерной нормальной выборки
  • rowexch - Функция для определения точного D-оптимального плана на основе алгоритма обмена строк

Функции кластерного анализа

  • cluster - Деление иерархического дерева кластеров (группировка выходных данных функции linkage) на отдельные кластеры
  • clusterdata - Группировка матрицы исходных данных в кластеры
  • cophenet - Расчет коэффициента качества разбиения исходных данных на кластеры (этот коэффициент можно рассматривать как аналог коэффициента корреляции, чем его значение ближе к 1, тем лучше выполнено разбиение на кластеры)
  • dendrogram - Дендрограмма кластеров
  • inconsistent - Расчет коэффициентов несовместимости для каждой связи в иерархическом дереве кластеров и может использоваться как оценка качества разбиения на кластеры
  • kmeans - Кластеризация на основе внутригрупповых средних
  • linkage - Формирование иерархического дерева бинарных кластеров
  • pdist - Расчет парных расстояний между объектами (векторами) в исходном множестве данных
  • silhouette - График силуэта кластеров
  • squareform - Преобразование вектора выходных данных функции pdist в симметричную квадратную матрицу

Функции снижения размерности задачи

  • factoran - Факторный анализ
  • pcacov - Функция служит для реализации метода главных компонент по заданной в качестве входного параметра матрице ковариаций
  • pcares - Функция служит для определения остатка после удаления заданного количества главных компонент
  • princomp - Функция служит для реализации метода главных компонент по заданной в качестве входного параметра матрице исходных значений

Функции анализа многомерных случайных величин

  • barttest - Тест Бартлета
  • canoncorr - Канонический корреляционный анализ
  • cmdscale - Классическое многомерное шкалирование
  • classify - Линейный дискриминантый анализ
  • mahal - Функция определяет расстояния Махаланобиса между строками двух матриц, являющихся входными параметрами.
  • manova1 - Однофакторный многомерный дисперсионный анализ
  • procrustes - Ортогональное вращение, позволяющее поставить в прямое соответствие одно множество точек другому

Функции нелинейного регрессионного анализа на основе графа возможных решений

  • treedisp - Отображает граф возможных решений
  • treefit - Построение графа возможных решений на основе исходных данных
  • treeprune - Исключение незначимых решений в графе возможных решений
  • treetest - Оценка погрешности узлов графа возможных решений
  • treeval - Оценка параметров регрессионной модели с использованием графа возможных решений

Статистическая проверка гипотез

  • ranksum - Ранговый тест Вилкоксона для проверки однородности двух генеральных совокупностей
  • signrank - Знаковый тест Вилкоксона для проверки гипотезы о равенстве медиан двух выборок
  • signtest - Знаковый тест для проверки гипотезы о равенстве медиан двух выборок
  • ttest - t-test для одной выборки. Проверка гипотезы о равенстве (или неравенстве) математического ожидания выборки заданному значению при условии, что величина дисперсии неизвестна. Закон распределения выборки нормальный.
  • ttest2 - t-test для двух выборок. Проверка гипотезы о равенстве (или неравенстве) математических ожиданий двух выборок при условии, что величины дисперсий выборок неизвестны и равны. Закон распределения выборки нормальный.
  • ztest - Z-тест. Проверка гипотезы о равенстве (или неравенстве) математического ожидания выборки заданному значению при условии, что известна величина дисперсии. Закон распределения выборки нормальный.

Проверка статистических гипотез о согласии распределения экспериментальным данным

  • jbtest - Тест на соответствие выборки нормальному распределению с неопределенными параметрами нормального распределения. Этот тест является асимптотическим и не может быть использован на малых выборках. Для проверки гипотезы о соответствии выборки нормальному распределению на малых выборках необходимо использовать функцию lillietest.
  • kstest - Тест Колмогорова-Смирнова на соответствие выборки заданному распределению
  • kstest2 - Тест Колмогорова-Смирнова на соответствие распределений двух выборок
  • lillietest - Тест на соответствие выборки нормального распределения рассчитываются исходя из значений элементов в выборке.

Проверка непараметрических гипотез

  • friedman - Тест Фридмана (непараметрический двухфакторный дисперсионный анализ Фридмана)
  • kruskalwallis - Тест Краскала-Уоллиса (непараметрический однофакторный дисперсионный анализ)
  • ksdensity - Подгонка функции плотности вероятности по экспериментальным данным
  • ranksum - Ранговый тест Вилкоксона для проверки однородности двух генеральных совокупностей
  • signrank - Знаковый тест Вилкоксона для проверки гипотезы о равенстве медиан двух выборок
  • signtest - Знаковый тест для проверки гипотезы о равенстве медиан двух выборок

Запись и чтение данных из файлов

  • caseread - Функция для чтения данных из текстового файла. Возвращает матрицу символов из текстового файла
  • casewrite - Функция для записи строковой матрицу в текстовый файл
  • tblread - Функция для чтения табличных данных из текстового файла
  • tblwrite - Функция для записи табличных данных из текстового файла
  • tdfread - Функция для чтения табличных данных разделенных знаком табуляции в строке из текстового файла

Таблица демонстрационных примеров

  • aoctool - Интерактивное средство ковариационного анализа
  • disttool - Интерактивное средство для исследования функций распределения случайных величин
  • glmdemo - Пример использования обобщенной линейной модели
  • randtool - Интерактивное средство для генерации псевдослучайных чисел
  • polytool - Интерактивное определение параметров полиномиальной модели
  • rsmdemo - Интерактивное моделирование химическое реакции и нелинейный регрессионный анализ
  • robustdemo - Интерактивное средство для сравнения методов МНК и робастной регрессии

Таблица вспомогательных функций

  • combnk - Вычисляет количество комбинаций которыми можно выбрать k объектов из n
  • grp2idx - Преобразование группирующей переменной в индексы массива
  • hougen - Функция прогнозирования для модели Хогена
  • tiedrank - Расчет ранга выборки с учетом ее объема
  • zscore - Выполняет нормализацию матрицы по колонкам. Приводит значения по колонкам матрицы к нормальным с 0 математическим ожиданием и единичной дисперсией.

 

 

 

 

Наверх

betafit - Оценка параметров бета распределения

Расчет точечных и интервальных оценок параметров бета распределения

 

Синтаксис

phat = betafit(x)

[phat,pci] = betafit(x,alpha)

Описание

phat = betafit(x) функция служит для расчета вектора точечных оценок phat параметров бета распределения a и b по исходной выборке значений x. Значения оценок параметров определяются методом максимального правдоподобия. Выборка x задается как вектор. Значения x должны находиться в интервале [0 1].

 

[phat,pci] = betafit(x,alpha) функция служит для расчета точечных phat и интервальных pci оценок параметров бета распределения a и b по исходной выборке значений x. Интервальные оценки pci параметров a и b задаются в виде матрицы размерностью 2-2. Первый столбец матрицы pci содержит нижнюю и верхнюю границы доверительного интервала параметра a, второй столбец - нижнюю и верхнюю границы доверительного интервала b. Необязательный параметр alpha определяет уровень значимости. По умолчанию alpha=0,05, что соответствует 95% доверительному интервалу.

Примеры использования функции расчета точечных и интервальных оценок параметров бета распределения

Расчет точечных оценок параметров бета распределения

>> A=4;

>> B=3;

>> x = betarnd(A,B,100,1);

>> phat = betafit(x)

phat =

    4.2571    2.8700

>>a= phat(1)

a =

    4.2571

>>b= phat(2)

b =

    2.8700

  

Расчет точечных и интервальных оценок параметров бета распределения для уровня значимости 0,05.

 

>> A=4;

>> B=3;

>> x = betarnd(A,B,100,1);

>> [p,ci] = betafit(x)

p =

    4.2571    2.8700

ci =

    3.1878    2.1911

    5.3264    3.5489

>>a= p(1)

a =

    4.2571

>>b= p(2)

b =

    2.8700

>> a_low=ci(1,1)

a_low =

    3.1878

>> a_high=ci(2,1)

a_low =

    5.3264

>> b_low=ci(1,2)

b_low =

    2.1911

>> b_high=ci(2,2)

b_high =

    3.5489

  

Расчет точечных и интервальных оценок параметров бета распределения для уровня значимости 0,01.

>> A=4;

>> B=3;

>> x = betarnd(A,B,100,1);

>> alfa=0.01;

>> [p,ci] = betafit(x,alfa)

p =

    4.2571    2.8700

ci =

    2.8518    1.9778

    5.6624    3.7622

 

 

Наверх

binofit - Оценка точечных и интервальных оценок параметров биномиального распределения

Синтаксис

phat = binofit(x,n)

[phat,pci] = binofit(x,n)

[phat,pci] = binofit(x,n,alpha)

Описание

phat = binofit(x,n) функция служит для расчета точечной оценки phat вероятности появления некоторого события в одном опыте при n независимых повторных испытаниях, где x число появлений событий в указанной серии испытаний. Скалярное значение x или n увеличивается до размерности второго входного аргумента. Расчет вероятности появления события производится методом максимального правдоподобия.

 

[phat,pci] = binofit(x,n) функция служит для расчета точечной phat и интервальной pci оценки вероятности появления некоторого события в одном опыте при биномиальном распределении. Интервальная оценка представляет собой 95% доверительный интервал.

[phat,pci] = binofit(x,n,alpha) функция возвращает точечную оценку и 100(1-alpha)% доверительный интервал вероятности появления некоторого события в одном опыте при биномиальном распределении.

Примеры использования функции расчета точечных и интервальных оценок параметра биномиального распределения

Расчет точечной оценки вероятности появления некоторого события в одном опыте

при биномиальном распределении для заданной пары значений x и p.

 

>> p=0.6;

>> n=100;

>> x = binornd(n,p)

x =

62

>>phat = binofit(x,n)

phat =

    0.6200

  

Расчет точечной оценки phat для вектора числа появлений событий в серии испытаний.

>> x=[1 10 5 20 30 50];

>> n=100;

>>phat = binofit(x,n)

phat =

  Columns 1 through 5 

    0.0100    0.1000    0.0500    0.2000    0.3000

  Column 6 

    0.5000

  

Расчет точечной phat и интервальной pci оценки вероятности появления некоторого события 

в одном опыте для заданной пары значений x, n и доверительной вероятности 0,95.

 

>> x=10;

>> n=100;

>>[phat,pci] = binofit(x,n)

phat =

    0.1000

pci =

    0.0490    0.1762

  

Расчет точечных и интервальных оценок вероятности появления некоторого события 

в одном опыте для векторов значений x, n и доверительной вероятности 0,95.

>> x=[1 10 5 20 30 50];

>> n=[10 100 50 200 300 500];

>> [phat,pci] = binofit(x,n)

phat =

  Columns 1 through 5 

    0.1000    0.1000    0.1000    0.1000    0.1000

  Column 6 

    0.1000

pci =

  Columns 1 through 5 

    0.0025    0.0490    0.0333    0.0622    0.0685

  Columns 6 through 10 

    0.0751    0.4450    0.1762    0.2181    0.1502

  Columns 11 through 12 

    0.1397    0.1297

  

Примечание: в векторе pci первые шесть значений являются нижними границами доверительного интервала 

для соответствующей точечной оценки phat, следующие шесть - верхними границами доверительного 

интервала. Расчет точечных и интервальных оценок вероятности появления некоторого события в одном 

опыте для уровня значимости 0,001 и пары значений x, n.

 

>> x=[1 10 5 20 30 50];

>> n=[5 100 30 100 200 300];

>> alfa=0.001;

>> [phat,pci] = binofit(x,n,alfa)

phat =

  Columns 1 through 5 

    0.2000    0.1000    0.1667    0.2000    0.1500

  Column 6 

    0.1667

pci =

  Columns 1 through 5 

    0.0001    0.0279    0.0224    0.0894    0.0786

  Columns 6 through 10 

    0.1032    0.8978    0.2338    0.4713    0.3564

  Columns 11 through 12 

    0.2483    0.2472

  

Уровень значимости alfa может быть задан как вектор. Размерность alfa должна быть равна 

количеству элементов остальных входных аргументов. Доверительный интервал рассчитывается 

для сочетания соответствующих значений векторов x, n, alfa.

>> x=[1 10 5 20 30 50];

>> n=[5 100 30 100 200 300];

>> alfa=[0.001 0.005 0.01 0.02 0.03 0.05];

>> [phat,pci] = binofit(x,n,alfa)

>> [phat,pci] = binofit(x,n,alfa)

phat =

  Columns 1 through 5 

    0.2000    0.1000    0.1667    0.2000    0.1500

  Column 6 

    0.1667

pci =

  Columns 1 through 5 

    0.0001    0.0346    0.0378    0.1156    0.0993

  Columns 6 through 10 

    0.1263    0.8978    0.2120    0.4040    0.3092

  Columns 11 through 12 

    0.2134    0.2138

 

 

Наверх

NBINFIT - Расчет точечных и интервальных оценок параметров отрицательного биномиального распределения

Синтаксис

parmhat = nbinfit(x)

[parmhat,parmci] = nbinfit(x,alpha)

[...] = nbinfit(...,options)

 

Описание

parmhat = nbinfit(x) функция служит для расчета вектора точечных оценок parmhat параметров отрицательного биномиального распределения по методу максимального правдоподобия для заданной выборки x. Выборка x должна быть вектором.

[parmhat,parmci] = nbinfit(x,alpha) функция служит для расчета точечных parmhat и parmci оценок параметров отрицательного биномиального распределения по исходной выборке значений x методом максимального правдоподобия. Доверительный интервал parmci рассчитывается для заданного уровня значимости alpha. Доверительная вероятность определяется как 100*(1-alpha). По умолчанию, в случае отсутствия параметра alpha, уровень значимости равен 0,05.

 

[...] = nbinfit(...,options) в этом варианте синтаксиса, кроме указанных в предыдущем случае параметров, задается способ оптимизации при расчете оценок параметров по методу максимального правдоподобия. Установка параметров оптимизации в nbinfit выполняется с помощью структуры options. Формирование структуры options выполняется с помощью функции optimset. В процессе работы nbinfit полученная структура данных options передается как входной аргумент функции fminsearch, выполняющей минимизацию значения отрицательного логарифма функции максимального правдоподобия отрицательного биномиального распределения. Предусмотрены следующие способы оптимизации:

Параметр оптимизации

Значение параметра

Описание

Display

'off' | 'iter' | 'final' | 'notify'

Определяет вид выходной информации. Значение 'off' подавляет вывод результата; 'iter' отображает результаты каждой итерации; 'final' определяет вывод окончательных результатов расчета; 'notify' отображает результаты расчета в случае отсутствия сходимости.

MaxFunEvals

Положительное целое число

Максимальное допустимое число вызовов функции

MaxIter

Положительное целое число

Максимальное допустимое число итераций

TolFun

Положительное вещественное число

Предельное значение точности при вычислении функции

TolX

Положительное вещественное число

Предельное значение точности при использовании аргумента

Приведенные в таблице параметры являются общими для функций оптимизации ядра Matlab и Optimization Toolbox. Функции оптимизации Optimization Toolbox содержат ряд дополнительных настроек. Информацию о них можно получить в справочной системе в разделе описания функции optimset.По умолчанию предусмотрена установка параметра 'Display' со значением 'notify', т.е. optimset('Display','notify').

Примечание: дисперсия отрицательного биномиального распределения должна быть больше математического ожидания. Поэтому, если точечная оценка дисперсии больше среднего арифметического по выборке x, nbinfit нельзя использовать при расчете точечных и интервальных оценок параметров отрицательного биномиального распределения. В этом случае вместо nbinfit используется nbinfit.

Примеры использования функции расчета точечных и интервальных оценок параметров отрицательного биномиального распределения

Расчет точечных оценок параметров отрицательного биномиального распределения

 

>> R=10;

>> P=0.5;

>> x = nbinrnd(R,P,100,1);

>> parmhat = nbinfit(x)

parmhat =

    7.3336    0.4180

>>r= parmhat(1)

r =

    7.3336

>>p= parmhat(2)

p =

    0.4180

  

Расчет точечных и интервальных оценок параметров отрицательного биномиального распределения 

для уровня значимости 0,05.

>> R=10;

>> P=0.5;

>> x = nbinrnd(R,P,100,1);

>> [parmhat,parmci] = nbinfit(x)

parmhat =

    7.3336    0.4180

parmci =

    3.5922    0.2880

   11.0749    0.5481

   

Расчет точечных и интервальных оценок параметров отрицательного биномиального распределения 

для уровня значимости 0,01.

 

>> R=10;

>> P=0.5;

>> alfa=0.01;

>> x = nbinrnd(R,P,100,1);

>> [parmhat,parmci] = nbinfit(x, alfa)

parmhat =

    7.3336    0.4180

parmci =

    2.4166    0.2471

   12.2505    0.5890

   

Расчет точечных и интервальных оценок параметров отрицательного биномиального распределения 

для уровня значимости 0,01. При расчете установлены следующие параметры оптимизации: 

1. вывод результатов каждой итерации, 2. максимальное количество итераций не более 20.

>> R=10;

>> P=0.5;

>> alfa=0.01;

>> x = nbinrnd(R,P,100,1);

>> options = optimset('Display','iter','MaxIter',20);

>> [parmhat,parmci] = nbinfit(x, alfa, options)

Iteration   Func-count     min f(x)         Procedure

     1            2         -1349.86         initial

     2            4         -1349.86         contract inside

     3            6         -1349.86         contract inside

     4            8         -1349.86         contract inside

     5           10         -1349.86         contract inside

     6           12         -1349.86         contract inside

     7           14         -1349.86         contract inside

     8           16         -1349.86         contract inside

     9           18         -1349.86         contract inside

    10           20         -1349.86         contract inside

    11           22         -1349.86         contract inside

    12           24         -1349.86         contract inside

    13           26         -1349.86         contract inside

    14           28         -1349.86         contract inside

 

Optimization terminated successfully:

 the current x satisfies the termination criteria using OPTIONS.TolX of 1.000000e-004 

 and F(X) satisfies the convergence criteria using OPTIONS.TolFun of 1.000000e-004 

parmhat =

    8.4533    0.4551

parmci =

    2.8032    0.2856

   14.1033    0.6247

 

 

Наверх

EXPFIT - Расчет точечных и интервальных оценок параметров экспоненциального распределения

Синтаксис

muhat = expfit(x)

[muhat,muci] = expfit(x)

[muhat,muci] = expfit(x,alpha)

 

Описание

muhat = expfit(x) функция служит для расчета точечной оценки muhat параметра  экспоненциального распределения по исходной выборке значений x. Значения оценок параметров определяются методом максимального правдоподобия.

[muhat,muci] = expfit(x) позволяет рассчитать точечную muhat и интервальную muci оценок параметра экспоненциального распределения по исходной выборке значений x для доверительной вероятности равной 95%.

 

[muhat,muci] = expfit(x,alpha) служит для расчета точечной muhat и интервальной muci оценок параметра экспоненциального распределения по исходной выборке значений x для заданного уровня значимости alfa. Доверительная вероятность определяется как (1-alfa).

Выборка x может быть задана как вектор или матрица. Во втором случае, точечная оценка muhat и интервальная оценка muci рассчитывается для каждого столбца матрицы x.

 

Значение уровня значимости alfa может быть задано как скаляр для всех выборок в матрице х, или отдельно для каждого столбца х. Во втором случае размерность вектора alfa должна быть равна числу столбцов в матрице х.

Примеры использования функции расчета точечных и интервальных оценок параметров экспоненциального распределения

Расчет точечной оценки параметра  для вектора выборки x.

>> mu=2

mu =

     2

>> x=exprnd(mu,100,1);

>> muhat = expfit(x)

muhat =

    1.4444

  

Расчет точечных оценок параметра  для столбцов матрицы выборки х.

 

>> mu=2;

>> x=exprnd(mu,100,2);

>> muhat = expfit(x)

muhat =

    1.9423    2.4986

  

Расчет точечной и интервальной оценки параметра  для вектора выборки наблюдений x. 

Доверительный интервал соответствует 95% вероятности.

>> mu=2

mu =

     2

>> x=exprnd(mu,100,1);

>> [muhat,muci] = expfit(x)

muhat =

    2.0643

muci =

    1.6796

    2.4880

  

Расчет точечных и интервальных оценок параметра  для столбцов матрицы выборки х. 

Доверительный интервал соответствует 95% вероятности.

 

>> mu=2;

>> x=exprnd(mu,100,2);

>> [muhat,muci] = expfit(x)

muhat =

    2.2296    1.8457

muci =

    1.8141    1.5017

    2.6874    2.2246

  

Расчет точечных и интервальных оценок параметра  для столбцов матрицы выборки х и уровне значимости 0,01.

>> mu=2;

>> alfa=0.01;

>> x=exprnd(mu,100,2);

>> [muhat,muci] = expfit(x,alfa)

muhat =

    2.2047    1.8899

muci =

    1.6782    1.4386

    2.8139    2.4121

  

Доверительная вероятность может быть задана отдельно для каждой выборки в матрице x.

 

>> mu=2;

>> alfa=[0.05 0.001];

>> x=exprnd(mu,10000,2);

>> [muhat,muci] = expfit(x,alfa)

muhat =

    2.3413    2.0181

muci =

    1.9049    1.4193

    2.8219    2.7488

 

 

Наверх

GAMFIT - Расчет точечных и интервальных оценок параметров Гамма распределения

Синтаксис

phat = gamfit(x)

[phat,pci] = gamfit(x)

[phat,pci] = gamfit(x,alpha)

 

Описание

phat = gamfit(x) функция служит для расчета вектора точечных оценок phat параметров Гамма распределения a и b по исходной выборке значений x. Значения оценок параметров определяются методом максимального правдоподобия. Выборка x задается как вектор.

[phat,pci] = gamfit(x) функция служит для расчета точечных phat и интервальных pci оценок параметров Гамма распределения a и b по исходной выборке значений x. Интервальные оценки pci параметров a и b задаются в виде матрицы размерностью 2-2. Первый столбец матрицы pci содержит нижнюю и верхнюю границы доверительного интервала параметра a, второй столбец - нижнюю и верхнюю границы доверительного интервала b. Интервальная оценка параметров Гамма распределения соответствует 95% доверительной вероятности.

 

[phat,pci] = gamfit(x,alpha) в отличие от второго варианта синтаксиса в качестве второго входного параметра задается уровень значимости alpha. Доверительная вероятность для интервальной оценки параметров a, b определяется как (1- alpha).

Примеры использования функции расчета точечных и интервальных оценок параметров Гамма распределения

Расчет точечных оценок параметров Гамма распределения

>> A=4;

>> B=3;

>> x = gamrnd(A,B,100,1);

>> phat = gamfit(x)

phat =

    3.4797    3.3897

>>a= phat(1)

a =

    3.4797

>>b= phat(2)

b =

    3.3897

  

Расчет точечных и интервальных оценок параметров Гамма распределения для уровня значимости 0,05.

 

>> A=5;

>> B=2;

>> x = gamrnd(A,B,100,1);

>> [phat,pci] = gamfit(x)

phat =

    5.0306    1.9073

pci =

    3.4819    1.3436

    6.5792    2.4711

>>a= phat (1)

a =

    5.0306

>> b= phat (2)

b =

    1.9073

>> a_low= pci (1,1)

a_low =

    3.4819

>> a_high= pci (2,1)

a_high =

    6.5792

>> b_low= pci (1,2)

b_low =

    1.3436

>> b_high= pci (2,2)

b_high =

    2.4711

  

Расчет точечных и интервальных оценок параметров Гамма распределения для уровня значимости 0,01.

>> A=5;

>> B=2;

>> alfa=0.01;

>> x = gamrnd(A,B,100,1);

>> [phat,pci] = gamfit(x, alfa)

phat =

    5.9167    1.8883

pci =

    3.6012    1.0733

    8.2322    2.7034

 

 

Наверх

NORNFIT - Расчет точечных и интервальных оценок параметров нормального закона

Синтаксис

[muhat,sigmahat,muci,sigmaci] = normfit(X)

[muhat,sigmahat,muci,sigmaci] = normfit(X,alpha)

 

Описание

[muhat,sigmahat,muci,sigmaci] = normfit(X) позволяет рассчитать точечные и интервальные оценки параметров нормального закона: для математического ожидания - muhat, muci; для среднего квадратического отклонения - sigmahat, sigmaci. Исходная выборка Х может быть задана в виде вектора или матрицы. Если Х является вектором, то первый элемент векторов интервальных оценок muci и sigmaci соответствует нижней границе доверительного интервала, второй - верхней границе. Если X является матрицей, то каждый столбец рассматривается как отдельная выборка. Точечные оценки muhat и sigmahat являются векторами с числом элементов равным количеству столбцов в матрице Х. Интервальные оценки muci и sigmaci представляются как матрицы с размерностью 2xn, где n - число столбцов в матрице Х. Первая строка матриц muci и sigmaci является нижней границей доверительного интервала, вторая - верхней. Доверительный интервал параметров нормального закона соответствует уровню значимости равному 0,05.

[muhat,sigmahat,muci,sigmaci] = normfit(X,alpha) в отличии от первого варианта синтаксиса, необязательный параметр alpha задает уровень значимости для доверительных интервалов математического ожидания и среднего квадратического отклонения. Доверительная вероятность интервальных оценок параметров нормального закона определяется как 100(1-alpha)%.

Примеры использования функции расчета точечных и интервальных оценок параметров нормального закона

Расчет точечных оценок параметров нормального закона

 

>> MU=0;

>> SIGMA=1;

>> X=normrnd(MU,SIGMA,100,1);

>> [muhat,sigmahat] = normfit(X)

muhat =

    0.0479

sigmahat =

    0.8685

  

Расчет точечных и интервальных оценок параметров нормального закона для уровня значимости 0,05.

>> MU=0;

>> SIGMA=1;

>> X=normrnd(MU,SIGMA,100,1);

>> [muhat,sigmahat,muci,sigmaci] = normfit(X)

muhat =

    0.0479

sigmahat =

    0.8685

muci =

   -0.1244

    0.2203

sigmaci =

    0.7626

    1.0089

  

Расчет точечных и интервальных оценок параметров нормального закона для уровня значимости 0,01.

 

>> MU=0;

>> SIGMA=1;

>> alfa=0.01;

>> X=normrnd(MU,SIGMA,100,1);

>> [muhat,sigmahat,muci,sigmaci] = normfit(X,alfa)

muhat =

    0.0479

sigmahat =

    0.8685

muci =

   -0.1802

    0.2760

sigmaci =

    0.7330

    1.0596

  

Расчет точечных и интервальных оценок параметров нормального закона для двух выборок, 

заданных в виде матрицы Х с размерностью 100x2. Уровень значимости доверительных интервалов 

параметров нормального закона для обеих выборок равен 0,05.

>> MU=0;

>> SIGMA=1;

>> X=normrnd(MU,SIGMA,100,2);

>> [muhat,sigmahat,muci,sigmaci] = normfit(X,alfa)

muhat =

   -0.0099   -0.1476

sigmahat =

    0.9977    0.9659

muci =

   -0.2719   -0.4013

    0.2522    0.1061

sigmaci =

    0.8421    0.8152

    1.2173    1.1784

  

Расчет точечных и интервальных оценок параметров нормального закона для двух выборок, 

заданных в виде матрицы Х с размерностью 100x2. Уровень значимости доверительных интервалов 

параметров нормального закона для выборок равен соответственно 0,05 и 0,001.

 

>> MU=0;

>> SIGMA=1;

>> alfa=[0.05 0.001];

>> X=normrnd(MU,SIGMA,100,2);

>> [muhat,sigmahat,muci,sigmaci] = normfit(X,alfa)

muhat =

   -0.0677    0.0572

sigmahat =

    0.9777    0.8690

muci =

   -0.2617   -0.1153

   -0.3993   -0.2375

sigmaci =

    1.2652    1.1244

    1.1358    1.0095

 

 

Наверх

POISSFIT - Расчет точечных и интервальных оценок параметров закона Пуассона

Синтаксис

lambdahat = poissfit(X)

[lambdahat,lambdaci] = poissfit(X)

[lambdahat,lambdaci] = poissfit(X,alpha)

 

Описание

lambdahat = poissfit(X) функция служит для расчета точечной оценки lambdahat параметра  распределения Пуассона по исходной выборке значений Х. Значения оценок параметров определяются методом максимального правдоподобия.

[lambdahat,lambdaci] = poissfit(X) позволяет рассчитать точечную lambdahat и интервальную lambdaci оценки параметра распределения Пуассона по исходной выборке значений Х для доверительной вероятности равной 95%.

 

[lambdahat,lambdaci] = poissfit(X,alpha) служит для расчета точечной lambdahat и интервальной lambdaci оценок параметра  распределения Пуассона по исходной выборке значений X для заданного уровня значимости alfa. Доверительная вероятность определяется как 100(1-alpha)%.

Точечная оценка параметра  по методу максимального правдоподобия определяется как среднее арифметическое значений Xi:

Выборка Х может быть задана как вектор или матрица. Во втором случае, точечная оценка lambdahat и интервальная оценка lambdaci рассчитывается для каждого столбца матрицы Х.

 

Значение уровня значимости alfa может быть задано как скаляр для всех выборок в матрице Х, или отдельно для каждого столбца Х. Во втором случае размерность вектора alfa должна быть равна числу столбцов в матрице Х lambdaci.

Примеры использования функции расчета точечных и интервальных оценок параметров распределения Пуассона

>> LAMBDA=1

LAMBDA =

     1

>> X=poissrnd(LAMBDA,100,1);

>> lambdahat = poissfit(X)

lambdahat =

    0.9500

Расчет точечных оценок параметра  для столбцов матрицы выборки Х.

>> LAMBDA=1

LAMBDA =

     1

>> X=poissrnd(LAMBDA,100,2);

>> lambdahat = poissfit(X)

lambdahat =

    1.2100    1.0100

  

Расчет точечной и интервальной оценки параметра  для вектора выборки наблюдений Х. 

Доверительный интервал соответствует 95% вероятности.

>> LAMBDA=1;

>> X=poissrnd(LAMBDA,100,1);

>> [lambdahat,lambdaci]  = poissfit(X)

lambdahat =

    1.0900

lambdaci =

    0.8854

    1.2946

  

Расчет точечных и интервальных оценок параметра  для столбцов матрицы выборки X. 

Доверительный интервал соответствует 95% вероятности.

 

>> LAMBDA=1;

>> X=poissrnd(LAMBDA,100,2);

>> [lambdahat,lambdaci]  = poissfit(X)

lambdahat =

    0.8600    0.9600

lambdaci =

    0.6879    0.7776

    1.0621    1.1723

  

Расчет точечных и интервальных оценок параметра  для столбцов матрицы выборки X и уровне значимости 0,01.

>> LAMBDA=1;

>> alpha=0.01;

>> X=poissrnd(LAMBDA,100,2);

>> [lambdahat,lambdaci]  = poissfit(X, alpha)

lambdahat =

    1.0600    0.9800

lambdaci =

    0.7948    0.7438

    1.3252    1.2650

  

Доверительная вероятность может быть задана отдельно для каждой выборки в матрице X.

 

>> LAMBDA=1;

>> alpha=[0.05 0.05];

>> X=poissrnd(LAMBDA,100,2);

>> [lambdahat,lambdaci]  = poissfit(X, alpha)

lambdahat =

    0.9500    0.9800

lambdaci =

    0.7686    0.7956

    1.1613    1.1943

 

 

Наверх

RAYLFIT - Расчет точечных и интервальных оценок параметров закона Релея

Синтаксис

phat = raylfit(data)

[phat, pci] = raylfit(data)

[phat, pci] = raylfit(data,alpha)

 

Описание

phat = raylfit(data) функция служит для расчета точечной оценки phat параметра распределения Релея по исходной выборке значений data. Значения оценок параметров определяются методом максимального правдоподобия.

[phat, pci] = raylfit(data) позволяет рассчитать точечную phat и интервальную pci оценки параметра распределения Релея по исходной выборке значений data для доверительной вероятности равной 95%.

 

[phat, pci] = raylfit(data,alpha) служит для расчета точечной phat и интервальной pci оценок параметра распределения Релея по исходной выборке значений data для заданного уровня значимости alfa. Доверительная вероятность определяется как 100(1-alpha)%.

Примеры использования функции расчета точечных и интервальных оценок параметров распределения Релея

Расчет точечной оценки параметра B для вектора выборки data.

>> B=1

B =

      1

>> data=raylrnd(B,100,1);

>> phat = poissfit(data)

phat =

    1.2113

  

Расчет точечных оценок параметра B для столбцов матрицы выборки data.

 

>> B=1;

>> data=raylrnd(B,100,3);

>> phat = poissfit(data)

phat =

   1.2342    1.3225    1.3409

   

Расчет точечной и интервальной оценки параметра B для вектора выборки наблюдений data. 

Доверительный интервал соответствует 95% вероятности.

>> B=1;

>> data=raylrnd(B,100,1);

>> [phat, pci] = poissfit(data)

phat =

    1.3938

pci =

    1.1624

    1.6252

  

Расчет точечных и интервальных оценок параметра B для столбцов матрицы выборки data. 

Доверительный интервал соответствует 95% вероятности.

 

>> B=1;

>> data=raylrnd(B,100,3);

>> [phat, pci] = poissfit(data)

phat =

    1.2884    1.1835    1.1054

pci =

    1.0659    0.9703    0.8994

    1.5109    1.3967    1.3115

  

Расчет точечных и интервальных оценок параметра B для столбцов матрицы выборки data и уровне значимости 0,01.

>> B=1;

>> alpha=0.01;

>> data=raylrnd(B,100,3);

>> [phat, pci] = poissfit(data, alpha)

phat =

    1.3030    1.2477    1.3001

pci =

    1.0090    0.9600    1.0064

    1.5971    1.5355    1.5938

  

Доверительная вероятность может быть задана отдельно для каждого столбца в матрице data.

 

>> B=1;

>> alpha=[0.01 0.05 0.001];

>> data=raylrnd(B,100,3);

>> [phat, pci] = poissfit(data, alpha)

phat =

    1.3030    1.2477    1.3001

pci =

    1.0090    1.0288    0.9249

    1.5971    1.4667    1.6753

 

 

Наверх

mle - Расчет точечных и интервальных оценок параметров распределения заданного распределения

Синтаксис

phat = mle('dist',data)

[phat,pci] = mle('dist',data)

[phat,pci] = mle('dist',data,alpha)

[phat,pci] = mle('dist',data,alpha,p1)

 

Описание

phat = mle('dist',data) возвращает значения точечных оценок параметров закона распределения. Вид распределения задается строковой переменной 'dist' в соответствии со следующей таблицей. Выборка наблюдений определяется векторной переменной data.

Вид распределения

Переменная 'dist'

Бета

'beta', 'Beta'

Бернулли

'Bernoulli', 'bernoulli'

Биномиальное

'bino', 'binomial'

Экспоненциальное

'exp', 'Exponential'

Гамма

'gam', 'Gamma' 

Геометрическое

'geo', 'Geometric' 

Нормальное

'norm', 'Normal' 

Пуассона

'poiss', 'Poisson'

Релея

'rayl', 'Rayleigh', 'rayleigh'

Дискретное равномерное

'unid', 'Discrete Uniform' 

Непрерывное равномерное

'unif', 'Uniform' 

Вейбулла

'weib', 'Weibull' 

[phat,pci] = mle('dist',data) служит для расчета точечных phat и интервальных pci оценок параметров закона распределения, заданного переменной 'dist', по исходной выборке data. Доверительный интервал рассчитывается для 0,05 уровня значимости.

[phat,pci] = mle('dist',data,alpha) служит для расчета точечных phat и интервальных pci оценок параметров закона распределения, заданного переменной 'dist', по исходной выборке data и уровня значимости alpha. Доверительная вероятность рассчитывается по формуле 100(1-alpha)%.

 

[phat,pci] = mle('dist',data,alpha,p1) функция предназначена для расчета точечной phat и интервальной pci оценок вероятности появления события в одном опыте для биномиального распределения, где p1 - количество повторных независимых испытаний. В этом случае переменная 'dist' всегда равна 'bino' или 'binomial'. Входные параметры data и alpha выполняют те же функции, что и в предыдущем варианте синтаксиса.

Расчет точечных и интервальных оценок параметров закона распределения выполняется по методу максимального правдоподобия.

 

Функция mle является аналогом параметрических функций: генерации псевдослучайных чисел - random, расчета квантилей распределений - icdf и т.д.

Примеры использования функции mle

Расчет точечных оценок параметров нормального распределения

>> MU=0;

>> SIGMA=1;

>> data=normrnd(MU, SIGMA,100,1);

>> phat = mle('Normal',data)

phat =

    0.0479    0.8641

>> mu= phat(1)

mu =

    0.0479

>> sigma = phat(2)

sigma =

    0.8641

  

Расчет точечных и интервальных оценок параметров нормального распределения при уровне значимости равном 0,01

 

>> MU=0;

>> SIGMA=1;

>> alfa=0.01;

>> data=normrnd(MU, SIGMA,100,1);

>>[phat,pci] = mle('Normal',data, alfa)

phat =

   -0.1270    0.9400

pci =

   -0.3776    0.7338

    0.1236    1.1461

  

Расчет точечной и интервальной оценок вероятности появления события в одном опыте для биномиального распределения 

при уровне значимости равном 0,01.

>> data=10;

>> p1=100;

>> alfa=0.01;

>> [phat,pci] = mle('binomial',data,alfa,p1)

phat =

    0.1000

pci =

    0.0382

    0.2020

 

 

Наверх

betacdf - Функция распределения вероятностей бета распределения

Синтаксис:

F = betacdf(x,a,b)

Описание:

betacdf(x,a,b) предназначена для расчета значений функции распределения вероятностей бета распределения для параметров распределения a, b и значения случайной величины x. Размерность векторов или матриц x, a и b должна быть одинаковой. Скалярный параметр увеличивается до размера остальных входных аргументов. Параметры a и b должны быть положительными. Значение случайной величины x должно находиться в интервале [0 1].

Функция распределения вероятностей бета распределения имеет вид

,

где  - Бета функция.

Выходной параметр F представляет собой значение вероятности попадания случайной величины t в интервал [0 x].

Примеры:

Использование скалярных аргументов x=0.5; a=1; b=2.

>> x=0.5

x =

    0.5000

>> a=1

a =

     1

>> b=2

b =

     2

>> F = betaсdf(x,a,b)

F =

    0.7500

Использование векторного аргумента x=[0 0,3 0,6 0, 9]; и скалярных параметров a=1; b=2.

>> x=0:0.3:1

x =

         0    0.3000    0.6000    0.9000

>> a=1

a =

     1

>> b=2

b =

     2

>> F = betapdf(x,a,b)

F =

         0    0.5100    0.8400    0.9900

График функции распределения вероятностей с параметрами a=1; b=2 и a=1; b=5.

>> a=1; b=2;

>> x=0:0.01:1;

> F1 = betacdf(x,a,b);

>> b=5;

>> F2 = betacdf(x,a,b);

>> plot(x,F1,x,F2,'.')

>> grid on

Расчет вероятности попадания случайной величины x в интервал [xmin xmax]. Вероятность попадания определяется по формуле .

Определение пределов интегрирования.

>> xmin=0.1;

>> xmax=0.2;

Параметры бета распределения.

>> a=1;

>> b=4;

Расчет вероятности P попадания x в интервал [xmin xmax].

>> betacdf(xmax,a,b) - betacdf(xmin,a,b)

ans =

    0.2465

 

 

Наверх

binocdf - Функция распределения вероятностей биномиального закона

Синтаксис:

F = binocdf(x,n,p)

Описание:

binocdf(x,n,p) служит для расчета значения функции распределения вероятностей биномиального закона для значений случайной величины x и параметров n, p. Размерность векторов или матриц x, n и p должна быть одинаковой. Скалярный параметр увеличивается до размера остальных входных аргументов.

Значение параметра n должно быть положительным целым. Значение параметра p должно находиться в интервале [0 1]. Значение случайной величины x должно быть целым, положительным и .

Функция распределения вероятностей биномиального закона имеет вид

,

где  - число сочетаний, которым можно выбрать i объектов из n, ,

 - вероятность появления события в отдельном опыте,

- вероятность отсутствия события в отдельном опыте.

Выходной параметр F представляет собой вероятность появления некоторого события от нуля до x раз при n независимых испытаниях.

Примеры:

Использование скалярных аргументов x=5; n=10; p=0.7.

>> x=5

x =

     5

>> n=10

n =

    10

>> p=0.7

p =

    0.7000

>> F = binopdf(x,n,p)

F =

    0.1029

Использование векторного аргумента x=[1 2 3 4 5]; и скалярных параметров n=10; p=0.7.

>> x=1:5

x =

     1     2     3     4     5

>> n=10

n =

    10

>> p=0.7

p =

    0.7000

>> F = binocdf(x,n,p)

F =

    0.0001    0.0016    0.0106    0.0473    0.1503

Вид функции распределения вероятностей с параметрами n=10; p=0.2.

>> n=10; p=0.2;

>> x=1:1:9;

>> F = binocdf(x,n,p);

>> plot(x,F,'+')

Определить вероятность выигрыша более чем в 100 матчах из 162 играх, если вероятность выиграть игру 50%.

Вероятность выиграть 100 и менее игр из 162 составляет:

>> P=binocdf(100,162,0.5)

P =

    0.9990

Вероятность выиграть более чем в 100 матчах определяется как обратное событие к предыдущему

>> 1-P

ans =

    0.0010

 

 

Наверх

chi2cdf - Функция распределения вероятностей хи-квадрат

Синтаксис:

F = chi2cdf(x,v)

Описание:

chi2cdf(x,v) вычисляет значение функции распределения вероятностей  для параметра распределения v и значения случайной величины x. Размерность матриц x и v должна быть одинаковой. Скалярный параметр увеличивается до размера другого входного аргумента. Число степеней свободы v должно быть целым положительным числом.

Функция распределения вероятностей  имеет вид

,

где  - Гамма-функция,  - число степеней свободы.

Результат расчета F – вероятность попадания случайной величины t в интервал [0 x].

Примеры:

Использование скалярных аргументов x=0.1; v=10.

>> v=10

v =

   10

>> x=0.1

x =

    0.1000

>> F = chi2cdf(x,v)

F =

  2.4980e-009

Использование векторного аргумента x=[0 0,3 0,6 0, 9]; и скалярного параметра v=10.

>> x=[0 0.3 0.6 0.9]

x =

         0    0.3000    0.6000    0.9000

>> v=10

v =

    10

>> F = chi2cdf(x,v)

F =

  1.0e-003 *

         0    0.0006    0.0158    0.1059

>> [x' F']

ans =

              0             0

    0.3000    0.0000

    0.6000    0.0000

    0.9000    0.0001

График функции распределения вероятностей хи-квадрат с параметрами v=[5 10 15].

>> x=0:1:20;

>> v=5;

>> F1 = chi2cdf(x,v);

>> v=10;

>> F2 = chi2cdf(x,v);

>> v=15;

>> F3 = chi2cdf(x,v);

>> plot(x,F1,x,F2,'.',x,F3,'+')

>> grid on

 

 

Наверх

expcdf- Функция распределения вероятностей экспоненциального закона

Синтаксис:

F = expcdf(X,MU)

Описание:

expcdf(X,MU) cлужит для расчета значения функции распределения вероятностей экспоненциального закона для параметра распределения  (MU) и значения случайной величины X. Размерность векторов или матриц X и MU должна быть одинаковой. Размерность скалярного параметра увеличивается до размера другого входного аргумента. Параметр  должен быть положительным числом.

Функция распределения вероятностей экспоненциального закона имеет вид

.

Результат расчета представляет собой значение вероятности F попадания случайной величины в интервал [0 X].

Примеры:

Использование скалярных аргументов x=0.5; a=1; b=2.

>> X=0.5

X =

    0.5000

>> MU=1

MU =

     1

>> F = expcdf(X,MU)

F =

    0.3935

Использование векторного аргумента X=[0 0.3 0.6 0.9] и скалярного параметра MU=5.

>> X=[0 0.3 0.6 0.9]

X =

         0    0.3000    0.6000    0.9000

>> MU=5

MU =

     5

>> F = expcdf(X,MU)

F =

         0    0.0582    0.1131    0.1647

График функции распределения вероятностей экспоненциального закона для параметра MU=[2 5 8].

>> X=0:1:20;

>> MU=2;

>> F1 = expcdf(X,MU);

>> MU=5;

>> F2 = expcdf(X,MU);

>> MU=8;

>> F3 = expcdf(X,MU);

>> plot(X,F1,X,F2,'.',X,F3,'+')

>> grid on

Расчет вероятности попадания случайной величины x в интервал [xmin xmax]. Вероятность попадания определяется по формуле .

Определение пределов интервала.

>> xmin=0.1;

>> xmax=0.2;

Параметры распределения.

>> MU=1;

Расчет вероятности P попадания Х в интервал [xmin xmax].

>> expcdf(xmax,MU)-expcdf(xmin,MU)

ans =

    0.0861

 

 

Наверх

ecdf- Эмпирическая функция распределения на основе оценки Каплана-Мейера

Синтаксис:

[f,x] = ecdf(y)

[f,x,flo,fup] = ecdf(y)

[...] = ecdf(y,'param1',value1,'param2',value2,...)

Описание:

[f,x] = ecdf(y) - расчет значений эмпирической функции распределения на основе оценки Каплана-Мейера, где y – вектор исходных данных, f – вектор значений эмпирической функции распределения рассчитанной для упорядоченного ряда исходных данных х.

[[f,x,flo,fup] = ecdf(y) - кроме значений f и х позволяет определить нижнюю flo и верхнюю fup границы доверительных интервалов для значений эмпирической функции распределения. Расчет значений границ доверительных интервалов проводится по формуле Гринвуда.

[...] = ecdf(y,'param1',value1,'param2',value2,...) - дополнительные параметры 'param1', value1, 'param2', value2, ... задаются в виде строки и соответствующего ей вектора значений. Дополнительные параметры позволяют задать вид цензурированности наблюдений, частоту значений, уровень значимости и тип выходного результата. Возможные значения строковой переменной 'param' и функции вектора value приведены в следующей таблице:

Значение 'param'

Функции value

'censoring'

Вектор булевых значений с размерностью х. Если элемент вектора value равен 1, то результат наблюдения считается цензурированным справа, для value=0 - нецензурированным элементом. По умолчанию все наблюдения являются нецензурированными.

'frequency'

Вектор с размерностью х содержащий положительные целые значения. J-й элемент вектора показывает частоту появления j-го элемента вектора х. По умолчанию частота значений вектора х равна 1.

'alpha' 

Значение уровня значимости, служащей для расчета доверительной вероятности по формуле 100*(1-alpha)%. Величина alpha должна находиться в интервале [0 1]. По умолчанию alpha=0,05.

'function'

Тип выходного результата f. Возможные значения: 'cdf' – кумулятивная функция (по умолчанию), 'survivor' – функция выживаемости, 'cumulative hazard' – кумулятивная случайная функция.

Примеры:

Пример построения теоретической и эмпирической функции распределения с границами доверительных интервалов для выборки из 50 элементов, распределенных по экспоненциальному закону.

Генерация двух выборок y, d на 50 элементов распределенных по экспоненциальному закону с параметрами распределения равными 10 и 20 соответственно.

>> y = exprnd(10,50,1);

>> d = exprnd(20,50,1);

Исследуемая выборка t определяется как вектор минимальных значений при поэлементном сравнении элементов векторов y и d.

>> t = min(y,d);

Определение условий цензурирования значений исследуемой выборки t.

>> censored = (y>d);

Расчет значений эмпирической функции распределения и границ доверительных интервалов.

>> [f,x,flo,fup] = ecdf(t,'censoring',censored);

Ступенчатые графики эмпирической функции распределения и границ доверительных интервалов.

>> stairs(x,f);

>> hold on;

>> stairs(x,flo,'r:');

>> stairs(x,fup,'r:');

Расчет значений теоретической функции распределения экспоненциального закона с параметром распределения равным 10 и построение общего графика для названных функций.

>> xx = 0:.1:max(t);

>> yy = 1-exp(-xx/10);

>> plot(xx,yy,'g-')

>> grid on

>> hold off;

 

 

Наверх

fcdf- Функция распределения вероятностей закона Фишера

Синтаксис:

F = fcdf(X,V1,V2)

Описание:

fcdf(X,V1,V2) служит для расчета значения функции распределения вероятностей закона Фишера для параметров распределения V1, V2 и значения случайной величины X. Размерность векторов или матриц X, V1 и V2 должна быть одинаковой. Размерность скалярного параметра увеличивается до размера остальных входных аргументов. Параметры V1 и V2 должны быть положительными целыми числами.

Функция распределения Фишера имеет вид

.

Результат расчета представляет собой значение вероятности F попадания случайной величины в интервал [0 X].

Примеры:

Использование скалярных аргументов X=0.5; V1=1; V2=2.

>> X=0.5

X =

    0.5000

>> V1=1

V1 =

     1

>> V2=2

V2 =

     2

>> F = fcdf(X,V1,V2)

F =

    0.4472

Использование векторного аргумента X=[0 1 2 3]; и скалярных параметров V1=1; V2=2.

>> X=[0 1 2 3]

X =

     0     1     2     3

>> V1=1

V1 =

     1

>> V2=2

V2 =

     2

>> F = fcdf(X,V1,V2)

F =

         0    0.5774    0.7071    0.7746

График функции распределения Фишера для параметров V1=[1 2 3]; V2=2.

>> X=0:1:10;

>> V1=5;

>> V2=20;

>> F1 = fcdf(X,V1,V2);

>> V1=10;

>> F2 = fcdf(X,V1,V2);

>> V1=25;

>> F3 = fcdf(X,V1,V2);

>> plot(X,F1,X,F2,'.',X,F3,'+')

>> grid on

Расчет вероятности попадания случайной величины x в интервал [xmin xmax]. Вероятность попадания определяется по формуле .

Определение пределов.

>> xmin=1;

>> xmax=3;

Параметры распределения.

>> V1=2;

>> V2=5;

Расчет вероятности P попадания x в интервал [xmin xmax].

>> fcdf(xmax,V1,V2)- fcdf(xmin,V1,V2)

ans =

    0.2919

 

 

Наверх

logncdf - Функция распределения вероятностей логнормального закона

Синтаксис:

F = logncdf(x,mu,sigma)

Описание:

logncdf(x,mu,sigma) служит для расчета значения функции распределения вероятностей логнормального закона для параметров распределения mu (математического ожидания), sigma (среднего квадратического отклонения) и значения случайной величины х. Размерность векторов или матриц x, mu, sigma должна быть одинаковой. Размерность скалярного параметра увеличивается до размера остальных входных аргументов.

Функция распределения вероятностей логнормального закона имеет вид

.

Примеры использования функции распределения вероятностей логнормального закона:

Использование скалярных аргументов x=0.5; mu=1; sigma=2.

>> x=0.5

x =

    0.5000

>> mu=1

mu =

     1

>> sigma=2

sigma =

     2

>> F = logncdf(x,mu,sigma)

F =

    0.1986

Использование векторного аргумента x=[0 0,3 0,6 0,9]; и скалярных параметров mu=1; sigma=2.

>> x=[0 0.3 0.6 0.9]

x =

         0    0.3000    0.6000    0.9000

>> mu=1

mu =

     1

>> sigma=2

sigma =

     2

>> F = logncdf(x,mu,sigma)

F =

         0    0.1352    0.2250    0.2902

Рассмотрим вид функции распределения вероятностей логнормального закона в зависимости от значения mu при постоянном sigma=1.

>> x=0.05:0.01:10;

>> sigma=1;

>> mu=0;

>> f1 = logncdf(x,mu,sigma);

>> mu=1;

>> f2 = lognсdf(x,mu,sigma);

>> mu=2;

>> f3 = logncdf(x,mu,sigma);

>> plot(x,f1,'r',x,f2,'b',x,f3,'g')

>> grid on

Рассмотрим вид функции распределения вероятностей логнормального закона в зависимости от значения sigma при постоянном mu=0.

>> x=0.05:0.01:4;

>> mu=0;

>> sigma=1;

>> f1 = logncdf(x,mu,sigma);

>> sigma=2;

>> f2 = logncdf(x,mu,sigma);

>> sigma=3;

>> f3 = logncdf(x,mu,sigma);

>> plot(x,f1,'r',x,f2,'g',x,f3,'b')

>> grid on

Расчет вероятности попадания случайной величины x в интервал [xmin xmax]. Вероятность попадания определяется по формуле .

Определение пределов интегрирования.

>> xmin=1;

>> xmax=3;

Параметры распределения.

>> mu=0;

>> sigma=1;

Расчет вероятности P попадания x в интервал [xmin xmax].

>> logncdf(xmax,mu,sigma) - logncdf(xmin,mu,sigma)

ans =

0.3640

 

 

Наверх

nbincdf - Функция распределения вероятностей отрицательного биномиального закона

Синтаксис:

F = nbincdf(X,R,P)

Описание:

nbincdf(X,R,P) возвращает значение функции распределения вероятностей отрицательного биномиального закона для случайной величины Х, параметра R и вероятности появления события в одном опыте P. Размерность векторов или матриц X, R, P должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента.

Функция распределения вероятностей отрицательного биномиального закона имеет вид

,

где  - число сочетаний, которым можно выбрать i объектов из R+i-1, , q – вероятность обратного события, q=1-P.

Простейшим случаем применения функции распределения вероятностей отрицательного биномиального закона является расчет вероятности появления некоторого события при независимых испытаниях с постоянной вероятностью появления события в одном опыте Р. Число дополнительных испытаний, которое должно быть проведено, чтобы получить заданное число R успешных попыток имеет отрицательное биномиальное распределение. Более общая трактовка отрицательного биномиального распределения позволяет задавать параметр R как положительное вещественное число. Для вещественного R коэффициент биномиального распределения рассчитывается как , где  - Гамма-функция.

Примеры использования функции распределения вероятностей отрицательного биномиального закона:

Использование скалярных аргументов X=2, R=10, P=0.5

>> X=2

X =

     2

>>  R=10

R =

    10

>> P=0.5

P =

    0.5000

>> F = nbincdf(X,R,P)

F =

    0.0193

Расчет таблицы функции распределения для случайной величины X=[0 1 2 3 4 5 6 7 8 9] и аргументов R=10, P=0.5

>> X=0:1:20;

>> R=10;

>> P=0.5;

>> F = nbincdf(X,R,P);

>> [X' F']

ans =

         0    0.0010

    1.0000    0.0059

    2.0000    0.0193

    3.0000    0.0461

    4.0000    0.0898

    5.0000    0.1509

    6.0000    0.2272

    7.0000    0.3145

    8.0000    0.4073

    9.0000    0.5000

   10.0000    0.5881

   11.0000    0.6682

   12.0000    0.7383

   13.0000    0.7976

   14.0000    0.8463

   15.0000    0.8852

   16.0000    0.9157

   17.0000    0.9390

   18.0000    0.9564

   19.0000    0.9693

   20.0000    0.9786

Графическое представление функции распределения

>> plot(X,f,'+')

 

Наверх

ncfcdf- Функция распределения вероятностей смещенного закона Фишера

Синтаксис:

F = ncfcdf(X,NU1,NU2,DELTA)

Описание:

ncfcdf(X,NU1,NU2,DELTA)позволяет рассчитать значения функции распределения вероятностей смещенного закона Фишера для значений случайной величины Х, степеней свободы NU1, NU2 и положительного параметра смещения DELTA. Размерность векторов или матриц X, NU1, NU2, DELTA должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности других входных аргументов.

Функция распределения вероятностей определяется по формуле

,

где I(x|a,b) – неполная бета функция с параметрами a и b.

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

Использование скалярных аргументов X=0.1; NU1=5; NU2=8; DELTA=1.

>> X=0.1

X =

0.1000

>> NU1=5

NU1 =

5

>> NU2=8

NU2 =

8

>> DELTA=1

DELTA =

1

>> F = ncfcdf(X,NU1,NU2,DELTA)

F =

0.0068

Использование векторной случайной величины X=0:0.1:1 и скалярных аргументов NU1=5; NU2=8; DELTA=1.

>> X=0:0.1:1;

>> NU1=5;

>> NU2=8;

>> DELTA=1;

>> F = ncfpdf(X,NU1,NU2,DELTA);

>> [X' F']

ans =

0 0

0.1000 0.1555

0.2000 0.3243

0.3000 0.4448

0.4000 0.5172

0.5000 0.5518

0.6000 0.5595

0.7000 0.5490

0.8000 0.5269

0.9000 0.4980

1.0000 0.4656

Исследование влияния коэффициента смещения DELTA=[0 1 2] на вид функции распределения вероятностей смещенного закона Фишера.

>> X=0:0.1:5;

>> NU1=5;

>> NU2=8;

>> DELTA=0;

>> f1 = ncfcdf(X,NU1,NU2,DELTA);

>> DELTA=1;

>> f2 = ncfcdf(X,NU1,NU2,DELTA);

>> DELTA=2;

>> f3 = ncfcdf(X,NU1,NU2,DELTA);

>> plot(X,f1,X,f2,'.',X,f3,'+')

>> grid on

 

 

Наверх

nctcdf - Функция распределения вероятностей смещенного закона Стьюдента (смещенного t распределения)

Синтаксис:

F = nctcdf(X,NU,DELTA)

Описание:

nctcdf(X,NU,DELTA) позволяет рассчитать величину функции распределения вероятностей смещенного закона Стьюдента для значений случайной величины Х, степени свободы NU и параметра смещения DELTA. Размерность векторов или матриц X, NU, DELTA должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента.

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

Расчет вероятности попадания значения случайной величины Х в интервал . Вероятность попадания определяется по формуле .

Определение границ интервала.

>> xmin=0;

>> xmax=2;

Параметры распределения.

>> NU =1;

>> DELTA =4;

Расчет вероятности P попадания Х в интервал [xmin xmax].

>> nctcdf(xmax,NU,DELTA)- nctcdf(xmin,NU,DELTA)

ans =

0.0736

Расчет вероятности попадания значения случайной величины Х в интервалы от  до 0; 1; 2; 3.

>> X=[0 1 2 3];

>> NU =10;

>> DELTA =0;

>> F=nctcdf(X,NU,DELTA);

>> [X' F']

ans =

0 0.5000

1.0000 0.8296

2.0000 0.9633

3.0000 0.9933

Исследование влияния параметра смещения DELTA на вид функции распределения вероятностей смещенного закона Стьюдента при числе степеней свободы NU=5.

>> X=-5:0.1:5;

>> NU =5;

>> DELTA =0;

>> F1=nctcdf(X,NU,DELTA);

>> DELTA =1;

>> F2=nctcdf(X,NU,DELTA);

>> DELTA =2;

>> F3=nctcdf(X,NU,DELTA);

>> plot(X,F1, X,F2,'.', X,F3,':')

>> grid on

Исследование влияния числа степеней свободы NU и параметра смещения DELTA на вид функции распределения.

>> [NU X] = meshgrid([1:1:20], [-5:0.1:5]);

>> DELTA=0;

>> F=nctcdf(X,NU,DELTA);

>> subplot(2,2,1)

>> surf(NU,X,F)

>> DELTA=1;

>> F=nctcdf(X,NU,DELTA);

>> subplot(2,2,2)

>> surf(NU,X,F)

>> DELTA=2;

>> F=nctcdf(X,NU,DELTA);

>> subplot(2,2,3)

>> surf(NU,X,F)

>> DELTA=4;

>> F=nctcdf(X,NU,DELTA);

>> subplot(2,2,4)

>> surf(NU,X,F)

 

 

Наверх

ncx2cdf - Функция вероятностей смещенного распределения хи-квадрат

Синтаксис:

F = ncx2cdf(X,V,DELTA)

Описание:

ncx2cdf(X,V,DELTA) служит для расчета значений функции вероятностей смещенного распределения хи-квадрат для значений случайной величины Х, степени свободы V и параметра смещения DELTA. Размерность векторов или матриц X, V, DELTA должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности других входных аргументов.

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

Примеры использования функции вероятностей смещенного распределения хи-квадрат:

Расчет вероятности попадания значения случайной величины Х в интервал . Вероятность попадания определяется по формуле .

Определение границ интервала.

>> xmin=1;

>> xmax=2;

Параметры распределения.

>> V =10;

>> DELTA =2;

Расчет вероятности P попадания Х в интервал [xmin xmax].

>> ncx2cdf(xmax,V,DELTA) - ncx2cdf(xmin,V,DELTA)

ans =

0.0015

Расчет вероятности попадания значения случайной величины Х в интервалы от  до 0; 1; 2; 3.

>> X=[0 1 2 3];

>> V =10;

>> DELTA =1;

>> F= ncx2cdf(X,V,DELTA);

>> [X' F']

ans =

0 0

1.0000 0.0001

2.0000 0.0024

3.0000 0.0127

Исследование влияния числа степеней свободы V и параметра смещения DELTA на вид функции распределения вероятностей хи-квадрат.

>> X=0:0.1:20;

>> V =5;

>> DELTA =0;

>> F1=ncx2cdf (X,V,DELTA);

>> DELTA =1;

>> F2=ncx2cdf (X,V,DELTA);

>> DELTA =2;

>> F3= ncx2cdf (X,V,DELTA);

>> subplot(2,2,1)

>> plot(X,F1, X,F2,'.', X,F3,':')

>> grid on

Вид поверхности функции распределения вероятностей хи-квадрат в зависимости от параметров V, DELTA.

>> [V X] = meshgrid([1:1:20], [0:0.5:20]);

>> DELTA=0;

>> F=ncx2cdf (X,V,DELTA);

>> subplot(2,2,2)

>> surf(V,X,F)

>> DELTA=2;

>> F=ncx2cdf (X,V,DELTA);

>> subplot(2,2,3)

>> surf(V,X,F)

>> DELTA=5;

>> F=ncx2cdf (X,V,DELTA);

>> subplot(2,2,4)

>> surf(V,X,F)

 

 

Наверх

normcdf - Функция распределения вероятностей нормального закона

Синтаксис:

F = normcdf(X,MU,SIGMA)

Описание:

normcdf(X,MU,SIGMA) служит для расчета значений функции распределения вероятностей нормального закона для значений случайной величины Х, математического ожидания MU и среднего квадратического отклонения SIGMA. Размерность векторов или матриц X, MU, SIGMA должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента. Значение среднего квадратического отклонения SIGMA должно быть положительным.

Функция распределения вероятностей нормального закона имеет вид

.

Величина F представляет собой вероятность падания случайной величины в интервал .

Стандартное нормальное распределение имеет параметры распределения равные MU=0 и SIGMA=1.

Примеры использования функции распределения вероятностей нормального закона:

Расчет вероятности попадания значения случайной величины Х, распределенной по закону стандартизованного нормального распределения, в интервал .

Определение границ интервала.

>> xmin=1;

>> xmax=2;

Параметры распределения.

>> MU =0;

>> SIGMA =1;

Расчет вероятности P попадания Х в интервал [xmin xmax].

>> normcdf(xmax,MU,SIGMA) - normcdf(xmin,MU,SIGMA)

ans =

0.1359

Расчет вероятности попадания значения случайной величины Х в интервалы , .

>> X=[1 2 3];

>> MU =0;

>> SIGMA =1;

>> F= 2* (normcdf(X,MU,SIGMA) - normcdf(0,MU,SIGMA));

>> [X' F']

ans =

1.0000 0.6827

2.0000 0.9545

3.0000 0.9973

Исследование влияния параметров MU, SIGMA на вид функции распределения вероятностей нормального закона.

>> X=-5:0.1:5;

>> MU =0;

>> SIGMA =1;

>> F1= normcdf(X,MU,SIGMA);

>> SIGMA =2;

>> F2= normcdf(X,MU,SIGMA);

>> SIGMA =3;

>> F3= normcdf(X,MU,SIGMA);

>> subplot(2,2,1)

>> plot(X,F1, X,F2,'.', X,F3,':')

>> grid on

Вид поверхности функции распределения вероятностей нормального закона в зависимости от параметров MU, SIGMA.

>> [X SIGMA] = meshgrid([-5:0.1:5], [1:2/20:3]);

>> MU =0;

>> F= normcdf(X,MU,SIGMA);

>> subplot(2,2,2)

>> surf(X,SIGMA,F)

>> MU =2;

>> F= normcdf(X,MU,SIGMA);

>> subplot(2,2,3)

>> surf(X,SIGMA,F)

>> MU =4;

>> F= normcdf(X,MU,SIGMA);

>> subplot(2,2,4)

>> surf(X,SIGMA,F)

 

 

Наверх

poisscdf - Функция распределения вероятностей закона Пуассона

Синтаксис:

F = poisscdf(X,LAMBDA)

Описание:

poisscdf(X,LAMBDA) позволяет рассчитать значение функции распределения вероятностей закона Пуассона для случайной величины Х и параметра LAMBDA. Размерность векторов или матриц X, LAMBDA должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента. Значение параметра LAMBDA должно быть положительным.

Функция распределения вероятностей Пуассона имеет вид

.

Примеры использования функции распределения вероятностей:

Расчет вероятности попадания значения случайной величины Х в интервал [2 3].

Определение границ интервала.

>> xmin=2;

>> xmax=3;

Параметр распределения.

>> LAMBDA =5;

Расчет вероятности попадания Х в интервал [xmin xmax].

>> poisscdf(xmax,LAMBDA) - poisscdf(xmin,LAMBDA)

ans =

       0.1404

Расчет вероятности попадания значения случайной величины Х в интервалы от  до 0; 1; 2; 3.

>> X=[0 1 2 3];

>> LAMBDA =5;

>> F= poisscdf(X,LAMBDA);

>> [X' F']

ans =

               0  0.0067

       2.0000  0.1247

       1.0000  0.0404

       3.0000  0.2650

Рассмотрим решение задачи. Технологический процесс производства жестких магнитных носителей останавливается при наличии 4 и более сбойных секторов. Определить какова вероятность остановки процесса, если среднее число бракованных секторов равно 2.

Вероятность остановки процесса определяется как вероятность обратного события P, состоящего в том, что число бракованных секторов превысит критическое значение X=4 при среднем числе отказов LAMBDA=2.

>> X=4;

>> LAMBDA =2;

>> P= 1 - poisscdf(X, LAMBDA)

P =

0.0527

Исследование влияния параметра LAMBDA на вид функции распределения вероятностей закона Пуассона.

>> X=0:1:20;

>> LAMBDA =2;

>> F1= poisscdf(X,LAMBDA);

>> LAMBDA =5;

>> F2= poisscdf(X,LAMBDA);

>> LAMBDA =10;

>> F3 = poisscdf(X,LAMBDA);

>> plot(X,F1,'g', X,F2,'r', X,F3,'b')

>> grid on

 

 

Наверх

raylcdf - Функция распределения вероятностей закона Релея

Синтаксис:

F = raylcdf(X,B)

Описание:

raylcdf(X,B) служит для расчета значений функции распределения вероятностей закона Релея для случайной величины Х и параметра B. Размерность векторов или матриц X, B должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента.

Функция распределения вероятностей закона Релея имеет вид

.

Примеры использования функции распределения вероятностей закона Релея:

Расчет вероятности попадания значения случайной величины Х в интервал [2 5].

Определение границ интервала.

>> xmin=2;

>> xmax=5;

Параметр распределения.

>> B = 5;

Расчет вероятности попадания Х в интервал [xmin xmax].

>> raylcdf(xmax,B)- raylcdf(xmin,B)

ans =

       0.3166

Расчет вероятности попадания значения случайной величины Х в интервалы от 0 до 5; 6; 7; 8, при В=10.

>> X=[5 6 7 8];

>> B = 10;

>> F= raylcdf (X,B);

>> [X' F']

ans =

       5.0000  0.1175

       6.0000  0.1647

       7.0000  0.2173

       8.0000  0.2739

Исследование влияния параметра LAMBDA на вид функции распределения вероятностей закона Релея.

>> X=0:1:20;

>> B =2;

>> F1= raylcdf (X,B);

>> B =5;

>> F2= raylcdf (X,B);

>> B =10;

>> F3 = raylcdf (X,B);

>> plot(X,F1,'g', X,F2,'r', X,F3,'b')

>> grid on

 

 

Наверх

tcdf - Функция распределения вероятностей закона Стьюдента

Синтаксис:

F = tcdf(X,V)

Описание:

tcdf(X,V) служит для расчета значений функции распределения вероятностей закона Стьюдента для значений случайной величины Х и степени свободы V. Размерность векторов или матриц X, V должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента. Значение числа степеней свободы V должно быть положительным целым числом.

Вид функции распределения вероятностей закона Стьюдента

.

Результатом расчета по приведенной формуле является вероятность попадания случайной величины в интервал (-∞ Х] для заданной величины числа степеней свободы.

Примеры использования функции распределения вероятностей:

Расчет вероятности попадания значения случайной величины Х в интервал [2 3].

Определение границ интервала.

>> xmin=2;

>> xmax=3;

Параметр распределения.

>> V =5;

Расчет вероятности попадания Х в интервал [xmin xmax].

>> tcdf(xmax,V) - tcdf(xmin,V)

ans =

       0.0359

Расчет вероятности попадания значения случайной величины Х в интервалы от  до 0; 1; 2; 3.

>> X=[0 1 2 3];

>> V =5;

>> F= tcdf (X,V);

>> [X' F']

ans =

               0  0.5000

       1.0000  0.8184

       2.0000  0.9490

       3.0000  0.9850

Рассмотрим решение задачи. В 10 пробах пива обнаружено среднее содержание этилового спирта 5,5% на единицу объема со средним квадратическим отклонением 0,5%. Какова вероятность, что действительное содержание этилового спирта менее 5%.

Стандартизованное значение случайной величины – объемной доли спирта составляет

>> t = (5.0 - 5.5) / 0.5;

Вероятность попадания случайной величины в интервал от 0,5% до 5,5% составляет

>> probability = tcdf(t,10 - 1)

0.1717

 

 

Наверх

betapdf- Функции плотности вероятности бета распределения

Синтаксис:

f = betapdf(x,a,b)

Описание:

f = betapdf(x,a,b) предназначена для расчета значения функции плотности вероятности бета распределения для параметров распределения a, b и значения случайной величины x. Размерность векторов или матриц x, a и b должна быть одинаковой. Скалярный параметр увеличивается до размера остальных входных аргументов. Параметры a и b должны быть положительными. Значение случайной величины x должно находиться в интервале [0 1].

Функция плотности вероятности бета распределения имеет вид

,

где  - Бета функция.

Выходной параметр f представляет собой значение функции плотности вероятности бета распределения для сочетания значений случайной величины x и параметров a, b. В частном случае при a=1 и b=1 бета распределение вырождается в равномерное.

Примеры:

Использование скалярных аргументов x=0.5; a=1; b=2.

>> x=0.5

x =

    0.5000

>> a=1

a =

     1

>> b=2

b =

     2

>> f = betapdf(x,a,b)

f =

     1

Использование векторного аргумента x=[0 0,3 0,6 0, 9]; и скалярных параметров a=1; b=2.

>> x=0:0.3:1

x =

         0    0.3000    0.6000    0.9000

>> a=1

a =

     1

>> b=2

b =

     2

>> f = betapdf(x,a,b)

f =

         0    1.4000    0.8000   0.2000

Использование матричных аргумента x, параметра a и скалярного параметра b.

Определение матрицы x.

>> x=0:0.1:1

x =

  Columns 1 through 6 

         0    0.1000    0.2000    0.3000    0.4000    0.5000

  Columns 7 through 11 

    0.6000    0.7000    0.8000    0.9000    1.0000

>> x=[x' x' x' x' x']

x =

         0         0         0         0         0

    0.1000    0.1000    0.1000    0.1000    0.1000

    0.2000    0.2000    0.2000    0.2000    0.2000

    0.3000    0.3000    0.3000    0.3000    0.3000

    0.4000    0.4000    0.4000    0.4000    0.4000

    0.5000    0.5000    0.5000    0.5000    0.5000

    0.6000    0.6000    0.6000    0.6000    0.6000

    0.7000    0.7000    0.7000    0.7000    0.7000

    0.8000    0.8000    0.8000    0.8000    0.8000

    0.9000    0.9000    0.9000    0.9000    0.9000

    1.0000    1.0000    1.0000    1.0000    1.0000

Определение матрицы a.

>> a=ones(1,11)'

a =

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

>> a=[a*2 a*4 a*6 a*8 a*10]

a =

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

Задание скаляра b.

>> b=5

b =

     5

Расчет матрицы функции плотности вероятности бета распределения f.

>> f = betapdf(x,a,b)

f =

            0            0            0            0            0

    1.9683    0.1837    0.0083    0.0003    0.0000

    2.4576    0.9175    0.1652    0.0208    0.0021

    2.1609    1.8152    0.7351    0.2079    0.0473

    1.5552    2.3224    1.6722    0.8409    0.3401

    0.9375    2.1875    2.4609    1.9336    1.2219

    0.4608    1.5483    2.5082    2.8379    2.5825

    0.1701    0.7779    1.7153    2.6416    3.2719

    0.0384    0.2294    0.6606    1.3288    2.1496

    0.0027    0.0204    0.0744    0.1894    0.3878

            0            0            0            0            0

Рассмотрим изменение вида функции плотности вероятности бета распределения в зависимости от значения параметров a и b.

Сформируем матрицу x.

>> x=0:0.01:1;

>> x=[x' x' x' x' x'];

Определение матрицы a. Значения параметра a изменяется в последовательности 2, 4, 6, 8, 10.

>> a=ones(1,101)';

>> a=[a*2 a*4 a*6 a*8 a*10];

Функция плотности вероятности бета распределения для заданной последовательности a и значения параметра b=2.

>> b=2;

>> f = betapdf(x,a,b);

>> plot(x,f)

>> grid on

Вид функции плотности вероятности бета распределения для заданной последовательности a и значения параметра b=8

>> b=8;

>> f = betapdf(x,a,b);

>> plot(x,f)

>> grid on

Расчет вероятности попадания случайной величины x в интервал [xmin xmax]. Вероятность попадания определяется по формуле .

Определение пределов интегрирования.

>> xmin=0.1;

>> xmax=0.2;

Параметры бета распределения.

>> a=1;

>> b=4;

Расчет вероятности P попадания x в интервал [xmin xmax].

>> P=quad('betapdf',xmin,xmax,1.e-6,0,a,b)

P =

0.2465

 

 

 

 

 

Наверх

binopdf - Функции плотности вероятности биномиального распределения

Синтаксис:

f = binopdf(x,n,p)

Описание:

f = binopdf(x,n,p) служит для расчета значения функции плотности вероятности биномиального распределения для значения случайной величины x и параметров n, p. Размерность векторов или матриц x, n и p должна быть одинаковой. Скалярный параметр увеличивается до размера остальных входных аргументов.

Значение параметра n должно быть положительным целым. Значение параметра p должно находиться в интервале [0 1]. Значение случайной величины x должно быть целым, положительным и .

Функция плотности вероятности биномиального распределения имеет вид

,

где  - число сочетаний, которым можно выбрать x объектов из n, ,

- вероятность появления события в отдельном опыте,

 - вероятность отсутствия события в отдельном опыте.

Выходной параметр f представляет собой значение вероятности появления некоторого события x раз при n независимых испытаниях.

Примеры:

Использование скалярных аргументов x=5; n=10; p=0.7.

>> x=5

x =

     5

>> n=10

n =

    10

>> p=0.7

p =

    0.7000

>> f = binopdf(x,n,p)

f =

    0.1029

Использование векторного аргумента x=[1 2 3 4 5]; и скалярных параметров n=10; p=0.7.

>> x=1:5

x =

     1     2     3     4     5

>> n=10

n =

    10

>> p=0.7

p =

    0.7000

>> f = binopdf(x,n,p)

f =

    0.0001    0.0014    0.0090    0.0368    0.1029

Использование матричных аргумента x, параметра p и скалярного параметра n.

Определение матрицы x.

>> x=1:5

x =

     1     2     3     4     5

>> x=[x' x' x' x' x']

x =

     1     1     1     1     1

     2     2     2     2     2

     3     3     3     3     3

     4     4     4     4     4

     5     5     5     5     5

Определение матрицы вероятностей появления события p в одном опыте.

>> p=ones(1,5)

p =

     1     1     1     1     1

>> p=p'

p =

     1

     1

     1

     1

     1

>> p=[p*0.1 p*0.3 p*0.5 p*0.7 p*0.9]

p =

    0.1000    0.3000    0.5000    0.7000    0.9000

    0.1000    0.3000    0.5000    0.7000    0.9000

    0.1000    0.3000    0.5000    0.7000    0.9000

    0.1000    0.3000    0.5000    0.7000    0.9000

    0.1000    0.3000    0.5000    0.7000    0.9000

Задание скаляра n.

>> n=10

n =

    10

Расчет матрицы значений функции плотности вероятности биномиального распределения f.

>> f = binopdf(x,n,p)

f =

    0.3874    0.1211    0.0098    0.0001    0.0000

    0.1937    0.2335    0.0439    0.0014    0.0000

    0.0574    0.2668    0.1172    0.0090    0.0000

    0.0112    0.2001    0.2051    0.0368    0.0001

    0.0015    0.1029    0.2461    0.1029    0.0015

Рассмотрим изменение вида функции плотности вероятности биномиального распределения для заданной последовательности p и значения параметра n=50.

Сформируем матрицу x.

>> x=1:30;

>> x=[x' x' x' x' x'];

Сформируем матрицу p. Значения параметра p будут меняться в последовательности 0,2; 0,3; 0,4; 0,5; 0,6.

>> p=ones(1,30)';

>> p=[p*0.2 p*0.3 p*0.4 p*0.5 p*0.6];

Рассмотрим вид функции плотности вероятности биномиального распределения для заданной последовательности p и значения параметра n=50.

>> n=50;

>> f = binopdf(x,n,p);

>> plot(x,f)

>> grid on

Рассмотрим решение с помощью Statistics Toolbox классической задачи из курса теории вероятностей. 

Выполняется контроль качества 200 изделий по одному параметру в день. Известно, что 2% изделий бракованные. Какова вероятность не обнаружить ни одного дефекта при контроле.

Вероятность обнаружения заданного количества дефектов определяется по формуле

,

где n=200;

p=0,02;

q=1-p=0,98;

x=0.

Подставим указанные значения в функцию binopdf

>> f=binopdf(0,200,0.02)

f =

    0.0176

Каково наиболее вероятное значение i обнаруженных дефектов?

f = binopdf([0:200],200,0.02);

[x,i] = max(y);

i

i =

     5

 

 

Наверх

chi2pdf - Функция плотности вероятности распределения хи-квадрат

Синтаксис:

f = chi2pdf(x,v)

Описание:

f = chi2pdf(x,v) вычисляет значение функции плотности вероятности распределения  для параметра распределения v и значения случайной величины x. Размерность векторов или матриц x и v должна быть одинаковой. Скалярный параметр увеличивается до размера другого входного аргумента. Размерность f соответствует максимальной размерности x или v. v – число степеней свободы, целое положительное число.

Функция плотности вероятности распределения  имеет вид

,

где  - Гамма-функция.

Выходной параметр f представляет собой значение плотности вероятности распределения  соответствующее числу степеней свободы v и значению случайной величины x.

Если x является стандартизованной случайной величиной распределенной по нормальному закону, то случайная величина  распределена по закону  с числом степеней свободы v=1. Сумма квадратов n стандартизованных случайных величин распределенных по нормальному закону x1, x2, …, xn имеет распределение  с числом степеней свободы v=n.

Примеры:

Использование скалярных аргументов x=0.1; v=10.

>> v=10

v =

   10

>> x=0.1

x =

    0.1000

>> f = chi2pdf(x,v)

f =

  1.2386e-007

Использование векторного аргумента x=[0 0,3 0,6 0, 9]; и скалярного параметра v=10.

>> x=[0 0.3 0.6 0.9]

x =

         0    0.3000    0.6000    0.9000

>> v=10

v =

    10

>> f = chi2pdf(x,v)

f =

  1.0e-003 *

         0    0.0091    0.1250    0.5447

Использование матричного аргумента x и скалярного параметра v.

Определение матрицы x.

>> x=0:0.1:1

x =

  Columns 1 through 5 

         0    0.1000    0.2000    0.3000    0.4000

  Columns 6 through 10 

    0.5000    0.6000    0.7000    0.8000    0.9000

  Column 11 

    1.0000

>> x=[x' x' x' x' x']

x =

            0            0            0            0            0

    0.1000    0.1000    0.1000    0.1000    0.1000

    0.2000    0.2000    0.2000    0.2000    0.2000

    0.3000    0.3000    0.3000    0.3000    0.3000

    0.4000    0.4000    0.4000    0.4000    0.4000

    0.5000    0.5000    0.5000    0.5000    0.5000

    0.6000    0.6000    0.6000    0.6000    0.6000

    0.7000    0.7000    0.7000    0.7000    0.7000

    0.8000    0.8000    0.8000    0.8000    0.8000

    0.9000    0.9000    0.9000    0.9000    0.9000

    1.0000    1.0000    1.0000    1.0000    1.0000

Определение числа степеней свободы v=5.

>> v=5

v =

     5

Расчет матрицы функции плотности вероятности распределения хи-квадрат.

>> f = chi2pdf(x,v)

f =

            0            0            0            0            0

    0.0040    0.0040    0.0040    0.0040    0.0040

    0.0108    0.0108    0.0108    0.0108    0.0108

    0.0188    0.0188    0.0188    0.0188    0.0188

    0.0275    0.0275    0.0275    0.0275    0.0275

    0.0366    0.0366    0.0366    0.0366    0.0366

    0.0458    0.0458    0.0458    0.0458    0.0458

    0.0549    0.0549    0.0549    0.0549    0.0549

    0.0638    0.0638    0.0638    0.0638    0.0638

    0.0724    0.0724    0.0724    0.0724    0.0724

    0.0807    0.0807    0.0807    0.0807    0.0807

Рассмотрим как изменяется вид функции плотности вероятности распределения хи-квадрат в зависимости от изменения значения числа степеней свободы v.

Сформируем матрицу x.

x=0:0.01:10;

x=[x' x' x' x' x'];

Сформируем матрицу v. Значения параметра v будут меняться в последовательности 2, 4, 6, 8, 10.

v=ones(1,1001)';

v=[v*2 v*4 v*6 v*8 v*10];

Рассмотрим вид функции плотности вероятности распределения хи-квадрат для заданной последовательности v.

f = chi2pdf(x,v)

plot(x,f)

grid on

Расчет вероятности попадания случайной величины x в интервал [xmin xmax]. Расчет ведется по формуле .

Определим пределы интегрирования.

>> xmin=0.1;

>> xmax=2;

Зададим число степеней свободы распределения хи-квадрат.

>> v=5;

Рассчитаем вероятность P попадания x в интервал [xmin xmax].

>> P=quad('chi2pdf',xmin,xmax,1.e-6,0,v)

P =

    0.1507

 

 

Наверх

exppdf - Функция плотности вероятности экспоненциального распределения

Синтаксис:

f = exppdf(x,mu)

Описание:

f = exppdf(x,mu) служит для расчета значения функции плотности вероятности экспоненциального распределения для параметра распределения  (mu) и значения случайной величины x. Размерность векторов или матриц x и v должна быть одинаковой. Размерность скалярного параметра увеличивается до размера другого входного аргумента. Параметр  (mu) должен быть положительным числом.

Функция плотности вероятности экспоненциального распределения имеет вид

.

Экспоненциальное распределение можно рассматривать как гамма распределение с первым параметром равным единице.

Экспоненциальное распределение используется при моделировании времени ожидания некоторого события, когда вероятность его появления не зависит от времени ожидания прошедшего до текущего момента. Например, вероятность разрушения спирали лампы накаливания в следующий момент времени не зависит от времени ее эксплуатации.

Примеры:

Использование скалярных аргументов x=5; mu=2.

>> mu=2

mu =

     2

>> x=5

x =

     5

>> f = exppdf(x,mu)

f =

    0.0410

Использование векторного аргумента x=[0 3 6 9]; и скалярного параметра mu=2.

>> mu=2

mu =

     2

>> x=[0 3 6 9]

x =

     0     3     6     9

>> f = exppdf(x,mu)

f =

    0.5000    0.1116    0.0249    0.0056

Использование матричного аргумента x и скалярного параметра mu.

Определение матрицы x.

>> x=0:1:10

x =

     0     1     2     3     4     5     6     7     8     9    10

>> x=[x' x' x' x' x']

x =

     0     0     0     0     0

     1     1     1     1     1

     2     2     2     2     2

     3     3     3     3     3

     4     4     4     4     4

     5     5     5     5     5

     6     6     6     6     6

     7     7     7     7     7

     8     8     8     8     8

     9     9     9     9     9

    10    10    10    10    10

Определение числа степеней свободы mu=5.

>> mu=5

mu =

5

Расчет матрицы функции плотности вероятности экспоненциального распределения.

>> f = exppdf(x,mu)

f =

    0.2000    0.2000    0.2000    0.2000    0.2000

    0.1637    0.1637    0.1637    0.1637    0.1637

    0.1341    0.1341    0.1341    0.1341    0.1341

    0.1098    0.1098    0.1098    0.1098    0.1098

    0.0899    0.0899    0.0899    0.0899    0.0899

    0.0736    0.0736    0.0736    0.0736    0.0736

    0.0602    0.0602    0.0602    0.0602    0.0602

    0.0493    0.0493    0.0493    0.0493    0.0493

    0.0404    0.0404    0.0404    0.0404    0.0404

    0.0331    0.0331    0.0331    0.0331    0.0331

    0.0271    0.0271    0.0271    0.0271    0.0271

Рассмотрим как меняется вид функции плотности вероятности экспоненциального распределения в зависимости от изменения параметра mu.

Сформируем матрицу x

>> x=0:0.1:10;

>> x=[x' x' x' x' x'];

Сформируем матрицу mu. Значения параметра mu будут меняться в последовательности 2, 4, 6, 8, 10.

>> mu=ones(1,101)';

>> mu=[mu*2 mu*4 mu*6 mu*8 mu*10];

Рассмотрим вид функции плотности вероятности экспоненциального распределения для заданной последовательности значений mu.

>> f = exppdf(x,mu);

>> plot(x,f)

>> grid on

Расчет вероятности попадания случайной величины x в интервал [xmin xmax]. Расчет выполняется по формуле .

Определим пределы интегрирования.

>> xmin=1;

>> xmax=2;

Зададим значение параметра mu экспоненциального распределения.

>> mu=5;

Расчет вероятности P попадания x в интервал [xmin xmax].

>> P=quad('exppdf',xmin,xmax,1.e-6,0,mu)

P =

    0.1484

 

 

Наверх

fpdf - Функция плотности вероятности распределения Фишера

Синтаксис:

f = fpdf(x,v1,v2)

Описание:

f = fpdf(x,v1,v2) служит для расчета значения функции плотности вероятности распределения Фишера для параметров распределения v1, v2 и значения случайной величины x. Размерность векторов или матриц x, v1 и v2 должна быть одинаковой. Размерность скалярного параметра увеличивается до размера остальных входных аргументов. Параметры v1 и v2 должны быть положительными целыми. Значение случайной величины x должно находиться в интервале .

Функция плотности вероятности распределения Фишера имеет вид

.

Примеры:

Использование скалярных аргументов x=0.5; v1=1; v2=2.

>> x=0.5

x =

0.5000

>> v1=1

v1 =

1

>> v2=2

v2 =

2

>> f = fpdf(x,v1,v2)

f =

0.3578

Использование векторного аргумента x=[0 0,3 0,6 0, 9]; и скалярных параметров v1=1; v2=2.

>> v1=1

v1 =

     1

>> v2=2

v2 =

     2

>> x=[0 3 6 9]

x =

     0     3     6     9

>> f = fpdf(x,v1,v2)

f =

         0    0.0516    0.0180    0.0091

Использование матричных аргумента x, параметра v1 и скалярного параметра v2.

Определение матрицы x.

>> x=0:1:10

x =

     0     1     2     3     4     5     6     7     8     9    10

>> x=[x' x' x' x' x']

x =

     0     0     0     0     0

     1     1     1     1     1

     2     2     2     2     2

     3     3     3     3     3

     4     4     4     4     4

     5     5     5     5     5

     6     6     6     6     6

     7     7     7     7     7

     8     8     8     8     8

     9     9     9     9     9

    10    10    10    10    10

Определение матрицы v1.

>> v1=ones(1,11)'

v1 =

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

>> v1=[v1*2 v1*4 v1*6 v1*8 v1*10]

v1 =

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

Задание скаляра v2.

>> v2=5

v2 =

     5

Расчет матрицы функции плотности вероятности распределения Фишера f.

>> f = fpdf(x,v1,v2)

f =

             0             0             0             0             0

    0.3080    0.3976    0.4451    0.4749    0.4955

    0.1278    0.1520    0.1624    0.1682    0.1719

    0.0633    0.0682    0.0693    0.0697    0.0698

    0.0353    0.0351    0.0344    0.0339    0.0335

    0.0214    0.0200    0.0191    0.0185    0.0181

    0.0138    0.0123    0.0115    0.0111    0.0108

    0.0093    0.0080    0.0074    0.0070    0.0068

    0.0066    0.0055    0.0050    0.0047    0.0045

    0.0048    0.0039    0.0035    0.0033    0.0032

    0.0036    0.0028    0.0025    0.0024    0.0023

Рассмотрим изменение вида функции плотности вероятности распределения Фишера в зависимости от значений чисел степеней свободы v1 и v2.

Сформируем матрицу x.

>> x=0:0.1:10;

>> x=[x' x' x' x' x'];

Сформируем матрицу v1. Значения параметра v1 будут меняться в последовательности 2, 4, 6, 8, 10.

>> v1=ones(1,101)';

>> v1=[v1*2 v1*4 v1*6 v1*8 v1*10];

Рассмотрим вид функции плотности вероятности распределения Фишера для заданной последовательности v1 и значения параметра v2=5.

>> v2=5;

>> f = fpdf(x,v1,v2);

>> plot(x,f)

>> grid on

Вид функции плотности вероятности распределения Фишера для заданной последовательности v1 и значения параметра v2=2.

>> v2=2;

>> f = fpdf(x,v1,v2);

>> plot(x,f)

>> grid on

Расчет вероятности попадания случайной величины x в интервал [xmin xmax]. Расчет ведется по формуле .

Определим пределы интегрирования.

>> xmin=0.1;

>> xmax=2;

Зададим параметры распределения Фишера.

>> v1=2;

>> v2=4;

Рассчитаем вероятность P попадания x в интервал [xmin xmax].

>> P=quad('fpdf',xmin,xmax,1.e-6,0,v1,v2)

P =

    0.6570

 

 

Наверх

gampdf - Функция плотности вероятности гамма распределения

Синтаксис:

f = gampdf(x,a,b)

Описание:

f = gampdf(x, a, b) служит для расчета значения функции плотности вероятности гамма распределения для параметров распределения a, b и значения случайной величины x. Размерность векторов или матриц x, a и b должна быть одинаковой. Размерность скалярного параметра увеличивается до размера остальных входных аргументов. Параметры a и b должны быть положительными. Значение случайной величины x должно находиться в интервале .

Функция плотности вероятности гамма распределения имеет вид

,

где  - Гамма – функция.

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

Примеры:

Использование скалярных аргументов x=0.5; a=1; b=2.

>> x=0.5

x =

    0.5000

>> a=1

a =

     1

>> b=2

b =

     2

>> f = gampdf(x,a,b)

f =

    0.3894

Использование векторного аргумента x=[0 0,3 0,6 0, 9]; и скалярных параметров a=1; b=2.

>> x=0:0.3:1

x =

         0    0.3000    0.6000    0.9000

>> a=1

a =

     1

>> b=2

b =

     2

>> f = gampdf(x,a,b)

f =

    0.5000    0.4304    0.3704    0.3188

Использование матричных аргумента x, параметра a и скалярного параметра b.

Определение матрицы x.

>> x=0:0.1:1

x =

  Columns 1 through 6 

         0    0.1000    0.2000    0.3000    0.4000    0.5000

  Columns 7 through 11 

    0.6000    0.7000    0.8000    0.9000    1.0000

>> x=[x' x' x' x' x']

x =

              0             0             0              0             0

    0.1000    0.1000    0.1000    0.1000    0.1000

    0.2000    0.2000    0.2000    0.2000    0.2000

    0.3000    0.3000    0.3000    0.3000    0.3000

    0.4000    0.4000    0.4000    0.4000    0.4000

    0.5000    0.5000    0.5000    0.5000    0.5000

    0.6000    0.6000    0.6000    0.6000    0.6000

    0.7000    0.7000    0.7000    0.7000    0.7000

    0.8000    0.8000    0.8000    0.8000    0.8000

    0.9000    0.9000    0.9000    0.9000    0.9000

    1.0000    1.0000    1.0000    1.0000    1.0000

Определение матрицы a.

>> a=ones(1,11)'

a =

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

>> a=[a*2 a*4 a*6 a*8 a*10]

a =

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

Задание скаляра b.

>> b=5

b =

5

Расчет матрицы функции плотности вероятности гамма распределения f.

>> f = gampdf(x,a,b)

f =

              0             0             0             0              0

    0.0039    0.0000    0.0000    0.0000    0.0000

    0.0077    0.0000    0.0000    0.0000    0.0000

    0.0113    0.0000    0.0000    0.0000    0.0000

    0.0148    0.0000    0.0000    0.0000    0.0000

    0.0181    0.0000    0.0000    0.0000    0.0000

    0.0213    0.0001    0.0000    0.0000    0.0000

    0.0243    0.0001    0.0000    0.0000    0.0000

    0.0273    0.0001    0.0000    0.0000    0.0000

    0.0301    0.0002    0.0000    0.0000    0.0000

    0.0327    0.0002    0.0000    0.0000    0.0000

Рассмотрим изменение вида функции плотности вероятности гамма распределения в зависимости от значения параметров a и b.

Сформируем матрицу x.

>> x=0:0.01:10;

>> x=[x' x' x' x' x'];

Сформируем матрицу a. Значения параметра a будут меняться в последовательности 2, 4, 6, 8, 10.

>> a=ones(1,1001)';

>> a=[a*2 a*4 a*6 a*8 a*10];

Рассмотрим вид функции плотности вероятности гамма распределения для заданной последовательности a и значения параметра b=2.

>> b=2;

>> f = gampdf(x,a,b);

>> plot(x,f)

>> grid on

Вид функции плотности вероятности гамма распределения для заданной последовательности a и значения параметра b=8.

>> b=8;

>> x=0:0.01:50;

>> x=[x' x' x' x' x'];

>> a=ones(1,5001)';

>> a=[a*2 a*4 a*6 a*8 a*10];

>> f = gampdf(x,a,b);

>> plot(x,f)

>> grid on

Расчет вероятности попадания случайной величины x в интервал [xmin xmax]. % Расчет ведется по формуле .

Определим пределы интегрирования.

>> xmin=1;

>> xmax=20;

Параметры гамма распределения.

>> a=5;

>> b=8;

Расчет вероятности P попадания x в интервал [xmin xmax].

>> P=quad('gampdf',xmin,xmax,1.e-6,0,a,b)

P =

    0.1088

 

 

Наверх

geopdf - Функция плотности вероятности геометрического распределения

Синтаксис:

f = geopdf(x, p)

Описание:

f = geopdf(x, p) - расчета значения функции плотности вероятности геометрического распределения для вероятности появления события в одном опыте p и значения случайной величины x. Размерность векторов или матриц p и x должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента. Значение вероятности появления события p находится в интервале [0 1]. Случайная величина x является положительным целым случайным числом.

Функция плотности вероятности геометрического распределения имеет вид

,

где q – вероятность обратного события, q=1-p.

Примеры:

Использование скалярных аргументов x=0.5; p=0.5.

>> x=2

x =

     2

>> p=0.5

p =

    0.5000

>> f = geopdf(x, p)

f =

    0.1250

Использование векторного аргумента x=[0 1 2 3]; и скалярного параметра p=0.5.

>> x=[0 1 2 3]

x =

     0     1     2     3

>> p=0.5

p =

    0.5000

>> f = geopdf(x, p)

f =

    0.5000    0.2500    0.1250    0.0625

Ряд распределения случайной величины при p=0.5 и x=[0 1 2 3 4 5 6 7 8 9].

>> p=0.5;

>> x=[0 1 2 3 4 5 6 7 8 9];

>> f = geopdf(x, p);

>> [x’ f’]

ans =

             0    0.5000

    1.0000    0.2500

    2.0000    0.1250

    3.0000    0.0625

    4.0000    0.0313

    5.0000    0.0156

    6.0000    0.0078

    7.0000    0.0039

    8.0000    0.0020

    9.0000    0.0010

Значения функции распределения случайной величины рассчитываются по формуле ,  - k-е значение случайной величины из ряда распределения. Для вероятности появления события p в одном опыте p=0.5 и числе опытов x=[0 1 2 3 4 5 6 7 8 9]:

>> p=0.5;

>> x=[0 1 2 3 4 5 6 7 8 9];

>> f = geopdf(x, p);

>> F = cumsum(f);

>> [x’ F’]

ans =

             0    0.5000

    1.0000    0.7500

    2.0000    0.8750

    3.0000    0.9375

    4.0000    0.9688

    5.0000    0.9844

    6.0000    0.9922

    7.0000    0.9961

    8.0000    0.9980

    9.0000    0.9990

График зависимости функции распределения случайной величины

>> bar (x, F, 1)

 

 

Наверх

hygepdf - Функция плотности вероятности гипергеометрического распределения

Синтаксис:

f = hygepdf(X,M,K,N)

Описание:

f = hygepdf(X,M,K,N) служит для расчета значений функции плотности вероятности гипергеометрического распределения для параметров распределения M, K, N и значения случайной величины X. Размерность векторов или матриц X, M, K, N должна быть одинаковой. Размерность скалярного параметра увеличивается до размера остальных аргументов. Величины M, K, N, Х должны быть положительными целыми числами. Значения параметров M, N, K, Х должны удовлетворять следующим неравенствам: M≥N, M≥K, N≥ Х.

Функция плотности вероятности гипергеометрического распределения имеет вид

,

где  - количество вариантов выбора Х объектов из К, ; аналогично определяются величины  и .

Примеры:

Использование скалярных аргументов X=2; K=3; M=5; N=10.

>> N=100

N =

   100

>> M=500

M =

   500

>> K=30

K =

    30

>> X=2

X =

     2

>> hygepdf(X,M,K,N)

ans =

    0.0308

Ряд распределения случайной величины Х=[0 1 2 3 4 5 6 7 8 9] при M=500, N=100, K=50.

>> M=500

M =

   500

>> N=100

N =

   100

>> K=50

K =

    50

>> X=[0 1 2 3 4 5 6 7 8 9] 

X =

     0     1     2     3     4     5     6     7     8     9

>> f = hygepdf(X,M,K,N)

>> [X' f']

ans =

             0    0.0000

    1.0000    0.0001

    2.0000    0.0007

    3.0000    0.0032

    4.0000    0.0103

    5.0000    0.0257

    6.0000    0.0515

    7.0000    0.0852

    8.0000    0.1189

    9.0000    0.1422

Функция распределения случайной величины Х=[0 1 2 3 4 5 6 7 8 9] при M=500, N=100, K=50.

>> M=500;

>> N=100;

>> K=50;

>> X=[0 1 2 3 4 5 6 7 8 9];

>> f = hygepdf(X,M,K,N);

>> F = cumsum(f);

>> [x’ F’]

ans =

             0    0.0000

    1.0000    0.0001

    2.0000    0.0008

    3.0000    0.0040

    4.0000    0.0144

    5.0000    0.0401

    6.0000    0.0915

    7.0000    0.1767

    8.0000    0.2956

    9.0000    0.4378

График зависимости функции распределения случайной величины.

>> bar (x, F, 1)

Рассмотрим решение задачи статистического выборочного контроля качества. В партии из M=10000 шт. изделий находятся N=100 бракованных изделий. Для контроля производится выборка из 50 изделий. Партия считается принятой, если при контроле будет обнаружено не более 2 бракованных изделий. Какова вероятность забраковать партию?

>> M=10000 

M =

       10000

>> N=100

N =

   100

>> K=50

K =

    50

Партию забракуют, если будет обнаружено 3 и более несоответствующих изделий. Вероятность забраковать партию Р рассчитаем через обратное событие Q, P=1-Q.

>> X=0:1:2;

>> f = hygepdf(X,M,K,N);

>> X=0:1:2;

>> f = hygepdf(X,M,K,N)

f =

    0.6043    0.3067    0.0755

>> Q = sum(f)

Q =

    0.9865

>> P=1-Q

P =

    0.0135

 

 

Наверх

lognpdf - Функция плотности вероятности логнормального распределения

Синтаксис:

f = lognpdf(x,mu,sigma)

Описание:

f = lognpdf(x,mu,sigma) позволяет рассчитать значение функции плотности вероятности логнормального распределения для параметров распределения mu, sigma и значения случайной величины х. Размерность векторов или матриц x, mu, sigma должна быть одинаковой. Размерность скалярного параметра увеличивается до размера остальных входных аргументов.

Функция плотности вероятности логнормального распределения имеет вид

.

Примеры:

Использование скалярных аргументов x=0.5; mu=1; sigma=2.

>> x=0.5

x =

    0.5000

>> mu=1

mu =

     1

>> sigma=2

sigma =

     2

>> f = lognpdf(x,mu,sigma)

f =

    0.2788

Использование векторного аргумента x=[0 0,3 0,6 0,9]; и скалярных параметров mu=1; sigma=2.

>> x=[0 0.3 0.6 0.9]

x =

         0    0.3000    0.6000    0.9000

>> mu=1

mu =

     1

>> sigma=2

sigma =

     2

>> f = lognpdf(x,mu,sigma)

f =

         0    0.3623    0.2499    0.1902

Использование матричных аргумента x, параметра mu и скалярного параметра sigma.

Определение матрицы x.

>> x=0:1:10

x =

     0     1     2     3     4     5     6     7     8     9    10

>> x=[x' x' x' x' x']

x =

     0     0     0     0     0

     1     1     1     1     1

     2     2     2     2     2

     3     3     3     3     3

     4     4     4     4     4

     5     5     5     5     5

     6     6     6     6     6

     7     7     7     7     7

     8     8     8     8     8

     9     9     9     9     9

    10    10    10    10    10

Определение матрицы mu.

>> mu=ones(1,11)'

mu =

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

>> mu=[mu*2 mu*4 mu*6 mu*8 mu*10]

mu =

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

     2     4     6     8    10

Задание скаляра sigma.

>> sigma=4

sigma =

4

Расчет матрицы функции плотности вероятности логнормального распределения.

>> f = lognpdf(x,mu,sigma)

f =

             0             0             0             0             0

    0.0880    0.0605    0.0324    0.0135    0.0044

    0.0473    0.0354    0.0207    0.0094    0.0033

    0.0324    0.0256    0.0157    0.0075    0.0028

    0.0246    0.0201    0.0128    0.0064    0.0025

    0.0199    0.0167    0.0109    0.0056    0.0022

    0.0166    0.0143    0.0096    0.0050    0.0020

    0.0142    0.0125    0.0085    0.0045    0.0019

    0.0125    0.0111    0.0077    0.0042    0.0018

    0.0111    0.0100    0.0071    0.0039    0.0017

    0.0099    0.0091    0.0065    0.0036    0.0016

Рассмотрим вид функции плотности вероятности логнормального распределения в зависимости от значения параметра mu при постоянном sigma=1.

>> x=0.05:0.01:10;

>> sigma=1;

>> mu=0;

>> f1 = lognpdf(x,mu,sigma);

>> mu=1;

>> f2 = lognpdf(x,mu,sigma);

>> mu=2;

>> f3 = lognpdf(x,mu,sigma);

>> plot(x,f1,x,f2,x,f3)

>> grid on

Рассмотрим вид функции плотности вероятности логнормального распределения в зависимости от значения параметра sigma при постоянном mu=0.

>> x=0.05:0.01:4;

>> mu=0;

>> sigma=1;

>> f1 = lognpdf(x,mu,sigma);

>> sigma=2;

>> f2 = lognpdf(x,mu,sigma);

>> sigma=3;

>> f3 = lognpdf(x,mu,sigma);

>> plot(x,f1,':',x,f2,'.',x,f3)

>> grid on

 

 

Наверх

nbinpdf - Функция плотности отрицательного биномиального распределения

Синтаксис:

f = nbinpdf(X,R,P)

Описание:

f = nbinpdf(X,R,P) возвращает значение функции плотности вероятности отрицательного биномиального распределения для случайной величины Х, параметра R и вероятности появления события в одном опыте p. Размерность векторов или матриц X, R, P должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента. Для нецелых значений случайной величины Х функция плотности отрицательного биномиального распределения равна 0.

Функция плотности отрицательного биномиального распределения имеет вид

,

где  - число сочетаний, которым можно выбрать Х объектов из R+X-1, , q – вероятность обратного события, q=1-p.

Простейшим случаем применения функции плотности отрицательного биномиального распределения является расчет вероятности появления некоторого события при независимых испытаниях с постоянной вероятностью появления события в одном опыте Р. Число дополнительных испытаний которое должно быть проведено, чтобы получить заданное число R успешных попыток имеет отрицательное биномиальное распределение. Однако более общая трактовка отрицательного биномиального распределения позволяет задавать параметр R как положительное вещественное число. Для вещественного R коэффициент биномиального распределения рассчитывается как , где  - Гамма-функция.

Примеры:

Использование скалярных аргументов X=2, R=10, P=0.5

>> X=2

X =

     2

>>  R=10

R =

    10

>> P=0.5

P =

    0.5000

>> f = nbinpdf(X,R,P)

f =

    0.0134

Расчет ряда распределения для случайной величины X=[0 1 2 3 4 5 6 7 8 9] и аргументов R=10, P=0.5

>> X=0:1:20;

>> R=10;

>> P=0.5;

>> f = nbinpdf(X,R,P);

>> [X' f']

ans =

         0        0.0010

    1.0000    0.0049

    2.0000    0.0134

    3.0000    0.0269

    4.0000    0.0436

    5.0000    0.0611

    6.0000    0.0764

    7.0000    0.0873

    8.0000    0.0927

    9.0000    0.0927

   10.0000    0.0881

   11.0000    0.0801

   12.0000    0.0701

   13.0000    0.0593

   14.0000    0.0487

   15.0000    0.0390

   16.0000    0.0304

   17.0000    0.0233

   18.0000    0.0175

   19.0000    0.0129

   20.0000    0.0093

Графическое представление ряда распределения

>> plot(X,f,'+')

 

 

Наверх

ncfpdf - Функция плотности вероятности смещенного распределения Фишера (смещенного F распределения)

Синтаксис:

f = ncfpdf(X,NU1,NU2,DELTA)

Описание:

f = ncfpdf(X,NU1,NU2,DELTA) служит для расчета значений функции плотности вероятности смещенного распределения Фишера для значений случайной величины Х, степеней свободы NU1, NU2 и положительного параметра смещения DELTA. Размерность векторов или матриц X, NU1 ,NU2 ,DELTA должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента.

Распределение Фишера является частным случаем смещенного распределения Фишера с параметром DELTA равным 0. Увеличение параметра смещения DELTA приводит к смещению распределения в правую сторону с увеличением величины рассеяния (см. пример).

Примеры:

Использование скалярных аргументов X=0.1; NU1=5; NU2=8; DELTA=1.

>> X=0.1

X =

    0.1000

>> NU1=5

NU1 =

     5

>> NU2=8

NU2 =

     8

>> DELTA=1

DELTA =

     1

>> f = ncfpdf(X,NU1,NU2,DELTA)

f =

    0.1555

Использование векторной случайной величины X=0:0.1:1 и скалярных аргументов NU1=5; NU2=8; DELTA=1.

>> X=0:0.1:1;

>> NU1=5;

>> NU2=8;

>> DELTA=1;

>> f = ncfpdf(X,NU1,NU2,DELTA);

>> [X' f']

ans =

             0             0

    0.1000    0.1555

    0.2000    0.3243

    0.3000    0.4448

    0.4000    0.5172

    0.5000    0.5518

    0.6000    0.5595

    0.7000    0.5490

    0.8000    0.5269

    0.9000    0.4980

    1.0000    0.4656

Исследование влияния коэффициента смещения DELTA=[0 1 2] на вид функции плотности вероятности смещенного распределения Фишера

>> X=0:0.1:5;

>> NU1=5;

>> NU2=8;

>> DELTA=0;

>> f1 = ncfpdf(X,NU1,NU2,DELTA);

>> DELTA=1;

>> f2 = ncfpdf(X,NU1,NU2,DELTA);

>> DELTA=2;

>> f3 = ncfpdf(X,NU1,NU2,DELTA);

>> plot(X,f1,X,f2,'.',X,f3,'+')

 

 

Наверх

nctpdf - Функция плотности вероятности смещенного распределения Стьюдента (смещенного T распределения)

Синтаксис:

f = nctpdf(X,V,DELTA)

Описание:

f = nctpdf(X,V,DELTA) служит для расчета значений функции плотности вероятности смещенного распределения Стьюдента для значений случайной величины Х, степени свободы V и параметра смещения DELTA. Размерность векторов или матриц X, NU1, NU2, DELTA должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента.

Примеры:

Использование скалярных аргументов X=0.1; V=5; DELTA=1.

>> X=0.1

X =

    0.1000

>> V=5

V =

     5

>> DELTA=1

DELTA =

     1

>> f = nctpdf(X,V,DELTA)

f =

    0.2543

Использование векторной случайной величины X=0:0.1:1 и скалярных аргументов V=10; DELTA=1.

>> X=0:0.1:1;

>> V=10;

>> DELTA=1;

>> f = nctpdf(X,V,DELTA);

>> [X' f']

ans =

             0    0.2360

    0.1000    0.2601

    0.2000    0.2836

    0.3000    0.3058

    0.4000    0.3261

    0.5000    0.3439

    0.6000    0.3586

    0.7000    0.3698

    0.8000    0.3772

    0.9000    0.3805

    1.0000    0.3798

Исследование влияния коэффициента смещения DELTA=[0 1 2] на вид функции плотности вероятности смещенного распределения Стьюдента

>> X=-5:0.1:5;

>> V=5;

>> DELTA=0;

>> f1 = nctpdf(X,V,DELTA);

>> DELTA=1;

>> f2 = nctpdf(X,V,DELTA);

>> DELTA=2;

>> f3 = nctpdf(X,V,DELTA);

>> plot(X,f1,X,f2,'.',X,f3,'+')

 

 

Наверх

ncx2pdf - Функция плотности вероятности смещенного распределения хи-квадрат

Синтаксис:

f = ncx2pdf(X,V,DELTA)

Описание:

f = ncx2pdf(X,V,DELTA) служит для расчета значений функции плотности вероятности смещенного распределения хи-квадрат для значений случайной величины Х, степени свободы V и параметра смещения DELTA. Размерность векторов или матриц X, V, DELTA должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности других входных аргументов.

Примеры:

Использование скалярных аргументов X=0.1; V=5; DELTA=1.

>> X=0.1

X =

    0.1000

>> V=5

V =

     5

>> DELTA=1

DELTA =

     1

>> f = ncx2pdf(X,V,DELTA)

f =

    0.0025

Использование векторной случайной величины X=0:0.1:1 и скалярных аргументов V=10; DELTA=1.

>> X=0:0.1:1;

>> V=10;

>> DELTA=1;

>> f = ncx2pdf(X,V,DELTA);

>> [X' f']

ans =

             0             0

    0.1000    0.0000

    0.2000    0.0000

    0.3000    0.0000

    0.4000    0.0000

    0.5000    0.0000

    0.6000    0.0001

    0.7000    0.0001

    0.8000    0.0002

    0.9000    0.0003

    1.0000    0.0005

Исследование влияния коэффициента смещения DELTA=[0 1 2 3] на вид функции плотности вероятности смещенного распределения хи-квадрат

>> X=0:0.1:5;

>> V=5;

>> DELTA=0;

>> f1 = ncx2pdf(X,V,DELTA);

>> DELTA=1;

>> f2= ncx2pdf(X,V,DELTA);

>> DELTA=2;

>> f3=ncx2pdf(X,V,DELTA);

>> plot(X,f1,X,f2,'.',X,f3,'+')

 

 

Наверх

normpdf - Функция плотности вероятности нормального распределения

Синтаксис:

f = normpdf(X,MU,SIGMA)

Описание:

f = normpdf(X,MU,SIGMA) служит для расчета значений функции плотности вероятности нормального распределения для значений случайной величины Х, математического ожидания MU и среднего квадратического отклонения SIGMA. Размерность векторов или матриц X, MU, SIGMA должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента. Значение среднего квадратического отклонения SIGMA должно быть положительным.

Функция плотности нормального распределения имеет вид

.

Стандартное нормальное распределение имеет параметры распределения равные MU=0 и SIGMA=1. Функция плотности стандартного нормального распределения имеет вид . Если случайная величина Х является стандартное нормальной случайной величиной, тогда случайная величина  распределена по нормальному закону с параметрами MU, SIGMA. Справедливо также и обратное утверждение если случайная величина Х распределена по нормальному закону, то случайная величина  распределена по стандартному нормальному закону.

Примеры:

Использование скалярных аргументов X=0.1; MU=0; SIGMA=1.

>> X=0.1

X =

    0.1000

>>  MU=0

MU =

     0

>> SIGMA=1

SIGMA =

     1

>> f = normpdf(X,MU,SIGMA)

f =

    0.3970

Использование векторной случайной величины X=0:0.1:1 и скалярных параметров распределения MU =0; SIGMA =1.

>> X=0:0.1:1;

>> MU =0;

>> SIGMA =1;

>> f = normpdf(X,MU,SIGMA);

>> [X' f']

ans =

             0    0.3989

    0.1000    0.3970

    0.2000    0.3910

    0.3000    0.3814

    0.4000    0.3683

    0.5000    0.3521

    0.6000    0.3332

    0.7000    0.3123

    0.8000    0.2897

    0.9000    0.2661

    1.0000    0.2420

Исследование влияния дисперсии D=[0 4 9] на вид функции плотности вероятности нормального распределения при нулевом математическом ожидании.

>> X=-9:0.2:9;

>>  MU=0;

>> SIGMA=sqrt(1);

>> f1 = normpdf(X,MU,SIGMA);

>> SIGMA=sqrt(4);

>> f2 = normpdf(X,MU,SIGMA);

>> SIGMA=sqrt(9);

>> f3 = normpdf(X,MU,SIGMA);

>> plot(X,f1,X,f2,'.',X,f3,'+')

 

 

Наверх

poisspdf - Функция плотности вероятности распределения Пуассона

Синтаксис:

f = poisspdf(X,LAMBDA)

Описание:

f=poisspdf(X,LAMBDA) возвращает значение функции плотности вероятности распределения Пуассона для случайной величины Х и параметра LAMBDA. Размерность векторов или матриц X, LAMBDA должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента. Значение параметра LAMBDA должно быть положительным.

Функция плотности вероятности распределения Пуассона имеет вид

,

где Х может принимать целые неотрицательные значения. Функция плотности вероятности распределения Пуассона равна нулю если Х не является целым числом.

Примеры:

Использование скалярных аргументов X=2; LAMBDA=1.

>> X=2

X =

     2

>> LAMBDA=1

LAMBDA =

     1

>> f = poisspdf(X,LAMBDA)

f =

    0.1839

Использование векторной случайной величины X=0:1:10 и скалярного аргумента LAMBDA=2.

>> X=0:1:10;

>> LAMBDA=2;

>> f = poisspdf(X,LAMBDA);

>> [X' f']

ans =

             0    0.1353

    1.0000    0.2707

    2.0000    0.2707

    3.0000    0.1804

    4.0000    0.0902

    5.0000    0.0361

    6.0000    0.0120

    7.0000    0.0034

    8.0000    0.0009

    9.0000    0.0002

   10.0000    0.0000

Исследование влияния параметра LAMBDA=[1 2 4] на вид функции плотности вероятности смещенного распределения Пуассона

>> X=0:1:10;

>> LAMBDA=1;

>> f1 = poisspdf(X,LAMBDA);

>> LAMBDA=2;

>> f2 = poisspdf(X,LAMBDA);

>> LAMBDA=4;

>> f3 = poisspdf(X,LAMBDA);

>> plot(X,f1,'o',X,f2,'.',X,f3,'+')

Рассмотрим решение задачи. При производстве жестких дисков для винчестеров наблюдается в среднем 2 повреждения на 4ГБ дискового пространства. Такой уровень дефектности является приемлемым. Определить какова вероятность что жесткий диск не имеет дефектов.

Х – количество дефектов.

>> X=0

X =

     0

LAMBDA – среднее число дефектов на 4ГБ дисковой памяти.

>> LAMBDA=2

LAMBDA =

     2

>> p = poisspdf(X, LAMBDA)

p =

    0.1353

 

 

Наверх

mvnpdf - Функция плотности вероятности многомерного нормального распределения

Синтаксис:

f = mvnpdf(X)

f = mvnpdf(X,MU)

f = mvnpdf(X,MU,SIGMA)

Описание:

f = mvnpdf(X) возвращает матрицу f с размерностью n-1, содержащий значения функции плотности вероятности многомерного нормального распределения c нулевым средним и ковариационной матрицей, рассчитанной для каждого ряда матрицы Х с размерностью n–d. Ряды матрицы Х соответствуют наблюдениям, и столбцы – случайным переменным.

f = mvnpdf(X,MU) – возвращает значения функции плотности вероятности многомерного нормального распределения со средним MU и ковариационной матрицей, рассчитанной для каждого ряда матрицы Х. MU является матрицей с размерностью 1–d или n – d. Если MU является матрицей, функция плотности вероятности многомерного нормального распределения рассчитывается для каждого ряда матрицы Х с соответствующим значением матрицы MU. Если MU скалярное значение, то размерность MU увеличивается до размерности Х, а значения элементов матрицы принимаются равными скалярному аргументу.

f = mvnpdf(X,MU,SIGMA) возвращает значения функции плотности вероятности многомерного нормального распределения со средним MU и ковариационным моментом SIGMA, рассчитанные для каждого ряда матрицы Х. SIGMA является матрицей с размерностью d-d или массивом с размерностью d–d–n. В последнем случае функция плотности вероятности рассчитывается для каждого ряда Х с соответствующим третьим измерением массива SIGMA, так как mvnpdf вычисляет значение f(i) на основе X (i,:) и SIGMA (:,:,i). Если необходимо установить значение параметра MU по умолчанию при заданном массиве SIGMA используется операция [ ].

Если Х задан как вектор 1–d, его размерность увеличивается до максимальной размерности MU или до совпадения с размерностью SIGMA.

Функция плотности отрицательного многомерного нормального распределения для двух случайных величин , имеет вид

,

где ,  - средние квадратические отклонения , - коэффициент парной корреляции между ; - средние арифметические значения .

Функция плотности вероятности многомерного нормального распределения для параметров sigma1=1, sigma2=1, MX1=0, MX2=0, r=0 (рис. 1) и sigma1=1, sigma2=3, MX1=0, MX2=0, r=0 (рис. 1) имеет вид

>> sigma1=1;sigma2=1;MX1=0;MX2=0;r=0;

>> [X1 X2]=meshgrid([-3:0.1:3]);

>> f=1/(2.*pi.*sigma1.*sigma1.*sqrt(1-r.^2)).*exp(-1./(2.*(1-r.^2)).*((X1-MX1).^2./sigma1+(X2-MX2).^2./sigma2-2.*r.*(X1-MX1).^2.*(X2-MX2).^2./sigma1./sigma2));

>> surf(X1,X2,f)

>> sigma1=1;sigma2=3;MX1=0;MX2=0;r=0;

>> [X1 X2]=meshgrid([-3:0.1:3]);

>> f=1/(2.*pi.*sigma1.*sigma1.*sqrt(1-r.^2)).*exp(-1./(2.*(1-r.^2)).*((X1-MX1).^2./sigma1+(X2-MX2).^2./sigma2-2.*r.*(X1-MX1).^2.*(X2-MX2).^2./sigma1./sigma2));

>> surf(X1,X2,f)

Рис. 1 Рис. 2

Влияние коэффициента корреляции между случайными величинами на функцию плотности вероятности многомерного нормального распределения можно оценить из рис. 3 (r=0) и рис. 4 (r=3).

>> sigma1=1;sigma2=1;MX1=0;MX2=0;r=0;

>> [X1 X2]=meshgrid([-3:0.1:3]);

>> f=1/(2.*pi.*sigma1.*sigma1.*sqrt(1-r.^2)).*exp(-1./(2.*(1-r.^2)).*((X1-MX1).^2./sigma1+(X2-MX2).^2./sigma2-2.*r.*(X1-MX1).^2.*(X2-MX2).^2./sigma1./sigma2));

>> surf(X1,X2,f)

>> sigma1=1;sigma2=1;MX1=0;MX2=0;r=0.1;

>> [X1 X2]=meshgrid([-3:0.1:3]);

>> f=1/(2.*pi.*sigma1.*sigma1.*sqrt(1-r.^2)).*exp(-1./(2.*(1-r.^2)).*((X1-MX1).^2./sigma1+(X2-MX2).^2./sigma2-2.*r.*(X1-MX1).^2.*(X2-MX2).^2./sigma1./sigma2));

>> surf(X1,X2,f)

   

Рис. 3 Рис. 4

Примеры:

>> mu = [1 -1]

mu =

     1    -1

>> Sigma = [.9 .4; .4 .3]

Sigma =

    0.9000    0.4000

    0.4000    0.3000

>> X = mvnrnd(mu,Sigma,10)

X =

    0.5896   -1.2477

   -0.5801   -1.4485

    1.1189   -1.1528

    1.2729   -0.1155

   -0.0876   -1.5311

    2.1298   -0.4580

    2.1281   -0.1257

    0.9643   -0.9951

    1.3105   -0.8954

    1.1657   -1.2174

>> p = mvnpdf(X,mu,Sigma)

p =

    0.4295

    0.0921

    0.4005

    0.0425

    0.2464

    0.2346

    0.1339

    0.4787

    0.4528

    0.3342

 

 

Наверх

raylpdf - Функция плотности вероятности распределения Релея

Синтаксис:

f = raylpdf(X,B)

Описание:

f = raylpdf(X,B) возвращает значение функции плотности вероятности распределения Релея для случайной величины Х и параметра B. Размерность векторов или матриц X, B должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента.

Функция плотности вероятности распределения Релея имеет вид

.

Примеры:

Использование скалярных аргументов X=2; B=1.

>> X=2

X =

    2

>> B=1

B =

    1

>> f = raylpdf(X,B)

f =

    0.2707

Использование векторной случайной величины X=0:1:5 и скалярного параметра B=1.

>> X=0:1:5

X =

    0    1    2    3    4    5

>> B=1

B =

    1

>> f = raylpdf(X,B)

f =

    0    0.6065    0.2707    0.0333    0.0013    0.0000

Исследование влияния параметра В=[1 2 4] на вид функции плотности вероятности распределения Релея.

>> X=0:0.1:10;

>> B=1;

>> f1 = raylpdf(X,B);

>> B=2;

>> f2 = raylpdf(X,B);

>> B=4;

>> f3 = raylpdf(X,B);

>> plot(X,f1,X,f2,'.',X,f3,'+')

>> grid on

 

 

Наверх

pdf - Параметрическая функция плотности вероятности

Синтаксис:

f = pdf('name',X,A1,A2,A3)

Описание:

f = pdf('name',X,A1,A2,A3) возвращает значение функции плотности вероятности для случайной величины Х и параметров 'name', A1, A2, A3. Строковая переменная 'name' задает вид распределения в соответствии со следующей таблицей

Вид распределения

Переменная 'name'

Бета

'beta', 'Beta'

Биномиальное

'bino', 'Binomial'

Хи-квадрат

'chi2', 'Chisquare'

Экспоненциальное

'exp', 'Exponential'

Фишера

'f', 'F' 

Гамма

'gam', 'Gamma' 

Геометрическое

'geo', 'Geometric' 

Гипергеометрическое

'hyge', 'Hypergeometric' 

Логнормальное

'logn', 'Lognormal'

Отрицательное биномиальное

'nbin', 'Negative Binomial' 

Смещенное Фишера

'ncf', 'Noncentral F'

Смещенное Стьюдента

'nct', 'Noncentral T' 

Смещенное хи-квадрат

'ncx2', 'Noncentral Chi-square'

Нормальное

'norm', 'Normal' 

Пуассона

'poiss', 'Poisson'

Релея

'rayl', 'Rayleigh'

Стьюдента

't', 'T' 

Дискретное равномерное

'unid', 'Discrete Uniform' 

Непрерывное равномерное

'unif', 'Uniform' 

Вейбулла

'weib', 'Weibull' 

Параметры A1, A2, A3 являются параметрами перечисленных выше распределений. Последовательность и количество передаваемых параметров A1, A2, A3 должны соответствовать числу и последовательности передаваемым параметрам соответствующих функций распределения. Размерность векторов или матриц X, A1, A2, A3 должна быть одинаковой. Размерность параметров должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности других входных аргументов.

Примеры:

Расчет значений функции плотности вероятности нормального распределения в диапазоне значений случайной величины X= -2:2, с математическим ожиданием равным 0 и средним квадратическим отклонением равным 1.

>> p = pdf('Normal',-2:2,0,1)

p =

    0.0540    0.2420    0.3989    0.2420    0.0540

График плотности вероятности стандартизованного нормального распределения.

>> p = pdf('Normal',-3:0.01:3,0,1);

>> plot(-3:0.01:3,p)

>> grid on

 

 

Наверх

tpdf - Функция плотности вероятности распределения Стьюдента

Синтаксис:

f = tpdf(X,V)

Описание:

f = tpdf(X,V) служит для расчета значений функции плотности вероятности распределения Стьюдента для значений случайной величины Х и степени свободы V. Размерность векторов или матриц X, V должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента. Значение числа степеней свободы V должно быть положительным целым числом.

Функция плотности вероятности распределения Стьюдента имеет вид

.

Примеры:

Использование скалярных аргументов X=2; V=10.

>> X=2

X =

    2

>> V=10

V =

    10

>> f = tpdf(X,V)

f =

    0.0611

Использование векторной случайной величины X=0:1:5 и скалярного параметра V=10.

>> X=0:1:5

X =

    0    1    2    3    4    5

>> V=10

V =

    10

>> f = tpdf(X,V)

f =

    0.3891    0.2304    0.0611    0.0114    0.0020    0.0004

Исследование влияния числа степеней свободы V=[10 20 40] на вид функции плотности вероятности распределения Стьюдента.

>> X=0:0.1:5;

>> V=2;

>> f1 = tpdf(X,V);

>> V=5;

>> f2 = tpdf(X,V);

>> V=50;

>> f3 = tpdf(X,V);

>> plot(X,f1,X,f2,'.',X,f3,'+')

>> grid on

 

 

Наверх

unidpdf - Функция плотности вероятности дискретного равномерного распределения

Синтаксис:

f = unidpdf(X,N)

Описание:

f = unidpdf(X,N) возвращает значение функции плотности вероятности дискретного равномерного распределения для случайной величины Х и параметра N. Размерность векторов или матриц X и N должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого аргумента. Значение параметра N должно быть целым и положительным.

Функция плотности вероятности дискретного равномерного распределения имеет вид

.

Величину f можно рассматривать как вероятность появления любого числа из ряда 1,…,N.

Примеры:

Использование скалярных аргументов X=2; N=10.

>> X=2

X =

    2

>> N=10

N =

    10

>> f = unidpdf(X,N)

f =

    0.1000

Использование векторной случайной величины X=0:1:5 и скалярного параметра N=10.

>> X=0:1:5

X =

    0    1    2    3    4    5

>> N=10

N =

    10

>> f = unidpdf(X,N)

f =

    0    0.1000    0.1000    0.1000    0.1000    0.1000

Вид функции плотности вероятности дискретного равномерного распределения для N=10 и N=15

>> X=-2:1:25;

>> N=10;

>> f1 = unidpdf(X,N);

>> N=15;

>> f2 = unidpdf(X,N);

>> plot(X,f1,X,f2)

>> grid on

 

 

Наверх

weibpdf - Функция плотности вероятности распределения Вейбулла

Синтаксис:

f = weibpdf(X,A,B)

Описание:

f = weibpdf(X,A,B) возвращает значение функции плотности вероятности распределения Вейбулла для случайной величины Х и параметров A, B. Размерность векторов или матриц X, A, B должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности других входных параметров. Значения величин A и B должны быть положительными.

Функция плотности вероятности распределения Вейбулла имеет вид

.

Примеры:

Использование скалярных аргументов X=0.1; A=1; B=1.

>> X=0.1

X =

    0.1000

>> A=1

A =

     1

>> B=1

B =

     1

>> f = weibpdf(X,A,B)

f =

    0.9048

Использование векторной случайной величины X=0:0.1:1 и скалярных параметров распределения A=1; B=1.

>> A=1

A =

     1

>> B=1

B =

     1

>> X=0:0.1:1

X =

  Columns 1 through 8 

         0    0.1000    0.2000    0.3000    0.4000    0.5000    0.6000    0.7000

  Columns 9 through 11 

    0.8000    0.9000    1.0000

>> f = weibpdf(X,A,B)

f =

  Columns 1 through 8 

    1.0000    0.9048    0.8187    0.7408    0.6703    0.6065    0.5488    0.4966

  Columns 9 through 11 

    0.4493    0.4066    0.3679

Исследование влияния параметра A=[1 2 4] на вид функции плотности вероятности распределения Вейбулла при B=4.

>> B=4;

>> X=0:0.01:2;

>> A=1;

>> f1 = weibpdf(X,A,B);

>> A=2;

>> f2 = weibpdf(X,A,B);

>> A=4;

>> f3 = weibpdf(X,A,B);

>> plot(X,f1,X,f2,'.',X,f3,'+')

>> grid on

 

 

Наверх

chi2inv - Обратная функция распределения хи-квадрат

Синтаксис:

X = chi2inv(P,V)

Описание:

chi2inv(P,V) служит для расчета значения обратной функции распределения вероятностей  для параметра распределения V и значения вероятности появления значения случайной величины P. Размерность матриц V и P должна быть одинаковой. Скалярный параметр увеличивается до размера другого входного аргумента. Число степеней свободы V должно быть целым положительным числом. Значение вероятности P должно находится в интервале [0 1].

Обратная функция распределения  имеет вид

,

где ,  - Гамма-функция.

Результат расчета X – квантиль распределения  соответствующая попаданию случайной величины в интервал (-∞ X] с вероятностью P при заданном числе степеней свободы V.

Примеры:

Определить квантиль распределения  с числом степеней свободы V=10 соответствующую 95% попадания значения случайной величины в интервал (-∞ X].

>> P=0.95;

>> V=10;

>> X = chi2inv(P,V)

X =

   18.3070

Вероятность получить значение случайной величины распределенной по закону  с V=10 более 18.3070 составляет 5%.

Вид обратной функции распределения вероятностей хи-квадрат при V=5; V=10; V=20.

>> P=0:0.01:1;

>> V=5;

>> X1 = chi2inv(P,V);

>> V=10;

>> X2 = chi2inv(P,V);

>> V=20;

>> X3 = chi2inv(P,V);

>> plot(P,X1,’r’, P,X2,’g’, P,X3,’b’)

>> grid on

 

 

Наверх

expinv - Обратная функция распределения вероятностей экспоненциального закона

Синтаксис:

X = expinv(P,MU)

Описание:

expinv(P,MU) cлужит для расчета значений квантилей экспоненциального закона для параметра распределения MU () и вероятности появления значения случайной величины P. Размерность векторов или матриц P и MU должна быть одинаковой. Размерность скалярного параметра увеличивается до размера другого входного аргумента. Параметр MU должен быть положительным числом. Значение вероятности P должно находиться в интервале [0 1].

Вид обратной функции распределения вероятностей экспоненциального закона

.

Результат расчета X – квантиль распределения экспоненциального закона, соответствующая попаданию случайной величины в интервал (-∞ X] с вероятностью P при заданной величине параметра MU.

Примеры:

Рассмотрим решение следующей задачи. Допустим, что время безотказной работы электрических ламп распределено по экспоненциальному закону с параметром µ = 700 часов. Определить среднее время безотказной работы ламп.

Зададим вероятность выхода из строя ламп на уровне 50%.

>> P=0.5;

Количество часов соответствующее 50% времени безотказной работы определяется как квантиль экспоненциального закона

>> MU=700;

>> expinv(P, MU)

ans =

    485.2030

Полученный результат означает, что из комплекта электрических ламп с 700 часовым средним временем жизни половина выйдет из строя менее чем через 500 часов эксплуатации.

Оценить зависимость времени безотказной работы лампы от среднего времени жизни µ и вероятности отказа P.

>> P=0:0.01:1;

>> MU=500;

>> X1=expinv(P, MU);

>> MU=1000;

>> X2=expinv(P, MU);

>> MU=1500;

>> X3=expinv(P, MU);

>> plot(P,X1,’r’, P,X2,’g’, P,X3,’b’)

>> grid on

 

 

Наверх

finv - Обратная функция распределения вероятностей закона Фишера

Синтаксис:

X = finv(P,V1,V2)

Описание:

finv(P,V1,V2) служит для расчета значения квантили закона Фишера для параметров распределения V1, V2 и значения вероятности P. Размерность векторов или матриц P, V1 и V2 должна быть одинаковой. Размерность скалярного параметра увеличивается до размера остальных входных аргументов. Параметры V1 и V2 должны быть положительными целыми числами. Значение вероятности P должно находиться в интервале [0 1].

Обратная функция распределения Фишера имеет вид

,

где - Гамма-функция.

Результат расчета X – квантиль распределения закона Фишера, соответствующая попаданию случайной величины в интервал (-∞ X] с вероятностью P при заданных значениях чисел степеней свободы V1, V2.

Примеры:

Определить значение квантили распределения Фишера со степенями свободы V1=5, V2=10 соответствующей 95% доверительной вероятности.

Определение параметров распределения

>> V1=5;

>> V2=10;

Определение доверительной вероятности

>> P=0.95;

>> X = finv(P,V1,V2)

X =

    3.3258

Полученный результат показывает, что только 5% значений случайной величины попадут в интервал (3.3258 +∞).

Зависимость квантили закона Фишера от вероятности P и чисел степеней свободы V1=5, V2=10.

>> [V1 P] = meshgrid([0:1:20], [0:0.05:1]);

>> V2=10;

>> X = finv(P,V1,V2);

>> subplot(2,1,1)

>> surf(V1,P,X)

>> [V2 P] = meshgrid([10:1:20], [0:0.05:1]);

>> V1=10;

>> X = finv(P,V1,V2);

>> subplot(2,1,2)

>> surf(V2,P,X)

 

 

Наверх

gaminv - Обратная функция вероятностей гамма распределения

Синтаксис:

X = gaminv(P,A,B)

Описание:

gaminv(P,A,B) позволяет рассчитать значения квантили гамма распределения с параметрами A, B и значением вероятности Р. Размерность векторов или матриц Р, A и B должна быть одинаковой. Размерность скалярного параметра увеличивается до размера остальных входных аргументов. Параметры A и B должны быть положительными. Значение вероятности Р должно быть в интервале [0 1].

Обратная функция вероятностей гамма распределения имеет вид

где ,  - Гамма – функция.

Поскольку не существует аналитического решения приведенного интегрального уравнения, для расчета значения квантили гамма распределения используется итеративная процедура поиска на основе метода Ньютона.

Примеры:

Использование скалярных аргументов P=0.5; A=1; B=2.

>> P=0.5

P =

    0.5000

>> A=1

A =

     1

>> B=2

B =

     2

>> X = gaminv(P,A,B)

X =

    1.3863

Использование векторного аргумента P=[0.1 0.3 0.6 0.9]; и скалярных параметров A=1; B=2.

>> P=[0.1 0.3 0.6 0.9]

P =

    0.1000    0.3000    0.6000    0.9000

>> A=1

A =

     1

>> B=2

B =

     2

>> X = gaminv(P,A,B)

X =

    0.2107    0.7133    1.8326    4.6052

Исследование влияния параметра A на вид обратной функции распределения вероятностей при В=1.

>> P=0:0.01:1;

>> B=1;

>> A=1;

>> X1 = gaminv(P,A,B);

>> A=2;

>> X2 = gaminv(P,A,B);

>> A=5;

>> X3 = gaminv(P,A,B);

>> plot(P,X1,'g',P,X2,'r',P,X3,'b')

>> grid on

Пример взаимосвязи между функцией распределения вероятностей и обратной функцией распределения.

>> x=1:5

x =

     1     2     3     4     5

>> a = 1:5;

>> b = 6:10;

>> P= gamcdf(1:5,a,b);

>> X = gaminv(P,a,b)

>> x==X

ans =

     1     1     1     1     1

 

 

Наверх

geoinv - Обратная функция распределения вероятностей геометрического закона

Синтаксис:

X = geoinv(Y,P)

Описание:

geoinv(Y,P) возвращает ближайшее наименьшее положительное целое число, соответствующее равному или большему значению Y возвращаемому функцией распределения вероятностей геометрического закона при заданных X и Р. Параметр Y является вероятностью появления Х благоприятных исходов при независимых испытаниях, где Р – вероятность благоприятного исхода в одном опыте.

Размерность векторов или матриц Р и Y должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента. Значения вероятностей Р и Y должны находиться в интервале [0 1].

Примеры:

Вероятность правильного предсказания результата 10 бросков монеты подряд составляет менее 0,001. Рассчитать значение квантили соответствующей указанной вероятности.

>> P=0.999;

>> p=0.5;

>> X= geoinv(P,p)

X =

     9

Пример генерации псевдослучайных чисел распределенных по геометрическому закону обратным методом на основе использования обратной функции распределения.

>> X= rand(100,1);

>> Y= geoinv(X,0.5);

 

 

Наверх

hygeinv - Обратная функция распределения вероятностей гипергеометрического закона

Синтаксис:

X = hygeinv(P,M,K,N)

Описание:

hygeinv(P,M,K,N) возвращает ближайшее наименьшее целое число, соответствующее равному или большему значению P возвращаемому функцией распределения вероятностей гипергеометрического закона при заданных значениях X, M, K, N. Параметр Р является вероятностью извлечь Х дефектных изделий при N опытах без последующего возврата из партии M штук в которой K изделий бракованные.

Примеры:

Рассмотрим решение задачи. Имеется производство гибких дисков партиями по 1000 штук в каждой. Контрольная выборка составляет 50 дисков из партии. Партия принимается, если в ней обнаруживается менее 10 бракованных дисков с 99% вероятностью. Определить допустимое число бракованных дисков в выборке?

Квантиль Х, соответствующая допустимому числу бракованных дисков в партии определяется как

>> N=50;

>> K=10;

>> M=1000;

>> P=0.99;

>> X = hygeinv(P,M,K,N)

X =

     3

Чему равна медиана дефектных дисков в выборке из 50 единиц изделий из партии в 1000 штук? Число бракованных дисков в партии равно 10 изделиям.

>> N=50;

>> K=10;

>> M=1000;

>> P=0.5;

>> X = hygeinv(P,M,K,N)

X =

     0

Определить зависимость допустимого числа бракованных дисков в выборке из 50 элементов от вероятности их обнаружения и размера партии.

>> N=50;

>> K=10;

>> M=1000;

>> P=0:0.01:1;

>> X1 = hygeinv(P,M,K,N);

>> M=2000;

>> X2 = hygeinv(P,M,K,N);

>> M=3000;

>> X3 = hygeinv(P,M,K,N);

>> plot(P,X1,’r’, P,X2,’g’, P,X3,’b’)

>> grid on

 

 

Наверх

icdf - Обратные функции распределения случайных величин

Синтаксис

X = icdf('name',P,A1,A2,A3)

Описание

icdf('name',P,A1,A2,A3) возвращает значение квантили распределения для вероятности P и параметров 'name', A1, A2, A3. Строковая переменная 'name' задает вид распределения в соответствии со следующей таблицей

Вид распределения

Переменная 'name'

Бета

'beta', 'Beta'

Биномиальное

'bino', 'Binomial'

Хи-квадрат

'chi2', 'Chisquare'

Экспоненциальное

'exp', 'Exponential'

Фишера

'f', 'F' 

Гамма

'gam', 'Gamma' 

Геометрическое

'geo', 'Geometric' 

Гипергеометрическое

'hyge', 'Hypergeometric' 

Логнормальное

'logn', 'Lognormal'

Отрицательное биномиальное

'nbin', 'Negative Binomial' 

Смещенное Фишера

'ncf', 'Noncentral F'

Смещенное Стьюдента

'nct', 'Noncentral T' 

Смещенное хи-квадрат

'ncx2', 'Noncentral Chi-square'

Нормальное

'norm', 'Normal' 

Пуассона

'poiss', 'Poisson'

Релея

'rayl', 'Rayleigh'

Стьюдента

't', 'T' 

Дискретное равномерное

'unid', 'Discrete Uniform' 

Непрерывное равномерное

'unif', 'Uniform' 

Вейбулла

'weib', 'Weibull' 

 

Параметры A1, A2, A3 являются параметрами перечисленных выше распределений. Последовательность и количество передаваемых параметров A1, A2, A3 должны соответствовать числу и последовательности передаваемым параметрам соответствующих функций распределения. Размерность векторов или матриц X, A1, A2, A3 должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности других входных аргументов.

Примеры использования параметрической обратной функции распределения вероятностей

Использование обратной функции распределения нормального закона.

>> P=0:0.01:1;

>> MU=0;

>> SIGMA=1;

>> X1= icdf('Normal', P, MU, SIGMA);

>> SIGMA=2;

>> X2= icdf('Normal', P, MU, SIGMA);

>> SIGMA=3;

>> X3= icdf('Normal', P, MU, SIGMA);

>> plot(P,X1,'g',P,X2,'r',P,X3,'b')

>> grid on

 

 

Наверх

logninv - Обратная функция распределения вероятностей логнормального закона

Синтаксис:

X = logninv(P,MU,SIGMA)

Описание:

logninv(P,MU,SIGMA) служит для расчета квантили логнормального распределения при заданных математическом ожидании MU, среднем квадратическом отклонении SIGMA и вероятности Р. Размерность векторов или матриц P,MU,SIGMA должна быть одинаковой. Размерность скалярного параметра увеличивается до размера остальных входных аргументов. Среднее квадратическое отклонение SIGMA должно быть положительным числом. Значение вероятности P должно находиться в интервале [0 1].

Обратная функция распределения вероятностей логнормального закона имеет вид

,

где .

Примеры:

Использование скалярных аргументов P=0.5; MU=1; SIGMA=2.

>> P=0.5

P =

    0.5000

>> MU=1

MU =

     1

>> SIGMA=2

SIGMA =

     2

>> X = logninv(P,MU,SIGMA)

X =

    2.7183

Использование векторного аргумента P=[0 0,3 0,6 0,9]; и скалярных параметров MU=1; SIGMA=2.

>> P=[0 0.3 0.6 0.9]

P =

         0    0.3000    0.6000    0.9000

>> MU=1

MU =

     1

>> SIGMA=2

SIGMA =

     2

>> X = logninv(P,MU,SIGMA)

X =

        0    0.9524    4.5118   35.2725

Рассмотрим вид обратной функции распределения вероятностей логнормального закона в зависимости от значения SIGMA при постоянном MU=0.

>> P=0:0.01:1;

>> MU=0;

>> SIGMA=1;

>> X1 = logninv(P, MU, SIGMA);

>> SIGMA=2;

>> X2= logninv(P, MU, SIGMA);

>> SIGMA=3;

>> X3= logninv(P, MU, SIGMA);

>> plot(P,X1,'r',P,X2,'b',P,X3,'g')

>> grid on

 

 

Наверх

nbininv - Обратная функция распределения вероятностей отрицательного биномиального закона

Синтаксис:

X = nbininv(Y,R,P)

Описание:

nbininv(Y,R,P) служит для расчета квантили отрицательного биномиального распределения с параметрами R,P и вероятности Y. Так как биномиальный закон описывает распределение дискретных случайных величин, nbininv возвращает ближайшее наименьшее целое число, соответствующее равному или большему значению Y возвращаемому функцией распределения вероятностей биномиального закона при заданных R и Р. Размерность векторов или матриц Y, R, P должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента.

Простейшим случаем применения функции распределения вероятностей отрицательного биномиального закона является расчет числа удачных испытаний появления некоторого события при независимых испытаниях с постоянной вероятностью появления события в одном опыте Р. Число дополнительных испытаний Х, которое должно быть проведено, чтобы получить заданное число R успешных попыток имеет отрицательное биномиальное распределение. Более общая трактовка отрицательного биномиального распределения позволяет задавать параметр R как положительное вещественное число.

Примеры:

Рассмотрим решение следующей задачи. Сколько раз необходимо подбросить монету, чтобы с 99% вероятностью выпал “орел”?

Поскольку задача вписывается в модель отрицательного биномиального распределения, квантиль соответствующая заданной доверительной вероятности будет рассчитываться как

>> Y=0.99;

>> P=0.5;

>> R=10;

>> X= nbininv(Y,R,P) + 10

X =

    33

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

Построим график зависимости числа опытов X от вероятности P.

>> Y=0.5:0.01:1;

>> P=0.5;

>> R=10;

>> X= nbininv(Y,R,P) + 10;

>> plot(Y,X)

>> grid on

 

 

Наверх

ncfinv - Обратная функция распределения вероятностей смещенного закона Фишера

Синтаксис:

X = ncfinv(P,NU1,NU2,DELTA)

Описание:

ncfinv(P,NU1,NU2,DELTA) позволяет рассчитать значения квантили Х смещенного закона Фишера для значений вероятности P, степеней свободы NU1, NU2 и положительного параметра смещения DELTA. Размерность векторов или матриц P, NU1, NU2, DELTA должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности других входных аргументов.

Примеры:

Использование скалярных аргументов P=0.1; NU1=5; NU2=8; DELTA=1.

>> P=0.1

P =

    0.1000

>> NU1=5

NU1 =

     5

>> NU2=8

NU2 =

     8

>> DELTA=1

DELTA =

     1

>> X = ncfinv(P,NU1,NU2,DELTA)

X =

    0.3635

Использование векторной величины P=0:0.1:1 и скалярных аргументов NU1=5; NU2=8; DELTA=1.

>> P=0:0.1:1;

>> NU1=5;

>> NU2=8;

>> DELTA=1;

>> X = ncfinv(P,NU1,NU2,DELTA);

>> [X' P']

ans =

         0         0

    0.3635    0.1000

    0.5500    0.2000

    0.7302    0.3000

    0.9229    0.4000

    1.1430    0.5000

    1.4103    0.6000

    1.7610    0.7000

    2.2795    0.8000

    3.2629    0.9000

       Inf    1.0000

Исследование влияния коэффициента смещения DELTA=[0 1 2] на вид обратной функции распределения вероятностей смещенного закона Фишера.

>> P=0:0.01:1;

>> NU1=5;

>> NU2=8;

>> DELTA=0;

>> X1 = ncfinv(P,NU1,NU2,DELTA);

>> DELTA=1;

>> X2 = ncfcdf(P,NU1,NU2,DELTA);

>> DELTA=2;

>> X3 = ncfcdf(P,NU1,NU2,DELTA);

>> plot(P,X1,'r',P,X2,'b',P,X3,'g')

>> grid on

 

 

Наверх

nctinv - Обратная функция распределения вероятностей смещенного закона Стьюдента (смещенного t распределения)

Синтаксис

X = nctinv(P,NU,DELTA)

Описание

nctinv(P,NU,DELTA) позволяет рассчитать значение квантили смещенного закона Стьюдента для значений вероятности P, степени свободы NU и параметра смещения DELTA. Размерность векторов или матриц P, NU, DELTA должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента.

Примеры использования обратной функции распределения вероятностей смещенного закона Стьюдента

Расчет квантилей смещенного закона Стьюдента для вектора вероятностей P=[0,1 0,3 0,6 0,9] при NU=10 и DELTA=1.

>> P=[0.1 0.3 0.6 0.9]

P =

         0.1    0.3000    0.6000    0.9000

>> NU=10

NU =

     10

>> DELTA=1

DELTA =

     1

>> X = nctinv(P,NU,DELTA)

X =

   -0.2914    0.4846    1.2963    2.5261

Рассмотрим вид обратной функции распределения в зависимости от значения числа степеней свободы при постоянном DELTA=2.

>> P=0:0.01:1;

>> DELTA=2;

>> NU=10;

>> X1 = nctinv(P,NU,DELTA);

>> NU=20;

>> X2 = nctinv(P,NU,DELTA);

>> NU=30;

>> X3 = nctinv(P,NU,DELTA);

>> plot(P,X1,'r',P,X2,'b',P,X3,'g')

>> grid on

Влияние параметра смещения на вид обратной функции распределения

>> P=0:0.01:1;

>> NU=20;

>> DELTA =1;

>> X1 = nctinv(P,NU,DELTA);

>> DELTA =5;

>> X2 = nctinv(P,NU,DELTA);

>> DELTA =10;

>> X3 = nctinv(P,NU,DELTA);

>> plot(P,X1,'r',P,X2,'b',P,X3,'g')

>> grid on

 

 

Наверх

ncx2inv - Обратная функция вероятностей смещенного распределения хи-квадрат

Синтаксис

X = ncx2inv(P,V,DELTA)

Описание

ncx2inv(P,V,DELTA) служит для расчета значений квантили смещенного распределения хи-квадрат для значения вероятности Р, степени свободы V и параметра смещения DELTA. Размерность векторов или матриц Р, V, DELTA должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности других входных аргументов. При расчете квантили Х в функции ncx2inv используется метод Ньютона

Примеры использования обратной функции распределения вероятностей смещенного закона Стьюдента

Расчет квантилей смещенного закона хи-квадрат для вектора вероятностей P=[0,1 0,3 0,6 0,9] и V=10 и DELTA=1.

>> P=[0.1 0.3 0.6 0.9]

P =

         0.1    0.3000    0.6000    0.9000

>> V=10

V =

     10

>> DELTA=1

DELTA =

     1

>> X = ncx2inv(P,V,DELTA)

X =

    5.3658    8.0074   11.5261   17.5606

Рассмотрим вид обратной функции распределения в зависимости от значения числа степеней свободы при постоянном DELTA=2.

>> P=0:0.01:1;

>> P=0:0.01:1;

>> DELTA=2;

>> V=10;

>> X1 = ncx2inv(P,V,DELTA);

>> V=20;

>> X2 = ncx2inv(P,V,DELTA);

>> V=30;

>> X3 = ncx2inv(P,V,DELTA);

>> plot(P,X1,'r',P,X2,'b',P,X3,'g')

>> grid on

Влияние параметра смещения на вид обратной функции распределения

>> P=0:0.01:1;

>> P=0:0.01:1;

>> V=20;

>> DELTA =1;

>> X1 = ncx2inv(P,V,DELTA);

>> DELTA =5;

>> X2 = ncx2inv(P,V,DELTA);

>> DELTA =10;

>> X3 = ncx2inv(P,V,DELTA);

>> plot(P,X1,'r',P,X2,'b',P,X3,'g')

>> grid on

 

 

Наверх

norminv - Обратная функция распределения вероятностей нормального закона

Синтаксис

X = norminv(P,MU,SIGMA)

Описание

norminv(P,MU,SIGMA) служит для расчета значений квантили нормального закона для значений вероятности Р, математического ожидания MU и среднего квадратического отклонения SIGMA. Размерность векторов или матриц Р, MU, SIGMA должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента. Значение среднего квадратического отклонения SIGMA должно быть положительным. Значение вероятности P должно находиться в интервале [0 1].

Обратная функция распределения вероятностей нормального закона имеет вид

где

Квантиль Х является результатом решения приведенного интегрального уравнения равного значению вероятности Р при заданных параметрах нормального закона распределения MU, SIGMA.

Примеры использования обратной функции распределения вероятностей нормального закона

Определить интервал значений случайной величины Х распределенной по стандартному нормальному закону, симметричный относительно математического ожидания, соответствующий 95% доверительной вероятности.

Значение вероятностей соответствующие левой и правой границам интервала.

>> PLeft=(1-0.95)/2

PLeft =

    0.0250

>> PRight=0.95+(1-0.95)/2

PRight =

    0.9750

 

Параметры стандартного нормального распределения

>> MU=0;

>> SIGMA=1;

>> X = norminv([PLeft PRight], MU, SIGMA)

X =

   -1.9600    1.9600

 

Графическое представление интервала.

>> X=-3:0.01:3;

>> MU=0;

>> SIGMA=1;

>> Xint = norminv([PLeft PRight], MU, SIGMA);

>> f=normpdf(X, MU, SIGMA);

>> t=unifpdf(X, Xint(1), Xint(2));

>> plot(X,f,X,t)

>> grid on

 

 

Наверх

poissinv - Обратная функция распределения вероятностей закона Пуассона

Синтаксис

X = poissinv(P,LAMBDA)

Описание

poissinv(P,LAMBDA) возвращает минимальное значение Х, для которого интегральная вероятность рассчитанная по функции распределения Пуассона больше или равна значению Р. Значение вероятности P должно находиться в интервале [0 1].

Примеры использования обратной функции распределения вероятностей

Рассмотрим решение следующей задачи. Среднее количество дефектов LAMBDA в изделии равно 2. Определить 95% процентиль количества дефектов.

>> LAMBDA=2;

>> P=0.95;

>> X = poissinv(P,LAMBDA)

X =

     5

Рассчитать медиану количества дефектов.

>> LAMBDA=0.5;

>> P=0.95;

>> X = poissinv(P,LAMBDA)

X =

     2

Вид функции количества дефектов в зависимости от среднего количества дефектов на одно изделие LAMBDA и вероятности их возникновения.

>> P=0:0.01:1;

>> LAMBDA =2;

>> X1 = poissinv(P,LAMBDA);

>> LAMBDA =5;

>> X2 = poissinv(P,LAMBDA);

>> LAMBDA =10;

>> X3 = poissinv(P,LAMBDA);

>> plot(P,X1,'r',P,X2,'b',P,X3,'g')

>> grid on

 

 

 

Наверх

raylinv - Обратная функция распределения вероятностей закона Релея

Синтаксис

X = raylinv(P,B)

Описание

raylinv(P,B) служит для расчета значений квантили закона Релея для значений вероятности Р и параметра B. Размерность векторов или матриц Р и B должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента. Значение вероятности P должно находиться в интервале [0 1].

Примеры использования функции распределения вероятностей закона Релея

Расчет квантилей закона Релея для вектора вероятностей P=[0,1 0,3 0,6 0,9] при B=10.

>> P=[0.1 0.3 0.6 0.9]

P =

         0.1    0.3000    0.6000    0.9000

>> B=10

B =

     10

>> X = raylinv(P,B)

X =

    4.5904    8.4460   13.5373   21.4597

 

Рассмотрим вид обратной функции распределения в зависимости от значения параметра В.

>> P=0:0.01:1;

>> B=2;

>> X1 = raylinv(P,B);

>> B=5;

>> X2 = raylinv(P,B);

>> B=10;

>> X3 = raylinv(P,B);

>> plot(P,X1,'r',P,X2,'b',P,X3,'g')

>> grid on

 

 

 

Наверх

tinv - Обратная функция распределения вероятностей закона Стьюдента

Синтаксис

X = tinv(P,V)

Описание

tinv(P,V) служит для расчета значений квантили закона Стьюдента для значений вероятности P и степени свободы V. Размерность векторов или матриц P, V должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого входного аргумента. Значение числа степеней свободы V должно быть положительным целым числом. Значение вероятности P должно находиться в интервале [0 1].

Вид обратной функции распределения вероятностей закона Стьюдента

где 

Квантиль Х является результатом решения интегрального уравнения равного Р при заданном числе степеней свободы.

Примеры использования обратной функции распределения вероятностей

Рассчитать 99% процентиль t распределения со степенями свободы от 1 до 6.

>> V=1:6;

>> P=0.99;

>> percentile = tinv(P,V)

percentile =

   31.8205    6.9646    4.5407    3.7469    3.3649    3.1427

 

Зависимость обратной функции распределения от числа степеней свободы.

>> P=0:0.01:1;

>> V=2;

>> X1 = tinv(P,V);

>> V=5;

>> X2 = tinv(P,V);

>> V=20;

>> X3 = tinv(P,V);

>> plot(P,X1,'r',P,X2,'b',P,X3,'g')

>> grid on

 

 

Наверх

unidinv - Обратная функция распределения вероятностей дискретного равномерного распределения

Синтаксис

X = unidinv(P,N)

Описание

unidinv(P,N) возвращает минимальное положительное целое Х, для которого функция распределения вероятностей дискретного равномерного распределения возвращает значение вероятности равное или большее величины Р при заданном параметре N. 

 

Размерность векторов или матриц Р и N должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности другого аргумента. Значение параметра N должно быть целым и положительным. Значение вероятности P должно находиться в интервале [0 1].

Примеры использования обратной функции распределения вероятностей дискретного равномерного распределения

Расчет квантилей дискретного равномерного закона для вектора вероятностей P=[0,1 0,3 0,6 0,9] при N=10.

>> P=[0.1 0.3 0.6 0.9]

P =

         0.1    0.3000    0.6000    0.9000

>> NU=10

NU =

     10

>> X = unidinv(P,N)

X =

     1     3     6     9

Рассмотрим вид обратной функции распределения в зависимости от значения параметра N.

>> P=0:0.1:1;

>> N=10;

>> X1 = unidinv(P,N);

>> N=20;

>> X2 = unidinv(P,N);

>> N=30;

>> X3 = unidinv(P,N);

>> plot(P,X1,'o',P,X2,'.',P,X3,'+')

>> grid on

 

 

 

Наверх

unifinv - Обратная функция распределения вероятностей непрерывного равномерного закона

Синтаксис

X = unifinv(P,A,B)

Описание

unifinv(P,A,B) возвращает значение квантили непрерывного равномерного закона для вероятности Р и параметров A, B. Размерность векторов или матриц Р, A, B должна быть одинаковой. Размерность скалярного параметра увеличивается до размерностей других аргументов. Верхний предел распределения B должен быть больше нижнего предела A. Значение вероятности P должно находиться в интервале [0 1].

 

Вид обратной функции распределения вероятностей непрерывного равномерного закона

где .

Стандартное непрерывное равномерное распределение имеет следующие параметры A=0, B=1.

Примеры использования обратной функции распределения вероятностей

Расчет медианы стандартного непрерывного равномерного распределения.

>> A=0;

>> B=1;

>> P=0.5;

>> median = unifinv(P,A,B)

median =

    0.5000

Расчет 99% процентили непрерывного равномерного распределения с параметрами A=-1, B=1.

>> A=-1;

>> B=1;

>> P=0.99;

>> unifinv(P,A,B)

ans =

    0.9800

Вид обратной функции распределения непрерывного равномерного распределения.

>> P=0:0.01:1;

>> A=-1;

>> B=1;

>> X1 = unifinv(P,A,B);

>> A=-2;

>> B=2;

>> X2 = unifinv(P,A,B);

>> A=-3;

>> B=3;

>> X3 = unifinv(P,A,B);

>> plot(P,X1,'r',P,X2,'b',P,X3,'g')

>> grid on

 

 

Наверх

weibinv  - Обратная функция распределения вероятностей закона Вейбулла

Синтаксис

X = weibinv(P,A,B)

Описание

weibinv(P,A,B) служит для расчета значений квантили закона Вейбулла для вероятности Р и параметров A, B. Размерность векторов или матриц Р, A, B должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности других входных параметров. Значения величин A и B должны быть положительными. Значение вероятности P должно находиться в интервале [0 1].

 

Вид обратной функции распределения вероятностей закона Вейбулла

Примеры использования обратной функции распределения вероятностей закона Вейбулла

Рассмотрим решение следующей задачи. Время безотказной работы электрических ламп распределено по закону Вйбулла с параметрами A=0,15 и B=0,24. Рассчитать медиану времени безотказной работы изделий в партии.

>> A=0.15;

>> B=0.24;

>> P=0.5;

>> median= weibinv(P,A,B)

median =

  588.4721

Рассчитать 90% процентиль времени безотказной работы изделий в партии.

>> A=0.15;

>> B=0.24;

>> P=0.9;

>> weibinv(P,A,B)

ans =

  8.7536e+004

Зависимость времени безотказной работы изделий в от параметров A и B партии.

Зависимость времени безотказной работы изделий в от параметров A и B партии.

>> A=0.15;

>> B=0.24;

>> P=0:0.01:1;

>> X= weibinv(P,A,B);

>> subplot(2,2,1)

>> plot (P,X)

>> grid on

>> [A P] = meshgrid([0.1:0.1:2], [0:0.05:1]);

>> B=2;

>> X = weibinv(P,A,B);

>> subplot(2,2,2)

>> surf(A,P,X)

>> [B P] = meshgrid([0.1:0.1:2], [0:0.05:1]);

>> A=5;

>> X = weibinv(P,A,B);

>> subplot(2,2,3)

>> surf(B,P,X)

>> [B A] = meshgrid([0.1:0.1:2], [1:0.2:5]);

>> P=0.5;

>> X = weibinv(P,A,B);

>> subplot(2,2,4)

>> surf(B,A,X)

 

 

Наверх

binornd - Функция генерации псевдослучайных чисел распределенных по биномиальному закону

Синтаксис

R = binornd(N,P)

R = binornd(N,P,m) 

R = binornd(N,P,m,n) 

Описание

R = binornd(N,P) функция предназначена для генерации псевдослучайного числа распределенного по биномиальному закону для пары параметров N и P. Размерность векторов или матриц параметров N и P должна быть одинаковой. Скалярный параметр увеличивается до размера остальных входных аргументов.  

 

R = binornd(N,P,m) позволяет получить вектор псевдослучайных чисел на m элементов распределенных по биномиальному закону для параметров N и P, где m - вектор размерностью 12 определяющий размерность матрицы R.  

R = binornd(N,p,m,n) позволяет получить матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по биномиальному закону для параметров N и P. 

 

При генерации псевдослучайных чисел используется прямой метод, работающий согласно определению биномиального закона как суммы случайных чисел Бернулли.

Примеры использования функции генерации псевдослучайных чисел

Генерация одного числа соответствующего определенной паре параметров N и P.

>> N=100;

>> P=0.5;

>> R = binornd(N,P)

R =

    53

>> N=[10 20 30 40 50];

>> P=[0.2 0.3 0.5 0.7 0.9];

>> R = binornd(N,P)

R =

     2     5    12    21    41

Генерация вектора с размерностью 15 элементов псевдослучайных чисел.

>> N=100;

>> P=0.5;

>> m=[1 5];

>> R = binornd(N,P,m)

R =

    44    53    47    55    49

 

Другой вариант генерации вектора с размерностью 15.

>> N=100;

>> P=0.5;

>> m=1; n=5;

>> R = binornd(N,P,m,n)

R =

    48    47    52    49    45

 

Генерация матрицы с размерностью 55 элементов.

>> N=100;

>> P=0.5;

>> m=[5 5];

>> R = binornd(N,P,m)

R =

    45    46    44    44    51

    51    51    49    48    48

    53    51    47    52    45

    46    53    48    53    53

    53    59    52    51    53

 

Другой вариант генерации матрицы с размерностью 55.

>> N=100;

>> P=0.5;

>> m=5; n=5;

>> R = binornd(N,P,m,n)

R =

    37    45    50    50    47

    49    41    45    42    53

    44    40    48    41    49

    50    45    46    45    52

    52    48    50    56    55

 

Оценка качества генерации псевдослучайных чисел в виде наложения гистограммы и функции случайной величины, приведенной к абсолютному масштабу.

>> N=100;

>> P=0.5;

>> N=9;

>> R = binornd(N,P,[1 100]);

>> hist(R, N)

>> grid on

>> X=floor(min(R)):1: floor (max(R));

>> f=binopdf(X,N,P);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

Наверх

chi2rnd - Функция генерации псевдослучайных чисел распределенных по закону хи-квадрат

Синтаксис

R = chi2rnd(V)

R = chi2rnd(V,m)

R = chi2rnd(V,m,n)

Описание

R = chi2rnd(V) функция предназначена для генерации псевдослучайного числа распределенного по закону хи-квадрат для каждого значения параметра V.

 

R = chi2rnd(V,m) позволяет получить вектор псевдослучайных чисел на m элементов распределенных по закону хи-квадрат для параметра V, где m - вектор размерностью 12 определяющий размерность матрицы R.

R = chi2rnd(V,m,n) позволяет получить матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по закону хи-квадрат для параметра V.

Примеры использования функции генерации псевдослучайных чисел

Генерация одного числа соответствующего определенному значению параметра V.

>> V=10;

>> R = chi2rnd(V)

R =

    4.4268

>> V=[10 20 30 40 50];

>> R = chi2rnd(V)

R =

   13.9829   23.2734   26.5743   29.3867   57.3204

 

Генерация вектора с размерностью 15 элементов псевдослучайных чисел.

>> V=10;

>> m=[1 5];

>> R = chi2rnd(V,m)

R =

  10.2302   15.6096    9.4732    3.3293    9.2048

 

Другой вариант генерации вектора с размерностью 15.

>> V=10;

>> m=1; n=5;

>> R = chi2rnd(V,m,n)

R =

    3.6552   11.6533   13.8338    9.8985   10.0190

 

Генерация матрицы с размерностью 55 элементов.

>> V=10;

>> m=[5 5];

>> R = chi2rnd(V,m)

R =

   16.7829    9.0128    6.9741   14.9470    5.1372

   11.1580    7.5976    6.8432   10.2689   11.8798

   10.9589    6.5304   14.8066   11.7760   14.8122

    8.5577   10.9080    9.5915   10.6171    9.9286

    5.8218    9.3833   13.1405    5.1395    6.5166

 

Другой вариант генерации матрицы с размерностью 55.

>> V=10;

>> m=5; n=5;

>> R = chi2rnd(V,m,n)

R =

    8.0671    5.7285    5.6716    6.3146    4.3965

  15.8682    5.2127   11.7063    6.7905    8.6128

    7.5513   29.6239    6.7613    5.0805   13.1623

    4.6136    7.9643    6.3317    7.4396    9.4257

  11.1463   12.4863    9.4614    6.4557   13.1582

 

Оценка качества генерации псевдослучайных чисел в виде наложения гистограммы и функции случайной величины,

приведенной к абсолютному масштабу.

>> V=10;

>> N=9;

>> R = chi2rnd(V,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f= chi2pdf(X, V);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

 

Наверх

exprnd - Функция генерации псевдослучайных чисел распределенных по экспоненциальному закону

Синтаксис

R = exprnd(MU)

R = exprnd(MU,m)

R = exprnd(MU,m,n)

Описание

R = exprnd(MU) функция предназначена для генерации псевдослучайного числа распределенного по экспоненциальному закону для каждого значения параметра MU.

 

R = exprnd(MU,m) позволяет получить вектор псевдослучайных чисел на m элементов распределенных по экспоненциальному закону для параметра MU, где m - вектор размерностью 12 определяющий размерность матрицы R.

R = exprnd(MU,m,n) генерирует матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по экспоненциальному закону для параметра MU.

Примеры использования функции генерации псевдослучайных чисел

Генерация одного числа соответствующего определенному значению параметра MU.

>> MU=0.4;

>> R = exprnd(MU)

R =

   1.8538

>> MU =[0.1 0.2 0.3 0.4 0.5];

>> R = exprnd(MU)

R =

    0.1132    0.2735    0.1867    0.2105    0.3610

 

Генерация вектора с размерностью 15 элементов псевдослучайных чисел.

>> MU=0.4;

>> m=[1 5];

>> R = exprnd(MU,m)

R =

    0.2396    0.3699    0.2204    0.5180    0.0768

 

Другой вариант генерации вектора с размерностью 15.

>> MU=0.4;

>> m=1; n=5;

>> R = exprnd(MU,m,n)

R =

    0.1983    0.2589    0.1295    0.2067    0.0532

 

Генерация матрицы с размерностью 55 элементов.

>> MU=0.4;

>> m=[5 5];

>> R = exprnd(MU,m)

R =

    0.8634    1.0390    0.2762    0.0600    0.0560

    0.2429    0.0204    0.0665    1.0089    0.3951

    0.3584    0.4299    0.1137    0.4523    0.8419

    0.1864    0.1511    0.3710    0.9521    0.8141

    0.0849    0.3976    0.1848    0.2448    0.1543

 

Другой вариант генерации матрицы с размерностью 55.

>> MU=0.4;

>> m=5; n=5;

>> R = exprnd(MU,m,n)

R =

    0.0352    0.0924    0.4238    0.1251    0.1011

    1.1498    0.6030    0.2987    0.1278    0.1153

    0.2855    0.3076    0.3149    1.4147    0.0581

    0.3950    0.0745    0.6821    1.0687    0.8324

    0.0582    0.2488    0.1619    1.0534    0.8260

 

Оценка качества генерации псевдослучайных чисел в виде наложения гистограммы и функции случайной величины,

приведенной к абсолютному масштабу.

>> MU=0.4;

>> N=9;

>> R = exprnd(MU,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f= exppdf(X, MU);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

 

Наверх

frnd - Функция генерации псевдослучайных чисел распределенных по закону Фишера

Синтаксис

R = frnd(V1,V2)

R = frnd(V1,V2,m)

R = frnd(V1,V2,m,n)

Описание

R = frnd(V1,V2) функция предназначена для генерации псевдослучайного числа распределенного по закону Фишера для пары параметров V1 и V2. Размерность векторов или матриц параметров V1 и V2 должна быть одинаковой. Скалярный параметр увеличивается до размера остальных входных аргументов.

 

R = frnd(V1,V2,m) позволяет получить вектор псевдослучайных чисел на m элементов распределенных по закону Фишера для параметров V1 и V2, где m - вектор размерностью 12 определяющий размерность матрицы R.

R = frnd(V1,V2,m,n) позволяет получить матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по закону Фишера для параметров V1 и V2.

Примеры использования функции генерации псевдослучайных чисел

Генерация одного числа соответствующего определенной паре параметров V1 и V2.

>> V1=10;

>> V2=20;

>> R = frnd(V1,V2)

R =

    0.6319

>> V1=[10 20 30 40 50];

>> V2=[10 30 50 80 100];

>> R = frnd(V1,V2)

R =

    2.0895    1.6933    1.0552    1.1905    0.7795

 

Генерация вектора с размерностью 15 элементов псевдослучайных чисел.

>> V1=10;

>> V2=20;

>> m=[1 5];

>> R = frnd(V1,V2,m)

R =

   0.7154    0.3459    2.2092    0.5791    2.1545

Другой вариант генерации вектора с размерностью 15.

 

>> V1=10;

>> V2=20;

>> m=1; n=5;

>> R = frnd(V1,V2,m,n)

R =

    1.2178    0.3249    0.6064    1.1579    0.9735

Генерация матрицы с размерностью 55 элементов.

 

>> V1=10;

>> V2=20;

>> m=[5 5];

>> R = frnd(V1,V2,m)

R =

    1.1582    1.3797    0.4500    1.2340    0.6276

    0.6548    0.5900    1.9506    0.2532    0.7807

    0.2285    0.5503    1.0314    0.6213    0.5680

    2.2817    1.6037    0.6418    2.0780    1.0944

    0.9668    0.3549    0.3285    1.1812    1.8151

Другой вариант генерации матрицы с размерностью 55.

 

>> V1=10;

>> V2=20;

>> m=5; n=5;

>> R = frnd(V1,V2,m,n)

R =

    1.4194    0.4185    0.8417    1.0677    0.5653

    0.9864    1.0538    0.7662    0.5136    0.6978

    0.9604    0.4686    1.7265    1.1150    2.4472

    0.9208    0.5839    3.3868    1.0073    0.5485

    1.0748    0.4043    1.9881    0.6960    0.9183

Оценка качества генерации псевдослучайных чисел в виде наложения гистограммы и функции случайной величины,

приведенной к абсолютному масштабу.

 

>> V1=10;

>> V2=20;

>> N=9;

>> R = frnd(V1,V2,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f=fpdf(X, V1,V2);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

Наверх

gamrnd - Функция генерации псевдослучайных чисел по Гамма распределению

Синтаксис

R = gamrnd(A,B)

R = gamrnd(A,B,m)

R = gamrnd(A,B,m,n)

Описание

R = gamrnd(A,B) функция предназначена для генерации псевдослучайного числа по Гамма распределению для каждой пары параметров A и B. Размерность векторов или матриц параметров A и B должна быть одинаковой. Скалярный параметр увеличивается до размера остальных входных аргументов.

 

R = gamrnd(A,B,m) позволяет получить вектор псевдослучайных чисел на m элементов по Гамма распределению для параметров A и B.

R = gamrnd(A,B,m,n) ) позволяет получить матрицу псевдослучайных чисел с размерностью m-n элементов по Гамма распределению для параметров A и B.

Примеры использования функции генерации псевдослучайных чисел

Генерация одного числа соответствующего заданной паре значений параметров A и B.

>> A=1;

>> B=2;

>> R = gamrnd(A,B)

R =

    0.1023

>> A=[1 2 3 4 5];

>> B=5;

>> R = gamrnd(A,B)

R =

    7.3237    7.5060    9.5972   36.0827   31.6181

 

Генерация вектора псевдослучайных чисел с размерностью 14.

>> A=5;

>> B=7;

>> m=[1 4];

>> R = gamrnd(A,B,m)

R =

   34.2698   47.0043   23.1796   42.3183

 

Второй вариант генерации вектора с размерностью 14.

>> A=1;

>> B=3;

>> m=1; n=5;

>> R = gamrnd(A,B,m,n)

R =

    8.5476    3.1250    0.6205   13.8574    5.9222

 

Генерация матрицы псевдослучайных чисел с размерностью 44.

>> A=2;

>> B=3;

>> m=[4 4];

>> R = gamrnd(A,B,m)

R =

   10.1321    2.9526   14.7757    3.3462

    9.8778   12.1505    2.5314    8.7751

    4.4587    6.9010    1.8665    5.5206

    4.3094    2.2406    9.5973    9.3098

 

Другой вариант генерации матрицы с размерностью 44.

>> A=1;

>> B=3;

>> m=4; n=4;

>> R = gamrnd(A,B,m,n)

R =

    1.8816    1.6965    2.4299    0.1323

    0.9560    2.9794    1.0934    1.9469

    3.5204    1.0583    1.4278    0.3830

    0.5284    1.8123    0.6889    5.2642

 

Графическая оценка качества генератора псевдослучайных чисел

>> A=1;

>> B=3;

>> N=9;

>> R = gamrnd(A,B,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f= gampdf(X, A,B);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

 

Наверх

geornd - Функция генерации псевдослучайных чисел распределенных по геометрическому закону

Синтаксис

R = geornd(P)

R = geornd(P,m)

R = geornd(P,m,n)

Описание

R = geornd(P) функция предназначена для генерации псевдослучайного числа распределенного по геометрическому закону для каждого значения параметра P.

 

R = geornd(P,m) позволяет получить вектор псевдослучайных чисел на m элементов распределенных по геометрическому закону для параметра P.

R = geornd(P,m,n) позволяет получить матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по геометрическому закону для параметра P.

Примеры использования функции генерации псевдослучайных чисел

Генерация одного числа соответствующего определенному значению параметра P.

>> P=0.4;

>> R = geornd(P)

R =

     2

>> P =[0.1 0.2 0.3 0.4 0.5];

>> R = geornd(P)

R =

    13     0     0     3     6

 

Генерация вектора с размерностью 15 элементов псевдослучайных чисел.

>> P=0.4;

>> m=[1 5];

>> R = geornd(P,m)

R =

     0     3     2     0     2

 

Другой вариант генерации вектора с размерностью 15.

>> P=0.4;

>> m=1; n=5;

>> R = geornd(P,m,n)

R =

     1     5     0     1     1

 

Генерация матрицы с размерностью 55 элементов.

>> P=0.4;

>> m=[5 5];

>> R = geornd(P,m)

R =

     1     0     0     5     0

     2     1     0     0     8

     1     0     1     5     0

     2     3     1     1     0

     1     1     0     2     0

 

Другой вариант генерации матрицы с размерностью 55.

>> P=0.4;

>> m=5; n=5;

>> R = geornd(P,m,n)

R =

     0     2     2     0     0

     1     0     1     0     1

     1     0     0     3     1

     3     1     0     3     1

     0     0     3     0     6

 

Графическая оценка качества генератора псевдослучайных чисел

>> P=0.4;

>> N=9;

>> R = geornd(P,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):1:max(R);

>> f= geopdf(X, P);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

 

Наверх

hygernd - Функция генерации псевдослучайных чисел распределенных по гипергеометрическому закону

Синтаксис

R = hygernd(M,K,N)

R = hygernd(M,K,N,m)

R = hygernd(M,K,N,m,n)

Описание

R = hygernd(M,K,N) функция предназначена для генерации псевдослучайного числа распределенного по гипергеометрическому закону для сочетания параметров M, K, N. Размерность векторов или матриц параметров M, K, N должна быть одинаковой. Скалярный параметр увеличивается до размера остальных входных аргументов.

 

R = hygernd(M,K,N,m) позволяет получить вектор псевдослучайных чисел на m элементов распределенных по гипергеометрическому закону для параметров M, K, N.

R = hygernd(M,K,N,m,n) позволяет получить матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по гипергеометрическому закону для параметров M, K, N.

Примеры использования функции генерации псевдослучайных чисел

Генерация одного числа соответствующего определенному сочетанию параметров M, K, N.

>> M=50;

>> N=20;

>> K=7;

>> R = hygernd(M,K,N)

R =

    3

>> M=[100 200 300 400 500];

>> N=[10 30 50 80 100];

>> K=[5 10 30 60 80];

>> R = hygernd(M,K,N)

R =

     0     0     5    13     9

 

Генерация вектора с размерностью 15 элементов псевдослучайных чисел.

>> M=50;

>> N=20;

>> K=7;

>> m=[1 5];

>> R = hygernd(M,K,N,m)

R =

     0     2     3     1     2

 

Другой вариант генерации вектора с размерностью 15.

>> M=50;

>> N=20;

>> K=7;

>> m=1; n=5;

>> R = hygernd(M,K,N,m,n)

R =

    3     3     3     1     3

 

Генерация матрицы с размерностью 55 элементов.

>> M=50;

>> N=20;

>> K=7;

>> m=[5 5];

>> R = hygernd(M,K,N,m)

R =

     3     4     3     2     1

     2     3     4     4     1

     2     3     2     4     3

     3     1     2     2     2

     3     3     4     2     4

 

Другой вариант генерации матрицы с размерностью 55.

>> M=50;

>> N=20;

>> K=7;

>> m=5; n=5;

>> R = hygernd(M,K,N,m,n)

R =

     2     2     1     2     3

     2     2     3     4     4

     6     2     4     2     0

     3     3     5     3     1

     2     1     2     5     4

 

Графическая оценка качества генератора псевдослучайных чисел

>> M=50;

>> N=20;

>> K=7;

>> R = hygernd(M,K,N,[1 100]);

>> hist(R, 9)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f=hygepdf(X,M,K,N);

>> ff=f*100*((max(R)-min(R))/9);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

 

Наверх

iwishrnd - Функция генерации псевдослучайных чисел по обратному распределению Уишарта

Синтаксис

W=iwishrnd(SIGMA,df)

W=iwishrnd(SIGMA,df,DI)

[W,DI]=iwishrnd(SIGMA,df)

Описание

W=iwishrnd(SIGMA,df) служит для генерации матицы случайных чисел распределенных по обратному распределению Уишарта для ковариационной матрицы inv(SIGMA) с числом степеней свободы df.

 

W=iwishrnd(SIGMA,df,DI) в отличии от предыдущего варианта синтаксиса задается коэффициент Холецкого DI обратной ковариационной матрицы.

[W,DI]=iwishrnd(SIGMA,df) в отличии от первого варианта вызова функции кроме матрицы псевдослучайных чисел W возвращается значение коэффициента Холецкого DI, который может быть использован при последующих вызовах функции iwishrnd.

Примеры использования функции генерации псевдослучайных чисел

Генерация псевдослучайных чисел по обратному распределению Уишарта.

>> SIGMA=pascal(3)

SIGMA =

     1     1     1

     1     2     3

     1     3     6

>> df=5

df =

     5

>> W=iwishrnd(A,df)

W =

    0.6011    0.1055    0.0229

    0.1055    2.1282    0.8601

    0.0229    0.8601    0.3753

 

Генерация псевдослучайных чисел по обратному распределению Уишарта и расчет коэффициента Холецкого DI.

>> SIGMA=pascal(3)

SIGMA =

     1     1     1

     1     2     3

     1     3     6

>> df=5

df =

     5

>> [W,DI]=iwishrnd(SIGMA,df)

W =

    2.4815    2.2623    0.5948

    2.2623    3.6664    1.5391

    0.5948    1.5391    0.7814

DI =

     1    -1     1

     0     1    -2

     0     0     1

 

Расчет псевдослучайных чисел согласно обратному распределению Уишарта и использование коэффициента

Холецкого DI при повторной генерации.

>> SIGMA=pascal(5)

SIGMA =

     1     1     1     1     1

     1     2     3     4     5

     1     3     6    10    15

     1     4    10    20    35

     1     5    15    35    70

>> df=10

df =

    10

>> [W,DI]=iwishrnd(SIGMA,df)

W =

    1.2555    2.9061    3.6567    1.9071    0.3948

    2.9061    7.5631    9.6383    5.1410    1.0714

    3.6567    9.6383   13.0949    7.3482    1.5956

    1.9071    5.1410    7.3482    4.3615    0.9920

    0.3948    1.0714    1.5956    0.9920    0.2357

DI =

     1    -1     1    -1     1

     0     1    -2     3    -4

     0     0     1    -3     6

     0     0     0     1    -4

     0     0     0     0     1

>> W=iwishrnd(SIGMA,df,DI)

W =

    2.6936    1.6496   -0.7085      -1.4002    -0.4610

    1.6496    7.8608    10.2487    6.1963      1.4143

   -0.7085   10.2487   17.2284    11.7529    2.8645

   -1.4002    6.1963    11.7529    8.3968      2.0935

   -0.4610    1.4143    2.8645      2.0935      0.5297

 

 

Наверх

lognrnd - Логнормальное распределение

Синтаксис

R = lognrnd(MU,SIGMA)

R = lognrnd(MU,SIGMA,m)

R = lognrnd(MU,SIGMA,m,n)

 

Описание

R = lognrnd(MU,SIGMA) функция предназначена для генерации псевдослучайного числа по логнормальному распределению с параметрами MU и SIGMA. Размерность векторов или матриц параметров MU и SIGMA должна быть одинаковой. Скалярный параметр увеличивается до размера остальных входных аргументов. Размерность R равна размерности векторов или матриц параметров MU и SIGMA.

R = lognrnd(MU,SIGMA,m) позволяет получить вектор псевдослучайных чисел на m элементов по логнормальному распределению с параметрами MU и SIGMA, где m - вектор размерностью 12 определяющий размерность матрицы R.

 

R = lognrnd(MU,SIGMA,m,n) генерирует матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по логнормальному распределению с параметрами MU и SIGMA.

Примеры использования функции генерации псевдослучайных чисел

Генерация одного числа соответствующего заданной паре значений параметров MU, SIGMA.

>> MU =0;

>> SIGMA =1;

>> R = lognrnd(MU,SIGMA)

R =

    0.6488

>> A=[1 2 3 4 5];

>> B=5;

>> R = gamrnd(A,B)

R =

    7.3237    7.5060    9.5972   36.0827   31.6181

  

Генерация вектора псевдослучайных чисел с размерностью 14.

 

>> MU =0;

>> SIGMA =1;

>> m=[1 4];

>> R = lognrnd(MU,SIGMA,m)

R =

    0.1891    1.1335    1.3333    0.3178

  

Второй вариант генерации вектора с размерностью 14.

>> MU =0;

>> SIGMA =1;

>> m=1; n=4;

>> R = lognrnd(MU,SIGMA,m,n)

R =

    3.2901    3.2843    0.9631    1.3872

  

Генерация матрицы псевдослучайных чисел с размерностью 44.

 

>> MU =0;

>> SIGMA =1;

>> m=[4 4];

>> R = lognrnd(MU,SIGMA,m)

R =

    1.1908    8.8745    1.0611    0.2628

    0.8297    0.8725    0.9088    2.0428

    2.0664    1.1207    0.4350    5.0711

    0.5553    2.9060    1.3423    0.5007

  

Другой вариант генерации матрицы с размерностью 44.

>> MU =0;

>> SIGMA =1;

>> m=4; n=4;

>> R = lognrnd(MU,SIGMA,m,n)

R =

    2.3584    1.7703    2.0379    0.3005

    3.5043    0.6704    3.6337    0.9804

    0.2032    1.9937    1.9515    0.8549

    0.2367    2.2606    3.2898    0.2011

  

Графическая оценка качества генератора псевдослучайных чисел

 

>> MU =0;

>> SIGMA =1;

>> N=9;

>> R = lognrnd(MU,SIGMA,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f= lognpdf(X,MU,SIGMA);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

Наверх

mvnrnd - Многомерное нормальное распределение

Синтаксис

R = mvnrnd(MU,SIGMA)

R = mvnrnd(MU,SIGMA,cases)

 

Описание

R = mvnrnd(MU,SIGMA) генерирует матрицу n-d псевдослучайных чисел распределенных по многомерному нормальному закону с параметрами математического ожидания MU и ковариации SIGMA. Размерность матрицы MU n-d. Функция mvnrnd генерирует каждый ряд R на основе соответствующего ряда значений MU. Матрица SIGMA должна быть квадратной и положительно определенной. SIGMA может быть задана матрицей с размерностью d-d или 3-х мерным массивом с размерностью d-d-n. Если SIGMA задана как 3-х мерный массив, то каждый ряд R генерируется с использованием страницы массива SIGMA, т.е. R(i,:) генерируется с использованием MU(i,:) и SIGMA(:,:,i). Если MU задан как вектор с размерностью 1-d, то функция mvnrnd формирует матрицу размерности соответствующей размерности SIGMA.

r = mvnrnd(MU,SIGMA,cases) генерирует матрицу псевдослучайных чисел с размерностью cases-d распределенных по многомерному нормальному распределению для вектора средних MU с размерностью 1-d и матрицы SIGMA с размерностью d-d.

Примеры использования функции генерации псевдослучайных чисел

Генерация псевдослучайных чисел по многомерному нормальному распределению.

 

>> MU=[0 1 2];

>> SIGMA=pascal(3)

SIGMA =

     1     1     1

     1     2     3

     1     3     6

>> R = mvnrnd(MU,SIGMA)

R =

   -0.8436    0.6541    3.6404

Генерация псевдослучайных чисел по многомерному нормальному распределению при условии, что SIGMA задана как 3-х мерный массив.

>> MU=[0 0 0; 1 1 1; 2 2 2];

>> SIGMA = cat(3, pascal(3), pascal(3) , pascal(3))

SIGMA(:,:,1) =

     1     1     1

     1     2     3

     1     3     6

SIGMA(:,:,2) =

     1     1     1

     1     2     3

     1     3     6

SIGMA(:,:,3) =

     1     1     1

     1     2     3

     1     3     6

>> R = mvnrnd(MU,SIGMA)

R =

   -0.3304   -0.8303   -1.3661

    0.8252   -0.1320    0.2033

    2.4409    3.7219    4.5051

  

Генерация двумерного нормального распределения и его графическое представление.

 

>> mu = [2 3];

>> sigma = [1 1.5; 1.5 3];

>> r = mvnrnd(mu,sigma,100);

>> plot(r(:,1),r(:,2),'+')

>> grid on

 

 

Наверх

mvtrnd - Многомерное распределение Стьюдента

Синтаксис

r = mvtrnd(C,df,cases)

 

Описание

r = mvtrnd(C,df,cases) функция возвращает матрицу псевдослучайных чисел распределенных по многомерному распределению, где С - матрица коэффициентов корреляции, df - число степеней свободы, cases - число генерируемых значений. Параметры df и cases могут быть скалярными величинами или векторами с одинаковой размерностью. Например, если р - число столбцов матрицы С, то матрица r будет сгенерирована с размерностью cases рядов и р столбцов.

Распределение строки матрицы r соответствует отношению вектора значений распределенных по многомерному нормальному распределению со средним равным нулю, дисперсией равной 1 и ковариационной матрицей С, деленного на независимую случайную величину распределенную по закону хи-квадрат с числом степеней свободы df.

 

C должна бать квадратной, симметричной и положительно определенной матрицей. Если диагональные элементы матрицы С не равны 1, то такая матрица считается ковариационной и mvtrnd преобразует ее в матрицу коэффициентов корреляции перед началом генерации.

Примеры использования функции генерации псевдослучайных чисел

Генерация псевдослучайных чисел по многомерному t распределению.

>> df = 5;

>> С = [1 0.5;0.5 1];

>> cases = 5;

>> r = mvtrnd(C,df, cases)

r =

   -0.8143   -3.5264

    0.0171    0.2116

    0.3297    0.7272

    0.9883    0.4883

    0.6443    0.9432

 

 

Генерация псевдослучайных чисел по многомерному t распределению при условии, что вместо матрицы коэффициентов корреляции задана ковариационная матрица.

>> df = 8;

>> C = [0.2 0.2; 0.2 0.4];

>> cases = 8;

>> r = mvtrnd(C,df, cases)

r =

    0.0294   -1.1512

    1.0211    0.5235

   -1.7769   -1.8022

    0.7687   -0.4725

   -2.0229   -1.2128

   -2.1397   -3.0752

    0.5301    0.7748

   -0.1257   -1.3711

   

Генерация двумерного t распределения и его графическое представление.

>> df = 3;

>> С = [1 0.8;0.8 1];

>> r = mvtrnd(C,df,100);

>> plot(r(:,1),r(:,2),'+')

>> grid on

 

 

 

Наверх

nbinrnd - Отрицательное биномиальное распределение

Синтаксис

RND = nbinrnd(R,P)

RND = nbinrnd(R,P,m)

RND = nbinrnd(R,P,m,n)

 

Описание

RND = nbinrnd(R,P) функция предназначена для генерации псевдослучайного числа по отрицательному биномиальному распределению с параметрами R,P. Размерность векторов или матриц параметров R и P должна быть одинаковой. Скалярный параметр увеличивается до размера другого входного аргумента. Размерность вектора или матрицы RND соответствует размерности R и P. 

RND = nbinrnd(R,P,m) позволяет получить вектор или матрицу псевдослучайных чисел на m элементов по отрицательному биномиальному распределению с параметрами P и R, где m - вектор размерностью 1x2 определяющий размерность матрицы R.

 

RND = nbinrnd(R,P,m,n) генерирует матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по отрицательному биномиальному распределению с параметрами P и R.

Примеры использования функции генерации псевдослучайных чисел.

 

Генерация одного числа соответствующего определенной паре параметров R и P.

>> R=10;

>> P=0.5;

>> RND = nbinrnd(R,P)

RND =

     4

>> R=[10 20 30 40 50];

>> P=[0.2 0.3 0.5 0.7 0.9];

>> RND = nbinrnd(R,P)

RND =

    72    22    23    19     5

 

Генерация вектора с размерностью 1x5 элементов псевдослучайных чисел.

 

>> R=10;

>> P=0.5;

>> m=[1 5];

>> RND = nbinrnd(R,P,m)

RND =

     4     4    10     6     5

 

Другой вариант генерации вектора с размерностью 1x5.

 

>> R=10;

>> P=0.5;

>> m=1; n=5;

>> RND = nbinrnd(R,P,m,n)

RND =

   10     6    13     9     8

 

Генерация матрицы с размерностью 5x5 элементов.

 

>> R=10;

>> P=0.5;

>> m=[5 5];

>> RND = nbinrnd(R,P,m)

RND =

     6     9    17     8     5

    11     8    13    15     8

     7     8     9     8    15

    14     8    14     8     8

     4    12     7    12     6

 

Другой вариант генерации матрицы с размерностью 5x5.

 

>> R=10;

>> P=0.5;

>> m=5; n=5;

>> RND = nbinrnd(R,P,m,n)

RND =

    20    10    22    12    13

    12    14     8    11     8

     4     2     4     8    12

    15     4     1    11    12

    17    12    15    11     4

 

Оценка качества генерации псевдослучайных чисел в виде наложения гистограммы и функции случайной величины,

приведенной к абсолютному масштабу.

 

>> R=10;

>> P=0.5;

>> N=9;

>> RND = nbinrnd(R,P,[1 100]);

>> hist(RND, N)

>> grid on

>> X=floor(min(RND)):1: floor (max(RND));

>> f=nbinpdf(X,R,P);

>> ff=f*100*((max(RND)-min(RND))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

Наверх

ncfrnd - Смещенное распределение Фишера

Синтаксис

R = ncfrnd(NU1,NU2,DELTA)

R = ncfrnd(NU1,NU2,DELTA,m)

R = ncfrnd(NU1,NU2,DELTA,m,n)

 

Описание

R = ncfrnd(NU1,NU2,DELTA) функция предназначена для генерации псевдослучайного числа по смещенному F распределению с параметрами NU1,NU2,DELTA. Размерность векторов или матриц параметров NU1,NU2,DELTA должна быть одинаковой. Скалярный параметр увеличивается до размера остальных входных аргументов. Размерность R равна размерности векторов или матриц параметров NU1,NU2,DELTA.

R = ncfrnd(NU1,NU2,DELTA,m) позволяет получить вектор или матрицу псевдослучайных чисел на m элементов по смещенному F распределению с параметрами NU1,NU2,DELTA, где m - вектор размерностью 1x2 определяющий размерность матрицы R.

 

R = ncfrnd(NU1,NU2,DELTA,m,n) генерирует матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по смещенному F распределению с параметрами NU1,NU2,DELTA.

Примеры использования функции генерации псевдослучайных чисел

Генерация одного числа соответствующего заданной паре значений параметров NU1, NU2, DELTA.

>> NU1 =5;

>> NU2=8;

>> DELTA =1;

>> R = ncfrnd(NU1,NU2,DELTA)

R =

   1.1032

>> NU1 =[5 6 7 8 9];

>> NU2=8;

>> DELTA =1;

>> R = gamrnd(A,B)

R =

   1.6372    0.7624    0.5697    0.4996    2.9616

 

Генерация вектора псевдослучайных чисел с размерностью 1x4.

 

>> NU1 =5;

>> NU2=8;

>> DELTA =1;

>> m=[1 4];

>> R = ncfrnd(NU1,NU2,DELTA,m)

R =

   2.4729    0.7050    3.5515    0.8951

 

Второй вариант генерации вектора с размерностью 1x4.

 

>> NU1 =5;

>> NU2=8;

>> DELTA =1;

>> m=1; n=4;

>> R = ncfrnd(NU1,NU2,DELTA,m,n)

R =

    2.3308    1.5732    1.7676    0.3937

 

Генерация матрицы псевдослучайных чисел с размерностью 4x4.

 

>> NU1 =5;

>> NU2=8;

>> DELTA =1;

>> m=[4 4];

>> R = ncfrnd(NU1,NU2,DELTA,m)

R =

    0.4507    1.3271    1.1275    1.1324

    0.2928    1.2401    1.9728    0.9393

    0.4897    2.1338    3.4260    0.6466

    1.2461    0.7496    0.8716    0.3444

 

Другой вариант генерации матрицы с размерностью 4x4.

 

>> NU1 =5;

>> NU2=8;

>> DELTA =1;

>> m=4; n=4;

>> R = ncfrnd(NU1,NU2,DELTA,m,n)

R =

    1.4586    0.4415    1.7091    1.0980

    1.2270    0.9372    0.4258    0.1006

    1.3859    0.2161    0.9851    0.6547

    0.2743    1.3568    1.4474    1.1299

 

Графическая оценка качества генератора псевдослучайных чисел

 

>> NU1 =5;

>> NU2=8;

>> DELTA =1;

>> R = ncfrnd(NU1,NU2,DELTA,[100 1]);

>> hist(R, N)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f= ncfpdf(X, NU1,NU2,DELTA);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

Наверх

nctrnd - Смещенное распределение Стьюдента

Синтаксис

 

R = nctrnd(V,DELTA)

R = nctrnd(V,DELTA,m)

R = nctrnd(V,DELTA,m,n)

Описание

 

R = nctrnd(V,DELTA) функция предназначена для генерации псевдослучайного числа по смещенному t распределению с параметрами V, DELTA. Размерность векторов или матриц параметров V, DELTA должна быть одинаковой. Скалярный параметр увеличивается до размера остальных входных аргументов. Размерность R равна размерности векторов или матриц параметров V, DELTA.

R = nctrnd(V,DELTA,m) позволяет получить вектор псевдослучайных чисел на m элементов по смещенному t распределению с параметрами V, DELTA, где m - вектор размерностью 1x2 определяющий размерность матрицы R.

 

R = nctrnd(V,DELTA,m,n) генерирует матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по смещенному t распределению с параметрами V, DELTA.

Примеры использования функции генерации псевдослучайных чисел.

 

Генерация одного числа соответствующего заданной паре значений параметров V,DELTA.

>> V =10;

>> DELTA =1;

>> R = nctrnd(V,DELTA)

R =

   2.0700

>> V =[10 20 30 40 50];

>> DELTA =1;

>> R = nctrnd(V,DELTA)

R =

   0.8487    1.6481    1.9022    0.4136    0.7379

 

Генерация вектора псевдослучайных чисел с размерностью 1x4.

 

>> V =10;

>> DELTA =1;

>> m=[1 4];

>> R = nctrnd(V,DELTA,m)

R =

   2.3386    2.0180    1.4160    0.1664

 

Второй вариант генерации вектора с размерностью 1x4.

 

>> V =10;

>> DELTA =1;

>> m=1; n=4;

>> R = nctrnd(V,DELTA,m,n)

R =

   0.5278    1.9076    1.5387    0.9368

 

Генерация матрицы псевдослучайных чисел с размерностью 4x4.

 

>> V =10;

>> DELTA =1;

>> m=[4 4];

>> R = nctrnd(V,DELTA,m)

R =

    2.0307    0.8260    1.8614    0.3730

   -1.1576    1.3018    2.3518    0.5920

    2.2412    1.9231    0.9035    1.8478

    0.7306    3.3665    0.2263   -0.5915

 

Другой вариант генерации матрицы с размерностью 4x4.

 

>> V =10;

>> DELTA =1;

>> m=4; n=4;

>> R = nctrnd(V,DELTA,m,n)

R =

    0.6733    0.9952    0.6453    2.3441

    1.2768    1.2673    0.2516    2.2147

    2.1794    1.0644    0.7407    0.9245

    0.0379    0.9370    1.0231    0.9637

 

Графическая оценка качества генератора псевдослучайных чисел

 

>> V =10;

>> DELTA =1;

>> N=9;

>> R = nctrnd(V,DELTA,[1 1000]);

>> hist(R, N)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f= nctpdf(X, V,DELTA);

>> ff=f*1000*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

Наверх

normrnd - Нормальное распределение

Синтаксис

R = normrnd(MU,SIGMA)

R = normrnd(MU,SIGMA,m)

R = normrnd(MU,SIGMA,m,n)

 

Описание

R = normrnd(MU,SIGMA) функция предназначена для генерации псевдослучайного числа по нормальному закону для каждой пары параметров MU (математического ожидания) и SIGMA (среднего квадратического отклонения). Размерность векторов или матриц параметров MU и SIGMA должна быть одинаковой. Скалярный параметр увеличивается до размера остальных входных аргументов. Размерность матрицы R равна размерности входных параметров.

R = normrnd(MU,SIGMA,m) позволяет получить вектор псевдослучайных чисел на m элементов распределенных по нормальному закону для параметров MU и SIGMA, где m - вектор размерностью 1x2 определяющий размерность матрицы R.

 

R = normrnd(MU,SIGMA,m,n) позволяет получить матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по нормальному закону для параметров MU, SIGMA.

Примеры использования функции генерации псевдослучайных чисел

Генерация одного числа соответствующего заданной паре значений параметров MU, SIGMA.

>> MU =0;

>> SIGMA =1;

>> R = normrnd(MU,SIGMA)

R =

   -0.2953

>> MU =[0 1 2 3];

>> DELTA=[1 2 3 4];

>> R = normrnd(MU,SIGMA)

R =

   1.4561    2.8025    0.6664    3.3873

   

Генерация вектора псевдослучайных чисел с размерностью 1x5.

 

>> MU =0;

>> SIGMA =1;

>> m=[1 5];

>> R = normrnd(MU,SIGMA,m)

R =

   -0.0228    0.1106    0.8128   -1.0091   -1.0046

   

Второй вариант генерации вектора с размерностью 1x5.

>> MU =0;

>> SIGMA =1;

>> m=1; n=5;

>> R = normrnd(MU,SIGMA,m,n)

R =

    0.2830    0.2898   -0.2473   -0.2189    0.8987

  

Генерация матрицы псевдослучайных чисел с размерностью 4x4.

 

>> MU =0;

>> SIGMA =1;

>> m=[4 4];

>> R = normrnd(MU,SIGMA,m)

R =

   -0.6422    1.5489   -0.5539   -2.5996

   -0.1804   -0.0442    0.9324    0.7801

    0.7179   -0.0297   -1.3158    0.6029

    0.3014   -0.3821   -0.3015    0.9428

  

Другой вариант генерации матрицы с размерностью 4x4.

>> MU =0;

>> SIGMA =1;

>> m=4; n=4;

>> R = normrnd(MU,SIGMA,m,n)

R =

   -1.0239   -1.7813    0.1668   -0.0986

   -0.0678   -0.6604   -1.7052    0.1764

    0.0818    1.3514    0.2765   -1.8379

   -1.7670    2.1364    0.3945   -1.5023

   

Графическая оценка качества генератора псевдослучайных чисел

 

>> MU =0;

>> SIGMA =1;

>> N=9;

>> R = normrnd(MU,SIGMA,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f= normpdf(X, MU,SIGMA);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

Наверх

poissrnd - Распределение Пуассона

Синтаксис

R = poissrnd(LAMBDA)

R = poissrnd(LAMBDA,m)

R = poissrnd(LAMBDA,m,n)

 

Описание

R = poissrnd(LAMBDA) функция предназначена для генерации псевдослучайного числа по распределению Пуассона для каждого значения параметра LAMBDA. Размерность матрицы R равна размерности входного параметра.

R = poissrnd(LAMBDA,m) позволяет получить вектор псевдослучайных чисел на m элементов распределенных по закону Пуассона для параметра LAMBDA, где m - вектор размерностью 1x2 определяющий размерность матрицы R.

 

R = poissrnd(LAMBDA,m,n) позволяет получить матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по закону Пуассона для параметра LAMBDA.

Примеры использования функции генерации псевдослучайных чисел

Генерация одного числа соответствующего определенному значению параметра LAMBDA.

>> LAMBDA =0.4;

>> R = poissrnd(LAMBDA)

R =

     1

>> LAMBDA =[0.1 0.2 0.3 0.4 0.5];

>> R = poissrnd(LAMBDA)

R =

     0     0     1     1     0

   

Генерация вектора с размерностью 1x5 элементов псевдослучайных чисел.

 

>> LAMBDA =1;

>> m=[1 5];

>> R = poissrnd(LAMBDA,m)

R =

     1     1     3     2     1

   

Другой вариант генерации вектора с размерностью 1x5.

>> LAMBDA =1;

>> m=1; n=5;

>> R = poissrnd(LAMBDA,m,n)

R =

    2     0     0     0     0

  

Генерация матрицы с размерностью 5x5 элементов.

 

>> LAMBDA =1;

>> m=[5 5];

>> R = poissrnd(LAMBDA,m)

R =

     0     2     2     2     0

     0     1     2     1     0

     1     3     0     1     1

     1     1     2     1     0

     1     0     1     0     2

   

Другой вариант генерации матрицы с размерностью 5x5.

>> LAMBDA =1;

>> m=5; n=5;

>> R = poissrnd(LAMBDA,m,n)

R =

     1     0     1     0     3

     1     4     0     2     3

     2     0     0     0     1

     2     0     2     1     1

     2     1     0     0     0

   

Графическая оценка качества генератора псевдослучайных чисел

 

>> LAMBDA =2;

>> N=9;

>> R = poissrnd(LAMBDA,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):1:max(R);

>> f= poisspdf(X, LAMBDA);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

Наверх

random - Параметризованная функция генерации псевдослучайных чисел

Синтаксис

y = random('name',A1,A2,A3,m,n)

Описание

y = random('name',A1,A2,A3,m,n) возвращает матрицу случайных чисел согласно заданному распределению. Вид распределения задается значением параметра 'name' в соответствии со следующей таблицей

Вид распределения

Переменная 'name'

Бета 

'beta', 'Beta' 

Биномиальное 

'bino', 'Binomial' 

Хи-квадрат 

'chi2', 'Chisquare' 

Экспоненциальное 

'exp', 'Exponential' 

Фишера 

'f', 'F' 

Гамма 

'gam', 'Gamma' 

Геометрическое 

'geo', 'Geometric' 

Гипергеометрическое 

'hyge', 'Hypergeometric' 

Логнормальное 

'logn', 'Lognormal' 

Отрицательное биномиальное 

'nbin', 'Negative Binomial' 

Смещенное Фишера 

'ncf', 'Noncentral F' 

Смещенное Стьюдента 

'nct', 'Noncentral T' 

Смещенное хи-квадрат 

'ncx2', 'Noncentral Chi-square' 

Нормальное 

'norm', 'Normal' 

Пуассона 

'poiss', 'Poisson' 

Релея 

'rayl', 'Rayleigh' 

Стьюдента 

't', 'T' 

Дискретное равномерное 

'unid', 'Discrete Uniform' 

Непрерывное равномерное 

'unif', 'Uniform' 

Вейбулла 

'weib', 'Weibull' 

Параметры A1, A2, A3 являются параметрами перечисленных выше распределений. Последовательность и количество передаваемых параметров A1, A2, A3 должны соответствовать числу и последовательности передаваемым параметрам соответствующих функций генерации псевдослучайных чисел. Размерность векторов или матриц X, A1, A2, A3 должна быть одинаковой. Размерность скалярного параметра увеличивается до размерности других входных аргументов. 

Параметры m и n задают размерность матрицы генерируемых псевдослучайных чисел y. В случае, если параметры распределения A1, A2, A3 заданы как матрицы, то m и n либо могут отсутствовать, либо должны соответствовать размерности указанных переменных. 

Примеры использования параметрической функции генерации псевдослучайных чисел

Генерация вектора псевдослучайных чисел распределенных по нормальному закону для вектора значений sigma и определенной величины mu. 

>> mu =0;

>> sigma =[1 2 3 4 5];

>> m=1; n=5;

>> y = random('Normal',mu,sigma,m,n)

y =

   -1.4228    0.4936   -4.3073    0.5943   -8.4654

   

Генерация матрицы псевдослучайных чисел по закону Релея для параметра B.

 

>> B=0.4;

>> m=5; n=5;

>> y = random('Rayleigh',B,m,n)

y =

    0.0352    0.5560    0.7423    0.4456    0.1448

    0.7218    0.2834    0.2237    0.2255    0.5574

    0.1697    0.5745    0.4579    1.0118    0.1382

    0.3440    0.6308    0.5983    0.4629    1.0769

    0.5596    0.6761    0.4078    0.5654    1.0603

>> R = raylrnd(B)

R =

    0.0131    0.0871    0.3479    0.4822    0.6966

 

 

Наверх

raylrnd - Распределение Релея

Синтаксис

R = raylrnd(B)

R = raylrnd(B,m)

R = raylrnd(B,m,n)

 

Описание

R = raylrnd(B) функция предназначена для генерации псевдослучайного числа по закону Релея для каждого значения параметра B. Размерность матрицы R равна размерности входного параметра.

R = raylrnd(B,m) позволяет получить вектор псевдослучайных чисел на m элементов распределенных по закону Релея для параметра B, где m - вектор размерностью 1x2 определяющий размерность матрицы R.

 

R = raylrnd(B,m,n) позволяет получить матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по закону Релея для параметра LAMBDA.

Примеры использования функции генерации псевдослучайных чисел

Генерация одного числа соответствующего определенному значению параметра B.

>> B=0.4;

>> R = raylrnd(B)

R =

   0.6883

>> B =[0.1 0.2 0.3 0.4 0.5];

>> R = raylrnd(B)

R =

    0.0131    0.0871    0.3479    0.4822    0.6966

  

Генерация вектора с размерностью 1x5 элементов псевдослучайных чисел.

 

>> B=0.4;

>> m=[1 5];

>> R = raylrnd(B,m)

R =

    0.3374    0.1263    0.6839    0.2867    0.6506

  

Другой вариант генерации вектора с размерностью 1x5.

>> B=0.4;

>> m=1; n=5;

>> R = raylrnd(B,m,n)

R =

    0.3588    0.3786    0.5725    0.7161    0.6429

  

Генерация матрицы с размерностью 5x5 элементов.

 

>> B=0.4;

>> m=[5 5];

>> R = raylrnd(B,m)

R =

    0.5165    0.1824    0.4208    0.5905    0.2750

    0.2674    0.7349    0.3107    0.4149    0.3584

    0.4930    0.3100    0.1347    0.2503    0.3540

    0.6505    0.4817    0.3985    0.2390    0.5519

    0.7496    0.5663    0.8763    0.8898    0.3969

  

Другой вариант генерации матрицы с размерностью 5x5.

>> B=0.4;

>> m=5; n=5;

>> R = raylrnd(B,m,n)

R =

    0.1721    0.4898    0.4207    0.1494    0.2894

    0.4838    0.1568    0.3834    0.6791    0.3356

    0.5839    0.4527    0.4082    1.0269    0.0930

    0.6596    0.5966    0.5196    0.5426    0.5639

    0.4335    0.2470    0.3768    0.2075    0.6562

  

Графическая оценка качества генератора псевдослучайных чисел

 

>> B=0.4;

>> N=9;

>> R = raylrnd(B,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f= raylpdf(X, B);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

Наверх

trnd - Распределение Стьюдента

Синтаксис

R = trnd(V)

R = trnd(V,m)

R = trnd(V,m,n)

 

Описание

R = trnd(V) функция предназначена для генерации псевдослучайного числа по распределению Стьюдента для каждого значения числа степеней свободы V. Размерность матрицы R равна размерности входного параметра.

R = trnd(V,m) позволяет получить вектор псевдослучайных чисел на m элементов распределенных по распределению Стьюдента для параметра V, где m - вектор размерностью 1x2 определяющий размерность матрицы R.

 

R = trnd(V,m,n) позволяет получить матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по закону Пуассона для заданного числа степеней свободы V.

Примеры использования функции генерации псевдослучайных чисел

 

Генерация одного числа соответствующего определенному значению параметра V.

>> V=10;

>> R = trnd(V)

R =

    1.4622

>> V =[10 20 30 40 50];

>> R = trnd(V)

R =

   -0.3181    2.1288    0.1322   -2.7310    0.6725

   

Генерация вектора с размерностью 1x5 элементов псевдослучайных чисел.

>> V=10;

>> m=[1 5];

>> R = trnd(V,m)

R =

    0.4941    1.1228   -1.1603    1.5709   -0.6818

  

Другой вариант генерации вектора с размерностью 1x5.

 

>> V=10;

>> m=1; n=5;

>> R = trnd(V,m,n)

R =

    1.5791   -0.0136    1.0149    0.4422   -1.0674

  

Генерация матрицы с размерностью 5x5 элементов.

>> V=10;

>> m=[5 5];

>> R = trnd(V,m)

R =

    0.7428    1.0015    0.0174    0.8430   -0.1899

    2.7214    0.8130    2.6207   -1.6383   -0.9471

    2.2282   -2.5067    0.3712    0.6983   -0.6759

    0.1904    0.5217   -0.3238    0.6965    2.8145

   -1.8868   -1.1012   -0.8685    0.5107    0.1908

   

Другой вариант генерации матрицы с размерностью 5x5.

 

>> V=10;

>> m=5; n=5;

>> R = trnd(V,m,n)

R =

    1.1892    0.5191    0.6893    1.0224    0.0527

    0.8605    1.1526    2.5250   -0.4808   -1.2941

   -0.1641   -0.8274   -0.1146    0.0565   -0.1562

    0.3315    0.5266    0.2258    0.8991   -0.1739

   -0.0379   -0.8681   -1.1669   -2.3567   -0.3615

   

Графическая оценка качества генератора псевдослучайных чисел

>> V=10;

>> N=9;

>> R = trnd(V,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f= tpdf(X, V);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

 

Наверх

unidrnd - Дискретное равномерное распределение

Синтаксис

R = unidrnd(N)

R = unidrnd(N,m)

R = unidrnd(N,m,n)

 

Описание

R = unidrnd(N) функция предназначена для генерации псевдослучайного числа по дискретному равномерному распределению для каждого значения параметра N. Параметр N должен положительным целым числом. Размерность матрицы R равна размерности входного параметра.

R = unidrnd(N,mm) позволяет получить вектор псевдослучайных чисел на m элементов распределенных по дискретному равномерному распределению для параметра N, где m - вектор размерностью 1x2 определяющий размерность матрицы R.

 

R = unidrnd(N,mm,nn) позволяет получить матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по дискретному равномерному распределению для параметра N.

Примеры использования функции генерации псевдослучайных чисел

 

Генерация одного числа соответствующего определенному значению параметра B.

>> N=10;

>> R = unidrnd(N)

R =

   10

>> N =[10 20 30 40 50];

>> R = unidrnd(N)

R =

     3    13    15    36    39

   

Генерация вектора с размерностью 1x5 элементов псевдослучайных чисел.

>> N=10;

>> m=[1 5];

>> R = unidrnd(N,m)

R =

     5     1     9     5     7

   

Другой вариант генерации вектора с размерностью 1x5.

 

>> N=10;

>> m=1; n=5;

>> R = unidrnd(N,m,n)

R =

    8    10     8     2     5

  

Генерация матрицы с размерностью 5x5 элементов.

>> N=10;

>> m=[5 5];

>> R = unidrnd(N,m)

R =

    10     4     2     8     9

    10     9     7     5     6

     5     1     3    10     3

     9     2     2     5     7

     1     3     1     5     9

   

Другой вариант генерации матрицы с размерностью 5x5.

 

>> N=10;

>> m=5; n=5;

>> R = unidrnd(N,m,n)

R =

     1     8     7     4     9

     7     5     4     9     9

     4     4     6     9     7

     9     2     2     6     9

     6     2     7     5     7

   

Графическая оценка качества генератора псевдослучайных чисел

>> N=10;

>> N=9;

>> R = unidrnd(N,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):1:max(R);

>> f= unidpdf(X, N);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

 

Наверх

unifrnd - Непрерывное равномерное распределение

Синтаксис

R = unifrnd(A,B)

R = unifrnd(A,B,m)

R = unifrnd(A,B,m,n)

 

Описание

R = unifrnd(A,B) функция предназначена для генерации псевдослучайного числа по непрерывному равномерному распределению для каждой пары параметров A, B. Размерность векторов или матриц параметров A, B должна быть одинаковой. Скалярный параметр увеличивается до размера остальных входных аргументов. Размерность матрицы R равна размерности входных параметров.

R = unifrnd(A,B,m) позволяет получить вектор псевдослучайных чисел на m элементов распределенных по непрерывному равномерному распределению для параметров A и B, где m - вектор размерностью 1x2 определяющий размерность матрицы R.

 

R = unifrnd(A,B,m,n) позволяет получить матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по непрерывному равномерному распределению для параметров A, B.

Примеры использования функции генерации псевдослучайных чисел

 

Генерация одного числа соответствующего заданной паре значений параметров A, B.

>> A=0;

>> B=1;

>> R = unifrnd(A,B)

R =

    0.3676

>> A=0;

>> B=[1 2 3 4];

>> R = unifrnd(A,B)

R =

   0.6315    1.4353    2.0780    0.3363

   

Генерация вектора псевдослучайных чисел с размерностью 1x5.

>> A=0;

>> B=1;

>> m=[1 5];

>> R = unifrnd(A,B,m)

R =

    0.4544    0.4418    0.3533    0.1536    0.6756

  

Второй вариант генерации вектора с размерностью 1x5.

 

>> A=0;

>> B=1;

>> m=1; n=5;

>> R = unifrnd(A,B,m,n)

R =

   0.6992    0.7275    0.4784    0.5548    0.1210

   

Генерация матрицы псевдослучайных чисел с размерностью 4x4.

>> A=0;

>> B=1;

>> m=[4 4];

>> R = unifrnd(A,B,m)

R =

    0.4508    0.2548    0.9084    0.0784

    0.7159    0.8656    0.2319    0.6408

    0.8928    0.2324    0.2393    0.1909

    0.2731    0.8049    0.0498    0.8439

  

Другой вариант генерации матрицы с размерностью 4x4.

 

>> A=0;

>> B=1;

>> m=4; n=4;

>> R = unifrnd(A,B,m,n)

R =

    0.1739    0.3400    0.5915    0.8699

    0.1708    0.3142    0.1197    0.9342

    0.9943    0.3651    0.0381    0.2644

    0.4398    0.3932    0.4586    0.1603

Графическая оценка качества генератора псевдослучайных чисел

>> A=0;

>> B=1;

>> N=9;

>> R = unifrnd(A,B,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f= unifpdf(X,A,B);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

Наверх

weibrnd - Распределение Вейбулла

Синтаксис

R = weibrnd(A,B)

R = weibrnd(A,B,m)

R = weibrnd(A,B,m,n)

 

Описание

R = weibrnd(A,B) функция предназначена для генерации псевдослучайного числа по закону Вейбулла для каждой пары параметров A, B. Размерность векторов или матриц параметров A, B должна быть одинаковой. Скалярный параметр увеличивается до размера остальных входных аргументов. Размерность матрицы R равна размерности входных параметров.

R = weibrnd(A,B,m) позволяет получить вектор псевдослучайных чисел на m элементов распределенных по закону Вейбулла для параметров A и B, где m - вектор размерностью 1x2 определяющий размерность матрицы R. R = weibrnd(A,B,m,n) позволяет получить матрицу псевдослучайных чисел с размерностью m-n элементов распределенных по закону Вейбулла для параметров A и B.

 

Примеры использования функции генерации псевдослучайных чисел

Генерация одного числа соответствующего заданной паре значений параметров A, B.

>> A=1;

>> B=2;

>> R = weibrnd (A,B)

R =

   1.5743

>> A=1;

>> B=[1 2 3 4];

>> R = weibrnd (A,B)

R =

    0.0561    0.2963    0.7977    1.0823

  

Генерация вектора псевдослучайных чисел с размерностью 1x5.

 

>> A=1;

>> B=2;

>> m=[1 5];

>> R = weibrnd (A,B,m)

R =

   0.3678    0.8165    0.5578    0.9286    0.1985

   

Второй вариант генерации вектора с размерностью 1x5.

>> A=1;

>> B=2;

>> m=1; n=5;

>> R = weibrnd (A,B,m,n)

R =

    1.6218    0.7692    1.1095    0.3914    1.0447

  

Генерация матрицы псевдослучайных чисел с размерностью 4x4.

 

>> A=1;

>> B=2;

>> m=[4 4];

>> R = weibrnd (A,B,m)

R =

    0.6208    0.9131    0.3276    0.6328

    1.7115    0.7586    0.5307    1.2669

    1.0154    0.6953    0.4840    1.1393

    0.8346    1.4756    0.4524    0.6841

  

Другой вариант генерации матрицы с размерностью 4x4.

>> A=1;

>> B=2;

>> m=4; n=4;

>> R = weibrnd (A,B,m,n)

R =

    0.7887    0.9454    1.0544    0.4324

    1.6798    0.8640    0.8589    0.2118

    1.5555    0.3089    0.7180    0.7199

    1.1421    0.7191    1.3504    1.8839

  

Графическая оценка качества генератора псевдослучайных чисел

 

>> A=1;

>> B=2;

>> N=9;

>> R = weibrnd (A,B,[1 100]);

>> hist(R, N)

>> grid on

>> X=min(R):(max(R)-min(R))/100:max(R);

>> f= weibpdf(X,A,B);

>> ff=f*100*((max(R)-min(R))/N);

>> hold on

>> plot(X,ff,'r')

>> hold off

 

 

Наверх

wishrnd - Матрица случайных чисел распределения Уишарта

Синтаксис

W = wishrnd(SIGMA,df)

W = wishrnd(SIGMA,df,D)

[W,D] = wishrnd(SIGMA,df)

 

Описание

W = wishrnd(SIGMA,df) служит для генерации матицы случайных чисел распределенных по распределению Уишарта для ковариационной матрицы SIGMA с числом степеней свободы df.

W = wishrnd(SIGMA,df,D) в отличии от предыдущего варианта синтаксиса задается коэффициент Холецкого D ковариационной матрицы SIGMA. В случае нескольких вызовов функции wishrnd с одинаковыми значениями ковариационной матрицы для увеличения эффективности алгоритма генерации целесообразно явно задавать коэффициент Холецкого D.

 

[W,D] = wishrnd(SIGMA,df) в отличии от первого варианта вызова функции кроме матрицы псевдослучайных чисел W возвращается значение коэффициента Холецкого DI, который может быть использован при последующих вызовах функции wishrnd.

Примеры использования функции генерации псевдослучайных чисел

 

Генерация псевдослучайных чисел по распределению Уишарта.

>> SIGMA=pascal(3)

SIGMA =

     1     1     1

     1     2     3

     1     3     6

>> df=5

df =

     5

>> W=wishrnd(SIGMA,df)

W =

    4.3741    1.7676   -1.2564

    1.7676    2.1324    3.4334

   -1.2564    3.4334   16.1057

   

Генерация псевдослучайных чисел по распределению Уишарта и расчет коэффициента Холецкого DI.

>> SIGMA=pascal(3)

SIGMA =

     1     1     1

     1     2     3

     1     3     6

>> df=5

df =

     5

>> [W,DI]=wishrnd(SIGMA,df)

W =

    3.4728    2.8301    2.1133

    2.8301    5.5233    8.7450

    2.1133    8.7450   22.9138

DI =

     1     1     1

     0     1     2

     0     0     1

   

Расчет псевдослучайных чисел согласно распределению Уишарта и использование 

коэффициента Холецкого DI при повторной генерации.

 

>> SIGMA=pascal(5)

SIGMA =

     1     1     1     1     1

     1     2     3     4     5

     1     3     6    10    15

     1     4    10    20    35

     1     5    15    35    70

>> df=10

df =

    10

>> [W,DI]=wishrnd(SIGMA,df)

W =

    10.7636    8.9244    4.7621    -6.4387        -32.4934

    8.9244     13.6604   14.7491   10.0681      -4.8925

    4.7621     14.7491   24.6901   34.7112      42.2157

   -6.4387     10.0681   34.7112   74.8364     135.2491

   -32.4934   4.8925     42.2157   135.2491   304.2332

DI =

     1     1     1     1     1

     0     1     2     3     4

     0     0     1     3     6

     0     0     0     1     4

     0     0     0     0     1

>> W=wishrnd(SIGMA,df,DI)

W =

   10.1921   15.0520   15.6658    9.8037         -2.7973

   15.0520   28.1868   36.0149    32.3553       18.0655

   15.6658   36.0149   56.1620    66.3571       67.0877

    9.8037    32.3553   66.3571    106.9305     157.7394

   -2.7973   18.0655    67.0877    157.7394     311.6346

 

 

Наверх

betastat - Бета распределение

Синтаксис

[M,V] = betastat(A,B)

Описание

[M,V] = betastat(A,B) функция служит для расчета математического ожидания и дисперсии бета распределения с заданными параметрами A и B. Размерность векторов и матриц A и B должна быть одинаковой. Скалярный входной параметр увеличивается до матрицы постоянных значений с размерностью второго параметра. Размерность матриц математического ожидания M и дисперсии V равна размерности входных параметров.

 

Математическое ожидание M бета распределения с заданными параметрами A и B определяется по формуле

Дисперсия V бета распределения с заданными параметрами A и B определяется по формуле

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии бета распределения для пары параметров А и В.

>> A=1

A =

     1

>> B=2

B =

     2

>> [M,V] = betastat(A,B)

M =

    0.3333

V =

    0.0556

  

Расчет математического ожидания и дисперсии бета распределения для матриц параметров А и В.

 

>> A=[1 2 3; 4 5 6]

A =

     1     2     3

     4     5     6

>> B=[2 3 4; 5 6 7]

B =

     2     3     4

     5     6     7

>> [M,V] = betastat(A,B)

M =

    0.3333    0.4000    0.4286

    0.4444    0.4545    0.4615

V =

    0.0556    0.0400    0.0306

    0.0247    0.0207    0.0178

  

Расположение математического ожидания M и интервалов [M-; M+?], [M-2; M+2], [M-3; M+3

на графике функции плотности вероятности,  - среднее квадратическое отклонение.

>> A= 2;

>> B= 2;

>> X= -0.2:0.01:1.1;

>> Y= betapdf(X,A,B);

>> plot(X,Y)

>> grid on

>> [M,V] = betastat(A,B)

M =

    0.5000

V =

    0.0500

>> sigma=sqrt(V)

sigma =

    0.2236

>> H1=line ([M-3*sigma M-3*sigma], [0 betapdf((M-3*sigma),A,B)+0.1]);

>> set(H1,'Color','m')

>> H2=line ([M-2*sigma M-2*sigma], [0 betapdf((M-2*sigma),A,B)+0.1]);

>> set(H2,'Color','g')

>> H3=line ([M-sigma M-sigma], [0 betapdf((M-sigma),A,B)+0.1]);

>> set(H3,'Color','c')

>> H4=line ([M M], [0 betapdf((M),A,B)+0.1]);

>> set(H4,'LineWidth',3, 'Color','k')

>> H5=line ([M+sigma M+sigma], [0 betapdf((M+sigma),A,B)+0.1]);

>> set(H5,'Color','c')

>> H6=line ([M+2*sigma M+2*sigma], [0 betapdf((M+2*sigma),A,B)+0.1]);

>> set(H6,'Color','g')

>> H7=line ([M+3*sigma M+3*sigma], [0 betapdf((M+3*sigma),A,B)+0.1]);

>> set(H7,'Color','m')

 

 

 

Наверх

binostat - Биномиальное распределение

Синтаксис

[M,V] = binostat(N,P)

Описание

[M,V] = binostat(N,P) функция служит для расчета математического ожидания и дисперсии биномиального распределения с заданными параметрами N и P. Размерность векторов и матриц N и P должна быть одинаковой. Скалярный входной параметр увеличивается до матрицы постоянных значений с размерностью второго параметра. Размерность матриц математического ожидания M и дисперсии V равна размерности входных параметров.

 

Математическое ожидание M биномиального распределения с заданными параметрами N и P определяется по формуле

Дисперсия V биномиального распределения с заданными параметрами N и P определяется по формуле

где P - вероятность появления события в одном испытании, Q - вероятность обратного события в одном опыте, Q=1-P.

Примеры использования функции оценки математического ожидания и дисперсии

 

Расчет математического ожидания и дисперсии биномиального распределения для пары параметров N и P.

>> N=10

N =

     10

>> P=0.2

P =

     0.2

>> [M,V] = binostat(N,P)

M =

    2

V =

    1.6000

  

Расчет математического ожидания и дисперсии биномиального распределения для матриц параметров N и P.

>> N=[10 20 30; 40 50 60]

N =

     10     20     30

     40     50     60

>> P=[0.2 0.3 0.4; 0.5 0.6 0.7]

P =

    0.2000    0.3000    0.4000

    0.5000    0.6000    0.7000

>> [M,V] = binostat(N,P)

M =

     2     6    12

    20    30    42

V =

     1.6000     4.2000     7.2000

   10.0000   12.0000   12.6000

   

Расположение математического ожидания M и интервалов [M-; M+], [M-2; M+2], [M-3; M+3

на графике функции плотности вероятности,  - среднее квадратическое отклонение.

 

>> N=50;

>> P=0.2;

>> X= 0:1:30;

>> Y= binopdf(X,N,P);

>> plot(X,Y)

>> grid on

>> [M,V] = binostat(N,P)

M =

    10

V =

     8

>> sigma=sqrt(V)

sigma =

    2.8284

>> H1=line ([M-3*sigma M-3*sigma], [0 binopdf(floor(M-3*sigma),N,P)+0.01]);

>> set(H1,'Color','m')

>> H2=line ([M-2*sigma M-2*sigma], [0 binopdf(floor(M-2*sigma),N,P)+0.01]);

>> set(H2,'Color','g')

>> H3=line ([M-sigma M-sigma], [0 binopdf(floor(M-sigma),N,P)+0.01]);

>> set(H3,'Color','c')

>> H4=line ([M M], [0 binopdf(M,N,P)+0.01]);

>> set(H4,'LineWidth',2, 'Color','k')

>> H5= line ([M+sigma M+sigma], [0 binopdf(floor(M+sigma),N,P)+0.01]);

>> set(H5,'Color','c')

>> H6=line ([M+2*sigma M+2*sigma], [0 binopdf(floor(M+2*sigma),N,P)+0.01]);

>> set(H6,'Color','g')

>> H7=line ([M+3*sigma M+3*sigma], [0 binopdf(floor(M+3*sigma),N,P)+0.01]);

>> set(H7,'Color','m')

 

 

Наверх

chi2stat - Функция распределения хи-квадрат

Синтаксис:

[M,V] = chi2stat(NU)

Описание : 

[M,V] = chi2stat(NU) функция служит для расчета математического ожидания и дисперсии распределения хи-квадрат с заданным числом степеней свободы NU.

 

Математическое ожидание распределения хи-квадрат равно M=NU. Дисперсия определяется как V=2*NU

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии распределения хи-квадрат для параметра NU.

>> NU=10

NU =

     10

>> [M,V] = chi2stat(NU)

M =

    10

V =

    20

  

Расчет математического ожидания и дисперсии распределения хи-квадрат для матрицы параметра NU.

>> NU=[10 20 30; 40 50 60]

NU =

     10     20     30

     40     50     60

>> [M,V] = chi2stat(NU)

M =

    10    20    30

    40    50    60

V =

    20    40    60

    80   100   120

  

Расположение математического ожидания M и интервалов [M-; M+], [M-2; M+2], 

[M-3; M+3] на графике функции плотности вероятности,  - среднее квадратическое отклонение.

 

>> NU=10;

>> X= 0:0.01:30;

>> Y= chi2pdf(X,NU);

>> plot(X,Y)

>> grid on

>> [M,V] = chi2stat(NU)

M =

    10

V =

    20

>> sigma=sqrt(V)

sigma =

    4.4721

>> H=line ([M M], [0 chi2pdf(M,NU)+0.01]);

>> set(H,'LineWidth',3, 'Color','k')

>> H1=line ([M-sigma M-sigma], [0 chi2pdf(M-sigma,NU)+0.01]);

>> set(H1,'Color','c')

>> H2=line ([M+sigma M+sigma], [0 chi2pdf(M+sigma,NU)+0.01]);

>> set(H2,'Color','c')

>> H3=line ([M-2*sigma M-2*sigma], [0 chi2pdf(M-2*sigma,NU)+0.01]);

>> set(H3,'Color','m')

>> H4=line ([M+2*sigma M+2*sigma], [0 chi2pdf(M+2*sigma,NU)+0.01]);

>> set(H4,'Color','m')

>> H5=line ([M-3*sigma M-3*sigma], [0 chi2pdf(M-3*sigma,NU)+0.01]);

>> set(H5,'Color','g')

>> H6=line ([M+3*sigma M+3*sigma], [0 chi2pdf(M+3*sigma,NU)+0.01]);

>> set(H6,'Color','g')

 

 

Наверх

expstat - Экспоненциальное распределение

Синтаксис:

[M,V] = expstat(MU)

Описание:

[M,V] = expstat(MU) функция служит для расчета математического ожидания и дисперсии экспоненциального распределения с заданным параметром MU.

Математическое ожидание экспоненциального распределения равно M=MU. Дисперсия определяется как V=MU2.

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии экспоненциального распределения для параметра MU.

>> MU=1
MU =
     1
>> [M,V] = expstat(MU)
M =
    1
V =
    1
 
Расчет математического ожидания и дисперсии экспоненциального распределения для матрицы параметра MU.

>> MU=[1 2 3; 4 5 6]
N =
     10     20     30
     40     50     60
>> [M,V] = expstat(MU)
M =
     1     2     3
     4     5     6
V =
     1     4     9
    16    25    36
 
Расположение математического ожидания M и значений (M-); (M+); (M+2); (M+3)
на графике функции плотности вероятности,  - среднее квадратическое отклонение.

>> MU=10;
>> X= 0:0.01:30;
>> Y= exppdf(X,MU);
>> plot(X,Y)
>> grid on
>> [M,V] = expstat(MU)
M =
    10
V =
   100
>> sigma=sqrt(V)
sigma =
    10
>> H=line ([M M], [0 exppdf(M,MU)+0.01]);
>> set(H,'LineWidth',3, 'Color','k')
>> H1=line ([M-sigma M-sigma], [0 exppdf(M-sigma,MU)+0.01]);
>> set(H1,'Color','c')
>> H2=line ([M+sigma M+sigma], [0 exppdf(M+sigma,MU)+0.01]);
>> set(H2,'Color','c')
>> H3=line ([M+2*sigma M+2*sigma], [0 exppdf(M+2*sigma,MU)+0.01]);
>> set(H3,'Color','m')
>> H4=line ([M+3*sigma M+3*sigma], [0 exppdf(M+3*sigma,MU)+0.01]);
>> set(H4,'Color','g')

 

 

Наверх

fstat - Распределение Фишера

Синтаксис:

[M,V] = fstat(V1,V2)

Описание:

[M,V] = fstat(V1,V2) функция служит для расчета математического ожидания и дисперсии F распределения с заданными параметрами V1 и V2. Размерность векторов и матриц V1 и V2 должна быть одинаковой. Скалярный входной параметр увеличивается до матрицы постоянных значений с размерностью второго параметра. Размерность матриц математического ожидания M и дисперсии V равна размерности входных параметров.

 

Математическое ожидание F распределения с заданными параметрами V1 и V2 определяется по формуле

Дисперсия F распределения с заданными параметрами V1 и V2 определяется по формуле

 

Математическое ожидание F распределения не существует при V2<3. Дисперсия не определена при V2<5.

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии F распределения для пары параметров V1 и V2.

 

>> V1=10

V1 =

     10

>> V2=20

V2 =

     2

>> [M,V] = fstat(V1,V2)

M =

    1.1111

V =

    0.4321

  

Расчет математического ожидания и дисперсии F распределения для матриц параметров V1 и V2.

>> V1=[1 2 3; 4 5 6]

V1 =

     1     2     3

     4     5     6

>> V2=[2 3 4; 5 6 7]

V2 =

     2     3     4

     5     6     7

>> [M,V] = fstat(V1,V2)

M =

       NaN    3.0000    2.0000

    1.6667    1.5000    1.4000

V =

       NaN       NaN       NaN

    9.7222    4.0500    2.3956

  

Расположение математического ожидания M и значений (M-); (M+); (M+2); (M+3

на графике функции плотности вероятности,  - среднее квадратическое отклонение.

 

>> V1= 5;

>> V2= 8;

>> X= 0:0.01:8;

>> Y= fpdf(X,V1,V2);

>> plot(X,Y)

>> grid on

>> [M,V] = fstat(V1,V2)

M =

    1.3333

V =

    1.9556

>> sigma=sqrt(V)

sigma =

   1.3984

>> H1=line ([M-sigma M-sigma], [0 fpdf((M-sigma), V1,V2)+0.1]);

>> set(H1,'Color','c')

>> H2=line ([M M], [0 fpdf((M),V1,V2)+0.1]);

>> set(H2,'LineWidth',3, 'Color','k')

>> H3=line ([M+sigma M+sigma], [0 fpdf((M+sigma),V1,V2)+0.1]);

>> set(H3,'Color','c')

>> H4=line ([M+2*sigma M+2*sigma], [0 fpdf((M+2*sigma),V1,V2)+0.1]);

>> set(H4,'Color','g')

>> H5=line ([M+3*sigma M+3*sigma], [0 fpdf((M+3*sigma),V1,V2)+0.1]);

>> set(H5,'Color','m')

 

 

Наверх

gamstat - Гамма распределение

Синтаксис

[M,V] = gamstat(A,B)

Описание

[M,V] = gamstat(A,B) функция служит для расчета математического ожидания и дисперсии Гамма распределения с заданными параметрами A и B. Размерность векторов и матриц A и B должна быть одинаковой. Скалярный входной параметр увеличивается до матрицы постоянных значений с размерностью второго параметра. Размерность матриц математического ожидания M и дисперсии V равна размерности входных параметров.

 

Математическое ожидание Гамма распределения с заданными параметрами A и B определяется по формуле

Дисперсия Гамма распределения с заданными параметрами A и B определяется по формуле

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии Гамма распределения для пары параметров А и В.

 

>> A=1

A =

     1

>> B=2

B =

     2

>> [M,V] = gamstat(A,B)

M =

    2

V =

    4

  

Расчет математического ожидания и дисперсии Гамма распределения для матриц параметров А и В.

>> A=[1 2 3; 4 5 6]

A =

     1     2     3

     4     5     6

>> B=[2 3 4; 5 6 7]

B =

     2     3     4

     5     6     7

>> [M,V] = gamstat(A,B)

M =

     2     6    12

    20    30    42

V =

     4    18    48

   100   180   294

   

Расположение математического ожидания M и значений (M-); (M+); (M+2); (M+3

на графике функции плотности вероятности,  - среднее квадратическое отклонение.

 

>> A= 1;

>> B= 2;

>> X= -0.1:0.01:10;

>> Y= gampdf(X,A,B);

>> plot(X,Y)

>> grid on

>> [M,V] = gamstat(A,B)

M =

    2

V =

    4

>> sigma=sqrt(V)

sigma =

    2

>> H=line ([M M], [0 gampdf((M),A,B)+0.1]);

>> set(H,'LineWidth',3, 'Color','k')

>> H1=line ([M-sigma M-sigma], [0 gampdf((M-sigma),A,B)+0.1]);

>> set(H1,'Color','c')

>> H2=line ([M+sigma M+sigma], [0 gampdf((M+sigma),A,B)+0.1]);

>> set(H2,'Color','c')

>> H3=line ([M+2*sigma M+2*sigma], [0 gampdf((M+2*sigma),A,B)+0.1]);

>> set(H3,'Color','g')

>> H4=line ([M+3*sigma M+3*sigma], [0 gampdf((M+3*sigma),A,B)+0.1]);

>> set(H4,'Color','m')

 

 

Наверх

geostat - Геометрическое распределение

Синтаксис

[M,V] = geostat(P)

Описание

[M,V] = geostat(P) функция служит для расчета математического ожидания и дисперсии геометрического распределения с заданным параметром P. Размерность векторов или матриц M и V совпадает размерностью входного параметра.

 

Математическое ожидание геометрического распределения равно . Дисперсия определяется как .

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии геометрического распределения для параметра P.

 

>> P=0.1

P =

     0.1

>> [M,V] = geostat(P)

M =

    9

V =

    90

  

Расчет математического ожидания и дисперсии геометрического распределения для матрицы параметра P.

>> P=[0.1 0.2 0.3; 0.4 0.5 0.6]

P =

    0.1000    0.2000    0.3000

    0.4000    0.5000    0.6000

>> [M,V] = geostat(P)

M =

    9.0000    4.0000    2.3333

    1.5000    1.0000    0.6667

V =

   90.0000   20.0000    7.7778

    3.7500    2.0000      1.1111

  

Расположение математического ожидания M и значений (M-); (M+); (M+2); (M+3

на графике функции плотности вероятности,  - среднее квадратическое отклонение.

 

>> P=0.1;

>> X= 0:1:40;

>> Y= geopdf(X,P);

>> plot(X,Y)

>> grid on

>> [M,V] = geostat(P)

M =

    9

V =

    90

>> sigma=sqrt(V)

sigma =

  9.4868

>> H=line ([M M], [0 geopdf(M,P)+0.01]);

>> set(H,'LineWidth',3, 'Color','k')

>> H1=line ([M-sigma M-sigma], [0 geopdf(floor(M-sigma),P)+0.01]);

>> set(H1,'Color','c')

>> H2=line ([M+sigma M+sigma], [0 geopdf(floor(M+sigma),P)+0.01]);

>> set(H2,'Color','c')

>> H3=line ([M+2*sigma M+2*sigma], [0 geopdf(floor(M+2*sigma),P)+0.01]);

>> set(H3,'Color','m')

>> H4=line ([M+3*sigma M+3*sigma], [0 geopdf(floor(M+3*sigma),NU)+0.01]);

>> set(H4,'Color','g')

 

 

Наверх

hygestat - Гипергеометрическое распределение

Синтаксис

[M,V] = hygestat(M,K,N)

Описание

[M,V] = hygestat(M,K,N) функция служит для расчета математического ожидания и дисперсии гипергеометрического распределения с заданными параметрами M, K и N. Размерность векторов и матриц M, K и N должна быть одинаковой. Скалярный входной параметр увеличивается до матрицы постоянных значений с размерностью остальных параметров. Размерность матриц математического ожидания M и дисперсии V равна размерности входных параметров.

 

Математическое ожидание гипергеометрического распределения с заданными параметрами M, K и N определяется по формуле

Дисперсия гипергеометрического распределения с заданными параметрами M, K и N определяется по формуле

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии гипергеометрического распределения для сочетания значений параметров M, K ,N.

 

>> M=10

M =

     10

>> N=5

N =

     5

>> K=3

K =

     3

>> [M,V] = hygestat(M,K,N)

M =

    1.5000

V =

    0.5833

  

Расчет математического ожидания и дисперсии гипергеометрического распределения для матриц параметров M, K ,N.

>> M=[20 30; 40 50]

M =

    20    30

    40    50

>> N=[10 20; 30 40]

N =

    10    20

    30    40

>> K=[3 5; 7 9]

K =

     3     5

     7     9

>> [M,V] = hygestat(M,K,N)

M =

    1.5000    3.3333

    5.2500    7.2000

V =

    0.6711    0.9579

    1.1106    1.2049

  

Расположение математического ожидания M и значений (M-); (M+); (M+2); (M+3

на графике функции плотности вероятности,  - среднее квадратическое отклонение.

 

>> M=100;

>> N=50;

>> K=40;

>> X=0:1:40;

>> Y= hygepdf(X,M,K,N);

>> plot(X,Y)

>> grid on

>> [Mx,V] = hygestat(M,K,N)

Mx=

    20

V =

    6.0606

>> sigma=sqrt(V)

sigma =

     2.4618

>> H=line ([Mx Mx], [0 hygepdf(Mx,M,K,N)+0.01]);

>> set(H,'LineWidth',3, 'Color','k')

>> H1=line ([Mx-sigma Mx-sigma], [0 hygepdf(floor(Mx-sigma),M,K,N)+0.01]);

>> set(H1,'Color','c')

>> H2=line ([Mx+sigma Mx+sigma], [0 hygepdf(floor(Mx+sigma),M,K,N)+0.01]);

>> set(H2,'Color','c')

>> H3=line ([Mx+2*sigma Mx+2*sigma], [0 hygepdf(floor(Mx+2*sigma),M,K,N)+0.01]);

>> set(H3,'Color','m')

>> H4=line([Mx+3*sigma Mx+3*sigma], [0 hygepdf(floor(Mx+3*sigma),M,K,N)+0.01]);

>> set(H4,'Color','g')

>> H5=line ([Mx-2*sigma Mx-2*sigma], [0 hygepdf(floor(Mx-2*sigma),M,K,N)+0.01]);

>> set(H5,'Color','m')

>> H6=line([Mx-3*sigma Mx-3*sigma], [0 hygepdf(floor(Mx-3*sigma),M,K,N)+0.01]);

>> set(H6,'Color','g')

 

 

Наверх

lognstat - Логнормальное распределение

Синтаксис

[M,V] = lognstat(MU,SIGMA)

Описание

[M,V] = lognstat(MU,SIGMA) функция служит для расчета математического ожидания и дисперсии логнормального распределения с заданными параметрами MU и SIGMA. Размерность векторов и матриц MU и SIGMA должна быть одинаковой. Скалярный входной параметр увеличивается до матрицы постоянных значений с размерностью второго параметра. Размерность матриц математического ожидания M и дисперсии V равна размерности входных параметров.

 

Математическое ожидание логнормального распределения с заданными параметрами MU и SIGMA определяется по формуле

Дисперсия логнормального распределения с заданными параметрами MU и SIGMA определяется по формуле

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии логнормального распределения для пары параметров MU и SIGMA.

>> MU=0

MU =

     0

>> SIGMA =1

SIGMA =

     1

>> [M,V] = lognstat(MU,SIGMA)

M =

    1.6487

V =

    4.6708

  

Расчет математического ожидания и дисперсии логнормального распределения для матриц параметров MU и SIGMA.

 

>> MU =[1 2 3; 4 5 6]

MU =

     1     2     3

     4     5     6

>> SIGMA=[2 3 4; 5 6 7]

SIGMA =

     2     3     4

     5     6     7

>> [M,V] = lognstat(MU,SIGMA)

M =

  1.0e+013 *

    0.0000    0.0000    0.0000

    0.0000    0.0010    1.7619

V =

  1.0e+047 *

    0.0000    0.0000    0.0000

    0.0000    0.0000    5.9210

  

Расположение математического ожидания M и значений (M-); (M+); (M+2); (M+3

на графике функции плотности вероятности,  - среднее квадратическое отклонение.

>> MU=0;

>> SIGMA =1;

>> X= 0:0.01:8;

>> Y= lognpdf(X, MU, SIGMA);

>> plot(X,Y)

>> grid on

>> [M,V] = lognstat(MU,SIGMA)

M =

   1.6487

V =

    4.6708

>> s=sqrt(V)

s =

   2.1612

>> H1=line ([M-s M-s], [0 0.1]);

>> set(H1,'Color','c')

>> H2=line([M M], [0 lognpdf(M,MU,SIGMA)+0.1]);

>> set(H2,'LineWidth',3, 'Color','k')

>> H3= line ([M+s M+s], [0 lognpdf(M+s,MU,SIGMA)+0.1]);

>> set(H3,'Color','c')

>> H4= line ([M+2*s M+2*s], [0 lognpdf(M+2*s,MU,SIGMA)+0.1]);

>> set(H4,'Color','g')

>> H5= line ([M+3*s M+3*s], [0 lognpdf(M+3*s,MU,SIGMA)+0.1]);

>> set(H5,'Color','m')

 

 

 

Наверх

nbinstat - Отрицательное биномиальное распределение

Синтаксис

[M,V] = nbinstat(R,P)

Описание

[M,V] = nbinstat(R,P) функция служит для расчета математического ожидания и дисперсии отрицательного биномиального распределения с заданными параметрами R и P. Размерность векторов и матриц R и P должна быть одинаковой. Скалярный входной параметр увеличивается до матрицы постоянных значений с размерностью второго параметра. Размерность матриц математического ожидания M и дисперсии V равна размерности входных параметров.

 

Математическое ожидание M отрицательного биномиального распределения с заданными параметрами R и P определяется по формуле

где P - вероятность появления события в одном испытании, Q - вероятность обратного события в одном опыте, Q=1-P.

Дисперсия V отрицательного биномиального распределения с заданными параметрами R и P определяется по формуле

Примеры использования функции оценки математического ожидания и дисперсии

 

Расчет математического ожидания и дисперсии отрицательного биномиального распределения для пары параметров R и P.

>> R=1

R =

     1

>> P=0.2

P =

    0.2000

>> [M,V] = nbinstat(R,P)

M =

     4

V =

   20.0000

   

Расчет математического ожидания и дисперсии отрицательного биномиального распределения для матриц параметров R и P.

>> R=[1 2 3; 4 5 6]

R =

     1     2     3

     4     5     6

>> P=[0.2 0.3 0.4; 0.5 0.6 0.7]

P =

    0.2000    0.3000    0.4000

    0.5000    0.6000    0.7000

>> [M,V] = nbinstat(R,P)

M =

    4.0000    4.6667    4.5000

    4.0000    3.3333    2.5714

V =

   20.0000   15.5556   11.2500

    8.0000    5.5556    3.6735

  

Расположение математического ожидания M и интервалов [M-; M+], [M-2; M+2], [M-3; M+3] на графике функции 

плотности вероятности,  - среднее квадратическое отклонение.

 

>> R=10;

>> P=0.5;

>> X= 0:1:30;

>> Y= nbinpdf(X,R,P);

>> plot(X,Y)

>> grid on

>> [M,V] = nbinstat(R,P)

M =

    10

V =

     20

>> sigma=sqrt(V)

sigma =

    4.4721

>> H1=line ([M-3*sigma M-3*sigma], [0 nbinpdf(floor(M-3*sigma),R,P)+0.01]);

>> set(H1,'Color','m')

>> H2=line ([M-2*sigma M-2*sigma], [0 nbinpdf(floor(M-2*sigma),R,P)+0.01]);

>> set(H2,'Color','g')

>> H3=line ([M-sigma M-sigma], [0 nbinpdf(floor(M-sigma),R,P)+0.01]);

>> set(H3,'Color','c')

>> H4=line ([M M], [0 nbinpdf(M,R,P)+0.01]);

>> set(H4,'LineWidth',2, 'Color','k')

>> H5= line ([M+sigma M+sigma], [0 nbinpdf(floor(M+sigma),R,P)+0.01]);

>> set(H5,'Color','c')

>> H6=line ([M+2*sigma M+2*sigma], [0 nbinpdf(floor(M+2*sigma),R,P)+0.01]);

>> set(H6,'Color','g')

>> H7=line ([M+3*sigma M+3*sigma], [0 nbinpdf(floor(M+3*sigma),R,P)+0.01]);

>> set(H7,'Color','m')

 

 

Наверх

ncfstat - Смещенное распределение Фишера

Синтаксис

[M,V] = ncfstat(NU1,NU2,DELTA)

Описание

[M,V] = ncfstat(NU1,NU2,DELTA) функция служит для расчета математического ожидания и дисперсии смещенного F распределения с заданными параметрами NU1, NU2 и DELTA. Размерность векторов и матриц NU1, NU2 и DELTA должна быть одинаковой. Скалярный входной параметр увеличивается до матрицы постоянных значений с размерностью остальных параметров. Размерность матриц математического ожидания M и дисперсии V равна размерности входных параметров.

 

Математическое ожидание смещенного F распределения с заданными параметрами NU1, NU2 и DELTA определяется по формуле

Дисперсия смещенного F распределения с заданными параметрами NU1, NU2 и DELTA определяется по формуле

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии смещенного F распределения для сочетания значений параметров NU1, NU2 и DELTA.

>> NU1=8

NU1 =

     8

>> NU2=5

NU2 =

     5

>> DELTA =1

DELTA =

     1

>> [M,V] = ncfstat(NU1,NU2,DELTA)

M =

    1.8750

V =

    9.6354

  

Расчет математического ожидания и дисперсии смещенного F распределения для матриц параметров NU1, NU2 и DELTA.

 

>> NU1=[20 30; 40 50]

NU1 =

    20    30

    40    50

>> NU2=[10 20; 30 40]

NU2 =

    10    20

    30    40

>> DELTA=[3 5; 7 9]

DELTA =

     3     5

     7     9

>> [M,V] = ncfstat(NU1,NU2,DELTA)

M =

    1.4375    1.2963

    1.2589    1.2421

V =

    0.9596    0.3335

    0.2054    0.1493

  

Расположение математического ожидания M и значений (M-); (M+); (M+2); (M+3) на графике 

функции плотности вероятности,  - среднее квадратическое отклонение.

>> DELTA=5;

>> NU1=10;

>> NU2=20;

>> X= 0:0.01:6;

>> Y= ncfpdf(X,NU1,NU2,DELTA);

>> plot(X,Y)

>> grid on

>>[M,V] = ncfstat(NU1,NU2,DELTA)

M =

    1.6667

V =

    0.9028

>> sigma=sqrt(V)

sigma =

    0.9501

>> H1=line ([M-sigma M-sigma], [0 ncfpdf((M-sigma),NU1,NU2,DELTA)+0.1]);

>> set(H1,'Color','c')

>> H2=line ([M M], [0 ncfpdf((M),NU1,NU2,DELTA)+0.1]);

>> set(H2,'LineWidth',3, 'Color','k')

>> H3=line ([M+sigma M+sigma], [0 ncfpdf((M+sigma),NU1,NU2,DELTA)+0.1]);

>> set(H3,'Color','c')

>> H4=line ([M+2*sigma M+2*sigma], [0 ncfpdf((M+2*sigma),NU1,NU2,DELTA)+0.1]);

>> set(H4,'Color','g')

>> H5=line ([M+3*sigma M+3*sigma], [0 ncfpdf((M+3*sigma),NU1,NU2,DELTA)+0.1]);

>> set(H5,'Color','m')

 

 

 

Наверх

nctstat - Смещенное распределение Стьюдента

Синтаксис

[M,V] = nctstat(NU,DELTA)

Описание

[M,V] = nctstat(NU,DELTA) функция служит для расчета математического ожидания и дисперсии смещенного t распределения с заданными параметрами числа степеней свободы NU и параметра смещения DELTA. Размерность векторов и матриц NU, DELTA должна быть одинаковой. Скалярный входной параметр увеличивается до матрицы постоянных значений с размерностью второго параметра. Размерность матриц математического ожидания M и дисперсии V равна размерности входных параметров.

 

Математическое ожидание M смещенного t распределения с заданными параметрами NU и DELTA определяется по формуле

при условии, что число степеней свободы NU>1.

Дисперсия V смещенного t распределения с заданными параметрами NU и DELTA определяется по формуле

при условии, что число степеней свободы NU>2.

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии смещенного t распределения для сочетания значений параметров NU, DELTA.

 

>> NU=8

NU =

     8

>> DELTA =1

DELTA =

     1

>>[M,V] = nctstat(NU,DELTA)

M =

    1.1078

V =

    1.4395

  

Расчет математического ожидания и дисперсии смещенного t распределения для матриц параметров NU, DELTA.

>> NU=[10 20; 30 40]

NU =

    10    20

    30    40

>> DELTA=[3 5; 7 9]

DELTA =

     3     5

     7     9

>>[M,V] = nctstat(NU,DELTA)

M =

    3.2512    5.1978

    7.1813    9.1733

V =

    1.9299    1.8717

    2.0004    2.1670

  

Расположение математического ожидания M и значений (M-3); (M-2); (M-); (M+); (M+2); (M+3) на графике функции 

плотности вероятности,  - среднее квадратическое отклонение.

 

>> DELTA=5;

>> NU=10;

>> X=1:0.01:15;

>> Y= nctpdf(X,NU,DELTA);

>> plot(X,Y)

>> grid on

>>[M,V] = nctstat(NU,DELTA)

M =

   5.4186

V =

   3.1386

>> sigma=sqrt(V)

sigma =

    1.7716

>> H1=line ([M-3*sigma M-3*sigma], [0 nctpdf((M-3*sigma),NU,DELTA)+0.02]);

>> set(H1,'Color','m')

>> H2=line ([M-2*sigma M-2*sigma], [0 nctpdf((M-2*sigma),NU,DELTA)+ 0.02]);

>> set(H2,'Color','g')

>> H3=line ([M-sigma M-sigma], [0 nctpdf((M-sigma),NU,DELTA)+0.02]);

>> set(H3,'Color','c')

>> H4=line ([M M], [0 nctpdf((M),NU,DELTA)+0.02]);

>> set(H4,'LineWidth',3, 'Color','k')

>> H5=line ([M+sigma M+sigma], [0 nctpdf((M+sigma),NU,DELTA)+0.02]);

>> set(H5,'Color','c')

>> H6=line ([M+2*sigma M+2*sigma], [0 nctpdf((M+2*sigma),NU,DELTA)+0.02]);

>> set(H6,'Color','g')

>> H7=line ([M+3*sigma M+3*sigma], [0 nctpdf((M+3*sigma),NU,DELTA)+0.02]);

>> set(H7,'Color','m')

 

 

Наверх

ncx2stat - математического ожидания и дисперсии смещенного хи-квадрат распределения по заданным параметрам

Синтаксис

[M,V] = ncx2stat(NU,DELTA)

Описание

[M,V] = ncx2stat(NU,DELTA) функция служит для расчета математического ожидания и дисперсии смещенного хи-квадрат распределения с заданными параметрами числа степеней свободы NU и параметра смещения DELTA. Размерность векторов и матриц NU, DELTA должна быть одинаковой. Скалярный входной параметр увеличивается до матрицы постоянных значений с размерностью второго параметра. Размерность матриц математического ожидания M и дисперсии V равна размерности входных параметров.

 

Математическое ожидание M смещенного хи-квадрат распределения с заданными параметрами NU и DELTA определяется по формуле

M=DELTA+NU

Дисперсия V смещенного хи-квадрат распределения с заданными параметрами NU и DELTA определяется по формуле

V=2*(NU+2*DELTA)2

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии смещенного хи-квадрат распределения для сочетания значений

параметров NU, DELTA.

 

>> NU=5

NU =

     5

>> DELTA =2

DELTA =

     2

>>[M,V] = ncx2stat (NU,DELTA)

M =

    7

V =

    18

  

Расчет математического ожидания и дисперсии смещенного хи-квадрат распределения для матриц параметров NU, DELTA.

 

>> NU=[10 20; 30 40]

NU =

    10    20

    30    40

>> DELTA=[1 2; 3 4]

DELTA =

     3     5

     7     9

>>[M,V] = ncx2stat (NU,DELTA)

M =

    11    22

    33    44

V =

    24    48

    72    96

  

Расположение математического ожидания M и значений (M-3); (M-2); (M-); (M+); (M+2); (M+3) на графике функции 

плотности вероятности,  - среднее квадратическое отклонение.

 

>> DELTA=5;

>> NU=10;

>> X=1:0.01:15;

>> Y= ncx2pdf(X,NU,DELTA);

>> plot(X,Y)

>> grid on

>>[M,V] = ncx2stat(NU,DELTA)

M =

   15

V =

   40

>> sigma=sqrt(V)

sigma =

   6.3246

>> H1=line ([M-3*sigma M-3*sigma], [0 ncx2pdf((M-3*sigma),NU,DELTA)+0.02]);

>> set(H1,'Color','m')

>> H2=line ([M-2*sigma M-2*sigma], [0 ncx2pdf((M-2*sigma),NU,DELTA)+ 0.02]);

>> set(H2,'Color','g')

>> H3=line ([M-sigma M-sigma], [0 ncx2pdf((M-sigma),NU,DELTA)+0.02]);

>> set(H3,'Color','c')

>> H4=line ([M M], [0 ncx2pdf((M),NU,DELTA)+0.02]);

>> set(H4,'LineWidth',3, 'Color','k')

>> H5=line ([M+sigma M+sigma], [0 ncx2pdf((M+sigma),NU,DELTA)+0.02]);

>> set(H5,'Color','c')

>> H6=line ([M+2*sigma M+2*sigma], [0 ncx2pdf((M+2*sigma),NU,DELTA)+0.02]);

>> set(H6,'Color','g')

>> H7=line ([M+3*sigma M+3*sigma], [0 ncx2pdf((M+3*sigma),NU,DELTA)+0.02]);

>> set(H7,'Color','m')

 

 

Наверх

normstat - Нормальное распределение

Синтаксис

[M,V] = normstat(MU,SIGMA)

Описание

[M,V] = normstat(MU,SIGMA) функция служит для расчета математического ожидания и дисперсии нормального закона с заданными параметрами математическим ожиданием MU и средним квадратическим отклонением SIGMA. Размерность векторов и матриц MU, SIGMA должна быть одинаковой. Скалярный входной параметр увеличивается до матрицы постоянных значений с размерностью второго параметра. Размерность матриц математического ожидания M и дисперсии V равна размерности входных параметров.

 

Математическое ожидание нормального закона равно M=MU, дисперсия определяется как

V=SIGMA2.

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии нормального закона для пары параметров MU и SIGMA.

 

>> MU=0

MU =

     0

>> SIGMA =1

SIGMA =

     1

>> [M,V] = normstat(MU,SIGMA)

M =

    0

V =

    1

  

Расчет математического ожидания и дисперсии нормального закона для матриц параметров MU и SIGMA.

>> MU =[0 1 2; 3 4 5]

MU =

     0     1     2

     3     4     5

>> SIGMA=[1 2 3; 4 5 6]

SIGMA =

     1     2     3

     4     5     6

>> [M,V] = normstat(MU,SIGMA)

M =

     0     1     2

     3     4     5

V =

     1     4     9

    16    25    36

  

Расположение математического ожидания M и значений (M-3); (M-2); (M-); (M+); (M+2); (M+3) на графике функции 

плотности вероятности,  - среднее квадратическое отклонение.

 

>> MU=0;

>> SIGMA =1;

>> X= -4:0.01:4;

>> Y= normpdf(X, MU, SIGMA);

>> plot(X,Y)

>> grid on

>> [M,V] = normstat(MU,SIGMA)

M =

   0

V =

    1

>> s=sqrt(V)

s =

   1

>> H1= line ([M-3*s M-3*s], [0 normpdf(M-3*s,MU,SIGMA)+0.01]);

>> set(H1,'Color','g')

>> H2= line ([M-2*s M-2*s], [0 normpdf(M-2*s,MU,SIGMA)+0.01]);

>> set(H2,'Color','m')

>> H3=line ([M-s M-s], [0 normpdf(M-s,MU,SIGMA)+0.01]);

>> set(H3,'Color','c')

>> H4=line([M M], [0 normpdf(M,MU,SIGMA)+0.01]);

>> set(H4,'LineWidth',3, 'Color','k')

>> H5=line ([M+s M+s], [0 normpdf(M+s,MU,SIGMA)+0.01]);

>> set(H5,'Color','c')

>> H6= line ([M+2*s M+2*s], [0 normpdf(M+2*s,MU,SIGMA)+0.01]);

>> set(H6,'Color','m')

>> H7= line ([M+3*s M+3*s], [0 normpdf(M+3*s,MU,SIGMA)+0.01]);

>> set(H7,'Color','g')

 

 

Наверх

poisstat - Распределение Пуассона

Синтаксис

[M,V] = poisstat(LAMBDA)

Описание

[M,V] = poisstat(LAMBDA) функция служит для расчета математического ожидания и дисперсии распределения Пуассона с заданным параметром LAMBDA. Размерность векторов или матриц M и V совпадает с размерностью входного параметра.

 

Для распределения Пуассона математическое ожидание и дисперсия равны M=V=LAMBDA .

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии распределения Пуассона для параметра LAMBDA.

>> LAMBDA =1

LAMBDA =

     1

>> [M,V] = poisstat(LAMBDA)

M =

    1

V =

    1

  

Расчет математического ожидания и дисперсии распределения Пуассона для матрицы параметра LAMBDA.

 

>> LAMBDA=[1 2 3; 4 5 6]

LAMBDA =

     1     2     3

     4     5     6

>> [M,V] = poisstat(LAMBDA)

M =

     1     2     3

     4     5     6

V =

     1     2     3

     4     5     6

   

Расположение математического ожидания M и интервалов [M-; M+], [M-2; M+2], [M-3; M+3] на графике функции 

плотности вероятности,  - среднее квадратическое отклонение.

>> LAMBDA=10;

>> X= 0:1:25;

>> Y= poisspdf(X,LAMBDA);

>> plot(X,Y)

>> grid on

>> [M,V] = poisstat(LAMBDA)

M =

    10

V =

    10

>> sigma=sqrt(V)

sigma =

    3.1623

>> H=line ([M M], [0 poisspdf(M,LAMBDA)+0.1]);

>> set(H,'LineWidth',3, 'Color','k')

>> H1=line ([M-sigma M-sigma], [0 poisspdf(floor(M-sigma),LAMBDA)+0.05]);

>> set(H1,'Color','g')

>> H2=line ([M+sigma M+sigma], [0 poisspdf(floor(M+sigma),LAMBDA)+0.05]);

>> set(H2,'Color','g')

>> H3=line ([M-2*sigma M-2*sigma], [0 poisspdf(M-2*sigma, LAMBDA)+0.05]);

>> set(H3,'Color','m')

>> H4=line ([M+2*sigma M+2*sigma], [0 poisspdf(M+2*sigma,LAMBDA)+0.05]);

>> set(H4,'Color','m')

>> H5=line ([M-3*sigma M-3*sigma], [0 poisspdf(M-3*sigma,LAMBDA)+0.01]);

>> set(H5,'Color','c')

>> H6=line ([M+3*sigma M+3*sigma], [0 poisspdf(M+3*sigma, LAMBDA)+0.01]);

>> set(H6,'Color','c')

 

 

 

Наверх

raylstat - Распределение Релея

Синтаксис

[M,V] = raylstat(B)

Описание

[M,V] = raylstat(B) функция служит для расчета математического ожидания и дисперсии распределения Релея с заданным параметром B. Размерность векторов или матриц M и V совпадает с размерностью входного параметра.

 

Математическое ожидание распределения Релея с заданным параметром B определяется по формуле

Дисперсия распределения Релея с заданным параметром B определяется по формуле

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии распределения Релея для параметра B.

>> B =1

B =

     1

>> [M,V] = raylstat(B)

M =

    1.2533

V =

    0.4292

  

Расчет математического ожидания и дисперсии распределения Релея для матрицы параметра B.

 

>> B=[1 2 3; 4 5 6]

B =

     1     2     3

     4     5     6

>> [M,V] = raylstat(B)

M =

    1.2533    2.5066    3.7599

    5.0133    6.2666    7.5199

V =

    0.4292    1.7168    3.8628

    6.8673   10.7301   15.4513

  

Расположение математического ожидания M и значений (M-2); (M-); (M+); (M+2); (M+3) на графике функции

 плотности вероятности,  - среднее квадратическое отклонение.

 

>> B=1;

>> X=0:0.01:4;

>> Y= raylpdf(X,B);

>> plot(X,Y)

>> grid on

>> [M,V] = raylstat(B)

M =

   1.2533

V =

   0.4292

>> sigma=sqrt(V)

sigma =

    0.6551

>> H=line ([M M], [0 raylpdf(M,B)+0.05]);

>> set(H,'LineWidth',3, 'Color','k')

>> H1=line ([M-sigma M-sigma], [0 raylpdf((M-sigma,B)+0.05]);

>> set(H1,'Color','g')

>> H2=line ([M+sigma M+sigma], [0 raylpdf(M+sigma,B)+0.05]);

>> set(H2,'Color','g')

>> H3=line ([M-2*sigma M-2*sigma], [0 raylpdf(M-2*sigma, B)+0.05]);

>> set(H3,'Color','m')

>> H4=line ([M+2*sigma M+2*sigma], [0 raylpdf(M+2*sigma,B)+0.05]);

>> set(H4,'Color','m')

>> H5=line ([M+3*sigma M+3*sigma], [0 raylpdf(M+3*sigma, B)+0.05]);

>> set(H5,'Color','c')

 

 

Наверх

tstat - Распределение Стьюдента

Синтаксис

[M,V] = tstat(NU)

Описание

[M,V] = tstat(NU функция служит для расчета математического ожидания и дисперсии t распределения с заданным параметром NU. Размерность векторов или матриц M и V совпадает с размерностью входного параметра.

 

Математическое ожидание t распределения с заданным параметром NU равна M=NU при условии, что NU>1. Для NU1 математическое ожидание не определено. Дисперсия t распределения с заданным параметром NU определяется по формуле

при условии, что NU>2. Для NU2 дисперсия t распределения не определена.

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии распределения Стьюдента для параметра NU.

>> NU =10

NU =

    10

>> [M,V] = tstat(NU)

M =

     0

V =

    1.2500

  

Расчет математического ожидания и дисперсии распределения Стьюдента для матрицы параметра NU.

 

>> NU=[10 20 30; 40 50 60]

NU =

    10    20    30

    40    50    60

>> [M,V] = tstat(NU)

M =

     0     0     0

     0     0     0

V =

    1.2500    1.1111    1.0714

    1.0526    1.0417    1.0345

  

Расположение математического ожидания M и интервалов [M-; M+], [M-2; M+2], [M-3; M+3] на графике функции 

плотности вероятности,  - среднее квадратическое отклонение.

>> NU=10;

>> X=-5:0.01:5;

>> Y= tpdf(X,NU);

>> plot(X,Y)

>> grid on

>> [M,V] = tstat(NU)

M =

   0

V =

   1.2500

>> sigma=sqrt(V)

sigma =

    1.1180

>> H=line ([M M], [0 tpdf(M,NU)+0.05]);

>> set(H,'LineWidth',3, 'Color','k')

>> H1=line ([M-sigma M-sigma], [0 tpdf((M-sigma,NU)+0.05]);

>> set(H1,'Color','g')

>> H2=line ([M+sigma M+sigma], [0 tpdf(M+sigma,NU)+0.05]);

>> set(H2,'Color','g')

>> H3=line ([M-2*sigma M-2*sigma], [0 tpdf(M-2*sigma, NU)+0.05]);

>> set(H3,'Color','m')

>> H4=line ([M+2*sigma M+2*sigma], [0 tpdf(M+2*sigma,NU)+0.05]);

>> set(H4,'Color','m')

>> H5=line ([M-3*sigma M-3*sigma], [0 tpdf(M-3*sigma, NU)+0.05]);

>> set(H5,'Color','c')

>> H6=line ([M+3*sigma M+3*sigma], [0 tpdf(M+3*sigma, NU)+0.05]);

>> set(H6,'Color','c')

 

 

 

Наверх

unidstat - Дискретное равномерное распределение

Синтаксис

[M,V] = unidstat(N)

Описание

[M,V] = unidstat(N) ) функция служит для расчета математического ожидания и дисперсии дискретного равномерного распределения с заданным параметром N. Размерность векторов или матриц M и V совпадает размерностью входного параметра.

 

Математическое ожидание дискретного равномерного распределения с заданным параметром N определяется по формуле

Дисперсия дискретного равномерного распределения с заданным параметром N определяется по формуле

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии дискретного равномерного распределения для параметра N.

 

>> N =10

N =

    10

>> [M,V] = unidstat(N)

M =

    5.5000

V =

    8.2500

  

Расчет математического ожидания и дисперсии дискретного равномерного распределения для матрицы параметра N.

>> N=[10 20 30; 40 50 60]

N =

    10    20    30

    40    50    60

>> [M,V] = unidstat(N)

M =

     5.5000   10.5000   15.5000

   20.5000   25.5000   30.5000

V =

    8.2500     33.2500   74.9167

  133.2500  208.2500  299.9167

  

Расположение математического ожидания M и интервалов [M-; M+], [M-2; M+2] на графике 

функции плотности вероятности,  - среднее квадратическое отклонение.

 

>> N=20;

>> X= -2:1:22;

>> Y= unidpdf(X,N);

>> plot(X,Y,'-*')

>> grid on

>> [M,V] = unidstat(N)

M =

   10.5000

V =

  33.2500

>> sigma=sqrt(V)

sigma =

    5.7663

>> H=line ([M M], [0 unidpdf(floor(M),N)+0.005]);

>> set(H,'LineWidth',3, 'Color','k')

>> H1=line ([M-sigma M-sigma], [0 unidpdf(floor(M-sigma),N)+0.005]);

>> set(H1,'Color','g')

>> H2=line ([M+sigma M+sigma], [0 unidpdf(floor(M+sigma),N)+0.005]);

>> set(H2,'Color','g')

>> H3=line ([M-2*sigma M-2*sigma], [0 unidpdf(floor(M-2*sigma), N)+0.005]);

>> set(H3,'Color','m')

>> H4=line ([M+2*sigma M+2*sigma], [0 unidpdf(floor(M+2*sigma),N)+0.005]);

>> set(H4,'Color','m')

 

 

Наверх

unifstat - Непрерывное равномерное распределение

Синтаксис

[M,V] = unifstat(A,B)

Описание

[M,V] = unifstat(A,B) функция служит для расчета математического ожидания и дисперсии непрерывного равномерного распределения с заданными параметрами А и В. Размерность векторов и матриц А, В должна быть одинаковой. Скалярный входной параметр увеличивается до матрицы постоянных значений с размерностью второго параметра. Размерность матриц математического ожидания M и дисперсии V равна размерности входных параметров.

 

Математическое ожидание M непрерывного равномерного распределения с заданными параметрами А и В определяется по формуле

Дисперсия V непрерывного равномерного распределения с заданными параметрами А и В определяется по формуле

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии непрерывного равномерного распределения для пары параметров А и В.

 

>> A=1

A =

     1

>> B=2

B =

     2

>> [M,V] = unifstat(A,B)

M =

    1.5000

V =

    0.0833

  

Расчет математического ожидания и дисперсии непрерывного равномерного распределения для матриц параметров А и В.

>> A=[1 2 3; 4 5 6]

A =

     1     2     3

     4     5     6

>> B=[2 3 4; 5 6 7]

B =

     2     3     4

     5     6     7

>> [M,V] = unifstat(A,B)

M =

    1.5000    2.5000    3.5000

    4.5000    5.5000    6.5000

V =

    0.0833    0.0833    0.0833

    0.0833    0.0833    0.0833

  

Расположение математического ожидания M и интервалов [M-; M+], [M-2; M+2] на графике 

функции плотности вероятности,  - среднее квадратическое отклонение.

 

>> A=0;

>> B=20;

>> X= -2:0.1:22;

>> Y= unifpdf(X,A,B);

>> plot(X,Y)

>> grid on

>> [M,V] = unifstat(A,B)

M =

   10

V =

  33.3333

>> sigma=sqrt(V)

sigma =

    5.7735

>> H=line ([M M], [0 unifpdf(M,A,B)+0.005]);

>> set(H,'LineWidth',3, 'Color','k')

>> H1=line ([M-sigma M-sigma], [0 unifpdf(M-sigma,A,B)+0.005]);

>> set(H1,'Color','g')

>> H2=line ([M+sigma M+sigma], [0 unifpdf(M+sigma,A,B)+0.005]);

>> set(H2,'Color','g')

>> H3=line ([M-2*sigma M-2*sigma], [0 unifpdf(M-2*sigma,A,B)+0.005]);

>> set(H3,'Color','m')

>> H4=line ([M+2*sigma M+2*sigma], [0 unifpdf(M+2*sigma,A,B)+0.005]);

>> set(H4,'Color','m')

 

 

Наверх

weibstat - Распределение Вейбулла

Синтаксис

[M,V] = weibstat(A,B)

Описание

[M,V] = weibstat(A,B) функция служит для расчета математического ожидания и дисперсии распределения Вейбулла с заданными параметрами А и В. Размерность векторов и матриц А и В должна быть одинаковой. Скалярный входной параметр увеличивается до матрицы постоянных значений с размерностью второго параметра. Размерность матриц математического ожидания M и дисперсии V равна размерности входных параметров.

 

Математическое ожидание M распределения Вейбулла с заданными параметрами А и В определяется по формуле

Дисперсия V распределения Вейбулла с заданными параметрами А и В определяется по формуле

Примеры использования функции оценки математического ожидания и дисперсии

Расчет математического ожидания и дисперсии распределения Вейбулла для пары параметров А и В.

 

>> A=1

A =

     1

>> B=2

B =

     2

>> [M,V] = weibstat(A,B)

M =

    0.8862

V =

    0.2146

  

Расчет математического ожидания и дисперсии распределения Вейбулла для матриц параметров А и В.

>> A=[1 2 3; 4 5 6]

A =

     1     2     3

     4     5     6

>> B=[2 3 4; 5 6 7]

B =

     2     3     4

     5     6     7

>> [M,V] = weibstat(A,B)

M =

    0.8862    0.7088    0.6887

    0.6958    0.7094    0.7242

V =

    0.2146    0.0664    0.0373

    0.0254    0.0189    0.0148

  

Расположение математического ожидания M и значений (M-2); (M-); (M+); (M+2); (M+3) на графике 

функции плотности вероятности,  - среднее квадратическое отклонение.

 

>> A=1;

>> B=2;

>> X=0:0.01:3;

>> Y= weibpdf(X,A,B);

>> plot(X,Y)

>> grid on

>>  [M,V] = weibstat(A,B)

M =

    0.8862

V =

    0.2146

>> sigma=sqrt(V)

sigma =

    0.4633

>> H=line ([M M], [0 weibpdf(M,A,B)+0.05]);

>> set(H,'LineWidth',3, 'Color','k')

>> H1=line ([M-sigma M-sigma], [0 weibpdf(M-sigma,A,B)+0.05]);

>> set(H1,'Color','g')

>> H2=line ([M+sigma M+sigma], [0 weibpdf(M+sigma,A,B)+0.05]);

>> set(H2,'Color','g')

>> H3=line ([M-2*sigma M-2*sigma], [0 weibpdf(M-2*sigma,A,B)+0.05]);

>> set(H3,'Color','m')

>> H4=line ([M+2*sigma M+2*sigma], [0 weibpdf(M+2*sigma,A,B)+0.05]);

>> set(H4,'Color','m')

>> H5=line ([M+3*sigma M+3*sigma], [0 weibpdf(M+3*sigma,A,B)+0.05]);

>> set(H5,'Color','c')

 

 

Наверх

betalike - Расчет логарифма функции максимального правдоподобия бета распределения

Синтаксис

logL = betalike(params,data)

[logL,avar] = betalike(params,data)

 

Описание

logL = betalike(params,data) функция позволяет рассчитать отрицательный логарифм функции максимального правдоподобия бета распределения с заданными параметрами a, b и исходной выборки. Параметры бета распределения определяются вектором params. Исходная выборка задается вектором data.

[logL,avar] = betalike(params,data) позволяет рассчитать вектор отрицательного логарифма функции максимального правдоподобия logL бета распределения и обратную информационную матрицу Фишера avar. Если параметры бета распределения в векторе params были рассчитаны согласно методу максимального правдоподобия, то avar представляет собой асимптотическое приближение к дисперсионно-ковариационной матрице. Диагональные элементы avar являются асимптотическим приближением к значениям дисперсий соответствующих параметров бета распределения.

 

betalike является вспомогательной функцией при расчете параметров бета распределения по методу максимального правдоподобия. Исходным предположением метода максимального правдоподобия является взаимная независимость элементов исходной выборки. Вследствие чего, функция betalike возвращает отрицательный логарифм logL функции максимального правдоподобия бета распределения. Минимизация значения logL, возвращаемого функцией betalike, соответствует поиску максимума функции максимального правдоподобия. Такая процедура позволяет определить оптимальные параметры бета распределения по методу максимального правдоподобия.

Примеры использования функции расчета отрицательного логарифма функции максимального правдоподобия бета распределения

Расчет отрицательного логарифма функции максимального правдоподобия.

>> A=4;

>> B=3;

>> params =[A B];

>> data = betarnd(A,B,100,1);

>> logL = betalike(params,data)

logL =

  -36.9898

  

Расчет отрицательного логарифма функции максимального правдоподобия и обратной 

информационной матрицы Фишера.

 

>> A=4;

>> B=3;

>> params =[A B];

>> data = betarnd(A,B,100,1);

>> [logL,avar] = betalike(params,data)

logL =

  -23.0818

avar =

    0.2356    0.1191

    0.1191    0.0858

  

Как можно видеть из приведенного ниже примера, увеличение объема выборки data на два порядка 

приводит к существенному уменьшению величин дисперсий параметров A, B (элементы главной диагонали 

матрица avar) и их ковариации (вторая диагональ матрица avar). При этом увеличивается значение 

логарифма функции максимального правдоподобия

>> A=4;

>> B=3;

>> params =[A B];

>> data = betarnd(A,B,10000,1);

>> [logL,avar] = betalike(params,data)

logL =

 -3.4099e+003

avar =

    0.0030    0.0019

    0.0019    0.0017

 

 

Наверх

gamlike - Расчет логарифма функции максимального правдоподобия гамма распределения

Синтаксис

logL = gamlike(params,data)

[logL,avar] = gamlike(params,data)

 

Описание

logL = gamlike(params,data) функция позволяет рассчитать отрицательный логарифм функции максимального правдоподобия Гамма распределения с заданными параметрами a, b и исходной выборки. Параметры бета распределения определяются вектором params. Исходная выборка задается вектором data.

[logL,avar] = gamlike(params,data) позволяет рассчитать вектор отрицательного логарифма функции максимального правдоподобия logL Гамма распределения и обратную информационную матрицу Фишера avar. Если параметры Гамма распределения в векторе params были рассчитаны по методу максимального правдоподобия, то avar представляет собой асимптотическое приближение к дисперсионно-ковариационной матрице. Диагональные элементы avar являются асимптотическим приближением к значениям дисперсий соответствующих параметров Гамма распределения.

 

gamlike является вспомогательной функцией при расчете параметров Гамма распределения по методу максимального правдоподобия. функция gamlike возвращает отрицательный логарифм logL функции максимального правдоподобия Гамма распределения. Минимизация значения logL, возвращаемого функцией gamlike, соответствует поиску максимума функции максимального правдоподобия. Такая процедура позволяет определить оптимальные параметры Гамма распределения по методу максимального правдоподобия.

Примеры использования функции расчета отрицательного логарифма функции максимального правдоподобия Гамма распределения

Расчет отрицательного логарифма функции максимального правдоподобия.

>> A=4;

>> B=3;

>> params =[A B];

>> data = gamrnd(A,B,100,1);

>> logL = gamlike(params,data)

logL =

337.3935

 

Расчет отрицательного логарифма функции максимального правдоподобия и обратной информационной матрицы Фишера.

>> A=4;

>> B=3;

>> params =[A B];

>> data = gamrnd(A,B,100,1);

>> [logL,avar] = gamlike(params,data)

logL =

  337.3935

avar =

    0.2229   -0.1262

   -0.1262    0.0830

   

Как можно видеть из приведенного ниже примера, увеличение объема выборки data на два порядка приводит к существенному 

уменьшению величин дисперсий параметров A, B (элементы главной диагонали матрица avar) и их ковариации (вторая диагональ 

матрица avar). При этом увеличивается значение логарифма функции максимального правдоподобия

 

>> A=4;

>> B=3;

>> params =[A B];

>> data = gamrnd(A,B,10000,1);

>> [logL,avar] = gamlike(params,data)

logL =

  3.1361e+004

avar =

    0.0030   -0.0022

   -0.0022    0.0018

 

 

Наверх

normlike - Расчет логарифма функции максимального правдоподобия нормального распределения

Синтаксис

logL = normlike(params,data)

[logL,avar] = normlike(params,data)

 

Описание

logL = normlike(params,data) функция позволяет рассчитать отрицательный логарифм функции максимального правдоподобия нормального закона с заданными параметрами ,  и исходной выборки, где  - точечная оценка математического ожидания,  - точечная оценка среднего квадратического отклонения. Параметры нормального закона определяются вектором params: params(1)=, params(2)= . Исходная выборка задается вектором data.

[logL,avar] = normlike(params,data) позволяет рассчитать вектор отрицательного логарифма функции максимального правдоподобия logL нормального закона и обратную информационную матрицу Фишера avar. Если параметры нормального закона в векторе params были рассчитаны по методу максимального правдоподобия, то avar представляет собой асимптотическое приближение к дисперсионно-ковариационной матрице. Диагональные элементы avar являются асимптотическим приближением к значениям дисперсий соответствующих параметров нормального закона.

 

normlike является вспомогательной функцией при расчете параметров нормального закона по методу максимального правдоподобия для функции mle. функция normlike возвращает отрицательный логарифм logL функции максимального правдоподобия нормального закона. Минимизация значения logL, возвращаемого функцией normlike, соответствует поиску максимума функции максимального правдоподобия. Такая процедура позволяет определить оптимальные параметры нормального закона по методу максимального правдоподобия.

Примеры использования функции расчета отрицательного логарифма функции максимального правдоподобия нормального закона

Расчет отрицательного логарифма функции максимального правдоподобия.

>> MU=0;

>> SIGMA=1;

>> params =[MU SIGMA];

>> data=normrnd(MU,SIGMA,100,1);

>> logL = normlike(params,data)

logL =

  137.5246

  

Расчет отрицательного логарифма функции максимального правдоподобия и обратной информационной матрицы Фишера.

 

>> MU=0;

>> SIGMA=1;

>> params =[MU SIGMA];

>> data=normrnd(MU,SIGMA,100,1);

>> [logL,avar] = normlike(params,data)

logL =

  137.5246

avar =

    0.0111    0.0010

    0.0010    0.0063

  

Как можно видеть из приведенного ниже примера, увеличение объема выборки data на два порядка приводит

к существенному уменьшению величин дисперсий параметров MU, SIGMA  (элементы главной диагонали матрица avar) 

и их ковариаций (вторая диагональ матрица avar). При этом увеличивается значение логарифма функции максимального 

правдоподобия

>> MU=0;

>> SIGMA=1;

>> params =[MU SIGMA];

>> data=normrnd(MU,SIGMA,10000,1);

>> [logL,avar] = normlike(params,data)

logL =

  1.4208e+004

avar =

  1.0e-004 *

    0.9963   -0.0023

   -0.0023    0.4798

 

 

Наверх

bootstrp - Бутстреп оценки. Оценка статистик для данных с дополненным объемом выборки посредством математического моделирования

Синтаксис

bootstat = bootstrp(nboot,'bootfun',d1,d2,...)

[bootstat,bootsam] = bootstrp(...)

 

Описание

bootstat = bootstrp(nboot,'bootfun',d1,d2,...) увеличивает в nboot раз размер выборки из исходного набора данных, d1, d2,…, с последующей передачей выборки для анализа в функцию 'bootfun'. Входной аргумент nboot должен быть положительным целым числом. Входные данные должны иметь одинаковое число строк n. Каждая сформированная бутстреп выборка содержит n строк выбранных случайным образом (с замещением) из переданного множества входных данных d1, d2,…

Каждая строка выходной переменной, bootstat, содержит результаты расчета функцией 'bootfun' статистик бутстреп выборок. Если функция 'bootfun' возвращает несколько выходных переменных, bootstat содержит только первую из них. Если первая возвращаемая функцией 'bootfun' переменная является матрицей, то она преобразуется в вектор-столбец. Полученный вектор присваивается выходной переменной bootstat.

 

[bootstat,bootsam] = bootstrap(...) функция возвращает значения статистик bootstat и матрицу бутстреп индексов bootsam. Каждый из nboot столбцов в матрице bootsam содержит номера значений, которые были извлечены из входного набора данных для составления соответствующей бутстреп выборки. Например, если d1, d2,… содержат по 16 значений и nboot=4, тогда размерность матрицы bootsam будет равна 16x4. первый столбец содержит номера 16 значений извлеченных из d1, d2,… и т.д. для первой из 4 бутстреп выборок, второй столбец содержит индексы для второй бутстреп выборки и т.д. (Бутстреп индексы являются теми же самыми для всех входных наборов данных)

Примеры использования функции расчета бутстреп-оценок выборки

Расчет среднего арифметического значения элементов вектора на 20 элементов. Генерируется 10 бутстреп выборок.

>> X = normrnd(0,1,20,1);

>> [bootstat,bootsam] = bootstrp(10,'mean', X)

bootstat =

   -0.0368

   -0.1050

    0.0818

   -0.1837

    0.0828

   -0.2198

    0.1510

    0.1348

   -0.0164

    0.3476

bootsam =

     4     5     3     9    13     7    19     9    19    18

     7    10     7     9    17     6    16     8    20    15

    14    12     9    12     9    12    18    15    10     7

    16    16    11    20    19     4    15    12    17    15

    12     8    11     8    19     8    14     6    14    14

    18     5     5     8    11    15    14    18     7    15

    11    13     9    12     7    20    11    12    13     9

    20     1     9     7    11    14     9     1     2     5

     3     4    14     7     8     4     4    13     8     1

     3    11    13    20    14    16    12    15     7    17

    18    16    14    13    14     5    17     2    12    18

     5     2     2     8    13    11     3     4    18     1

    13     7    16     4     3    14     2    10    18     9

     1    14    16     2    17    15     9    12     3     3

    19     5     7    16    15     7     2     9     9     5

     5    18     9     1     8    20    15     9    14    10

    20     5    15    12    17    17    16    18    19     9

    18    15    10    15     3    19    15     4     9     1

     8     6     7    11    18    17     3     8    10    16

    11    10     3     7     9    11    16    20    15    10

  

Графическое представление полученных результатов

>> X = normrnd(0,1,20,1);

>> [bootstat,bootsam] = bootstrp(100,'mean', X);

>> hist(bootstat)

>> grid on

 

Сравнение результатов расчета среднего арифметического по исходной выборке и средних арифметических значений полученных методом бутстреп оценок

>> X = normrnd(0,1,20,1);

>> m = mean(X)

m =

   -0.0826

>> [bootstat,bootsam] = bootstrp(5,'mean', X)

bootstat =

    0.0199

   -0.7018

   -0.1665

   -0.2772

   -0.3740

bootsam =

    16    15    20     1     2

    15    13    18    10    12

    20     4    16    11     1

    20    18    10    18     1

     4    19     3    16     5

    12    20    13     9     5

     4    19     9    20     4

    14     3     6    13     5

     9    18    17     3    13

     2     2    19     7    15

    12     9     1     7     3

     9    15    14     3     2

    13     1    12     6    12

    10    11     1    18     5

     5    10    12    11     2

    11     4     8     5    17

     7    18     2     9    15

    16    18     5     6    14

     1    11    15     1     4

    17     4     9     1    11

Графическое представление результатов расчета среднего арифметического по исходной выборке и средних арифметических значений полученных методом бутстреп оценок

>> X = normrnd(0,1,20,1);

>> m = mean(X)

m =

   -0.0110

>> [bootstat,bootsam] = bootstrp(100,'mean', X);

>> hist(bootstat)

>> grid on

>> H=line ([m m], [0 25]);

 

Расчет бутстреп оценки коэффициента эксцесса выборки для матрицы с размерностью 5x5. Генерируется 10 бутстреп выборок.

>> X = normrnd(0,1,5,5);

X =

   -1.0082    0.2710   -0.3135   -0.3609    0.4938

   -0.6646    1.5350   -0.6022    0.5536   -0.8709

    0.5582   -1.0523    1.2591   -1.5564    0.0798

   -1.1885    0.6256    0.8585   -0.2067   -0.5216

   -0.7755   -0.7976   -2.1053   -0.4256   -1.4139

>> [bootstat,bootsam] = bootstrp(10,'kurtosis', X)

bootstat =

    1.1667    1.1667    1.1667    1.1667    1.1667

    2.6310    2.4268    1.2410    2.3911    2.3623

    3.1957    3.0127    2.9198    3.1830    1.7715

    1.2219    1.4334    2.9249    1.4517    1.4670

    2.8096    2.6053    1.3214    2.5753    2.5508

    2.7328    1.5063    2.0226    2.5297    2.1854

    2.7544    2.2273    1.2500    3.2284    2.8191

    1.2057    1.1850    3.1529    1.1873    2.2188

    1.1667    1.1667    1.1667    1.1667    1.1667

    1.6549    1.9115    2.4535    1.2021    2.4930

bootsam =

     5     2     4     4     2     2     5     4     1     2

     1     4     4     4     3     5     2     3     1     4

     1     2     1     3     2     3     1     5     4     1

     5     3     4     3     2     4     5     3     4     5

     1     4     3     2     4     4     5     4     1     2

>> k = kurtosis(X)

k =

    2.8487    1.6520    1.9318    2.5053    1.6952

Расчет коэффициента корреляции методом бутстреп оценок для двух векторов с размерностью 20x1. Генерируется 10 бутстреп выборок. Полученные выборки передаются функции расчета коэффициента корреляции corrcoef. В результате расчета коэффициента корреляции формируется матрица значений bootstat с размерностью 10x4. Т.е., полученная матрица коэффициентов корреляции с размерностью 2x2 преобразуется в вектор с размерностью 1x4. Расчет повторяется для 10 выборок.

>> X1 = normrnd(0,1,20,1);

>> X2 = normrnd(0,1,20,1);

>> [bootstat,bootsam] = bootstrp(10,'corrcoef', X1, X2)

 

bootstat =

    1.0000    0.4900    0.4900    1.0000

    1.0000    0.5219    0.5219    1.0000

    1.0000    0.3715    0.3715    1.0000

    1.0000    0.6003    0.6003    1.0000

    1.0000    0.2251    0.2251    1.0000

    1.0000    0.3585    0.3585    1.0000

    1.0000    0.5380    0.5380    1.0000

    1.0000    0.5195    0.5195    1.0000

    1.0000    0.4179    0.4179    1.0000

    1.0000    0.6214    0.6214    1.0000

bootsam =

    15     1     1     1     8    10    12     4    19    10

    10    18    10    11     5    13    10    10    20    10

     5    15    10     6    15    14    12    18     5     7

    15    15    17    20    18     6     6     6    17    19

     4    14    11     7     9    14    13    10     5     3

     8    10    17    15     7    12    10     7     8     1

     1    14     9    11    13    17     4     9     2    16

     3     3    16     3    16    19     4    14     5    12

     3    18    14    12    18    19     3    11    18    15

    20    17    18     8     9     8     8    17    16    11

    16     2     2     2    16    17     2    17    15    15

    15     5    15     5     3    10     2    16    14     5

    20    14    13     5    14    14    19    18     9     2

    19    14    12    16     6    13    17     7     5     5

     5    16     4    20    13    15     9     8     8     4

    12    15     3    19    11     6     9    10    11    17

     4     2     9    14     1    17     4     5     9     8

    16     6    11    14    10     3    18     8    20     8

    20    18     3     9    11     8    11     4     9     3

     8     8     1     6    18    11     7     9     7     6

   

Графическое представление полученных результатов

>> X1 = normrnd(0,1,20,1);

>> X2 = normrnd(0,1,20,1);

>> [bootstat,bootsam] = bootstrp(100,'corrcoef', X1, X2);

>> hist(bootstat(:,2))

>> grid on

 

 

 

Наверх

corrcoef - Оценка коэффициента корреляции (функция MATLAB)

Синтаксис

R = corrcoef(X)

R = corrcoef(x,y)

[R,P]=corrcoef(...)

[R,P,RLO,RUP]=corrcoef(...)

[...]=corrcoef(...,'param1',val1,'param2',val2,...)

 

Описание

R = corrcoef(X) функция предназначена для расчета матрицы парных коэффициентов корреляции R выборок представленных в виде матрицы Х. Наблюдения располагаются построчно в матрице Х, выборки - по столбцам.

Расчет (i,j) элемента матрицы R осуществляется по формуле 

где C = cov(X) - матрица ковариаций.

 

R = corrcoef(x,y) функция предназначена для расчета матрицы парных коэффициентов корреляции R векторов x и y. Тот же результат можно получить при использовании corrcoef([x y]).

[R,P]=corrcoef(...) функция возвращает матрицы парных коэффициентов корреляции R и уровней значимости P, используемых при проверке гипотезы об отсутствии корреляции. Каждое значение Р является значением вероятности получить величину коэффициента корреляции более, чем рассчитанное выборочное значение под действием случайных факторов когда истинное значение коэффициента корреляции равно нулю. Если P(i,j) менее 0,05, то значение коэффициента корреляции R(i,j) является значимым.

 

[R,P,RLO,RUP]=corrcoef(...) функция возвращает матрицы парных коэффициентов корреляции R, уровней значимости P, нижних RLO и верхних RUP границ 95% доверительных интервалов коэффициентов корреляции.

[...]=corrcoef(...,'param1',val1,'param2',val2,...) в этом варианте синтаксиса функции дополнительные входные параметры определяют:

'alpha'

Значение уровня значимости. Доверительная вероятность определяется как 100*(1 - alpha)%. По умолчанию уровень значимости равен 0,05, что соответствует 95% доверительному интервалу коэффициента корреляции.

'rows'

Определяет способ исключения строк матрицы Х со значениями NaN при расчете коэффициента корреляции. Возможные значения параметра: 'all' - используются все строки (значение по умолчанию), 'complete' - исключаются строки со значениями NaN, 'pairwise' - при расчете R(i,j) исключаются строки, содержащие NaN в столбце i или j.

Значения уровня значимости рассчитываются на основе преобразования коэффициента корреляции в t статистику с n-2 степенями свободы, где n - количество строк матрицы Х. Границы доверительного интервала коэффициента корреляции рассчитываются на основании того, что статистика, рассчитанная как 0.5*log((1+R)/(1-R)) имеет асимптотическое приближение к нормальному закону с дисперсией равной 1/(n-3). Рассчитанные таким образом границы доверительного интервала коэффициента корреляции являются точными при больших выборках, когда Х распределены по многомерному нормальному закону. Параметр 'rows' равный 'pairwise' может привести к получения матрицы R которая не будет положительно определенной.

 

Функция corrcoef является функцией ядра MATLAB.

Примеры использования функции расчета матрицы парных коэффициентов корреляции

Расчет матрицы парных коэффициентов корреляции для 5 выборок с объемом 20 элементов представленных в виде матрицы

>> X = normrnd(0,1,20,5);

>> R = corrcoef(X)

R =

    1.0000    0.4873    0.3854    0.0931   -0.2074

    0.4873    1.0000    0.6276   -0.3016   -0.3204

    0.3854    0.6276    1.0000   -0.4313   -0.4647

    0.0931   -0.3016   -0.4313    1.0000    0.1005

   -0.2074   -0.3204   -0.4647    0.1005    1.0000

Расчет матрицы парных коэффициентов корреляции для 2 выборок с объемом 20 элементов представленных в виде 2 векторов

>> X = normrnd(0,1,20,1);

>> Y = normrnd(0,1,20,1);

>> R = corrcoef(X,Y)

R =

    1.0000   -0.4462

   -0.4462    1.0000

 

Расчет матриц парных коэффициентов корреляции и уровней значимости для 5 выборок с объемом 20 элементов представленных в виде матрицы

>> X = normrnd(0,1,20,5);

>> [R P] = corrcoef(X)

R =

    1.0000   -0.1259    0.1972   -0.1178   -0.0923

   -0.1259    1.0000   -0.1805    0.2883    0.0972

    0.1972   -0.1805    1.0000    0.0367   -0.0704

   -0.1178    0.2883    0.0367    1.0000    0.1538

   -0.0923    0.0972   -0.0704    0.1538    1.0000

P =

    1.0000    0.5970    0.4046    0.6208    0.6987

    0.5970    1.0000    0.4463    0.2177    0.6836

    0.4046    0.4463    1.0000    0.8780    0.7680

    0.6208    0.2177    0.8780    1.0000    0.5175

    0.6987    0.6836    0.7680    0.5175    1.0000

Расчет матриц парных коэффициентов корреляции, уровней значимости и границ 95% доверительного интервала для 5 выборок с объемом 20 элементов представленных в виде матрицы

>> X = normrnd(0,1,20,5);

>> [R P RLO RUP] = corrcoef(X)

R =

    1.0000   -0.2635    0.1917   -0.0096   -0.1274

   -0.2635    1.0000   -0.4230    0.3252   -0.1207

    0.1917   -0.4230    1.0000    0.2903    0.2034

   -0.0096    0.3252    0.2903    1.0000    0.1955

   -0.1274   -0.1207    0.2034    0.1955    1.0000

P =

    1.0000    0.2616    0.4181    0.9678    0.5924

    0.2616    1.0000    0.0631    0.1618    0.6124

    0.4181    0.0631    1.0000    0.2143    0.3897

    0.9678    0.1618    0.2143    1.0000    0.4088

    0.5924    0.6124    0.3897    0.4088    1.0000

RLO =

    1.0000   -0.6323   -0.2741   -0.4502   -0.5395

   -0.6323    1.0000   -0.7290   -0.1370   -0.5346

   -0.2741   -0.7290    1.0000   -0.1746   -0.2628

   -0.4502   -0.1370   -0.1746    1.0000   -0.2704

   -0.5395   -0.5346   -0.2628   -0.2704    1.0000

RUP =

    1.0000    0.2026    0.5846    0.4347    0.3339

    0.2026    1.0000    0.0240    0.6711    0.3400

    0.5846    0.0240    1.0000    0.6494    0.5926

    0.4347    0.6711    0.6494    1.0000    0.5872

    0.3339    0.3400    0.5926    0.5872    1.0000

 

Расчет матриц парных коэффициентов корреляции, уровней значимости и границ 99% доверительного интервала для 5 выборок с объемом 20 элементов представленных в виде матрицы

>> X = normrnd(0,1,20,5);

>> [R P RLO RUP] = corrcoef(X,'alpha',0.01)

R =

    1.0000    0.4454    0.2195   -0.2765    0.2113

    0.4454    1.0000    0.2026    0.1240   -0.0572

    0.2195    0.2026    1.0000   -0.3124   -0.1067

   -0.2765    0.1240   -0.3124    1.0000   -0.1876

    0.2113   -0.0572   -0.1067   -0.1876    1.0000

P =

    1.0000    0.0491    0.3526    0.2380    0.3712

    0.0491    1.0000    0.3916    0.6026    0.8106

    0.3526    0.3916    1.0000    0.1800    0.6545

    0.2380    0.6026    0.1800    1.0000    0.4284

    0.3712    0.8106    0.6545    0.4284    1.0000

RLO =

    1.0000   -0.1448   -0.3814   -0.7204   -0.3887

   -0.1448    1.0000   -0.3963   -0.4622   -0.5928

   -0.3814   -0.3963    1.0000   -0.7388   -0.6242

   -0.7204   -0.4622   -0.7388    1.0000   -0.6721

   -0.3887   -0.5928   -0.6242   -0.6721    1.0000

RUP =

    1.0000    0.8018    0.6899    0.3283    0.6854

    0.8018    1.0000    0.6806    0.6348    0.5135

    0.6899    0.6806    1.0000    0.2928    0.4759

    0.3283    0.6348    0.2928    1.0000    0.4094

    0.6854    0.5135    0.4759    0.4094    1.0000

Расчет матриц парных коэффициентов корреляции, уровней значимости и границ 99% доверительного интервала для 5 выборок с объемом 20 элементов представленных в виде матрицы, содержащую нечисловые элементы NaN. Режим исключения нечисловых элементов парный построчный - 'pairwise'.

>> X = normrnd(0,1,20,5);

>> X([1 20 25 36 45 90 99]) = [NaN NaN NaN NaN NaN];

>> [R P RLO RUP] = corrcoef(X,'alpha',0.01,'rows','pairwise')

R =

    1.0000    0.1399   -0.0245    0.1995   -0.2121

    0.1399    1.0000    0.2357   -0.0335    0.0030

   -0.0245    0.2357    1.0000   -0.1962    0.1095

    0.1995   -0.0335   -0.1962    1.0000    0.1604

   -0.2121    0.0030    0.1095    0.1604    1.0000

P =

    1.0000    0.6053    0.9256    0.4274    0.4304

    0.6053    1.0000    0.3465    0.8950    0.9913

    0.9256    0.3465    1.0000    0.4209    0.6758

    0.4274    0.8950    0.4209    1.0000    0.5249

    0.4304    0.9913    0.6758    0.5249    1.0000

RLO =

    1.0000   -0.5180   -0.6125   -0.4324   -0.7305

   -0.5180    1.0000   -0.4011   -0.6035   -0.6116

   -0.6125   -0.4011    1.0000   -0.6872   -0.5216

   -0.4324   -0.6035   -0.6872    1.0000   -0.4647

   -0.7305   -0.6116   -0.5216   -0.4647    1.0000

RUP =

    1.0000    0.6938    0.5809    0.7000    0.4614

    0.6938    1.0000    0.7188    0.5591    0.6153

    0.5809    0.7188    1.0000    0.4180    0.6631

    0.7000    0.5591    0.4180    1.0000    0.6788

    0.4614    0.6153    0.6631    0.6788    1.0000

 

Пример генерации матрицы случайны чисел с размерностью 30x4, у которой 4 столбец коррелирован с остальными столбцами

Генерация некоррелированных выборок

>> x = randn(30,4);

 

Создание 4 столбца коррелированного с первыми тремя

>> x(:,4) = sum(x,2);

 

Расчет матриц точечных оценок коэффициента корреляции и значений уровня значимости

>> [r,p] = corrcoef(x)

r =

    1.0000   -0.3566    0.1929    0.3457

   -0.3566    1.0000   -0.1429    0.4461

    0.1929   -0.1429    1.0000    0.5183

    0.3457    0.4461    0.5183    1.0000

p =

    1.0000    0.0531    0.3072    0.0613

    0.0531    1.0000    0.4511    0.0135

    0.3072    0.4511    1.0000    0.0033

    0.0613    0.0135    0.0033    1.0000

  

Определение индексов значимых коэффициентов корреляции

 

>> [i,j] = find(p<0.05)

ans =

     4     2

     4     3

     2     4

     3     4

 

 

Наверх

cov - Оценка матрицы ковариаций (функция MATLAB)

Синтаксис

C = cov(X)

C = cov(x,y)

 

Описание

C = cov(X) функция предназначена для расчета ковариационной матрицы C. Если задана одна выборка, Х - вектор, С является дисперсией выборки. Если Х матрица, где строки являются наблюдениями, а столбцы выборками, С представляет собой ковариационную матрицу. По диагонали матрицы С расположены значения дисперсий выборок Х.

C = cov(x,y) функция предназначена для расчета ковариационной матрицы С для двух выборок x, y заданных как векторы-столбцы. Размерность векторов должна совпадать. Тот же результат можно получить при использовании варианта вызова cov([x y]).

Функция cov является функцией ядра MATLAB.

 

Алгоритм, используемый при расчете ковариационной матрицы 

[n,p] = size(X);

X = X - ones(n,1) * mean(X);

Y = X'*X/(n-1);

 

Примеры использования функции расчета матрицы ковариаций

Расчет ковариационной матрицы для 5 выборок с объемом 20 элементов представленных в виде матрицы

 

>> X = normrnd(0,1,20,5);

>> C = cov (X)

C =

    1.0823   -0.1735   -0.0628    0.2288   -0.1609

   -0.1735    1.0714    0.0230   -0.2807    0.0125

   -0.0628    0.0230    0.8124    0.0208   -0.0703

    0.2288   -0.2807    0.0208    0.9275    0.0782

   -0.1609    0.0125   -0.0703    0.0782    0.3810

   

Расчет ковариационной матрицы для 2 выборок с объемом 20 элементов представленных в виде 2 векторов

>> X = normrnd(0,1,20,1);

>> Y = normrnd(0,1,20,1);

>> C = cov (X,Y)

C =

    0.8092    0.2905

    0.2905    0.9515

 

 

Наверх

crosstab - Кросстабуляция для нескольких векторов с положительными целыми элементами

Синтаксис

table = crosstab(col1,col2)

table = crosstab(col1,col2,col3,...)

[table,chi2,p] = crosstab(col1,col2)

[table,chi2,p,label] = crosstab(col1,col2)

 

Описание

table = crosstab(col1,col2) функция выполняет расчет частот повторяемости table пар целых положительных значений векторов col1, col2. Результат расчета выводится в виде матрицы частот table. Размерность матрицы равна m?n, где m - количество значений элементов в векторе col1, n - количество значений элементов в векторе col2. Если векторы col1, col2 содержат вещественные значения, массивы символов, строковые массивы ячеек, то в соответствие каждому значению col1, col2 ставится целое положительное число и выполняется кросс-табуляция по этим числам.

table = crosstab(col1,col2,col3,...) функция возвращает n-мерный массив частот table сочетаний значений векторов col1, col2, col3,..., где n - количество векторов в списке входных переменных. Значение массива table(i,j,k,...) соответствует частоте повторяемости сочетаний значений col1(i), col2(j), col3(k).

 

[table,chi2,p] = crosstab(col1,col2) функция выполняет расчет частот повторяемости table пар значений векторов col1, col2, значения статистики  chi2, уровня значимости p. Значение статистики chi2 используется для проверки статистической гипотезы о независимости строк и столбцов матрицы частот table. Значение p является уровнем значимости при проверке указанной статистической гипотезы. Значение уровня значимости p близкое к нулю позволяет принять гипотезу о независимости строк и рядов матрицы частот table.

[table,chi2,p,label] = crosstab(col1,col2) функция кроме частот повторяемости table, значения статистики  chi2, уровня значимости p, возвращает массив ячеек label, содержащий значения входных аргументов, распределенных последовательно по столбцам матрицы. Значение label(i,j) является элементом вектора colj определяющим i-ю группу в j-м измерении.

Примеры использования функции кросс-табуляции значений нескольких векторов

Расчет частот повторяемости пар целых положительных значений двух векторов. Значения вектора r1 изменяются в диапазоне 1…3, вектора r2 - в диапазоне 1…2.

>> r1 = unidrnd(3,50,1);

>> r2 = unidrnd(2,50,1);

>> table = crosstab(r1,r2)

table =

     7     5

    15     8

     9     6

 

Расчет частот повторяемости сочетаний положительных значений трех векторов. Значения вектора r1 изменяются в диапазоне 1…3, вектора r2 - в диапазоне 1…2, вектора r3 - в диапазоне 1...5.

>> r1 = unidrnd(3,50,1);

>> r2 = unidrnd(2,50,1);

>> r3= unidrnd(5,50,1);

>> table = crosstab(r1,r2,r3)

table(:,:,1) =

     1     1

     3     2

     2     2

table(:,:,2) =

     0     0

     5     1

     1     1

table(:,:,3) =

     4     1

     3     1

     2     1

table(:,:,4) =

     0     1

     3     1

     2     1

table(:,:,5) =

     2     2

     1     3

     2     1

   

Расчет частот повторяемости пар значений двух векторов, значения статистики  , уровня значимости.

>> r1 = unidrnd(3,50,1);

>> r2 = unidrnd(2,50,1);

>> [table,chi2,p] = crosstab(r1,r2)

table =

     2     5

    10    14

    10     9

chi2 =

    1.3038

p =

    0.5211

  

Расчет частот повторяемости пар значений двух векторов, значения статистики  , уровня значимости, 

а также вывод значений 

элементов группируемых векторов.

 

>> r1 = unidrnd(3,50,1);

>> r2 = unidrnd(2,50,1);

>> [table,chi2,p,label] = crosstab(r1,r2)

table =

     7     6

    10    15

     8     4

chi2 =

    2.4103

p =

    0.2997

label = 

    '1'    '1'

    '2'    '2'

    '3'     []

  

Пример использования строковых переменных при кросс-табуляции.

>> r1 = ['a b c a b c a b c b c b c']';

>> r2 = ['a b a b a b a b b b b a a']';

>> [table,chi2,p,label] = crosstab(r1,r2)

table =

     2     1

     2     3

     2     3

chi2 =

    0.6603

p =

    0.7188

label = 

    'a'    'a'

    'b'    'b'

    'c'     []  

 

 

Наверх

geomean - Среднее геометрическое

Синтаксис

m = geomean(X)

 

Описание

m = geomean(X) - функция предназначена для расчета значения среднего геометрического m выборки Х. Если Х задана как вектор, то среднее геометрическое значение рассчитывается по всем его элементам. Для выборки определенной в виде матрицы среднее геометрическое значение рассчитывается для каждого столбца Х.

Расчет среднего геометрического выборки выполняется по формуле

где n - объем выборки.

 

Примеры использования функции расчета среднего геометрического значения

Расчет среднего геометрического значения для выборки Х заданной в виде вектора

 

>> X = normrnd(10,1,100,1);

>> m = geomean(X)

m =

    9.8288

  

Расчет среднего геометрического значения для выборки Х заданной как матрица

>> X = normrnd(10,1,100,5);

>> m = geomean(X)

m =

    9.8756    9.9409    9.8043    9.8842   10.0197

  

Величина среднего геометрического выборки Х должна быть меньше или равна среднему арифметическому значению

 

>> X = normrnd(10,1,100,5);

>> m = geomean(X)

m =

    9.8945   10.0551    9.8076    9.9412    9.8391

>> xbar = mean(X)

xbar =

    9.9457   10.0980    9.8506   10.0064    9.8963

 

 

Наверх

grpstats - Сводные статистики по группам

Синтаксис

means = grpstats(X,group)

[means,sem,counts,name] = grpstats(X,group)

[means,sem,counts,name] = grpstats(x,group,alpha)

 

Описание

means = grpstats(X,group) функция предназначена для расчета среднего арифметического значения means категоризованной переменной Х. Среднее арифметическое значение рассчитывается для каждой категории. Деление на категории выполняется при помощи входного аргумента group. Выборка негруппированных значений Х может быть задана как вектор или матрица. Значения вектора или матрицы Х принадлежат к одной категории, если равны соответствующие значения переменной group. Входной аргумент group может быть представлен как вектор, массив строк или массив ячеек строковых переменных. Также group может быть массивом ячеек, содержащим несколько сгруппированных переменных, например {G1 G2 G3}. В последнем случае наблюдения принадлежат к одной группе, если равны между собой все сгруппированные переменные. Размерность векторов X и group должна совпадать. Если выборка Х задана как матрица, категоризующая переменная group должна быть представлена как вектор. Количество строк матрицы X и элементов вектора group должно быть одинаковым.

[means,sem,counts,name] = grpstats(x,group) функция позволяет рассчитать точечную means и интервальную sem оценки математического ожидания категоризованной переменной Х, количество элементов в каждой категории counts, и отобразить список названий категорий name. 

 

Переменная name полезна для установления соответствия между полученными результатами расчета means, sem и заданными категориями, если элементы group не являются целыми числами.

[means,sem,counts,name] = grpstats(x,group,alpha) этот вариант синтаксиса функции кроме результатов расчета значений means, sem, counts и вывода названий name строит график средних арифметических значений и их 100*(1-alpha)% доверительных интервалов по категориям в порядке возрастания последних.

Примеры использования функции расчета точечной и интервальной оценок математического ожидания категоризованной переменной

Расчет точечной оценки математического ожидания для категоризованной выборки заданной как вектор. Выборка х из 100 наблюдений делится на 4 категории. Категории кодируются целыми числами в диапазоне от 1 до 4.

>> group = unidrnd(4,100,1);

>> x = normrnd(0,1,100,1);

>> means = grpstats(x,group)

means =

    0.0369

    0.0317

    0.0759

    0.0454

 

Расчет точечной оценки математического ожидания для категоризованной выборки заданной в виде матрицы. Переменная Х задается как матрица с размерностью 100x5 и представляет собой 5 выборок по 100 элементов в каждой. Математическое ожидание при генерации выборок изменяется от 1 до 5. Значения в каждой выборке делятся на 4 группы. Категоризующая переменная group задается как вектор целых чисел с размерностью 100x1.

>> group = unidrnd(4,100,1);

>> true_mean = 1:5;

>> true_mean = true_mean(ones(100,1),:);

>> x = normrnd(true_mean,1);

>> means = grpstats(x,group)

means =

    1.0369    1.5801    2.8850    4.3252    5.1890

    1.0317    1.9425    3.0184    3.8486    4.9424

    1.0759    1.9433    2.8528    4.0344    4.6057

    1.0454    1.9528    2.9190    3.8409    4.7507

Расчет точечных means и интервальных sem оценок математического ожидания категоризованной переменной Х, количества элементов в каждой категории counts, и отображения списка названий категорий name. Переменная Х задается как матрица с размерностью 100x5. Категории кодируются вектором целых чисел на 4 группы.

>> group = unidrnd(4,100,1);

>> x = normrnd(0,1,100,5);

>> [means,sem,counts,name] = grpstats(x,group)

means =

   -0.2741    0.0263   -0.1199   -0.1949    0.0658

    0.0205    0.1609   -0.0889    0.1441   -0.1134

   -0.2905    0.0505   -0.0386    0.1086   -0.2904

    0.5349   -0.0313    0.0819    0.5119   -0.3288

sem =

    0.2056    0.1608    0.1764    0.1989    0.1852

    0.1506    0.1960    0.2535    0.2000    0.2050

    0.1678    0.1209    0.1544    0.1434    0.1537

    0.2332    0.2603    0.2468    0.1457    0.1845

counts =

    29    29    29    29    29

    25    25    25    25    25

    29    29    29    29    29

    17    17    17    17    17

name = 

    '1'

    '2'

    '3'

    '4'

  

Расчет значений means, sem, counts, вывод name и графика средних арифметических значений с 95% доверительными

интервалами по соответствующим категориям.

 

>> group = unidrnd(4,100,1);

>> x = normrnd(0,1,100,5);

>> [means,sem,counts,name] = grpstats(x,group,0.05)

means =

    0.0135   -0.4496    0.0543    0.2349   -0.1285

    0.1529    0.2906   -0.1331    0.2133    0.2041

    0.1151    0.0340    0.0273    0.1469    0.2279

   -0.3031   -0.4670   -0.2492    0.0589    0.2070

sem =

    0.2215    0.2651    0.1741    0.2816    0.1873

    0.2205    0.1940    0.1795    0.2196    0.1597

    0.2330    0.1574    0.2300    0.2046    0.1756

    0.2227    0.2238    0.1720    0.2088    0.2229

counts =

    19    19    19    19    19

    29    29    29    29    29

    28    28    28    28    28

    24    24    24    24    24

name = 

    '1'

    '2'

    '3'

    '4'

Расчет значений means, sem, counts и вывод списка категорий name. Переменная Х задается как матрица с размерностью 20x5. Категории определяются строковым массивом и выборка делится на 4 группы.

>> group ={'A' 'B' 'C' 'D' 'A' 'B' 'A' 'B' 'C' 'D' 'C' 'D' 'A' 'A' 'B' 'C' 'D' 'B' 'C' 'D'}'

group = 

    'A'

    'B'

    'C'

    'D'

    'A'

    'B'

    'A'

    'B'

    'C'

    'D'

    'C'

    'D'

    'A'

    'A'

    'B'

    'C'

    'D'

    'B'

    'C'

    'D'

>> x = normrnd(0,1,20,5)

x =

   -0.2463   -0.2979   -0.5299    0.8683    0.7193

   -0.1457    1.1543    0.5411   -0.8048   -0.2831

   -1.1690    1.0461    0.6817   -0.7527   -1.4250

   -0.0220    2.1269    0.5386   -0.7458    0.4615

    0.6183   -0.6558   -0.5100   -0.3097    1.0915

    1.8659   -1.1424   -1.3221   -1.5219   -1.0443

    0.0819    0.9490   -0.6107    0.8265   -2.8428

    1.6080   -0.4046   -0.5653   -0.6130    0.9968

   -0.3807   -0.3843    0.0862    0.9597    0.0765

   -1.2996    0.4820    0.6915    1.9730   -1.8667

   -0.7240    0.4438    2.1338    0.2950   -0.6136

   -0.5650    0.3811   -0.0029   -0.3927    1.1694

    0.6217    1.1023   -0.0895    0.5759   -0.5750

   -1.3355    0.8564   -0.2550   -1.1414   -0.2648

   -0.1231   -1.1785   -0.8742    0.0611    0.0047

   -1.1028    0.4020    0.4229    0.0123   -0.0394

   -2.7532   -0.5842   -0.1334   -0.1681   -0.5054

    0.2520   -0.9795    0.5396   -0.6873   -1.1578

   -0.8581    0.1151    0.8752   -0.9907    0.7104

    1.1354    0.0685   -1.2508   -0.0498    0.7282

>> [means,sem,counts,name] = grpstats(x,group)

means =

    0.3502   -0.8565   -0.5624    0.2891   -0.0456

    0.2269   -0.1071   -0.5212   -0.7214    0.4791

   -1.2206    0.6396    0.3454   -0.0956   -0.2041

   -0.2389   -0.2455    0.0123    0.4581    0.4169

sem =

    0.6679    0.3892    0.6913    0.7837    0.3769

    0.2133    0.4039    0.5240    0.3131    0.3355

    0.5199    0.3487    0.6232    0.2142    0.2502

    0.4466    0.2645    0.4143    0.4821    0.3391

counts =

     5     5     5     5     5

     5     5     5     5     5

     5     5     5     5     5

     5     5     5     5     5

name = 

    'A'

    'B'

    'C'

    'D'

 

 

Наверх

harmmean - Среднее гармоническое

Синтаксис

m = harmmean(X)

 

Описание

m = harmmean(X) функция предназначена для расчета значения среднего гармонического m выборки Х. Если Х задан как вектор, то среднее гармоническое значение рассчитывается по всем его элементам. Для выборки определенной в виде матрицы среднее гармоническое значение рассчитывается для каждого столбца Х.

Расчет среднего гармонического выборки выполняется по формуле

где n - объем выборки.

 

Примеры использования функции расчета среднего гармонического значения

Расчет среднего гармонического значения выборки Х заданной в виде вектора

 

>> X = normrnd(10,1,100,1);

>> m = harmmean (X)

m =

    9.8263

  

Расчет среднего гармонического значения выборки Х заданной в виде матрицы

>> X = normrnd(10,1,100,5);

>> m = harmmean (X)

m =

   10.0391   10.0635   10.0522   10.1031    9.8092

   

Величина среднего гармонического выборки Х должна быть меньше или равна среднему арифметическому значению

 

>> X = normrnd(10,1,100,5);

>> m = harmmean (X)

m =

    9.8292   10.0088   10.0028    9.9007    9.9302

>> xbar = mean(X)

xbar =

    9.9206   10.1203   10.1265   10.0111   10.0221

 

 

Наверх

iqr - Разность между 75% и 25% квантилями или между 3-й и 1-ой квартилями

Синтаксис

y = iqr(X)

 

Описание

y = iqr(X) функция предназначена для расчета интерквартильного размаха y выборки Х. Интерквартильный размах представляет разницу между 75% и 25% процентилями выборки. Интерквартильный размах является робастной оценкой разброса значений выборки.

Если Х задана как вектор, то интерквартильный размах рассчитывается по всем его элементам. Для выборки определенной в виде матрицы интерквартильный размах рассчитывается для каждого столбца Х.

 

Интерквартильный размах является более репрезентативной оценкой разброса значений выборки по сравнению с точечной оценкой среднего квадратического отклонения, но менее эффективен при оценке разброса нормально распределенных данных.

Точечная оценка среднего квадратического отклонения для нормально распределенной генеральной совокупности может быть получена как произведение интерквартильного размаха на 0,7413.

Примеры использования функции расчета интерквартильного размаха выборки

 

Расчет интерквартильного размаха выборки Х, заданной в виде вектора

>> X = normrnd(10,1,100,1);

>> y = iqr(X)

y =

 

    1.3242

  

Расчет интерквартильного размаха выборки Х, заданной в виде матрицы

>> X = normrnd(10,1,100,5);

>> y = iqr(X)

y =

    1.4223    1.4877    1.3366    0.9497    1.7574

  

Определение эффективности точечной оценки среднего квадратического отклонения, рассчитанной как произведение 

интерквартильного размаха выборки на 0,7413, для 100 нормально распределенных выборок.

 

>> X = normrnd(0,1,100,100);

>> s = std(X);

>> s_IQR = 0.7413 * iqr(X);

>> efficiency = (norm(s - 1)./norm(s_IQR - 1)).^2

efficiency =

   0.5409

 

 

Наверх

kurtosis - Оценка коэффициента эксцесса (в отечественной литературе коэффициент эксцесса определяется как b2=kurtosis-3)

Синтаксис

k = kurtosis(X)

k = kurtosis(X,flag)

 

Описание

k = kurtosis(X) функция предназначена для расчета точечной оценки коэффициента эксцесса k выборки Х. Если Х задана как вектор, то точечная оценка коэффициента эксцесса рассчитывается по всем его элементам. Для выборки определенной в виде матрицы точечная оценка коэффициента эксцесса рассчитывается для каждого столбца Х.

Расчет точечной оценки коэффициента эксцесса выборки выполняется по формуле

,

где  - среднее арифметическое значение выборки  ,  - точечная оценка среднего квадратического отклонения выборки  ,  - наиболее вероятная оценка параметра t.

 

Коэффициент эксцесса показывает насколько выборка Х по наклону кривой функции плотности вероятности соответствует нормальному закону. Для нормального закона коэффициент эксцесса равен 3. Законы распределения с более острой вершиной, чем у нормального имеют коэффициент эксцесса более 3 и с менее острой вершиной - менее 3.

Примечание: в отечественной литературе коэффициент эксцесса определяется по формуле  . Таким образом, коэффициент эксцесса нормального закона равен 0.

 

k = kurtosis(X,flag) функция позволяет рассчитать несмещенную (flag=0) и смещенную (flag=1, значение по умолчанию) точечную оценку коэффициента эксцесса k выборки Х. Величина смещения выборочного коэффициента эксцесса зависит от объема выборки. Если Х является выборкой из генеральной совокупности, для получения несмещенной точечной оценки коэффициента эксцесса flag должен быть равен 0.

Примеры использования функции расчета точечной оценки коэффициента эксцесса выборки

Расчет точечной оценки коэффициента эксцесса выборки Х, заданной в виде вектора

 

>> X = normrnd(10,1,100,1);

>> k = kurtosis(X)

k =

    2.6987

  

Расчет точечной оценки коэффициента эксцесса выборки Х заданной в виде матрицы

>> X = normrnd(10,1,100,5);

>> k = kurtosis(X)

k =

    2.4775    2.9325    2.6933    3.0013    3.0669

  

Расчет смещенной и несмещенной точечных оценок коэффициента эксцесса выборки Х

 

>> X = normrnd(10,1,100,1);

>> k = kurtosis(X,1)

k =

    2.7772

>> k = kurtosis(X,0)

k =

   -0.1718

   

Сравнение распределения выборок и значений коэффициента эксцесса для нормального закона и закона Вейбулла

>> X1 = normrnd(10,1,100,1);

>> X2 = weibrnd(2,1,100,1);

>> X = [X1 X2];

>> k = kurtosis(X)

k =

    3.1280    4.5821

>> histfit(X1)

>> grid on

>> histfit(X2)

>> grid on

 

 

Наверх

mad - Среднее абсолютное отклонение от среднего значения

Синтаксис

y = mad(X)

 

Описание

y = mad(X) функция предназначена для расчета среднего абсолютного отклонения y выборки Х от среднего арифметического значения. Выборка Х может быть представлена в виде вектора или матрицы. Если Х задана как вектор, то среднее абсолютное отклонение значений выборки рассчитывается по всем его элементам. Для выборки определенной в виде матрицы среднее абсолютное отклонение рассчитывается для каждого столбца Х.

Среднее абсолютное отклонение является менее эффективной оценкой разброса значений выборки из нормально распределенной генеральной совокупности по сравнению с точечной оценкой среднего квадратического отклонения.

 

Для нормально распределенной генеральной совокупности точечная оценка среднего квадратического отклонения равна произведению среднего абсолютного отклонения на 1,3.

Примеры использования функции расчета среднего абсолютного отклонения значений выборки

Расчет среднего абсолютного отклонения выборки Х заданной как вектор

 

>> X = normrnd(10,1,100,1);

>> y = mad(X)

y =

    0.7325

  

Расчет среднего абсолютного отклонения выборки Х, заданной в виде матрицы

>> X = normrnd(10,1,100,5);

>> y = mad(X)

y =

    0.7628    0.9216    0.8363    0.7577    0.8859

  

Определение эффективности точечной оценки среднего квадратического отклонения, рассчитанной как произведение 

среднего абсолютного отклонения на 1,3, для 100 нормально распределенных выборок.

 

>> X = normrnd(0,1,100,100);

>> s = std(X);

>> s_MAD = 1.3 * mad(X);

>> efficiency = (norm(s - 1)./norm(s_MAD - 1)).^2

efficiency =

    0.6730

 

 

Наверх

moment - Оценка центрального момента. Порядок момента задается как аргумент функции

Синтаксис

m = moment(X,k)

 

Описание

m = moment(X,k) функция предназначена для расчета центрального момента m порядка k выборки X. Значение порядка момента k должно быть целым положительным числом. Если Х задана как вектор, то центральный момент m рассчитывается по всем его элементам. Для выборки определенной в виде матрицы центральный момент m рассчитывается для каждого столбца Х.

Первый центральный момент равен нулю. Второй центральный момент является точечной оценкой дисперсии и определяется по формуле

,

где M[X]j - математическое ожидание выборки, n - объем выборки (число элементов в векторе, или строк в матрице Х).

 

Центральный момент k-го порядка рассчитывается по формуле

,

где   - среднее арифметическое значение выборки Xj , E(t) - наиболее вероятная оценка параметра t.

Примеры использования функции расчета центрального момента произвольного порядка выборки

Расчет второго центрального момента (точечной оценки дисперсии) выборки Х, заданной в виде вектора

 

>> X = normrnd(10,1,100,1);

>> m = moment(X,2)

m =

    0.7940

  

Расчет второго центрального момента (точечной оценки дисперсии) выборки Х, заданной в виде матрицы

>> X = normrnd(10,1,100,5);

>> m = moment(X,2)

m =

    0.7615    0.7820    0.9083    0.8813    1.1147

 

 

Наверх

nanmax - Максимальное значение в выборке. Нечисловые значения в выборке игнорируются

Синтаксис

m = nanmax(Х)

[m,ndx] = nanmax(Х)

m = nanmax(Х,Y)

 

Описание

m = nanmax(Х) функция предназначена для поиска максимального значения m в выборке Х содержащей значения элементов равные NaN. Нечисловые значения элементов матрицы Х NaN рассматриваются как пропущенные. Если Х задана как вектор, то поиск максимального значения производится по всем его элементам. Для выборки определенной в виде матрицы поиск максимального значения выполняется для каждого столбца Х.

[m,ndx] = nanmax(Х) функция поиска максимального значения m и номеров максимальных значений ndx в выборке Х, содержащей значения элементов равные NaN. Номера максимальных значений ndx представляются в виде вектора.

 

m = nanmax(Х,Y) функция выполняет поиск максимальных элементов m матриц Х и Y с игнорированием элементов со значениями равными NaN. Сравнение соответствующих элементов матриц X, Y выполняется попарно. Размерности Х и Y должны совпадать. Результатом является матрица m с размерностью матриц Х и Y.

Примеры использования функции поиска максимального значения в выборке содержащей нечисловые элементы

Поиск максимального значения выборки Х, заданной в виде вектора

>> X = normrnd(10,1,100,1);

>> X([1 10 50 66 54]) = [NaN NaN NaN NaN NaN];

>> m = nanmax(Х)

m =

   12.1832

   

Поиск максимальных значений выборок в матрице Х

 

>> X = normrnd(10,1,100,5);

>> X([1 120 250 366 454]) = [NaN NaN NaN NaN NaN];

>> m = nanmax(Х)

m =

   12.1122   12.3093   12.3726   11.8705   12.6903

   

Поиск максимальных значений выборок и их индексов в матрице Х

>> X = normrnd(10,1,100,5);

>> X([1 120 250 366 454]) = [NaN NaN NaN NaN NaN];

>> [m,ndx] = nanmax(Х)

m =

   12.1764   12.7316   12.4953   11.7621   12.9495

ndx =

    67    56    36    52    77

  

Поиск максимальных элементов матриц Х и Y с игнорированием элементов равных NaN

 

>> X = normrnd(10,1,5,5);

>> Y = normrnd(10,1,5,5);

>> X([1 7 12 15 25]) = [NaN NaN NaN NaN NaN];

>> Y([2 6 11 16 23]) = [NaN NaN NaN NaN NaN];

>> m = nanmax(Х,Y)

m =

    7.0228   11.6830   12.2472   11.4445    9.5813

   11.6275   10.5553   10.0032    9.9256   11.4149

   10.8844   10.7595   11.9916   10.2624    9.1526

    9.5941   10.0967   11.6241   10.1192   10.1661

    9.8473   11.1580   10.1396   10.3323   10.9260

 

 

Наверх

nanmean - Среднее арифметическое выборки. Нечисловые значения в выборке игнорируются

Синтаксис

y = nanmean(X)

 

Описание

y = nanmean(X) функция предназначена для расчета среднего арифметического y выборки Х содержащей значения элементов равные NaN. Нечисловые значения элементов матрицы Х NaN рассматриваются как пропущенные. Если Х задана как вектор, то расчет среднего арифметического производится по всем его элементам. Для выборки определенной в виде матрицы расчет среднего арифметического выполняется для каждого столбца Х.

Примеры использования функции расчета среднего арифметического выборки содержащей нечисловые элементы

Расчет среднего арифметического выборки, заданной как вектор

>> X = normrnd(10,1,100,1);

>> X([1 10 50 66 54]) = [NaN NaN NaN NaN NaN];

>> y = nanmean (Х)

y =

   10.0669

   

Расчет средних арифметических значений выборок, заданных в виде матрицы

 

>> X = normrnd(10,1,100,5);

>> X([1 120 250 366 454]) = [NaN NaN NaN NaN NaN];

>> y = nanmean (Х)

y =

    9.9490   10.1019    9.8540    9.9973    9.8967

 

 

Наверх

nanmedian - Медиана выборки. Нечисловые значения в выборке игнорируются

Синтаксис

y = nanmedian(X)

 

Описание

y = nanmedian(X) функция предназначена для расчета медианы y выборки Х, содержащей значения элементов равные NaN. Нечисловые значения элементов матрицы Х NaN рассматриваются как пропущенные. Если Х задана как вектор, то расчет медианы производится по всем его элементам. Для выборки определенной в виде матрицы расчет медианы выполняется для каждого столбца Х.

Примеры использования функции расчета медианы выборки с нечисловыми элементами

Расчет медианы выборки, заданной как вектор

>> X = normrnd(10,1,100,1);

>> X([1 10 50 66 54]) = [NaN NaN NaN NaN NaN];

>> y = nanmedian (Х)

y =

    9.8785

  

Расчет медиан выборок, заданных в виде матрицы

 

>> X = normrnd(10,1,100,5);

>> X([1 120 250 366 454]) = [NaN NaN NaN NaN NaN];

>> y = nanmedian (Х)

y =

   10.2096   10.1491   10.2606   10.1257    9.9874

 

 

Наверх

nanmin - Минимальное значение в выборке. Нечисловые значения в выборке игнорируются

Синтаксис

m = nanmin(Х)

[m,ndx] = nanmin(a)

m = nanmin(a,b)

 

Описание

m = nanmin(Х) функция предназначена для поиска минимального значения m в выборке Х содержащей значения элементов равные NaN. Нечисловые значения элементов матрицы Х NaN рассматриваются как пропущенные. Если Х задана как вектор, то поиск минимального значения производится по всем его элементам. Для выборки определенной в виде матрицы поиск минимального значения выполняется для каждого столбца Х.

[m,ndx] = nanmin(Х) функция поиска минимального значения m и номеров минимальных значений ndx в выборке Х, содержащей значения элементов равные NaN. Номера минимальных значений ndx представляются в виде вектора.

 

m = nanmin(X,Y) функция выполняет поиск минимальных элементов m матриц Х и Y с игнорированием элементов со значениями равными NaN. Сравнение соответствующих элементов матриц X, Y выполняется попарно. Размерности Х и Y должны совпадать. Результатом является матрица m с размерностью матриц Х и Y.

Примеры использования функции поиска минимального значения в выборке содержащей нечисловые элементы

Поиск минимального значения выборки Х, заданной в виде вектора

>> X = normrnd(10,1,100,1);

>> X([1 10 50 66 54]) = [NaN NaN NaN NaN NaN];

>> m = nanmin(Х)

m =

    7.9151

  

Поиск минимальных значений выборок в матрице Х

 

>> X = normrnd(10,1,100,5);

>> X([1 120 250 366 454]) = [NaN NaN NaN NaN NaN];

>> m = nanmin(Х)

m =

    8.3019    7.6298    6.4973    6.7146    7.3728

  

Поиск минимальных значений выборок и их индексов в матрице Х

>> X = normrnd(10,1,100,5);

>> X([1 120 250 366 454]) = [NaN NaN NaN NaN NaN];

>> [m,ndx] = nanmin(Х)

m =

    7.6796    7.8707    7.9710    8.0647    7.3797

ndx =

    71    75    29    19    37

  

Поиск минимальных элементов матриц Х и Y с игнорированием нечисловых элементов

 

>> X = normrnd(10,1,5,5);

>> Y = normrnd(10,1,5,5);

>> X([1 7 12 15 25]) = [NaN NaN NaN NaN NaN];

>> Y([2 6 11 16 23]) = [NaN NaN NaN NaN NaN];

>> m = nanmin(Х,Y)

m =

   11.0258   11.2535   10.3844   12.2433   10.3521

    8.1952   11.0665    9.3263    9.8507    9.9351

   10.5221    6.9539   10.0804    9.1112    9.9209

    9.7920    9.7282   11.2769    8.2508    9.8360

    9.7798    9.7111   10.5591    7.8597    9.3344

 

 

Наверх

nanstd - Оценка среднего квадратического отклонения выборки. Нечисловые значения в выборке игнорируются

Синтаксис

y = nanstd(X)

 

Описание

y = nanstd(X) функция предназначена для расчета точечной оценки среднего квадратического отклонения y выборки Х, содержащей значения элементов равные NaN. Нечисловые значения элементов матрицы Х NaN рассматриваются как пропущенные. Если Х задана как вектор, то расчет точечной оценки среднего квадратического отклонения производится по всем его элементам. Для выборки определенной в виде матрицы расчет точечной оценки среднего квадратического отклонения выполняется для каждого столбца Х.

Примеры использования функции расчета точечной оценки среднего квадратического отклонения выборки с нечисловыми элементами

Расчет точечной оценки среднего квадратического отклонения выборки, заданной как вектор

>> X = normrnd(10,1,100,1);

>> X([1 10 50 66 54]) = [NaN NaN NaN NaN NaN];

>> y = nanstd(X)

y =

    0.9424

  

Расчет точечных оценок среднего квадратического отклонения выборок, заданных в виде матрицы

 

>> X = normrnd(10,1,100,5);

>> X([1 120 250 366 454]) = [NaN NaN NaN NaN NaN];

>> y = nanstd(X)

y =

    1.0444    1.0968    1.0272    0.9683    1.1566

 

 

Наверх

prctile - Выборочная процентная точка (процентиль)

Синтаксис

Y = prctile(X,p)

 

Описание

Y = prctile(X,p) функция предназначена для расчета процентилей Y выборки X, соответствующих вероятности попадания случайной величины в интервал (-,Y] с вероятностью p. Значение вероятности p должно находиться в интервале от 0 до 100%.

Если Х задана как вектор, то процентиль Y рассчитывается по всем его элементам для вероятности p. Вероятность p может быть задана как скаляр или вектор. Значения процентили рассчитываются для каждого элемента вектора p. 

 

Для выборки определенной в виде матрицы процентиль рассчитывается для каждого столбца Х. Для матрицы Х и вектора р процентиль рассчитывается для всех значений p и для каждого столбца. Размерность матрицы Y равна mxn, где m - число элементов вектора p, n - число столбцов матрицы Х.

Примеры использования функции расчета процентилей выборки

Расчет 10% процентили вектора Х

>> X = normrnd(0,1,100,1);

>> p=10;

>> Y = prctile(X,p)

Y =

   -1.1015

   

Расчет 10%, 20%, 30% процентилей вектора Х

 

>> X = normrnd(0,1,100,1);

>> p=[10 20 30];

>> Y = prctile(X,p)

Y =

   -1.2258   -1.0402   -0.6829

   

Расчет 10% процентилей для нескольких выборок матрицы Х

>> X = normrnd(0,1,100,5);

>> p=10;

>> Y = prctile(X,p)

Y =

   -1.2635   -1.1216   -1.3599   -1.3920   -1.0285

   

Расчет 10%, 20%, 30% процентилей для нескольких выборок матрицы Х

 

>> X = normrnd(0,1,100,5);

>> p=[10 20 30];

>> Y = prctile(X,p)

Y =

   -1.4662   -1.2327   -1.4568   -1.5269   -1.4533

   -0.9595   -0.7126   -1.0071   -0.9093   -0.9905

   -0.5902   -0.2939   -0.6884   -0.5700   -0.6566

   

Графическое представление 10%, 30%, 50%, 70%, 90% процентилей выборки Х

>> X = normrnd(0,1,100,1);

>> p=[10 30 50 70 90];

>> Y = prctile(X,p)

Y =

   -1.1015   -0.3344    0.1162    0.5745    1.1421

>> hist(X)

>> grid on

>> H=line ([Y(1) Y(1)], [0 25]);

>> H1=line ([Y(2) Y(2)], [0 25]);

>> H2=line ([Y(3) Y(3)], [0 25]);

>> H3=line ([Y(4) Y(4)], [0 25]);

>> H4=line ([Y(5) Y(5)], [0 25]);

 

 

 

Наверх

range - Размах выборки

Синтаксис

R = range(X)

 

Описание

R = range(X) функция предназначена для расчета размаха R выборки Х. Если Х задана как вектор, то размах рассчитывается по всем его элементам. Для выборки определенной в виде матрицы размах рассчитывается для каждого столбца Х.

Расчет размаха выполняется по формуле

Размах является точечной оценкой разброса значений выборки. Размах чувствителен к грубым промахам, что делает его ненадежной оценкой разброса.

Примеры использования функции расчета размаха выборки

 

Расчет размаха выборки Х заданной в виде вектора

>> X = normrnd(10,1,100,1);

>> R = range(X)

R =

    5.7830

  

Расчет размаха выборки Х заданной в виде матрицы

 

>> X = normrnd(10,1,100,5);

>> R = range(X)

R =

    4.4707    6.2069    5.4199    4.2831    4.5227

  

Оценка влияния грубых промахов на величину размаха

>> X = normrnd(10,1,100,1);

>> R = range(X)

R =

    4.9442

>> X(100,1) =-8;

>> R = range(X)

R =

   20.8149

 

 

Наверх

skewness - Оценка коэффициента асимметрии

Синтаксис

y = skewness(X)

y = skewness(X,flag)

 

Описание

y = skewness(X) функция предназначена для расчета точечной оценки коэффициента асимметрии y выборки Х. Если Х задана как вектор, то точечная оценка коэффициента асимметрии рассчитывается по всем его элементам. Для выборки определенной в виде матрицы точечная оценка коэффициента асимметрии рассчитывается для каждого столбца Х.

Расчет проводится по формуле

,

где  - среднее арифметическое значение выборки Х,  - точечная оценка среднего квадратического отклонения выборки Х, E(t) - наиболее вероятная оценка параметра t.

 

Коэффициент асимметрии выборки является мерой смещенности распределения относительно среднего арифметического значения. 

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

 

y = skewness(X,flag) функция позволяет рассчитать несмещенную (flag=0) и смещенную (flag=1, значение по умолчанию) точечную оценку коэффициента асимметрии y выборки Х. Величина смещения выборочного коэффициента асимметрии зависит от объема выборки. Если Х является выборкой из генеральной совокупности, для получения несмещенной точечной оценки коэффициента асимметрии flag должен быть равен 0.

Примеры использования функции расчета точечной оценки коэффициента асимметрии выборки

Расчет точечной оценки коэффициента асимметрии выборки Х, заданной в виде вектора

 

>> X = normrnd(10,1,100,1);

>> y = skewness (X)

y =

    0.1302

  

Расчет точечной оценки коэффициента асимметрии выборки Х заданной в виде матрицы

>> X = normrnd(10,1,100,5);

>> y = skewness (X)

y =

    0.2924   -0.3086    0.0883    0.0849    0.2744

  

Расчет смещенной и несмещенной точечных оценок коэффициента асимметрии выборки Х

 

>> X = normrnd(10,1,100,1);

>> y = skewness (X,1)

y =

    0.6063

>> y = skewness (X,0)

y =

    0.6156

  

Сравнение распределения выборок и значений коэффициента асимметрии для нормального закона и закона Вейбулла

>> X1 = normrnd(10,1,100,1);

>> X2 = weibrnd(2,1,100,1);

>> X = [X1 X2];

>> y = skewness (X)

y =

   -0.3116    2.5254

>> histfit(X1)

>> grid on

 

>> histfit(X2)

>> grid on

 

 

Наверх

tabulate - Определение частот целых положительных элементов вектора случайных значений

Синтаксис

table = tabulate(x)

tabulate(x)

 

Описание

table = tabulate(x) функция позволяет получить матрицу table частот элементов вектора х. Элементы вектора х должны быть целыми положительными числами. Матрица table содержит три столбца. В первом столбце содержатся значения элементов вектора х, во втором - частота значений, в третьем - относительная частота значений, выраженная в процентах от объема выборки.

tabulate(x) вариант синтаксиса функции без выходных аргументов выводит матрицу частот в виде отформатированной таблицы.

Примеры использования функции расчета частот элементов вектора

Расчет матрицы частот элементов вектора

 

>> x = unidrnd(5,50,1);

>> table = tabulate(x)

table =

     1    14    28

     2    12    24

     3     6    12

     4     6    12

     5    12    24

   

Расчет матрицы частот элементов вектора и вывод форматированной таблицы

>> x = unidrnd(5,50,1);

>> tabulate(x)

  Value    Count    Percent

      1       14     28.00%

      2       12     24.00%

      3        6     12.00%

      4        6     12.00%

      5       12     24.00%

 

 

Наверх

trimmean - Оценка среднего арифметического значения, находимая с игнорированием заданного процента минимальных и максимальных элементов в выборки

Синтаксис

m = trimmean(X,percent)

 

Описание

m = trimmean(X,percent) функция предназначена для расчета среднего арифметического m выборки X с исключением заданного процента наблюдений percent в выборке. Исключение выполняется для минимальных и максимальных значений с долей наблюдений равной percent/2. Полученная оценка математического ожидания является робастной. Если данные принадлежат к одному распределению, то среднее арифметическое полученное с игнорированием заданного процента наблюдений мене эффективно по сравнению со средним арифметическим.

Если Х задана как вектор, то среднее арифметическое значение рассчитывается по всем его элементам. Для выборки определенной в виде матрицы среднее арифметическое значение рассчитывается для каждого столбца Х.

 

Для Х заданной как матрица (набор выборок) можно определить вектор percent для каждой выборки отдельно. В этом случае число элементов в векторе percent должно быть равно числу столбцов Х.

Примеры использования функции расчета среднего арифметического значения выборки с исключением заданного процента минимальных и максимальных элементов в выборке

Расчет среднего арифметического значения выборки с игнорированием 5% минимальных и 5% максимальных значений выборки заданной как вектор

>> X=normrnd(0,1,100,1);

>> percent = 10

percent =

    10

>> m = trimmean(X,percent)

m =

    0.0594

Расчет среднего арифметического значения выборки с игнорированием 5% минимальных и 5% максимальных значений выборки заданной как матрица

>> X=normrnd(0,1,100,5);

>> percent = 10

percent =

    10

>> m = trimmean(X,percent)

m =

    0.0582   -0.0580    0.1150   -0.1523    0.0109

 

Расчет средних арифметических значений 5 выборок с игнорированием 5%, 10%, 7%, 12%, 20% минимальных и максимальных значений для каждой выборки

>> X=normrnd(0,1,100,5);

>> percent = [5 10 7 12 20]

percent =

     5    10     7    12    20

>> m = trimmean(X,percent)

m =

   -0.1101   -0.0970    0.1581    0.1432    0.1737

Оценка эффективности среднего арифметического с 10% исключением максимальных и минимальных значений по сравнению со средним арифметическим, рассчитанных без исключения элементов выборки.

>> x = normrnd(0,1,100,100);

>> m = mean(x);

>> trim = trimmean(x,10);

>> sm = std(m);

>> strim = std(trim);

>> efficiency = (sm/strim).^2

efficiency =

    0.9684

 

Оценка эффективности среднего арифметического с 10% исключением максимальных и минимальных значений по сравнению со средним арифметическим, рассчитанных без исключения элементов выборки.

>> x = normrnd(0,1,100,100);

>> m = mean(x);

>> trim = trimmean(x,10);

>> sm = std(m);

>> strim = std(trim);

>> efficiency = (sm/strim).^2

efficiency =

    0.9684

 

 

Наверх

capable - Расчет индексов воспроизводимости процесса Cp, Сpk

Синтаксис

p = capable(data,specs)

[p,Cp,Cpk] = capable(data,specs)

 

Описание

p = capable(data,specs) функция позволяет рассчитать вероятность р выхода значений выборки data за границы допусков specs. Выборка data задается как вектор. Границы допусков представляются в виде двухэлементного вектора: specs(1) - нижняя граница допуска, specs(2) - верхняя граница допуска.

Исходными предположениями при расчете p являются:

  1. не противоречие выборки data нормальному закону с постоянными математическим ожиданием и дисперсией, 

  2. статистической независимостью результатов измерений в выборке.

[p,Cp,Cpk] = capable(data,specs) позволяет рассчитать вероятность р выхода значений выборки data за границы допусков specs, индексы воспроизводимости процесса Cp, Cpk

Расчет среднего арифметического значения элементов вектора на 20 элементов. Генерируется 10 бутстреп выборок.

 

Индекс Cp (индекс потенциальной пригодности) представляет собой отношение разности верхней USL и нижней LSL границ поля допуска к произведению , где  - точечная оценка среднего квадратического отклонения выборки:

Для центрированного технологического процесса (выборочное среднее совпадает с номинальным значением параметра технологического процесса) значение Cp=1 соответствует отношению числа дефектов к числу изделий равному 1/1000. Согласно положениям метода "шесть сигма" долю дефектов необходимо снижать до величин 10/1000000 и менее. Величина доли дефектов 1/1000000 соответствует значению Cp=1.6. Таким образом, уменьшение величины коэффициента Cp соответствует улучшению качества технологического процесса по уровню дефектности при центрированном технологическом процессе.

Индекс Cpk (индекс смещенности технологического процесса) рассчитывается по формуле

где  - среднее арифметическое выборки data.

 

Из приведенной выше формулы следует, что индекс воспроизводимости Cpk является отношением минимальной разности среднего арифметического выборки data и верхней или нижней границы поля допуска параметра к трем точечным оценкам среднего квадратического отклонения. Индекс Cpk=1 для центрированного технологического процесса при Cp=1

Примеры использования функции расчета индексов воспроизводимости

Расчет вероятности брака.

 

>> data=normrnd(0,1,100,1);

>> specs=[-2 2];

>> p = capable(data,specs)

p =

    0.0413

  

Расчет вероятности брака и индексов воспроизводимости процесса Cp , Cpk .

>> data=normrnd(0,1,100,1);

>> specs=[-2 2];

>> [p,Cp,Cpk] = capable(data,specs)

p =

    0.0216

Cp =

    0.7672

Cpk =

    0.7452

  

Пример центрированного процесса с границами рассеяния параметра (±3) совпадающими с границами допусков.

 

>> data=normrnd(0,1,100,1);

>> specs=[-3 3];

>> [p,Cp,Cpk] = capable(data,specs)

p =

    0.0013

Cp =

    1.0856

Cpk =

    1.0316

  

Графическое представление центрированного технологического процесса 

с границами рассеяния параметра совпадающими с границами допусков.

>> data=normrnd(0,1,100,1);

>> specs=[-3 3];

>> [p,Cp,Cpk] = capable(data,specs)

p =

    0.0013

Cp =

    1.0856

Cpk =

    1.0316

>> capaplot(data,specs)

>> H = line([0 0],[0 0.5])

>> set(H,'LineWidth',3, 'Color','k')

>> H1=line([specs(1) specs(1)],[0 0.5])

>> set(H1,'Color','m')

>> text(specs(1) + 0.1,0.4,'LSL');

>> H2=line([specs(2) specs(2)],[0 0.5])

>> set(H2,'Color','m')

>> text(specs(2) + 0.1, 0.4,'USL');

>> grid on

 

Пример смещенного вправо параметра технологического процесса с границами рассеяния параметра совпадающими с границами допусков. Номинальное значение параметра равно нулю.

>> data=normrnd(1.5,1,100,1);

>> specs=[-3 3];

>> [p,Cp,Cpk] = capable(data,specs)

p =

    0.0945

Cp =

    0.8797

Cpk =

    0.4380

Графическое представление смещенного вправо параметра технологического процесса и границами рассеяния параметра совпадающими с границами допусков.

>> data=normrnd(1.5,1,100,1);

>> specs=[-3 3];

>> capaplot(data,specs)

>> H = line([0 0],[0 0.4])

>> set(H,'LineWidth',3, 'Color','k')

>> H0 = line([mean(data) mean(data)],[0 0.4])

>> set(H0,'LineWidth',3, 'Color','b')

>> H1=line([specs(1) specs(1)],[0 0.4])

>> set(H1,'Color','m')

>> text(specs(1) + 0.1,0.4,'LSL');

>> H2=line([specs(2) specs(2)],[0 0.4])

>> set(H2,'Color','m')

>> text(specs(2) + 0.1, 0.4,'USL');

>> grid on

 

 

 

Наверх

capaplot - График воспроизводимости процесса

Синтаксис

p = capaplot(data,specs)

[p,h] = capaplot(data,specs)

 

Описание

p = capaplot(data,specs) позволяет построить график функции плотности нормального закона по точечным оценкам математического ожидания и среднего квадратического отклонения выборки data с наложенными границами допусков параметра specs. Выборка входных значений data должна быть представлена как вектор. Предполагаемся, что выборка data не противоречит нормальному закону. Выходной параметр p является вероятностью попадания значения случайной величины в границы допусков specs. Границы допусков задаются в виде двухэлементного вектора: specs(1) - нижняя граница допуска, specs(2) - верхняя граница допуска. Вероятность попадания значений параметра технологического процесса на графике представляется закрашенной областью между границами допусков specs, осью абсцисс и кривой функции плотности распределения вероятности нормального закона.

[p,h] = capaplot(data,specs) функция кроме величины p возвращает массив указателей на элементы графика воспроизводимости h.

 

Примеры использования функции построения графика воспроизводимости процесса

Пример несмещенного технологического процесса с нулевым математическим ожиданием и единичной дисперсией. Нижняя и верхняя границы допусков равны LSL=-2; USL=2.

 

>> data = normrnd(0,1,50,1);

>> p = capaplot(data,[-2 2])

p =

0.9530

Пример смещенного технологического процесса с единичным математическим ожиданием и единичной дисперсией. Нижняя и верхняя границы допусков равны LSL=-2; USL=2.

>> data = normrnd(1,1,50,1);

>> p = capaplot(data,[-2 2])

p =

0.8464

Использование функции capaplot для получения указателей на элементы графика воспроизводимости. Процесс несмещенный с нулевым математическим ожиданием и единичной дисперсией. Нижняя и верхняя границы допусков равны LSL=-2; USL=2.

>> data = normrnd(1,1,50,1);

>> [p h] = capaplot(data,[-2 2])

p =

    0.8163

h =

  129.0002

    3.0046

  102.0051

>> h(1)

ans =

  129.0002

>> get(h(1))

  Color = [0 0 1]

  EraseMode = normal

  LineStyle = -

  LineWidth = [0.5]

  Marker = none

  MarkerSize = [6]

  MarkerEdgeColor = auto

  MarkerFaceColor = none

  XData = [ (1 by 250) double array]

  YData = [ (1 by 250) double array]

  ZData = []

  BeingDeleted = off

  ButtonDownFcn = 

  Children = []

  Clipping = on

  CreateFcn = 

  DeleteFcn = 

  BusyAction = queue

  HandleVisibility = on

  HitTest = on

  Interruptible = on

  Parent = [101.001]

  Selected = off

  SelectionHighlight = on

  Tag = 

  Type = line

  UIContextMenu = []

  UserData = []

  Visible = on

 

 

Наверх

ewmaplot - Контрольная карта экспоненциально взвешенного среднего

Синтаксис

ewmaplot(data)

ewmaplot(data,lambda)

ewmaplot(data,lambda,alpha)

ewmaplot(data,lambda,alpha,specs)

h = ewmaplot(...)

 

Описание

ewmaplot(data) функция предназначена для построения контрольной карты экспоненциально взвешенного скользящего среднего для выборки data. Размерность матрицы DATA равна n×m, где n - количество выборок (строк DATA), m - объем выборки (число столбцов DATA). Последовательность выборок (строк матрицы data) должна соответствовать порядку сбора исходных данных. На графике контрольной карты отображаются выборочное скользящее среднее , i=1..n, центральная линия, соответствующая общему среднему , верхняя UCL и нижняя LCL контрольные границы.

Верхняя и нижняя контрольные границы определяются как

,

 - среднее квадратическое отклонение .

ewmaplot(data,lambda) функция служит для построения контрольной карты экспоненциально взвешенного скользящего среднего для выборки data и переменной lambda, отвечающей за степень влияния предыдущих значений на текущее скользящее среднее. Большее значение lambda соответствует большему весу предыдущих наблюдений. Величина lambda должна находиться в интервале [0 1]. По умолчанию lambda=0.4.

ewmaplot(data,lambda,alpha) функция позволяет построить контрольную карту экспоненциально взвешенного скользящего среднего для выборки data с заданным весом предыдущих наблюдений lambda и уровнем значимости alpha для верхней и нижней контрольных границ. По умолчанию alpha=0,0027, это соответствует ± 3:

>> norminv(1-0.0027/2)

ans =

3.0000

Для расчета уровня значимости alpha соответствующего ± k средних квадратических отклонений скользящего среднего используется выражение 2*(1-normcdf(k)). Например, для k=2 значение conf равно

>> k = 2;

>> alpha =2*(1-normcdf(k))

alpha =

0.0455

ewmaplot(data,lambda,alpha,specs) функция служит для построения контрольной карты экспоненциально взвешенного скользящего среднего для выборки data с заданным весом предыдущих наблюдений lambda, уровнем значимости alpha и границ допуска параметра specs. Границы допусков определяются как вектор с двумя элементами: specs(1) - нижняя граница допуска, specs(2) - верхняя граница допуска.

h = ewmaplot(...) в этом варианте синтаксиса допустимы любые перечисленные выше входные параметры, выходным параметром h является вектор указателей на объекты графика контрольной карты.

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

EWMA контрольная карта для технологического процесса с постоянным нулевым математическим ожиданием и единичной дисперсией.

>>data=normrnd(0,1,20,5)

data =

    0.4634    1.4766    0.6970   -0.5102   -0.5608

   -0.9241   -0.8138   -1.3664   -0.0067    0.1793

   -0.6497    0.6450    0.3630   -0.5255   -0.7715

    0.6229   -1.3099   -0.5670    0.7177   -0.9434

   -1.3351   -0.8674   -1.0442    1.0884   -1.4076

    1.0477   -0.4742    0.6971    0.5006   -1.9061

    0.8633    0.2224    0.4840    2.7718   -0.0653

   -0.6424    1.8713   -0.1938   -0.1603    0.6721

    0.6600    0.1100   -0.3781    0.4295    0.2061

    1.2941   -0.4113   -0.8864   -1.9668   -0.0081

    0.3146    0.5112   -1.8402   -0.5460    0.0200

    0.8596   -1.1991   -1.6282   -1.8884   -0.5584

    0.1287   -0.0964   -1.1738   -0.1080    1.8861

    0.0166    0.4458   -0.4154   -1.3161   -0.2200

   -0.0728   -0.2958    0.1751   -0.6726   -1.4144

   -0.9943   -0.1680    0.2294   -0.9024   -0.3028

   -0.7474    0.1795   -1.2409   -0.1548   -0.5696

   -0.0308    0.4211    0.7000    0.9472   -0.1215

    0.9884    1.6777    0.4269    1.5504   -0.3902

   -0.5990    1.9969    1.4548    0.4290   -0.8443

>>ewmaplot(data)

Вид EWMA контрольной карты для технологического процесса с постоянным нулевым математическим ожиданием, единичной дисперсией и коэффициентом влияния lambda=[0.1 0.3 0.6 1].

>>data=normrnd(0,1,20,5);

>>lambda=0.1;

>> subplot(2,2,1)

>>ewmaplot(data,lambda)

>>lambda=0.3;

>> subplot(2,2,2)

>>ewmaplot(data,lambda)

>>lambda=0.6;

>> subplot(2,2,3)

>>ewmaplot(data,lambda)

>>lambda=1;

>> subplot(2,2,4)

>>ewmaplot(data,lambda)

 

EWMA контрольная карта для контрольных границ на уровне ±2,5.

>>data=normrnd(0,1,20,5);

>>lambda=0.5;

>> k = 2.5;

>> alpha =2*(1-normcdf(k))

alpha =

    0.0124

>> ewmaplot(data,lambda,alpha) 

EWMA контрольная карта для технологического процесса с линейно нарастающим математическим ожиданием, равным 10+0.02*t(:,ones(4,1)) при t = (1:28)', постоянной дисперсией, равной 0,52. Выборка исходных данных data является матрицей с размерностью 28×4, где количество выборок равно 28, число измерений в выборке - 4. Контрольная карта экспоненциально взвешенного скользящего среднего строиться для постоянной сглаживания lambda =0.4, контрольных границ соответствующих уровню значимости alpha =0.01. Границы допусков параметра равны LSL=9,75; USL=10,75.

>> t = (1:28)';

>> data = normrnd(10+0.02*t(:,ones(4,1)),0.5);

>> lambda =0.4;

>> alpha =0.01;

>> specs=[9.75 10.75];

>> ewmaplot(data, lambda, alpha, specs)

 

Получение доступа к свойствам объектов EWMA контрольной карты.

>>data=normrnd(0,1,20,5);

>>lambda=0.5;

>> alpha =0.0124;

>> h=ewmaplot(data,lambda,alpha)

h =

  113.0018

    3.0089

  102.0116

  103.0048

  104.0048

  105.0048

>>get(h(1))

  Color = [0 0 1]

  EraseMode = normal

  LineStyle = -

  LineWidth = [0.5]

  Marker = none

  MarkerSize = [6]

  MarkerEdgeColor = auto

  MarkerFaceColor = none

  XData = [ (1 by 20) double array]

  YData = [ (1 by 20) double array]

  ZData = []

  BeingDeleted = off

  ButtonDownFcn = 

  Children = []

  Clipping = on

  CreateFcn = 

  DeleteFcn = 

  BusyAction = queue

  HandleVisibility = on

  HitTest = on

  Interruptible = on

  Parent = [101.002]

  Selected = off

  SelectionHighlight = on

  Tag = 

  Type = line

  UIContextMenu = []

  UserData = []

  Visible = on

 

 

Наверх

histfit - Гистограмма по негруппированным экспериментальным данным с наложенной на нее кривой функции плотности распределения нормального закона

Синтаксис

histfit(data)

histfit(data,nbins)

h = histfit(data,nbins)

 

Описание

histfit(data,nbins) функция позволяет построить гистограмму с наложенной функцией плотности вероятности нормального закона по выборке data с числом интервалов nbins. Выборка data должна быть задана как вектор негруппированных значений. Группировка выборки data выполняется по интервалам равной длины. Если параметр nbins не задан, он принимается равным ближайшему целому из корня квадратного числа элементов в выборке data.

h = histfit(data,nbins) в качестве выходного параметра выступает вектор указателей на элементы графика. Первый элемент вектора h(1) является указателем на гистограмму, h(2) - указатель на кривую плотности вероятности нормального закона.

Примеры использования функции гистограммы с графиком функции плотности нормального закона

Гистограмма с наложенным графиком функции плотности распределения вероятностей нормального закона. Число интервалов группирования определяется по умолчанию, как ближайшее целое к корню квадратному из объема выборки.

>>data=normrnd(0,1,100,1);

>>histfit(data)

 

Вид получаемых графиков в зависимости от объема выборки при одинаковых параметрах генерируемой выборки.

>>data=normrnd(0,1,25,1);

>>subplot(2,2,1)

>>histfit(data)

>>data=normrnd(0,1,49,1);

>>subplot(2,2,2)

>>histfit(data)

>>data=normrnd(0,1,81,1);

>>subplot(2,2,3)

>>histfit(data)

>>data=normrnd(0,1,144,1);

>>subplot(2,2,4)

>>histfit(data)

 

Гистограмма с наложенным графиком функции плотности распределения вероятностей нормального закона с заданным числом интервалов группирования.

>>data=normrnd(0,1,100,1);

>>nbins=7;

>>histfit(data,nbins)

Использование указателей на элементы графика и получение списка свойств гистограммы.

 

>>data=normrnd(0,1,100,1);

>>nbins=7;

>>h=histfit(data,nbins)

h =

  101.0029

  102.0010

>>get(h(1))

  AlphaDataMapping = scaled

  CData = [ (4 by 7) double array]

  CDataMapping = scaled

  FaceVertexAlphaData = []

  FaceVertexCData = [ (36 by 1) double array]

  EdgeAlpha = [1]

  EdgeColor = [0 0 0]

  EraseMode = normal

  FaceAlpha = [1]

  FaceColor = flat

  Faces = [ (7 by 4) double array]

  LineStyle = -

  LineWidth = [0.5]

  Marker = none

  MarkerEdgeColor = auto

  MarkerFaceColor = none

  MarkerSize = [6]

  Vertices = [ (36 by 2) double array]

  XData = [ (4 by 7) double array]

  YData = [ (4 by 7) double array]

  ZData = []

  FaceLighting = flat

  EdgeLighting = none

  BackFaceLighting = reverselit

  AmbientStrength = [0.3]

  DiffuseStrength = [0.6]

  SpecularStrength = [0.9]

  SpecularExponent = [10]

  SpecularColorReflectance = [1]

  VertexNormals = [ (36 by 3) double array]

  NormalMode = auto

  BeingDeleted = off

  ButtonDownFcn = 

  Children = []

  Clipping = on

  CreateFcn = 

  DeleteFcn = 

  BusyAction = queue

  HandleVisibility = on

  HitTest = on

  Interruptible = on

  Parent = [100.001]

  Selected = off

  SelectionHighlight = on

  Tag = 

  Type = patch

  UIContextMenu = []

  UserData = []

  Visible = on

 

 

Наверх

normspec - График функции плотности нормального закона с наложенными границами допусков контролируемого параметра

Синтаксис

p = normspec(specs,mu,sigma)

[p,h] = normspec(specs,mu,sigma)

 

Описание

p = normspec(specs,mu,sigma) функция предназначения для построения графика плотности распределения вероятностей нормального закона с заданными параметрами: математическим ожиданием mu, средним квадратическим отклонением sigma, и границами допусков параметра specs. Границы допусков определяются как вектор с двумя элементами: specs(1) - нижняя граница допуска, specs(2) - верхняя граница допуска. Выходной параметр p - вероятность попадания значения параметра в границы допусков specs. Если допуск на параметр является односторонним, то отсутствующая граница допуска задается как бесконечное значение. При одностороннем ограничении слева правая граница задается как Inf, т.е. specs(1)=A, specs(2)=Inf, или specs=[A Inf], где А - нижняя граница допуска. При одностороннем ограничении справа левая граница задается как -Inf, т.е. specs(1)=-Inf, specs(2)=В, или specs=[-Inf В], где В - верхняя граница допуска.

[p,h] = normspec(specs,mu,sigma) в этом варианте синтаксиса кроме вероятности попадания значения параметра в границы допусков p, возвращается вектор указателей элементов графика h.

Примеры использования функции графика плотности распределения вероятностей нормального закона с границами допусков параметра

График плотности распределения вероятностей несмещенного нормального технологического процесса 

с двусторонними границами допусков на параметр и единичной дисперсией.

 

>> mu = 0;

>> sigma = 1;

>> specs = [-2 2];

>> p = normspec(specs,mu,sigma)

p =

    0.9545

График плотности распределения вероятностей смещенного нормального технологического процесса 

с двусторонними границами допусков на параметр и единичной дисперсией.

 

>> mu = 1;

>> sigma = 1;

>> specs = [-2 2];

>> p = normspec(specs,mu,sigma)

Графики плотности распределения вероятностей несмещенного нормального технологического процесса 

с односторонними границами допусков на параметр и единичной дисперсией.

 

>> mu = 0;

>> sigma = 1;

>> specs = [-2 Inf];

>>subplot(2,1,1)

>> p = normspec(specs,mu,sigma)

p =

    0.9772

>> p = normspec(specs,mu,sigma)

p =

    0.9772

 

Использование указателей на элементы графика и получение списка свойств.

>> mu = 0;

>> sigma = 1;

>> specs = [-2 2];

>> [p h] = normspec(specs,mu,sigma)

p =

    0.9545

h =

  206.0006

  207.0005

  208.0005

>>get(h(1))

  Color = [0 0 1]

  EraseMode = normal

  LineStyle = -

  LineWidth = [0.5]

  Marker = none

  MarkerSize = [6]

  MarkerEdgeColor = auto

  MarkerFaceColor = none

  XData = [ (1 by 2500) double array]

  YData = [ (1 by 2500) double array]

  ZData = []

  BeingDeleted = off

  ButtonDownFcn = 

  Children = []

  Clipping = on

  CreateFcn = 

  DeleteFcn = 

  BusyAction = queue

  HandleVisibility = on

  HitTest = on

  Interruptible = on

  Parent = [205]

  Selected = off

  SelectionHighlight = on

  Tag = 

  Type = line

  UIContextMenu = []

  UserData = []

  Visible = on

 

 

Наверх

schart - Контрольная карта среднего квадратического отклонения

Синтаксис

schart(DATA,conf)

schart(DATA,conf,specs)

schart(DATA,conf,specs)

[outliers,h] = schart(DATA,conf,specs)

 

Описание

schart(data) функция позволяет получить контрольную карту средних квадратических отклонений выборочных значений DATA. Размерность матрицы DATA равна n?m, где n - количество выборок (строк DATA), m - объем выборки (число столбцов DATA). Последовательность выборок должна соответствовать порядку сбора исходных данных. На графике контрольной карты отображаются выборочные средние квадратические отклонения (si, i=1..n), центральная линия ( ), верхняя UCL и нижняя LCL контрольные границы.

Среднее арифметическое выборочных средних квадратических отклонений рассчитывается по формуле:

Верхняя и нижняя контрольные границы рассчитываются по формулам

- среднее квадратическое отклонение

Если технологический процесс является статистически управляемым, то при 1000 выборках количество точек вышедших за контрольные пределы не должно превышать 3-х в случайном порядке. Таким образом, при малом количестве выборок выход выборочного среднего квадратического отклонения за контрольные границы означает потерю процессом статистической управляемости.

 

schart(DATA,conf) функция предназначена для построения s контрольной карты выборки DATA с заданной доверительной вероятностью conf для верхней и нижней контрольных границ. По умолчанию значение conf принимается равной 0.9973. Величина conf=0.9973 соответствует интервалу ±3

>> norminv(1 - (1-.9973)/2)

ans =

    3.0000

Для расчета доверительной вероятности conf соответствующей ±k используется выражение 1-2*(1-normcdf(k)). Например, для k=2 значение conf равно

>> k = 2;

>> conf =1-2*(1-normcdf(k))

conf =

    0.9545

 

schart(DATA,conf,specs) функция предназначена для построения s контрольной карты с заданной доверительной вероятностью расположения контрольных границ conf и границами допусков specs. Границы допусков определяются как вектор с двумя элементами: specs(1) - нижняя граница допуска, specs(2) - верхняя граница допуска.

[outliers,h] = schart(data,conf,specs) выходными параметрами функции являются: outlier - вектор номеров выборок (строк матрицы DATA), средние квадратические отклонения которых вышли за контрольные границы, h - вектор указателей на объекты графика контрольной карты.

Примеры использования функции построения контрольной карты средних квадратических отклонений

s контрольная карта

 

>>DATA=normrnd(0,1,20,5)

DATA =

   -0.4326    0.2944   -1.6041    0.0000    0.6232

   -1.6656   -1.3362    0.2573   -0.3179    0.7990

    0.1253    0.7143   -1.0565    1.0950    0.9409

    0.2877    1.6236    1.4151   -1.8740   -0.9921

   -1.1465   -0.6918   -0.8051    0.4282    0.2120

    1.1909    0.8580    0.5287    0.8956    0.2379

    1.1892    1.2540    0.2193    0.7310   -1.0078

   -0.0376   -1.5937   -0.9219    0.5779   -0.7420

    0.3273   -1.4410   -2.1707    0.0403    1.0823

    0.1746    0.5711   -0.0592    0.6771   -0.1315

   -0.1867   -0.3999   -1.0106    0.5689    0.3899

    0.7258    0.6900    0.6145   -0.2556    0.0880

   -0.5883    0.8156    0.5077   -0.3775   -0.6355

    2.1832    0.7119    1.6924   -0.2959   -0.5596

   -0.1364    1.2902    0.5913   -1.4751    0.4437

    0.1139    0.6686   -0.6436   -0.2340   -0.9499

    1.0668    1.1908    0.3803    0.1184    0.7812

    0.0593   -1.2025   -1.0091    0.3148    0.5690

   -0.0956   -0.0198   -0.0195    1.4435   -0.8217

   -0.8323   -0.1567   -0.0482   -0.3510   -0.2656

>> schart(DATA)

s контрольная карта для контрольных границ равных ±2,5

>>DATA=normrnd(0,1,20,10);

>> k = 2.5;

>> conf =1-2*(1-normcdf(k))

conf =

    0.9876

>> schart(DATA,conf)

 

s контрольная карта для контрольных границ равных ±2  и границами допусков LSL=0,2; USL=1,5.

>> DATA=normrnd(0,1,20,10);

>> k=2;

>> conf =1-2*(1-normcdf(k));

>> specs=[0.2 1.5];

>> schart (DATA,conf,specs)

 

s контрольная карта для контрольных границ равных ±1,5 и границами допусков LSL=0,2; USL=1,5. В качестве выходных параметров выступают вектор номеров выборок вышедших за контрольные границы - outlier, и вектор указателей на объекты графика - h.

>> DATA=normrnd(0,1,20,10);

>> k=1.5;

>> conf =1-2*(1-normcdf(k));

>> specs=[0.2 1.5];

>> [outlier,h] = schart (DATA,conf,specs)

outlier =

     9

h =

    3.0027

  102.0040

  103.0016

  104.0016

  105.0016

  106.0010

  114.0007

  115.0006

 

 

Наверх

xbarplot - Контрольная карта среднего арифметического

Синтаксис

xbarplot(DATA)

xbarplot(DATA,conf)

xbarplot(DATA,conf,specs)

xbarplot(DATA,conf,specs,'sigmaest')

[outlier,h] = xbarplot(...)

 

Описание

xbarplot(DATA) функция позволяет получить контрольную карту средних арифметических значений () для выборки DATA. Размерность матрицы DATA равна nxm, где n - количество выборок (строк DATA), m - объем выборки (число столбцов DATA). Последовательность выборок должна соответствовать порядку сбора исходных данных. На графике контрольной карты отображаются выборочные средние значения , i=1..n, центральная линия, соответствующая общему среднему арифметическому , верхняя UCL и нижняя LCL контрольные границы.

Общее среднее арифметическое рассчитывается по формуле:

.

Верхняя и нижняя контрольные границы определяются как

,

 - среднее квадратическое отклонение .

Если технологический процесс является статистически управляемым, то при 1000 выборках количество точек вышедших за контрольные пределы не должно превышать 3-х в случайном порядке. Таким образом, при малом количестве выборок выход выборочного среднего арифметического  за контрольные границы означает потерю процессом статистической управляемости.

xbarplot(DATA,conf) функция предназначена для построения  контрольной карты для выборки DATA с заданной доверительной вероятностью conf для верхней и нижней контрольных границ. По умолчанию значение conf принимается равной 0.9973. Величина conf=0.9973 соответствует интервалу ± 3 средних квадратических отклонений общего среднего:

>> norminv(1 - (1-.9973)/2)

ans =

3.0000

Для расчета доверительной вероятности conf соответствующей  используется выражение 1-2*(1-normcdf(k)). Например, для k=2 значение conf равно

>> k = 2;

>> conf =1-2*(1-normcdf(k))

conf =

0.9545

xbarplot(DATA,conf,specs) функция предназначена для построения контрольной карты средних арифметических значений с заданной доверительной вероятностью расположения контрольных границ conf и границами допусков на параметр технологического процесса specs. Границы допусков определяются как вектор с двумя элементами: specs(1) - нижняя граница допуска, specs(2) - верхняя граница допуска.

xbarplot(DATA,conf,specs,'sigmaest') позволяет получить  контрольную карту с заданной доверительной вероятностью conf. Строковый параметр 'sigmaest' служит для определения способа расчета точечной оценки стандартного отклонения общего среднего. Возможны следующие способы расчета :

Значение 'sigmaest'

Способ расчета точечной оценки стандартного отклонения

'range', 'r'

Для расчета точечной оценки  используется средний выборочный размах. Применяется для объема выборки не более 25 элементов.

'variance', 'v'

Точечная оценка  принимается равной корню квадратному из дисперсии рассчитанной по всем выборкам

's'

Точечная оценка  принимается равной среднему арифметическому средних квадратических отклонений выборок

[outlier,h] = xbarplot(DATA,conf,specs) выходными параметрами функции являются: outlier - вектор номеров выборок (строк матрицы DATA), средние арифметические значения которых вышли за контрольные границы, h - вектор указателей на объекты графика контрольной карты.

Примеры использования функции построения контрольной карты средних арифметических значений

 контрольная карта

 >>DATA=normrnd(0,1,20,4)

DATA =

   -0.4326    0.2944   -1.6041    0.0000

   -1.6656   -1.3362    0.2573   -0.3179

    0.1253    0.7143   -1.0565    1.0950

    0.2877    1.6236    1.4151   -1.8740

   -1.1465   -0.6918   -0.8051    0.4282

    1.1909    0.8580    0.5287    0.8956

    1.1892    1.2540    0.2193    0.7310

   -0.0376   -1.5937   -0.9219    0.5779

    0.3273   -1.4410   -2.1707    0.0403

    0.1746    0.5711   -0.0592    0.6771

   -0.1867   -0.3999   -1.0106    0.5689

    0.7258    0.6900    0.6145   -0.2556

   -0.5883    0.8156    0.5077   -0.3775

    2.1832    0.7119    1.6924   -0.2959

   -0.1364    1.2902    0.5913   -1.4751

    0.1139    0.6686   -0.6436   -0.2340

    1.0668    1.1908    0.3803    0.1184

    0.0593   -1.2025   -1.0091    0.3148

   -0.0956   -0.0198   -0.0195    1.4435

   -0.8323   -0.1567   -0.0482   -0.3510

>>xbarplot(DATA)

 контрольная карта с контрольными границами равными ±2,5

>>DATA=normrnd(0,1,20,4);

>> k = 2.5;

>> conf =1-2*(1-normcdf(k))

conf =

0.9876

>> xbarplot(DATA,conf)

контрольная карта с контрольными границами равными ±2 и границами допусков технологического параметра -1; 1.

>> DATA=normrnd(0,1,20,4);

>> k=2;

>> conf =1-2*(1-normcdf(k));

>> specs=[-1 1];

>> xbarplot(DATA,conf,specs)

 контрольная карта с контрольными границами равными ±2. Для расчета точечной оценки стандартного отклонения  используется средний выборочный размах.

>> DATA=normrnd(0,1,20,4);

>> k=2;

>> conf =1-2*(1-normcdf(k));

>> specs=[-1 1];

>> sigmaest='range';

>> xbarplot(DATA,conf,specs,sigmaest)

Следует отметить, в этом варранте синтаксиса функции xbarplot не предусмотрено построение границ допусков на технологический параметр. Согласно тексту файла xbarplot.m границы допусков будут построены только при 3-х входных параметрах.

 контрольная карта с контрольными границами равными ±1,5 и границами допусков технологического параметра в интервале -1; 1. В качестве выходных параметров выступают вектор номеров выборок вышедших за контрольные границы - outlier, и вектор указателей объектов графика - h.

>> DATA=normrnd(0,1,20,4);

>> k=1.5;

>> conf =1-2*(1-normcdf(k));

>> specs=[-1 1];

>> [outlier,h] = xbarplot(DATA,conf,specs)

 outlier =

     7

     9

    11

    12

    13

    14

    17

    19

h =

    3.0027

  102.0040

  103.0016

  104.0016

  105.0016

  106.0010

  121.0004

  122.0004

 

 

 

Наверх

anova1 - Однофакторный дисперсионный анализ

Синтаксис

p = anova1(X)

p = anova1(X,group)

p = anova1(X,group,'displayopt')

[p,table] = anova1(...)

[p,table,stats] = anova1(...)

 

Описание

p = anova1(X) функция позволяет провести однофакторный дисперсионный анализ для сравнения средних арифметических значений одной или нескольких выборок одинакового объема. Выборки определяются входным аргументом Х. Х задается как матрица с размерностью mxn, где m - число наблюдений в выборке (число строк Х), n - количество выборок (число столбцов матрицы Х). Выборки должны быть независимыми. Выходным аргументом функции является уровень значимости p нулевой гипотезы. Нулевая гипотеза состоит в том, что все выборки в матрице Х взяты из одной генеральной совокупности или из разных генеральных совокупностей с равными средними арифметическими. p является вероятностью ошибки первого рода, или вероятностью необоснованно отвергнуть нулевую гипотезу. Если значение p0, то нулевая гипотеза может быть отвергнута, т.е. хотя бы одно среднее арифметическое отличается от остальных значений. Выбор критического уровня значимости pKP для условия принятия нулевой гипотезы

предоставлен исследователю. В большинстве практических случаев pKP принимают равным 0,05; 0,01.

При проведении дисперсионного анализа общая дисперсия делится на две составляющие:

  • межгрупповую дисперсию - дисперсию средних арифметических значений выборок матрицы Х относительно общего среднего;

  • внутригрупповую дисперсию - дисперсию значений выборок относительно выборочных средних.

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

 

Таблица с результатами однофакторного дисперсионного анализа содержит 6 столбцов (рис. 1):

  1. вид дисперсии (Source): 

    • внутригрупповая (Columns), 

    • межгрупповая (Error), 

    • общая (Total);

  2. сумму квадратов разностей (SS) между средним арифметическим и значениями выборки по каждому виду дисперсии;

  3. число степеней свободы по каждому виду дисперсии (df);

  4. среднее значение суммы квадратов разностей (MS) по каждому виду дисперсии, определяемое как отношение SS/df;

  5. значение статистики Фишера (F статистики) для MS;

  6. значение уровня значимости p (Prob>F) для рассчитанного значения статистики F. Если величина F увеличивается, то значение p должно уменьшаться.

Рис. 1. Таблица однофакторного дисперсионного анализа.

Диаграмма размаха средних арифметических значений строится по выборкам, т.е. по столбцам матрицы Х, и является аналогом диаграммы размаха для медиан выборок, получаемой при помощи функции boxplot. Чем больше разница между центральными линиями на диаграмме размаха (средними арифметическими выборок), тем больше разница между выборочными значениями статистики F и меньше соответствующие значения уровня значимости p.

p = anova1(X,group) входной аргумент group задает метки выборок Х и названий соответствующих им графиков на диаграмме размаха. Метки выборок group задаются вектором строк или массивом ячеек. Число элементов вектора group должно быть равно количеству столбцов матрицы Х.

 

Выборки могут быть заданы как вектор Х. Деление элементов Х на выборки выполняется при помощи входного аргумента group. group может быть задан вектор, символьный массив (вектор строк) или массив ячеек. Принадлежность элемента вектора Х к выборке определяется одинаковым значением соответствующего элемента вектора group. Размерность векторов Х и group должна совпадать. Значения вектора group являются метками соответствующих графиков выборок на диаграмме размаха средних арифметических.

Векторная форма задания выборок Х по группирующей переменной group позволяет проводить однофакторный дисперсионный анализ по выборкам неодинакового объема. Если элемент вектора группирующей переменной groupi содержит пустую строку, пустую ячейку массива или нечисловое значение NaN, то соответствующий элемент данных в векторе Х игнорируется при расчете.

 

p = anova1(X,group,'displayopt') входной аргумент 'displayopt' позволяет явно задать отображение графических окон с таблицей результатов дисперсионного анализа и диаграммой размаха 'displayopt'='on', или подавить вывод графических окон 'displayopt'='off'. Значение по умолчанию 'displayopt'='on'.

[p,table] = anova1(...) функция возвращает таблицу с результатами однофакторного дисперсионного анализа в текстовой форме в командное окно MATLAB.

 

[p,table,stats] = anova1(...) функция возвращает структуру stats используемую для проведения парных сравнений средних арифметических выборок. Проверка параметрической гипотезы о равенстве двух средних арифметических выполняется при помощи функции multcompare. Структура данных stats передается функции multcompare как входной аргумент.

Однофакторный дисперсионный анализ основан на следующих предположениях:

  1. выборки распределены нормально;

  2. выборки имеют одинаковую дисперсию;

  3. наблюдения в выборках взаимно независимы.

Однофакторный дисперсионный анализ нечувствителен к малым отклонениям от первого и второго условий.

 

Примеры использования функции однофакторного дисперсионного анализа

Однофакторный дисперсионный анализ для пяти выборок с математическими ожиданиями изменяющимися 

в пределах от 1 до 5.

 

>> X = meshgrid(1:5)

X =

     1     2     3     4     5

     1     2     3     4     5

     1     2     3     4     5

     1     2     3     4     5

     1     2     3     4     5

>> X = X + normrnd(0,1,5,5)

X =

    0.5674    3.1909    2.8133    4.1139    5.2944

   -0.6656    3.1892    3.7258    5.0668    3.6638

    1.1253    1.9624    2.4117    4.0593    5.7143

    1.2877    2.3273    5.1832    3.9044    6.6236

   -0.1465    2.1746    2.8636    3.1677    4.3082

>> p = anova1(X)

p =

  1.2765e-006

 

Однофакторный дисперсионный анализ для пяти выборок с математическими ожиданиями, 

изменяющимися в пределах от 1 до 5. Метки выборок заданы переменной group.

 

>> X = meshgrid(1:5)

X =

     1     2     3     4     5

     1     2     3     4     5

     1     2     3     4     5

     1     2     3     4     5

     1     2     3     4     5

>> X = X + normrnd(0,1,5,5)

X =

    0.5674    3.1909    2.8133    4.1139    5.2944

   -0.6656    3.1892    3.7258    5.0668    3.6638

    1.1253    1.9624    2.4117    4.0593    5.7143

    1.2877    2.3273    5.1832    3.9044    6.6236

   -0.1465    2.1746    2.8636    3.1677    4.3082

>> group = ['Aa'; 'Bb'; 'Cc'; 'Dd'; 'Ee']

group =

Aa

Bb

Cc

Dd

Ee

>> p = anova1(X, group)

p =

  1.2765e-006

Однофакторный дисперсионный анализ для пяти выборок с переменным объемом. 

Группировка значений вектора Х по выборкам выполняется вектором целых чисел group.

 

>> X = normrnd(0,1,104,1);

>> group = unidrnd(4,104,1);

>> p = anova1(X, group)

p =

    0.5473

Однофакторный дисперсионный анализ для пяти выборок с математическими ожиданиями, изменяющимися в пределах от 1 до 5. Метки выборок заданы переменной group. Функция возвращает таблицу с результатами однофакторного дисперсионного анализа в текстовой форме в командное окно MATLAB. Функция anova1 возвращает структуру данных stats.

>> X = meshgrid(1:5);

>> X = X + normrnd(0,1,5,5);

>> group = ['Aa'; 'Bb'; 'Cc'; 'Dd'; 'Ee'];

>> [p,table,stats] = anova1(X, group)

p =

  4.3652e-005

table = 

  Columns 1 through 5

    'Source'     'SS'         'df'    'MS'        'F'      

    'Columns'    [37.0002]    [ 4]    [9.2501]    [11.8040]

    'Error'      [15.6728]    [20]    [0.7836]           []

    'Total'      [52.6730]    [24]          []           []

  Column 6

    'Prob>F'     

    [4.3652e-005]

               []

               []

stats = 

    gnames: {5x1 cell}

         n: [5 5 5 5 5]

    source: 'anova1'

     means: [1.1484 2.1861 3.1478 3.6339 4.7007]

        df: 20

         s: 0.8852

 

>> stats.gnames

ans = 

    'Aa'

    'Bb'

    'Cc'

    'Dd'

    'Ee'

 

 

Наверх

anova2 - Двухфакторный дисперсионный анализ

Синтаксис

p = anova2(X,reps) 

p = anova2(X,reps,'displayopt') 

[p,table] = anova2(...)

[p,table,stats] = anova2(...)

 

Описание

anova2(X,reps) функция позволяет провести двухфакторный дисперсионный анализ для сравнения средних арифметических значений m столбцов и n строк в матрице Х. Данные в столбцах и строках соответствуют разным уровням факторов А и В. Количество повторных наблюдений для всех комбинаций уровней факторов А и В задается входным аргументов reps. Значение reps должно быть постоянным целым числом. Дисперсионный анализ для переменного числа наблюдений по уровням факторов используется функция многофакторного дисперсионного анализа anovan.

Если фактор А имеет два уровня, фактор В - три уровня и рассматриваются два наблюдения для сочетаний уровней факторов А и В (reps=2), то матрица Х примет следующий вид

При reps=1 (значение по умолчанию) функция anova2 позволяет рассчитать вектор уровней значимости р, содержащий два элемента. Если количество повторений reps>1, anova2 возвращает вектор p с 3 элементами. Назначение элементов вектора р:

1. уровень значимости р(1) нулевой гипотезы, H0A, состоящей в том, что все выборки соответствующие уровням фактора А, т.е. все столбцы в матрице Х, извлечены из той же генеральной совокупности;

2. уровень значимости р(2) нулевой гипотезы, H0В, состоящей в том, что все выборки соответствующие уровням фактора В, т.е. все строки в матрице Х, извлечены из той же генеральной совокупности;

3. уровень значимости р нулевой гипотезы, H0АВ, состоящей в том, что отсутствует эффект взаимодействия между факторами А и В. Для reps>1.

p является вероятностью ошибки первого рода, или вероятностью необоснованно отвергнуть нулевую гипотезу. Если значение p близко к нулю, то нулевая гипотеза может быть отвергнута. р≈0 для гипотезы H0A означает, что хотя бы одно из средних арифметических, рассчитанных по столбцам, отличается от остальных значений, т.е. существует значимый главный эффект фактора А. р≈0 для гипотезы H0В означает, что хотя бы одно из средних арифметических, рассчитанных по строкам, отличается от остальных значений, т.е. существует значимый главный эффект фактора В. р≈0 для гипотезы H0АВ означает, что существует значимый эффект взаимодействия между факторами А и В.

Выбор критического уровня значимости  для условия принятия нулевой гипотезы

,

предоставлен исследователю. В большинстве практических случаев  принимают равным 0,05; 0,01.

При проведении дисперсионного анализа общая дисперсия делится на 3 или 4 составляющие в зависимости от значения reps:

  • дисперсия между средними арифметическими по столбцам Х (дисперсия между средними арифметическими по фактору А);

  • дисперсия между средними арифметическими по строкам Х (дисперсия между средними арифметическими по фактору В);

  • дисперсия, обусловленная взаимодействием между строками и столбцами Х (рассчитывается, если reps>1);

  • остаточная дисперсия.

Таблица с результатами двухфакторного дисперсионного анализа отображается в графическом окне и содержит 6 столбцов (рис. 1):

  1. вид дисперсии (Source):
    § дисперсия между средними арифметическими по столбцам Х (Columns),
    § дисперсия между средними арифметическими по строкам Х (Rows),
    § дисперсия обусловленная взаимодействием между строками и столбцами Х (Interaction),
    § остаточная дисперсия (Error)
    § общая дисперсия (Total);

  2. сумму квадратов разностей (SS) между средним арифметическим и значениями выборки по каждому виду дисперсии;

  3. число степеней свободы по каждому виду дисперсии (df);

  4. среднее значение суммы квадратов разностей (MS) по каждому виду дисперсии, определяемое как отношение SS/df;

  5. значение статистики Фишера (F статистики) для MS;

значение уровня значимости p (Prob>F) для рассчитанного значения статистики F. Если величина F увеличивается, то значение p должно уменьшаться.

Рис. 1. Таблица двухфакторного дисперсионного анализа.
p = anova2(X,reps,'displayopt') входной аргумент 'displayopt' позволяет отобразить графическое окно с таблицей результатов дисперсионного анализа 'displayopt'='on', или подавить вывод графического окна 'displayopt'='off'. Значение по умолчанию 'displayopt'='on'.
[p,table] = anova2(...) функция возвращает таблицу с результатами двухфакторного дисперсионного анализа в текстовой форме в командное окно MATLAB.
[p,table,stats] = anova2(...) функция возвращает структуру stats используемую для проведения парных сравнений средних арифметических выборок. Проверка параметрической гипотезы о равенстве двух средних арифметических выполняется при помощи функции multcompare. Структура данных stats передается функции multcompare как входной аргумент.
Примеры использования функции двухфакторного дисперсионного анализа
Двухфакторный дисперсионный анализ для шести уровней по каждому фактору и единичному числу повторений.
>> X = unifrnd(0,1,6,6);
>> p = anova2(X,1)
p =
0.1530 0.9926

Двухфакторный дисперсионный анализ для шести уровней по первому фактору, двум уровням по второму фактору и 3-х повторений.
>> X = normrnd(0,1,6,6);
>> p = anova2(X,3)
p =
0.8380 0.9897 0.2309

Двухфакторный дисперсионный анализ для шести уровней по первому фактору, двум уровням по второму фактору и 3-х повторений. Функция возвращает вектор уровней значимости р, таблицу двухфакторного дисперсионного анализа table, структуру stats для парных сравнений средних арифметических выборок.
>> X = normrnd(0,1,6,6);

>> [p,table,stats] = anova2(X,3)

p =

    0.1751    0.4596    0.0366

table = 

    'Source'         'SS'         'df'    'MS'        'F'         'Prob>F'

    'Columns'        [ 5.2429]    [ 5]    [1.0486]    [1.6911]    [0.1751]

    'Rows'           [ 0.3502]    [ 1]    [0.3502]    [0.5648]    [0.4596]

    'Interaction'    [ 8.8611]    [ 5]    [1.7722]    [2.8582]    [0.0366]

    'Error'          [14.8813]    [24]    [0.6201]          []          []

    'Total'          [29.3355]    [35]          []          []          []

stats = 

      source: 'anova2'

     sigmasq: 0.6201

    colmeans: [-0.2958 0.0404 -0.6404 0.2944 0.4974 -0.2469]

        coln: 6

    rowmeans: [0.0401 -0.1571]

        rown: 18

       inter: 1

        pval: 0.0366

          df: 24


 

Наверх

anovan - Многофакторный дисперсионный анализ

Синтаксис

p = anovan(X,group) 

p = anovan(X,group,'model')

p = anovan(X,group,'model',sstype) 

p = anovan(X,group,'model',sstype,gnames) 

p = anovan(X,group,'model',sstype,gnames,'displayopt') 

[p,table] = anovan(...)

[p,table,stats] = anovan(...) 

[p,table,stats,terms] = anovan(...) 

 

Описание

p = anovan(X,group) функция позволяет провести многофакторный дисперсионный анализ для сравнения средних арифметических значений N выборок. Выборки задаются в виде вектора Х. Факторы и их уровни определяются массивом ячеек group. Каждая ячейка аргумента group содержит список уровней факторов соответствующих наблюдениям в векторе Х. Список в каждой ячейке может быть вектором, массивом символов, или массивом ячеек содержащим строковые переменные. Количество элементов group должно совпадать с числом элементов в векторе Х.

Пример задания входных аргументов: выборки X из 8 элементов и аргумента group для 3-х факторов изменяющихся на двух уровнях:

X = [x1 x2 x3 x4 x5 x6 x7 x8];

group = {[1 2 1 2 1 2 1 2]; ['hi';'hi';'lo';'lo';'hi';'hi';'lo';'lo']; {'may' 'may' 'may' 'may' 'june' 'june' 'june' 'june'}};

Уровни первого фактора кодируются целыми числами, второго - вектором строк, третьего - списком строк. Значение x1 соответствует уровню первого фактора равного 1, второго - 'hi', третьего - 'may', и т.д.

Выходной вектор р содержит значения уровней значимости нулевой гипотезы относительно главных эффектов. Элемент p(1) является уровнем значимости нулевой гипотезы, H0A, состоящей в том, что выборки соответствующие уровням фактора А взяты из одной и той же генеральной совокупности. Элемент p(2) является уровнем значимости нулевой гипотезы, H0В, состоящей в том, что выборки соответствующие уровням фактора В взяты из одной и той же генеральной совокупности. И так далее по всем остальным элементам вектора p(i).

p является вероятностью ошибки первого рода, или вероятностью необоснованно отвергнуть нулевую гипотезу (HO). HO может быть отвергнута, если p близко к нулю. р≈0 для гипотезы H0A означает, что хотя бы одно из средних арифметических, рассчитанных по выборкам, соответствующим различным уровням фактора А, отличается от остальных значений, т.е. существует значимый главный эффект фактора А. И так далее по всем остальным факторам (элементам вектора р(i)).

Выбор критического уровня значимости  для условия принятия нулевой гипотезы

,

предоставлен исследователю. В большинстве практических случаев  принимают равным 0,05; 0,01.

При проведении дисперсионного анализа общая дисперсия по умолчанию делится на:

  • дисперсию, обусловленную изменениями уровней факторов для заданной модели, кодирующей оцениваемые факторы;

  • остаточная дисперсия.

Таблица с результатами многофакторного дисперсионного анализа отображается в графическом окне и содержит 6 столбцов:

  1. вид дисперсии (Source): 

  2. сумму квадратов разностей (SS) между средним арифметическим и значениями выборки по каждому виду дисперсии;

  3. число степеней свободы по каждому виду дисперсии (df);

  4. среднее значение суммы квадратов разностей (MS) по каждому виду дисперсии, определяемое как отношение SS/df;

  5. значение статистики Фишера (F статистики) для MS;

  6. значение уровня значимости p (Prob>F) для рассчитанного значения статистики F.

p = anovan(X,group,'model') функция позволяет провести многофакторный дисперсионный анализ для заданной модели оцениваемых эффектов. Выходной вектор p содержит результаты расчета уровней значимости для нулевых гипотез относительно факторов модели. Вид модели факторов определяется входным аргументом 'model'. Предусмотрены следующие виды моделей: 'linear' - линейная модель, включающая главные эффекты; 'interaction' - модель, включающая эффекты парных взаимодействий; 'full' - полная модель, включающая главные эффекты и эффекты парных взаимодействий. 

Кроме указанных строковых значений, входной аргумент 'model' может быть задан как целое число или вектор. Если входной аргумент 'model' задан как целое число k (k≤N) функция anovan позволяет оценить значимость взаимодействий факторов до k уровня. Значения k=1 и k=2 соответствуют 'model'='linear' и 'interaction' соответственно. k=N соответствует 'model'='full'.

Использование вектора целых чисел при определении 'model' позволяет оценить значимость заданных главных эффектов и эффектов взаимодействий факторов. Каждый элемент вектора 'model' кодирует в десятичной форме двоичное число, определяющее главный эффект или эффект взаимодействия. Примеры кодирования главных эффектов или эффектов взаимодействия для 3 факторов приведены в следующей таблице

Двоичный

аналог

Десятичный элемент 

вектора 'model'

Вид эффекта при дисперсионном анализе

[0 0 1]

1

Главный эффект A

[0 1 0]

2

Главный эффект B

[1 0 0]

4

Главный эффект C

[0 1 1]

3

Эффект взаимодействия AB

[1 1 0]

6

Эффект взаимодействия BC

[1 0 1]

5

Эффект взаимодействия AC

[1 1 1]

7

Эффект взаимодействия ABC

Например, если 'model'=[2 4 6] выходной вектор р содержит значения уровня значимости для проверки нулевых гипотез значимости главных эффектов В и С и эффекта взаимодействия ВС в приведенном порядке. 

Одним из возможных способов задания вектора 'model' является модификация выходного параметра terms функции anovan. Вектор terms кодирует главные эффекты и эффекты взаимодействий факторов согласно формату входного аргумента 'model'. Например, если после проведения дисперсионного анализа по трем факторам для 'model'=[2 4 6] эффект взаимодействий ВС оказался статистически на значим, то для коррекции главных эффектов В и С необходимо использовать 'model'=[2 4].

p = anovan(X,group,'model',sstype) функция позволяет провести многофакторный дисперсионный анализ для заданного способа расчета суммы квадратов отклонений SS. Способ расчета суммы квадратов отклонений определяется входным аргументом sstype. Предусмотрено 3 способа расчета (sstype=1, 2, 3). Значение по умолчанию sstype=3. Способ расчета суммы квадратов отклонений влияет на результаты многофакторного дисперсионного анализа для выборок неодинакового объема.

Сумма квадратов отклонений для какого либо эффекта фактора определяется при сравнении двух составляющих. При первом способе расчета для model(i) SS является разницей остаточных сумм квадратов отклонений множества факторов model(j), где j=1..i, и текущего фактора. Второй способ расчета SS для model(i) представляет собой разность остаточной суммы квадратов отклонений главных эффектов за исключением model(i) и остаточной суммы квадратов отклонений главных эффектов с добавлением model(i). Третий способ расчета SS для model(i) представляет собой разность остаточной суммы квадратов отклонений для всех факторов в model за исключением model(i) и остаточной суммы квадратов отклонений по всем факторам в model.

Рассмотрим пример формирования сумм квадратов отклонений 1, 2, 3 типов для двух факторов А и В. Модель может содержать два главных эффекта факторов А и В и эффект взаимодействия АВ. Порядок эффектов в векторе 'model' соответствует последовательности: А, В, АВ. Величина R(·) представляет остаточную сумму квадратов отклонений для модели, например R(A,B,AB) - остаточная сумма квадратов соответствующая полной модели, R(A) - остаточная сумма квадратов соответствующая главному эффекту фактора А, R(1) - остаточная сумма квадратов соответствующая общему среднему арифметическому. Три способа расчета суммы квадратов для рассматриваемого примера приведены в следующей таблице:

Эффект

1 способ

(sstype=1)

2 способ

(sstype=2)

3 способ

(sstype=3)

A

R(1)-R(A)

R(B)-R(A,B)

R(B,AB)-R(A,B,AB)

B

R(A)-R(A,B)

R(A)-R(A,B)

R(A,AB)-R(A,B,AB)

AB

R(A,B)-R(A,B,AB)

R(A,B)-R(A,B,AB)

R(A,B)-R(A,B,AB)

Модели при расчете SS по третьему способу имеют ограничение по среднему квадратическому отклонению. Это означает, например для остаточной суммы квадратов R(B,AB), массив эффектов АВ ограничен по сумме от 0 до А для каждого значения В и до В для каждого значения А.

p = anovan(X,group,'model',sstype,gnames) входной аргумент gnames служит для определения меток N факторов в таблице дисперсионного анализа. gnames может быть задан как вектор строк или массив ячеек, содержащий строковые переменные, где каждый элемент массива соответствует одному наблюдению. Если входной аргумент gnames не задан, в качестве меток по умолчанию принимаются: 'X1', 'X2', 'X3',...,'XN'.

p = anovan(X,group,'model',sstype,gnames,'displayopt') входной аргумент 'displayopt' позволяет отобразить графическое окно с таблицей результатов дисперсионного анализа 'displayopt'='on', или подавить вывод графического окна 'displayopt'='off'. Значение по умолчанию 'displayopt'='on'.

[p,table] = anovan(...) функция возвращает таблицу с результатами многофакторного дисперсионного анализа, включая метки факторов, в текстовой форме в командное окно MATLAB.

[p,table,stats] = anovan(...) функция возвращает структуру stats используемую для проведения парных сравнений средних арифметических выборок. Проверка параметрической гипотезы о равенстве двух средних арифметических выполняется при помощи функции multcompare. Структура данных stats передается функции multcompare как входной аргумент.

[p,table,stats,terms] = anovan(...) функция возвращает вектор номеров главных эффектов и эффектов взаимодействий terms, использовавшихся при проведении многофакторного дисперсионного анализа. Формат задания оцениваемых эффектов terms соответствует формату вектора 'model'. Если при вызове anovan был использован вектор 'model', то terms='model'.

Примеры использования функции многофакторного дисперсионного анализа

Дисперсионный анализ для 3-х факторов изменяющихся двух уровнях. 

 >> X=normrnd(0,1,8,1)

X =

    1.0668

    0.0593

   -0.0956

   -0.8323

    0.2944

   -1.3362

    0.7143

    1.6236

>> group = {[1 2 1 2 1 2 1 2]; ['hi';'hi';'lo';'lo';'hi';'hi';'lo';'lo']; {'may' 'may' 'may' 'may' 'june' 'june' 'june' 'june'}}

group = 

    [1x8 double]

    [8x2 char  ]

    {1x8 cell  }

>> p = anovan(X,group)

p =

    0.4968

    0.7086

    0.7562

Дисперсионный анализ для 5-ти факторов изменяющихся 3-х уровнях. 

>> X=normrnd(0,1,125,1)

>> group = unidrnd(3,125,3)

>> group = {group (1:125,1); group (1:125,2); group (1:125,3)}

>> p = anovan(X,group)

p =

    0.5567

    0.7518

    0.2289

 

 Дисперсионный анализ для 3-х факторов, изменяющихся двух уровнях, и модели, содержащей эффекты взаимодействий факторов.

>> X=normrnd(0,1,8,1);

>> group = {[1 2 1 2 1 2 1 2]; ['hi';'hi';'lo';'lo';'hi';'hi';'lo';'lo']; {'may' 'may' 'may' 'may' 'june' 'june' 'june' 'june'}};

>> model='interaction';

>> p = anovan(X,group,model)

p =

    0.1140

    0.1399

    0.5655

    0.3926

    0.3103

    0.1807

Дисперсионный анализ для 3-х факторов: А, В и С, изменяющихся двух уровнях, и model=[2 4 6] для проверки 

 нулевых гипотез относительно главных эффектов В и С и эффекта взаимодействия ВС.

 

>> X=normrnd(0,1,8,1);

>> group = {[1 2 1 2 1 2 1 2]; ['hi';'hi';'lo';'lo';'hi';'hi';'lo';'lo']; {'may' 'may' 'may' 'may' 'june' 'june' 'june' 'june'}};

>> model=[2 4 6];

>> p = anovan(X,group,model)

p =

    0.7621

    0.7667

    0.4625

 

 Дисперсионный анализ для 3-х факторов: А, В и С, изменяющихся двух уровнях, и model=[2 4 6] для проверки 

  нулевых гипотез относительно главных эффектов В и С и эффекта взаимодействия ВС. И второго способа расчета 

  суммы квадратов разностей (SS) по каждому виду дисперсии.

  

>> X=normrnd(0,1,8,1);

>> group = {[1 2 1 2 1 2 1 2]; ['hi';'hi';'lo';'lo';'hi';'hi';'lo';'lo']; {'may' 'may' 'may' 'may' 'june' 'june' 'june' 'june'}};

>> model=[2 4 6];

>> sstype = 2;

>> p = anovan(X,group,model, sstype)

p =

    0.0810

    0.4209

    0.5171

Дисперсионный анализ для 3-х факторов: А, В и С, изменяющихся двух уровнях, и model=[1 2 4 6] для проверки 

 нулевых гипотез относительно главных эффектов А, В, С и эффекта взаимодействия ВС. И второго способа расчета 

 суммы квадратов разностей (SS) по каждому виду дисперсии. В качестве меток используется массив ячеек 

 gnames = {'Xx'; 'Yy'; 'Zz'}.

 

>> X=normrnd(0,1,8,1);

>> group = {[1 2 1 2 1 2 1 2]; ['hi';'hi';'lo';'lo';'hi';'hi';'lo';'lo']; {'may' 'may' 'may' 'may' 'june' 'june' 'june' 'june'}};

>> model=[1 2 4 6];

>> sstype = 2;

>> gnames = {'Xx'; 'Yy'; 'Zz'};

>> p = anovan(X,group,model,sstype,gnames)

p =

    0.4146

    0.8676

    0.4481

    0.5157

 

Дисперсионный анализ для 3-х факторов: А, В и С, изменяющихся двух уровнях, и модели, содержащей эффекты взаимодействий факторов. И второго способа расчета суммы квадратов разностей (SS) по каждому виду дисперсии. В качестве меток используется массив ячеек gnames = {'Xx'; 'Yy'; 'Zz'}. Кроме уровней значимости для указанных нулевых гипотез, выводятся таблица многофакторного дисперсионного анализа, структура для проведения парного сравнения средних, вектор использованных факторов и их взаимодействий.

>> X=normrnd(0,1,8,1);

>> group = {[1 2 1 2 1 2 1 2]; ['hi';'hi';'lo';'lo';'hi';'hi';'lo';'lo']; {'may' 'may' 'may' 'may' 'june' 'june' 'june' 'june'}};

>> model='interaction';

>> sstype = 2;

>> gnames = {'Xx'; 'Yy'; 'Zz'};

>> [p,table,stats,terms] = anovan(X,group,model,sstype,gnames)

p =

    0.2308

    0.2221

    0.1346

    0.0714

    0.1167

    0.3139

table = 

    'Source'    'Sum Sq.'    'd.f.'    'Singular?'    'Mean Sq.'    'F'          'Prob>F'

    'Xx'        [ 0.5218]    [   1]    [        0]    [  0.5218]    [ 6.9526]    [0.2308]

    'Yy'        [ 0.5675]    [   1]    [        0]    [  0.5675]    [ 7.5609]    [0.2221]

    'Zz'        [ 1.6290]    [   1]    [        0]    [  1.6290]    [21.7042]    [0.1346]

    'Xx*Yy'     [ 5.9145]    [   1]    [        0]    [  5.9145]    [78.8050]    [0.0714]

    'Xx*Zz'     [ 2.1852]    [   1]    [        0]    [  2.1852]    [29.1156]    [0.1167]

    'Yy*Zz'     [ 0.2599]    [   1]    [        0]    [  0.2599]    [ 3.4627]    [0.3139]

    'Error'     [ 0.0751]    [   1]    [        0]    [  0.0751]           []          []

    'Total'     [11.1529]    [   7]    [        0]            []           []          []

stats = 

      source: 'anovan'

      coeffs: [7x1 double]

         Rtr: [7x7 double]

         dfe: 1

         mse: 0.0751

     permvec: [1 2 3 4 5 6 7]

       terms: [6x1 double]

     nlevels: [3x1 double]

    termcols: [7x1 double]

terms =

     1

     2

     4

     3

     5

     6

 

 

Наверх

aoctool - Однофакторный анализ ковариационных моделей. Выходными параметрами функции являются:

Синтаксис

aoctool(x,y,g)

aoctool(x,y,g,alpha)

aoctool(x,y,g,alpha,xname,yname,gname)

aoctool(x,y,g,alpha,xname,yname,gname,'displayopt')

aoctool(x,y,g,alpha,xname,yname,gname,'displayopt','model')

h = aoctool(...)

[h,atab,ctab] = aoctool(...)

[h,atab,ctab,stats] = aoctool(...)

 

Описание

aoctool(x,y,g) функция позволяет провести парный ковариационный анализ для независимой переменной х и зависимой переменной y. g является группирующей переменной. Если g задает несколько отдельных групп пар значений x и y, то парный ковариационный анализ проводится для каждой подгруппы отдельно. Входные аргументы x, y, g задаются как векторы с одинаковой размерностью. В английской литературе этот вид анализа известен под аббревиатурой ANOCOVA.

Примечание: группирующая переменная g должна содержать значения делящие векторы x, y как минимум на две выборки, в противном случае будет выдано следующее сообщение об ошибке:

>> x=normrnd(100,1);

>> y=normrnd(100,1);

>> g=ones(100,1);

>> aoctool(x,y,g)

??? Error using ==> aoctool

Must have at least two groups

Результаты расчета функции aoctool представляются в 3-х графических окнах:

  • Окно интерактивного графика содержащего экспериментальные данные и линейное уравнение регрессии (рис. 1),

  • Окно с таблицей однофакторного дисперсионного анализа (рис. 2),

  • Окно с таблицей точечных и интервальных оценок параметров регрессионных моделей (рис. 3).

Элементы управления в графическом окне (рис. 1) позволяют изменять вид регрессионной модели и проводить в интерактивном режиме проверку гипотез об их соответствии экспериментальным данным. Результаты расчета и графики после изменения значений в элементах управления будут автоматически пересчитаны и отображены во всех 3-х графических окнах. Изменяя мышью положение пунктирной линии или соответствующее значение в строке ввода х (рис. 1) можно в интерактивном режиме рассчитать точечную и интервальную оценки зависимой переменной. Оценки зависимой переменной отображаются справа от графика. Этот расчет доступен, если в списке группировки g (рис. 1) выбрано любое значение кроме "All Groups".

Рис. 1. Окно графика экспериментальных данных и линейной регрессионной модели

Рис. 2. Окно однофакторного дисперсионного анализа

Рис. 3. Окно точечных и интервальных оценок параметров линейных регрессионных моделей

Список и функции элементов управления графического окна графика экспериментальных данных и линейной регрессионной модели приведены в таблице 1.

Таблица 1

Элемент управления

Назначение

Экспорт результатов расчета в среду MATLAB. Экспортируются следующие переменные (рис. 4):

Parameters - параметры регрессионной модели;

Parameter CI - доверительные интервалы параметров регрессионной модели;

Prediction - значение зависимой переменной для текущего x;

Prediction CI - границы доверительного интервала зависимой переменной;

Residuals - вектор остатков.

Закрытие окна графика экспериментальных данных и линейной регрессионной модели

Закрытие всех окон

Выбор типа модели из следующего списка (рис. 5):

  • 'same mean';

  • 'separate means';

  • 'same line';

  • 'parallel lines';

  • 'separate lines'.

Подробное описание регрессионных моделей см. в табл. 2.

Интерактивное определение значение независимое переменной

Выбор для проведения ANOCOVA одной группы, определяемой значением группирующей переменной g (рис. 6) и построение соответствующего графика c границами доверительного интервала. При выборе "All Groups" будут построены графики для всех подгрупп без границ доверительных интервалов.

Рис. 4.

Рис. 5.

Рис. 6.

aoctool(x,y,g,alpha) входной аргумент alpha позволяет задать уровень значимости для расчета границ доверительного интервала. Доверительная вероятность определяется как 100*(1-alpha)%. По умолчанию уровень значимости принимается как 0,05.

aoctool(x,y,g,alpha,xname,yname,gname) входные аргументы xname, yname, gname позволяют задать названия входным аргументам x, y, g на графиках и в таблицах графических окон. Если в качестве входных аргументов x, y, g используются переменные aoctool использует их идентификаторы в качестве названий на выходных графиках и в таблицах. Входные аргументы xname, yname, gname необходимо использовать в случаях, когда для задания x,y,g используются выражения. Например, если в качестве х было использовано выделение 1 столбца матрицы m - m(:,1), то необходимо в качестве названия х использовать некоторую строковую константу xname='Col1'.

aoctool(x,y,g,alpha,xname,yname,gname,'displayopt') входной аргумент 'displayopt' позволяет явно задать отображение графических окон с результатами анализа 'displayopt'='on', или подавить вывод графических окон 'displayopt'='off'. Значение по умолчанию 'displayopt'='on'.

aoctool(x,y,g,alpha,xname,yname,gname,'displayopt','model') входной аргумент 'model' предназначен для задания начальной модели при проведении ковариационного анализа. Возможны следующие значения 'model':

  • 'same mean' - определение общего среднего арифметического с игнорированием группировки значений x, y;

  • 'separate means' - определение средних арифметических для каждой подгруппы;

  • 'same line' - определение параметров линейной регрессионной модели с игнорированием группировки;

  • 'parallel lines' - определение параметров линейных регрессионных моделей для каждой группы при условии, что линии уравнений регрессии должны быть параллельны друг другу;

  • 'separate lines' - определение параметров линейных регрессионных моделей для каждой группы без каких либо ограничений.

Вид регрессионных моделей приведен в таблице 2.

Таблица 2.

Значение параметра 'model'

Выражение

Same mean

Separate means

Same line

 

Parallel lines

Separate lines

Где  - общее среднее по всем подгруппам (общее начальное смещение на графике);  - погрешность математической модели;  - начальное смещение для i-й подгруппы экспериментальных значений относительно ;  - коэффициент при первой степени независимой переменной для всех подгрупп (угол наклона линейной регрессионной модели к оси абсцисс);  - коэффициент при первой степени независимой переменной для i-й подгруппы экспериментальных значений относительно . Для регрессионных моделей отдельных групп с параллельными прямыми, 'model'="Parallel lines", величины углов наклона  примут одинаковые значения, значения начального смещения =var.

h = aoctool(...) функция возвращает вектор h указателей на линии графика.

[h,atab,ctab] = aoctool(...) кроме вектора указателей h, функция возвращает массив ячеек atab, содержащий результаты однофакторного дисперсионного анализа и отформатированную в текстовом виде таблицу значений точечных и интервальных оценок коэффициентов ctab.

[h,atab,ctab,stats] = aoctool(...) функция возвращает структуру stats, которая используется как входной аргумент функции multcompare, для выполнения процедуры парного сравнения параметров регрессионной модели. Таблица с результатами однофакторного дисперсионного анализа содержит сведения о результатах проверки нулевой гипотезы о равенстве всех начальных смещений (slopes) и коэффициентов при первой степени независимой переменной (intercepts) против альтернативной гипотезы, состоящей в том, что хотя бы одно из них значимо отличается от других. При проведении процедуры парного сравнения в качестве сравниваемых величин могут выступать: начальные смещения регрессионной модели, коэффициенты при линейных степенях регрессионной модели или общие средние (средние по подгруппам).

Примеры использования функции интерактивного графического ковариационного анализа

Рассматривается пример ковариационного анализа с целью определения наличия и вида взаимосвязи между массой автомобиля и величиной его пробега. Автотранспортные средства сгруппированы по годам выпуска: 1970, 1976, 1982.

Загрузка данных:

>> load carsmall

Переменные, содержащие выборочные данные приведены в окне Workspace Browser (рис. 7):

Рис. 7.

Acceleration - предельное ускорение автотранспортного средства,

Cylinders - количество цилиндров,

Displacement - расход топлива,

Horsepower - мощность,

MPG - пробег, 

Model - название модели,

Model_Year - год выпуска,

Origin - страна-производитель,

Weight - масса автомобиля.

Проведение ковариационного анализа.

Рассматривается зависимость между массой автомобиля - Weight (независимая переменная) и пробегом - MPG (зависимая переменная) в зависимости от года выпуска - Model_Year (группирующая переменная). На выходе функция возвращает вектор h указателей на линии графика, результаты однофакторного дисперсионного анализа atab и таблицу значений точечных и интервальных оценок коэффициентов ctab регрессионной модели.

>> [h,atab,ctab,stats] = aoctool(Weight,MPG,Model_Year)

Note: 6 observations with missing values have been removed.

h =

 

  101.0002

  102.0002

  103.0002

  113.0002

  114.0002

  115.0002

  116.0002

  117.0002

 

atab = 

  Columns 1 through 5

 

    'Source'               'd.f.'    'Sum Sq'         'Mean Sq'        'F'       

    'Model_Year'           [   2]    [   807.6896]    [   403.8448]    [ 51.9762]

    'Weight'               [   1]    [2.0502e+003]    [2.0502e+003]    [263.8679]

    'Model_Year*Weight'    [   2]    [    81.2188]    [    40.6094]    [  5.2266]

    'Error'                [  88]    [   683.7420]    [     7.7698]            []

  Column 6

 

    'Prob>F'     

    [1.2212e-015]

    [          0]

    [     0.0072]

               []

 

ctab = 

    'Term'         'Estimate'    'Std. Err.'      'T'           'Prob>|T|'   

    'Intercept'    [ 45.9798]    [     1.5208]    [ 30.2330]    [2.9266e-048]

    '  70'         [ -8.5805]    [     1.9619]    [ -4.3737]    [3.3417e-005]

    '  76'         [ -3.8902]    [     1.8686]    [ -2.0818]    [     0.0403]

    '  82'         [ 12.4707]    [     2.5568]    [  4.8775]    [4.7391e-006]

    'Slope'        [ -0.0078]    [5.5717e-004]    [-14.0031]    [4.0955e-024]

    '  70'         [  0.0020]    [6.6152e-004]    [  2.9605]    [     0.0039]

    '  76'         [  0.0011]    [6.5328e-004]    [  1.7425]    [     0.0849]

    '  82'         [ -0.0031]    [9.9914e-004]    [ -3.0994]    [     0.0026]

 

 

stats = 

        source: 'aoctool'

        gnames: {3x1 cell}

             n: [3x1 double]

            df: 88

             s: 2.7874

         model: 5

        slopes: [3x1 double]

      slopecov: [3x3 double]

    intercepts: [3x1 double]

      intercov: [3x3 double]

           pmm: [3x1 double]

        pmmcov: [3x3 double]

 

Анализ результатов расчета.

На рис. 8 представлено графическое окно, показывающее зависимость пробега автомобиля от его массы. Автотранспортные средства разделены на 3 группы по годам выпуска: 1970, 1976, 1982. На графике группы обозначены как 70, 76, 82 соответственно. Экспериментальные точки и соответствующие им регрессионные модели выделены одинаковым цветом.

Рис. 8. Окно графиков экспериментальных данных и линейных регрессионных моделей

Значения коэффициентов регрессионных моделей приведены в графическом окне ANOCOVA Coefficients (рис. 9) - окне, содержащем точечные и интервальные оценок параметров линейных регрессионных моделей, а также статистики Стьюдента T и уровня значимости Prob предназначенных для проверки нулевой гипотезы о значимости полученных значений.

Рис. 9. Окно точечных и интервальных оценок параметров линейных регрессионных моделей

Из полученных результатов следует, что коэффициент при первой степени независимой переменной мало зависит от года выпуска и составляет приблизительно -0, 0078 с незначительными отклонениями:

Год выпуска 1970

Год выпуска 1976

Год выпуска 1982

Полученный результат на графике экспериментальных значений (рис. 8) соответствует приблизительно одинаковому углу наклона прямых регрессионных моделей.

Эффект взаимодействия Model_Year*Weight позволяет оценить значимость различия в коэффициентах при линейной степени независимой переменной (углах наклона регрессионных моделей на рис. 8). Результаты оценки значимости эффекта взаимодействия и главных эффектов приведены в таблице результатов однофакторного дисперсионного анализа (ANOVA table рис. 10).

Рис. 10. Окно однофакторного дисперсионного анализа

Значения статистики Фишера F= 5.23 и уровне значимости p=0,0072 позволяет сделать вывод о значимом различии в линейных коэффициентах при первой степени независимой переменной.

Для оценки степени соответствия линейных регрессионных моделей с ограничениями на равенство коэффициентов при первых степенях независимых переменных 'model'='parallel lines' и предыдущего случая 'model'='separate lines' необходимо в графическом окне экспериментальных данных (рис. 8) изменить значение в списке Model на соответствующее значение (рис. 11).

Рис. 11. Окно графиков экспериментальных данных и линейных регрессионных моделей для 'model'='parallel lines'

После изменения вида регрессионных моделей будут построены новые зависимости и пересчитаны все статистики в графических окнах (рис. 12, 13).

Рис. 12. Окно точечных и интервальных оценок параметров линейных регрессионных моделей для 'model'='parallel lines'

Рис. 13. Окно однофакторного дисперсионного анализа для 'model'='parallel lines'

Полученные результаты свидетельствуют о том, что линейные модели без ограничений на значения линейных коэффициентов предпочтительнее.

Для исследования зависимости между пробегом массой автотранспортных средств в отдельной группе и погрешности полученных моделей используется список Model_Year. В предположении линейной зависимости между переменными границы доверительного интервала будут соответствовать 95% доверительной вероятности. Для моделей выпуска 1982 года зависимость между зависимой и независимой переменными с учетом границ доверительного интервала примет вид (рис. 14, Model_Year=82):

Рис. 14. Окно графиков экспериментальных данных, линейной регрессионной модели и границ ее доверительных интервалов для 'model'='separate lines' и Model_Year=82

В некоторых случаях целесообразно рассчитывать границы доверительного интервала для отдельного или нового наблюдения, а не среднего значения зависимой переменной. Переключение способа расчета границ доверительного интервала для отдельного наблюдения используется команда меню Bounds/Observation. Команда Bounds/Line позволяет вернуться для расчета границ доверительного интервала по среднему значению. Переключение между способами расчета границ доверительного интервала имеет смысл для отдельных групп. Поэтому сначала необходимо в списке Model выбрать интересующее значений группирующей переменной. Для Model_Year=82 границы доверительного интервала для отдельных значений пример вид (рис. 15)

Рис. 15. Окно графиков экспериментальных данных, линейной регрессионной модели и границ ее доверительных интервалов для 'model'='separate lines' и Model_Year=82 по отношению к отдельным наблюдениям

По аналогии с интерактивным интерфейсом функции polytool, мышью (или введя новое значение в строку Weight) можно изменить положение пунктирной линии по оси абсцисс, и получить новое значений зависимой переменной MPG по регрессионной модели и границы ее доверительного интервала. Этот способ определения точечной и интервальной оценок используется только для выбранной определенной подгруппы в списке группирующей переменной Model_Year. Если в списке значений группирующей переменной Model_Year выбрано значение "All Groups", этот способ определения точечной и интервальной оценок не предусмотрен.

Процедура парного сравнения параметров регрессионных моделей или маргинальных средних.

Для проведения процедуры парного сравнения используется функция multcompare. Входным аргументом multcompare является структура stats, полученная в результате вызова функции aoctool. Процедура парного сравнения может быть применена для параметров линейных регрессионных моделей, полученных для различных значений группирующей переменной, или маргинальных средних. Маргинальными средними для рассматриваемого примера являются рассчитанные по регрессионной модели значения зависимой переменной MPG для среднего веса каждой подгруппы.

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

Вызов функции парного сравнения:

>> multcompare(stats,0.05,'on','','s')

ans =

    1.0000    2.0000   -0.0012    0.0008    0.0029

    1.0000    3.0000    0.0013    0.0051    0.0088

    2.0000    3.0000    0.0005    0.0042    0.0079

Из первой строки матрицы ans следует, что разница между коэффициентами при первой степени независимой переменой первой и второго подгрупп экспериментальных значений (модели выпуска 1970 и 1976 годов) составила 0.0008 с границами доверительного интервала [-0.0012, 0.0029]. Так как доверительный интервал включает нулевой значение, то разница между коэффициентами статистически не значима. Из 2-х последующих строк матрицы ans можно сделать вывод о значимом отличии между соответствующими коэффициентами 2 и 3, 1 и 3 подгрупп, так как нулевое значение не попадает в границы доверительных интервалов разностей указанных значений. График разностей значений коэффициентов при первой степени независимой переменой для 1, 2, 3 групп и их доверительных интервалов представлен на рис. 16.

Рис. 16. Графическое окно результатов парного сравнения разностей значений коэффициентов при первой степени независимой переменой для групп "70", "76", "82" и их доверительных интервалов

Следует заметить, что структура stats была получена для значения "model" по умолчанию и не может быть изменена в интерактивном режиме. Проведение парного сравнения для других моделей потребует явно задать входной аргумент "model" функции aoctool, и затем полученную структуру stats передать как входной аргумент multcompare.

 

 

Наверх

dummyvar - Условное кодирование переменных.

Синтаксис

D = dummyvar(group)

 

Описание

D = dummyvar(group) функция позволяет получить матрицу фиктивных переменных D, содержащую единицы и нули. Единичные значения в D соответствуют наличию определенного элемента в матрице group, нулевые - отсутствие соответствующего элемента. Элементами матрицы group должны быть положительные целые числа. Количество строк матриц group и D будет одинаковым. Количество столбцов в матрице D будет определяться суммой чисел возможных значений в столбцах матрицы group.

Матрица D формируется следующим образом:

  • Формируется пустая матрица D с числом строк равным количеству строк в исходной матрице group и количеством столбцов равным сумме чисел возможных значений в столбцах матрицы group. Например, если матрица group задана как



    то матрица фиктивных переменных D примет следующий вид



    Количество столбцов матрицы D будет равно 2+3, где 2 - число возможных значений в первом столбце: 1, 2; 3 - число возможных значений во втором столбце: 1, 2, 3.
     

  • Элементы матрицы D заполняются "1". Столбцы матрицы D соответствуют возможным значениям первого столбца, затем второго и т.д. Для рассмотренного выше примера



    где 11 , 21 - значения 1, 2 из первого столбца group, 12 , 22 , 32 - значения 1, 2, 3 из второго столбца group.

    Далее выполняется построчное заполнение "1" элементов матрицы D согласно строкам group. "1" ставятся в позициях соответствующих значениям элементов group. Например, в первой строке приведенной выше матрице group указаны единичные значения первого и второго столбца [1 1] , тогда подставляя "1" на соответствующие предыдущей схеме места получим первую строку D - [1 - 1 - - -] . В итоге сформируется следующая матрица



  • Пустые позиции заполняются "0". Для рассматриваемого примера получим



Примеры использования функции формирования матрицы фиктивных переменных

Рассмотрим формирование матрицы фиктивных переменных согласно приведенному в описании функции dummyvar.

 

>> group = [1 1;1 2;1 3;2 1;2 2;2 3]

group =

     1     1

     1     2

     1     3

     2     1

     2     2

     2     3

>> D = dummyvar(group)

D =

     1     0     1     0     0

     1     0     0     1     0

     1     0     0     0     1

     0     1     1     0     0

     0     1     0     1     0

     0     1     0     0     1

   

Поскольку матрица фиктивных переменных часто используется в планировании эксперимента рассмотрим следующий пример. 

Изучаются эффекты от работы 3 операторов на 3 станках. 

В этом случае матрица group будет соответствовать сочетаниям уровней переменных

>> group = [1 1 1; 1 1 2; 1 1 3; 1 2 1; 1 2 2; 1 2 3; 1 3 1; 1 3 2; 1 3 3; 2 1 1; 2 1 2; 2 1 3;

 2 2 1; 2 2 2; 2 2 3; 2 3 1; 2 3 2; 2 3 3; 3 1 1; 3 1 2; 3 1 3; 3 2 1; 3 2 2; 3 2 3; 3 3 1; 3 3 2; 3 3 3;]

group =

     1     1     1

     1     1     2

     1     1     3

     1     2     1

     1     2     2

     1     2     3

     1     3     1

     1     3     2

     1     3     3

     2     1     1

     2     1     2

     2     1     3

     2     2     1

     2     2     2

     2     2     3

     2     3     1

     2     3     2

     2     3     3

     3     1     1

     3     1     2

     3     1     3

     3     2     1

     3     2     2

     3     2     3

     3     3     1

     3     3     2

     3     3     3

>> D = dummyvar(group)

D =

     1     0     0     1     0     0     1     0     0

     1     0     0     1     0     0     0     1     0

     1     0     0     1     0     0     0     0     1

     1     0     0     0     1     0     1     0     0

     1     0     0     0     1     0     0     1     0

     1     0     0     0     1     0     0     0     1

     1     0     0     0     0     1     1     0     0

     1     0     0     0     0     1     0     1     0

     1     0     0     0     0     1     0     0     1

     0     1     0     1     0     0     1     0     0

     0     1     0     1     0     0     0     1     0

     0     1     0     1     0     0     0     0     1

     0     1     0     0     1     0     1     0     0

     0     1     0     0     1     0     0     1     0

     0     1     0     0     1     0     0     0     1

     0     1     0     0     0     1     1     0     0

     0     1     0     0     0     1     0     1     0

     0     1     0     0     0     1     0     0     1

     0     0     1     1     0     0     1     0     0

     0     0     1     1     0     0     0     1     0

     0     0     1     1     0     0     0     0     1

     0     0     1     0     1     0     1     0     0

     0     0     1     0     1     0     0     1     0

     0     0     1     0     1     0     0     0     1

     0     0     1     0     0     1     1     0     0

     0     0     1     0     0     1     0     1     0

     0     0     1     0     0     1     0     0     1

 

 

Наверх

glmfit - Определение параметров обобщенной линейной модели

Синтаксис

b = glmfit(X,Y,'distr')

b = glmfit(X,Y,'distr','link','estdisp',offset,pwts,'const')

[b,dev,stats] = glmfit(...)

Описание

b = glmfit(X,Y,'distr') функция предназначена для оценки параметров обобщенной линейной регрессионной модели. Входными аргументами функции являются: Y - зависимая переменная, X - матрица независимых переменных, 'distr' - строковая переменная, определяющая вид распределения зависимой переменной.

Предусмотрены следующие распределения зависимой переменной

Значение 'distr'

Вид распределения

'binomial'

Биномиальное

'gamma'

Гамма

'inverse gaussian'

Обратное распределение Гаусса

'lognormal'

Логнормальное

'normal'

Нормальное (значение 'distr' по умолчанию)

'poisson'

Пуассона

Для всех распределений, кроме биномиального, зависимая переменная Y задается как вектор. Для биномиального закона Y должна быть определена как матрица с двумя столбцами: в первом столбце задается число благоприятных событий, во втором - число повторных независимых испытаний. Матрица независимых переменных Х должна содержать такое же количество строк, что и Y.

Примечание автора: несмотря на отмеченную возможность использовать distr='lognormal' функция glmfit в версиях Statistics Toolbox 4, 4.1 не содержит соответствующего кода.

Выходная переменная b - вектор точечных оценок коэффициентов линейной обобщенной регрессионной модели. Этот вариант синтаксиса вызова функции glmfit использует каноническую взаимосвязь (см. ниже) параметров распределения с независимыми переменными.

b = glmfit(X,Y,'distr','link','estdisp',offset,pwts,'const') входные аргументы 'link', 'estdisp', offset, pwts, 'const' предназначены для управления процессом оценки параметров регрессионной модели. Входной аргумент 'link' задает вид взаимосвязи между параметром распределения  и оцениваемой линейной комбинацией независимых переменных . Предусмотрены следующие значения 'link'

Значение 'link'

Вид зависимости

Взаимосвязь по умолчанию (каноническая)

'identity'

µ = xb

'normal'

'log'

log(µ) = xb

'poisson'

'logit'

log(µ/ (1-µ)) = xb

'binomial'

'probit'

norminv(µ) = xb

 

'comploglog'

log(-log(1-µ)) = xb

 

'logloglink'

log(-log(µ)) = xb

 

'reciprocal'

1/µ = xb

'gamma'

p (число)

µp = xb

'inverse gaussian' (если p=-2)

Реализация другого вида взаимосвязи осуществляется при помощи inline или m функций. Аргумент 'link', определяющий вид произвольной взаимосвязи, задается как массив ячеек, содержащий 3 элемента: 1-й элемент содержит определение функции взаимосвязи; 2-й элемент - производную от функции взаимосвязи; 3-й элемент - ее обратную функцию. Ниже приведен пример формирования массива ячеек mylinks функций взаимосвязи на основе inline-функций:

FL = inline('x.^-.5')

FD = inline('-.5*x.^-1.5')

FI = inline('x.^-2')

mylinks = {FL FI FD}.

При использовании m-функций массив ячеек формируется по следующему правилу:

mylinks = {@FL @FD @FI}.

Входной аргумент 'estdisp' позволяет задать величину дисперсии выборки для биномиального закона и распределения Пуассона. Если 'estdisp'='on', то величина дисперсии оценивается по выборочным данным X, Y. Для 'estdisp'='off' точечная оценка дисперсии принимается равной 1. Для других распределений в glmfit значение дисперсии рассчитывается во всех случаях.

Аргумент offset является специальной независимой переменной с коэффициентом в регрессионной модели равным единице. В качестве примера использования offset можно рассмотреть моделирование числа дефектов на различных поверхностях. Требуется получить регрессионную модель, у которой зависимой переменной является относительное количество дефектов на единицу площади поверхности. В этом случае количество дефектов будет использоваться как зависимая переменная, распределенная по закону Пуассона, логарифмическая функция (log) будет использована для задания вида взаимосвязи между параметром распределения и оцениваемой линейной комбинацией независимых переменных (параметр 'link') и в качестве параметра offset будет выступать вектор логарифма от площади поверхности.

Аргумент pwts позволяет задать вектор весовых значений зависимой переменной. Например, если значение зависимой переменной Y(i) является средним арифметическим от f(i) измерений, то f может быть использован как вектор весовых значений.

Входные параметры offset и pwts могут быть заданы как векторы или пропущены при вызове функции. Пустые векторы offset и pwts будут трактоваться как пропущенные входные параметры. Размерность Y, offset и pwts должна совпадать.

Входной параметр 'const' позволяет в явном виде определить будет ли рассчитываться оценка постоянного члена регрессионной модели 'const'='on' или нет - 'const'='off'. Значение по умолчанию 'const'='on'. Если необходимо получить оценку постоянного члена регрессионной модели, то рекомендуется использовать 'const'='on' вместо задания единичного столбца в матрице независимых переменных.

[b,dev,stats] = glmfit(...) функция возвращает отклонения в векторе решений dev и структуру stats. Отклонения в векторе решений являются обобщением остаточной суммы квадратов и используются для сравнения ряда регрессионных моделей, состав коэффициентов одной из которых является подмножеством коэффициентов другой. В результате проводимого сравнения должно быть сделано статистически значимое заключение, что погрешность описания экспериментальных данных регрессионной моделью с большим количеством коэффициентов меньше, чем у модели с меньшим числом коэффициентов. Т.е., выбирается регрессионная модель с меньшим числом коэффициентов, обеспечивающая минимальную погрешность. Структура stats содержит следующую информацию:

  • stats.dfe - число степеней свободы погрешности регрессионной модели;

  • stats.s - теоретическая или оцененная дисперсия параметра;

  • stats.sfit - оценка дисперсии параметра;

  • stats.estdisp - 1 - если оценка дисперсии была рассчитана, 0 - если оценка дисперсии была задана;

  • stats.beta - вектор коэффициентов линейной обобщенной регрессионной модели (равен выходному параметру b);

  • stats.se - вектор стандартных ошибок коэффициентов линейной обобщенной регрессионной модели b;

  • stats.coeffcorr - матрица коэффициентов корреляции коэффициентов b;

  • stats.t - значение статистики t Стьюдента для вектора коэффициентов b;

  • stats.p - значение уровня значимости p статистики t Стьюдента для вектора коэффициентов b;

  • stats.resid - вектор остатков;

  • stats.residp - вектор остатков Пирсона;

  • stats.residd - вектор остатков обобщенной остаточной суммы квадратов;

  • stats.resida - вектор остатков Анскомбе.

Если рассчитывается оценка дисперсии параметра для биномиального закона или распределения Пуассона, то stats.s=stats.sfit. Элементы вектора stats.se будут отличаться от их теоретических значений на величину stats.s.

Примеры использования функции обобщенной линейной регрессии

Расчет параметров обобщенной линейной регрессионной модели для 5 независимых переменных распределенных по нормальному закону и зависимой переменной распределенной по нормальному закону. Вид распределения зависимой переменной задан как нормальный.

>> x=normrnd(0,1,100,5);

>> y =normrnd(0,1,100,1);

>> distr='normal'

distr =

normal

>> b = glmfit(x,y,distr)

b =

-0.0796

0.0073

-0.0456

0.1781

-0.1033

-0.1262

Расчет параметров обобщенной линейной регрессионной модели для 3 независимых и зависимой переменным распределенным по Гамма закону. Вид распределения зависимой переменной задан как Гамма. Вид взаимосвязи между параметром распределения  и оцениваемой линейной комбинацией независимых переменных  задан как логарифмический.

>> x=gamrnd(1,2,100,3);

>> y = gamrnd(1,2,100,1);

>> distr='gamma';

>> link='log';

>> b = glmfit(x,y,distr, link)

b =

0.5814

0.0004

-0.0318

0.0021

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

>> x= normrnd (0,1,100,3);

>> y = normrnd (0,1,100,1);

>> distr='normal';

>> FL = inline('x.^.5')

FL =

Inline function:

FL(x) = x.^.5

>> FD = inline('.5*x.^-0.5')

FD =

Inline function:

FD(x) = .5*x.^-0.5

>> FI = inline('x.^2')

FI =

Inline function:

FI(x) = x.^2

>> link = {FL FI FD}

link = 

[1x1 inline] [1x1 inline] [1x1 inline]

>> b = glmfit(x,y,distr, link)

Warning: Iteration limit reached.

> In F:\MATLAB6p5p1\toolbox\stats\glmfit.m at line 142

b =

1.1230 + 4.2739i

0.0081 - 0.2360i

0.0646 - 0.4430i

0.1076 - 0.8553i

Расчет параметров обобщенной линейной регрессионной модели для 3 независимых и зависимой переменных, распределенным по нормальному закону. Вид распределения зависимой переменной задан как нормальный. Зависимость между параметром распределения и оцениваемой линейной комбинацией независимых переменных задана как  в виде m-функций.

m-файл функции взаимосвязи

function y= FL(X)

y=2.*X.^2;

m-файл производной функции взаимосвязи

function y= FD(X)

y=4.*X;

m-файл обратной функции взаимосвязи

function y= FI(X)

y=sqrt(1/2.*X);

Решение задачи обобщенной линейной регрессии в командном окне matlab

>> x= normrnd (0,1,100,3);

>> y = normrnd (0,1,100,1);

>> distr='normal';

>> link = {@FL @FD @FI}

link = 

[@FL] [@FD] [@FI]

>> b = glmfit(x,y,distr, link)

Warning: Iteration limit reached.

> In F:\MATLAB6p5p1\toolbox\stats\glmfit.m at line 142

b =

-0.4225 -49.7205i

1.6578 +54.3794i

0.2324 +14.5554i

-0.4714 - 9.5040i

Расчет параметров обобщенной линейной регрессионной модели для 3 независимых переменных распределенных по нормальному закону и зависимой переменной распределенной по закону Пуассона. Вид распределения зависимой переменной задан как закон Пуассона. Вид взаимосвязи между параметром распределения и оцениваемой линейной комбинацией независимых переменных задан как логарифмический. В явном виде выполняется расчет оценки дисперсии выборки.

>> x=normrnd(0,1,100,3);

>> y = poissrnd(0.5,100,1);

>> distr='poisson';

>> link='log';

>> estdisp='on';

>> b = glmfit(x,y,distr, link, estdisp)

b =

-0.7063

0.1773

-0.1130

-0.2340

Расчет параметров обобщенной линейной регрессионной модели для 3 независимых переменных распределенных по нормальному закону и зависимой переменной распределенной по закону Пуассона. Вид распределения зависимой переменной задан как закон Пуассона. Вид взаимосвязи между параметром распределения и оцениваемой линейной комбинацией независимых переменных задан как логарифмический. В качестве дисперсии выборки принимается единица. Задана специальная независимая переменная offset как натуральный логарифм от зависимой переменной.

>> x=normrnd(0,1,100,3);

>> y = poissrnd(5,100,1);

>> distr='poisson';

>> link='log';

>> estdisp='off';

>> offset = log(y);

>> b = glmfit(x,y,distr, link, estdisp, offset)

b =

1.0e-015 *

0.1008

0.0001

0.0157

-0.0035

Расчет параметров обобщенной линейной регрессионной модели для 3 независимых переменных. Вид распределения зависимой переменной задан как нормальный закон. Вид взаимосвязи между параметром распределения и оцениваемой линейной комбинацией независимых переменных задан как логарифмический. В качестве дополнительного параметра задан вектор весовых коэффициентов pwts.

>> x=1:1:10;

>> x=[x' x' x'];

>> xs= normrnd(0,1,10,3);

>> x=x+xs;

>> y =1:1:10;

>> ys= normrnd(0,1,10,1);

>> y=y+ys';

>> distr='normal';

>> link='identity';

>> estdisp=[];

>> offset = [];

>> pwts=unidrnd(10,10,1);

>> b = glmfit(x,y,distr, link, estdisp, offset, pwts)

b =

0.0062

-0.0272

0.7454

0.3303

Расчет параметров обобщенной линейной регрессионной модели для 3 независимых переменных. Вид распределения зависимой переменной задан как нормальный закон. Вид взаимосвязи между параметром распределения и оцениваемой линейной комбинацией независимых переменных задан как логарифмический. В качестве дополнительного параметра задан вектор весовых коэффициентов pwts. Расчет выполняется без учета постоянного члена регрессионной модели.

>> x=1:1:10;

>> x=[x' x' x'];

>> xs= normrnd(0,1,10,3);

>> x=x+xs;

>> y =1:1:10;

>> ys= normrnd(0,1,10,1);

>> y=y+ys';

>> distr='normal';

>> link='identity';

>> estdisp=[];

>> offset = [];

>> pwts=unidrnd(10,10,1);

>> const='off';

>> b = glmfit(x,y,distr, link, estdisp, offset, pwts, const)

b =

-0.0282

0.7478

0.3297

Расчет параметров обобщенной линейной регрессионной модели для 3 независимых переменных. Вид распределения зависимой переменной задан как нормальный. Функция glmfit возвращает вектор коэффициентов регрессионной модели, отклонения в векторе решений dev и структуру stats.

>> x=normrnd(0,1,10,3);

>> y =normrnd(0,1,10,1);

>> distr='normal'

>> [b,dev,stats] = glmfit(x,y,distr)

b =

-0.2641

-0.0104

0.2923

0.2356

dev =

2.1690

stats = 

beta: [4x1 double]

dfe: 6

sfit: 0.6012

estdisp: 1

s: 0.6012

se: [4x1 double]

coeffcorr: [4x4 double]

t: [4x1 double]

p: [4x1 double]

resid: [10x1 double]

residp: [10x1 double]

residd: [10x1 double]

resida: [10x1 double]

Значение полей структуры stats:

>> stats.beta

ans =

-0.2641

-0.0104

0.2923

0.2356

>> stats.se

ans =

0.2121

0.2274

0.1442

0.2936

>> stats.coeffcorr

ans =

1.0000 0.2628 0.1062 -0.2891

0.2628 1.0000 0.1491 0.2243

0.1062 0.1491 1.0000 -0.1506

-0.2891 0.2243 -0.1506 1.0000

>> stats.t

ans =

-1.2448

-0.0459

2.0264

0.8024

>> stats.p

ans =

0.2596

0.9649

0.0891

0.4529

>> stats.resid

ans =

0.2618

-0.6770

0.7166

-0.1264

-0.2909

0.3721

0.3868

-0.0347

0.2220

-0.8304

>> stats.residp

ans =

0.2618

-0.6770

0.7166

-0.1264

-0.2909

0.3721

0.3868

-0.0347

0.2220

-0.8304

>> stats.residd

ans =

0.2618

-0.6770

0.7166

-0.1264

-0.2909

0.3721

0.3868

-0.0347

0.2220

-0.8304

>> stats.resida

ans =

0.2618

-0.6770

0.7166

-0.1264

-0.2909

0.3721

0.3868

-0.0347

0.2220

-0.8304

Рассмотрим пример обобщенной линейной регрессии для числа автомобилей удовлетворяющих требованиям по расходу топлива на 1 милю в зависимости от их веса. Выборка экспериментальных значений задана следующими случайными величинами: w - масса автомобиля в фунтах, poor - количество автомобилей соответствующих спецификации из числа использованных при проведении испытаний для каждого значения w, total - общее число автотранспортных средств для каждой величины массы использованных при испытаниях.

>> w = (2100:200:4300)'

w =

2100

2300

2500

2700

2900

3100

3300

3500

3700

3900

4100

4300

>> poor = [1 2 0 3 8 8 14 17 19 15 17 21]';

>> total = [48 42 31 34 31 21 23 23 21 16 17 21]';

Поскольку в задаче рассматривается число удачных исходов при повторных независимых испытаниях, то в качестве закона распределения целесообразно принять биномиальное распределение. В качестве регрессионных моделей на начальном этапе обобщенного линейного регрессионного анализа принимаются зависимости: logit и probit.

>> [bl,dl,sl] = glmfit(w,[poor total],'binomial');

>> [bp,dp,sp] = glmfit(w,[poor total],'binomial','probit');

>> dl

dl =

6.4842

>> dp

dp =

7.5693

Значение отклонения в векторе решений модели logit меньше чем тоже отклонение для зависимости probit, т.е. dl<dp. Несмотря на то, что это отношение не является формальным общепринятым тестом, этот результат дает основание рассматривать модель logit как более предпочтительную по отношению к probit.

Рассмотрим две logit модели. В первой модели, рассмотренной выше, используется линейный эффект от независимой переменной w. В качестве второй примем модель с квадратичным и линейным эффектами w. Для сравнения регрессионных зависимостей будет использован тест на основе статистики . Нулевая гипотеза состоит в том, что если эффект от квадратичного эффекта w статистически не значим, то уровень значимости будет меньше критического значения равного 0,05. Значения уровня значимости рассчитывается для правосторонней критической области распределения . В качестве параметров закона при расчете уровня значимости выступают разница отклонений в векторах решений для рассматриваемых моделей и степень свободы, равная 1.

Расчет отклонения в векторе решений для второй logit модели:

>> [b2,d2,s2] = glmfit([w w.^2],[poor total],'binomial');

>> d2

d2 =

5.7815

Величина разницы отклонений в векторах решений для рассматриваемых моделей:

>> dl-d2

>> ans =

0.7027

Расчет уровня значимости для разницы отклонений в векторах решений для рассматриваемых моделей

>> chi2cdf(dl-d2,1)

ans =

0.5981

Поскольку полученное значений уровня значимости 0.5981 больше критического 0.05, то оснований отвергнуть нулевую гипотезу нет, т.е. квадратический эффект массы автотранспортного средства  статистически не значим по сравнению с линейным. Соответственно, нет оснований считать полную регрессионную модель с учетом квадратического и линейного эффектов массы автотранспортных средств предпочтительней, чем линейную модель.

Ниже приведены значения коэффициентов (b) линейной модели, стандартных ошибок (sl.se), t статистик (sl.t), уровней значимости (sl.p) для этих коэффициентов.

>> [bl sl.se sl.t sl.p]

ans =

-13.3801 1.3940 -9.5986 0.0000

0.0042 0.0004 9.4474 0.0000

Полученные результаты позволяют сделать вывод о невозможности далее упрощать полученную линейную модель. Оба коэффициента: постоянный член и коэффициент при линейной степени, значимо отличаются от нуля поскольку в обоих случаях величина уровня значимости равна 0.0000 до 4 значимых разрядов после запятой.

 

 

Наверх

glmval - Прогнозирование с использованием обобщенной линейной модели

Синтаксис

yfit = glmval(b,X,'link')

[yfit,dlo,dhi] = glmval(b,X,'link',stats,clev)

[yfit,dlo,dhi] = glmval(b,X,'link',stats,clev,N,offset,'const')

 

Описание

yfit = glmval(b,X,'link') функция предназначена для расчета зависимой переменной yfit для значений независимой переменной Х на основе вектора коэффициентов линейной обобщенной регрессионной модели b и функции взаимосвязи 'link'. В общем случае вектор коэффициентов регрессионной модели b рассчитывается с помощью функции glmfit. 

Входной аргумент 'link' задает вид взаимосвязи между параметром распределения и оцениваемой линейной комбинацией независимых переменных . Параметр 'link' задается в соответствии с требованиями к такому же входному аргументу функции glmfit. Предусмотрены следующие значения 'link'

Значение 'link'

Вид зависимости

'identity'

µ = xb

'log'

log(µ) = xb

'logit'

log(µ/ (1-µ)) = xb

'probit'

norminv(µ) = xb

'comploglog'

log(-log(1-µ)) = xb

'logloglink'

log(-log(µ)) = xb

'reciprocal'

1/µ = xb

p (число)

µp = xb

Кроме приведенных выше значений ' link ' возможно задать произвольный вид зависимости с помощью inline функций или m-файлов. Правила и примеры использования такого способа см. в описании функции glmfit.

Выходной параметр yfit является значением обратной функции взаимосвязи линейной комбинации .

[yfit,dlo,dhi] = glmval(b,X,'link',stats,clev) в этом варианте синтаксиса функция возвращает нижнее dlo и верхнее dhi отклонения от yfit границ доверительного интервала параметров закона распределения для заданных b, X, 'link'. Для расчета dlo, dhi используется структура stats, полученная как выходной параметр функции glmfit. Входной параметр clev задает доверительную вероятность для расчета границ доверительного интервала. По умолчанию clev принимается равной 0.95, что соответствует 95% доверительному интервалу. Границы доверительного интервала рассчитываются как [yfit-dlo, yfit+dhi].

[yhat,dlo,dhi] = glmval(beta,X,'link',stats,clev,N,offset,'const') дополнительные входные параметры N, offset, 'const' требуются для обеспечения одинаковых условий с расчетами, проводимыми при помощи функции glmfit. При использовании биномиального закона при работе с glmfit, необходимо задать входной параметр N соответствующий числу повторных независимых испытаний. Если при вызове функции glmfit использовались параметры offset и 'const', то необходимо при вызове функции glmval использовать эти же параметры с теми же значениями.

Примеры использования функции расчета значений зависимой переменной обобщенной регрессионной модели

Рассчитывается значение зависимой переменной, среднего арифметического, yfit для значений независимой переменной xnew. В качестве модели распределения зависимой переменной принят нормальный закон. Вид взаимосвязи среднего арифметического от линейной модели независимой переменой принята логарифмическая зависимость: log(µ) = xb. Также рассчитываются границы 95% доверительного интервала зависимой переменой.

>> x = 1:1:10;

>> y = 1:2:20;

>> y1 = normrnd(0,1,10,1);

>> y = y.^2+y1';

>> [b,dev,stats] = glmfit(x,y,'normal', 'log')

b =

2.8832

0.3057

dev =

2.9747e+003

stats = 

beta: [2x1 double]

dfe: 8

sfit: 19.2832

estdisp: 1

s: 19.2832

se: [2x1 double]

coeffcorr: [2x2 double]

t: [2x1 double]

p: [2x1 double]

resid: [10x1 double]

residp: [10x1 double]

residd: [10x1 double]

resida: [10x1 double]

>> xnew = 0.5:1:10;

>> [yfit,ylo,yhi] = glmval(b,xnew, 'log',stats,0.95)

yfit =

20.8229

28.2695

38.3792

52.1042

70.7376

96.0346

130.3783

177.0039

240.3036

326.2403

ylo =

7.3595

9.0451

10.9368

12.9484

14.9096

16.5393

17.4771

17.6222

18.7130

26.9608

yhi =

11.3823

13.3008

15.2954

17.2303

18.8914

19.9804

20.1826

19.5706

20.2933

29.3896

>> errorbar(xnew,yfit,ylo,yhi);

>> grid on

>> plot(x,y, 's', xnew,yfit, 'r', xnew, yfit-ylo, 'b', xnew, yfit+yhi, 'b');

>> grid on

Сравниваются линейная -   и квадратическая -  модели.

>> [b2,dev2,stats2] = glmfit([x' x.^2'],y,'normal', 'log')

b2 =

1.4019

0.7277

-0.0280

dev2 =

228.0208

stats2 = 

beta: [3x1 double]

dfe: 7

sfit: 5.7074

estdisp: 1

s: 5.7074

se: [3x1 double]

coeffcorr: [3x3 double]

t: [3x1 double]

p: [3x1 double]

resid: [10x1 double]

residp: [10x1 double]

residd: [10x1 double]

resida: [10x1 double]

>> [yfit2,ylo2,yhi2] = glmval(b2, [xnew' xnew.^2'], 'log',stats2,0.95)

yfit2 =

5.8050

11.3639

21.0349

36.8163

60.9297

95.3469

141.0825

197.3915

261.1393

326.6667

ylo2 =

2.2079

3.4240

4.7618

5.8614

6.3310

6.2166

6.5167

7.7613

8.2410

8.6649

yhi2 =

3.5630

4.9005

6.1551

6.9713

7.0651

6.6502

6.8322

8.0790

8.5095

8.9010

>> plot(x,y, 's', xnew,yfit, 'r:', xnew, yfit-ylo, 'b', xnew, yfit+yhi, 'b', xnew,yfit2, 'g:', xnew, yfit2-ylo2, 'y', xnew, yfit2+yhi2, 'y-');

>> grid on

Рассматривается пример моделирования числа автомобилей с низким расходом топлива на основе биномиального закона. Сначала биномиальный закон используется для моделирования вероятности получить низкий расход топлива как функцию от первого порядка массы и квадрата массы автомобиля. По умолчанию вид зависимости задается как logit. Затем рассчитывается вектор wnew задающий массу автотранспортных средств, для которых будет рассчитываться зависимая переменная. Далее рассчитывается ожидаемое количество автомобилей из общего числа равного 30 для каждой группы с заданной массой, которые будут иметь низкий расход топлива. В конце графически отображаются значения зависимой переменной и 95% границы доверительного интервала как функции от массы автомобиля.

>> w = [2100 2300 2500 2700 2900 3100 3300 3500 3700 3900 4100 4300]';

>> poor = [1 2 0 3 8 8 14 17 19 15 17 21]';

>> total = [48 42 31 34 31 21 23 23 21 16 17 21]';

>> [b2,d2,s2] = glmfit([w w.^2],[poor total],'binomial')

b2 =

-7.3109

0.0002

0.0000

d2 =

5.7815

s2 = 

beta: [3x1 double]

dfe: 9

sfit: 0.6556

estdisp: 0

s: 1

se: [3x1 double]

coeffcorr: [3x3 double]

t: [3x1 double]

p: [3x1 double]

resid: [12x1 double]

residp: [12x1 double]

residd: [12x1 double]

resida: [12x1 double]

>> wnew = (3000:100:4000)';

>> [yfit,dlo,dhi] = glmval(b2,[wnew wnew.^2],'logit',s2,0.95,30)

yfit =

8.3957

11.1060

14.2168

17.4916

20.6232

23.3399

25.4935

27.0736

28.1626

28.8776

29.3296

dlo =

2.4741

2.9335

3.2301

3.2985

3.1920

3.0263

2.8588

2.6753

2.4562

2.2064

1.9456

dhi =

3.0179

3.2920

3.3047

3.0680

2.6923

2.2845

1.8780

1.4737

1.0918

0.7636

0.5072

>> errorbar(wnew,yfit,dlo,dhi);

 

 

Наверх

leverage - Оценка степени влияния отдельных наблюдений в исходном многомерном множестве данных на значения параметров линии регрессии.

Синтаксис

h = leverage(data)

h = leverage(data,'model')

 

Описание

h = leverage(data) функция позволяет оценить коэффицинты влияния h каждого из наблюдений, строк в матрице data, на коэффициенты линейного уравнения регрессии. Выходной параметр h определяется как вектор length(h)=size(data,1).

h = leverage(data,'model') функция предназначена для оценки коэффициентов влияния отдельных наблюдений на коэффициенты полиномиальной регрессионной модели, определяемой входным параметром 'model'. Предусмотрены следующие виды регрессионных моделей:

  • 'linear' - линейная модель, включает линейные эффекты независимых переменных и постоянный член;

  • 'interaction' - модель взаимодействий, включающая линейные эффекты, эффекты взаимодействий независимых переменных и постоянный член.

  • 'quadratic' - квадратическая модель, включает эффекты взаимодействий и квадратические эффекты независимых переменных;

  • 'purequadratic' - квадратическая модель без учета эффектов взаимодействий независимых переменных, включает линейные, квадратические эффекты и постоянный член.

Коэффициенты влияния h на параметры полиномиальной регрессионной модели определяются с учетом положения каждого из наблюдений в пространстве независимых переменных.

 

Алгоритм расчета коэффициентов влияния

[Q,R] = qr(x2fx(data,'model'));

leverage = (sum(Q'.*Q'))'

 

Примеры использования функции leverage

1. Сравнение коэффициентов влияния наблюдений нормально распределенной двумерной случайной величины без выбросов и с выбросами в выборке для линейной модели.

 

1.1. Моделирование матрицы независимых случаных величин, распределенных по нормальному закону с нулевым математическим ожиданием и единичной дисперсией

>> r=normrnd(0,1,10,2)

r =

   -0.1867    0.2944

    0.7258   -1.3362

   -0.5883    0.7143

    2.1832    1.6236

   -0.1364   -0.6918

    0.1139    0.8580

    1.0668    1.2540

    0.0593   -1.5937

   -0.0956   -1.4410

   -0.8323    0.5711

   

1.2. Расчет коэффициентов влияния наблюдений

>> h = leverage(r)

h =

    0.1432

    0.3559

    0.2940

    0.6896

    0.1462

    0.1710

    0.2640

    0.3140

    0.2689

    0.3532

  

1.3. Добавление выбороса в последнее наблюдение

 

>> r(10,1)=10;r(10,2)=-10;

1.4. Расчет коэффициентов влияния наблюдений

 

>> h1 = leverage(r,'linear')

h1 =

    0.1253

    0.1323

    0.1404

    0.5810

    0.1630

    0.1402

    0.2679

    0.2347

    0.2380

    0.9773

2. Сравнение коэффициентов влияния наблюдений нормально распределенной двумерной случайной величины без выбросов и с выбросами в выборке для квадратической модели.

 

2.1. Моделирование матрицы 3-х независимых случаных величин, распределенных по нормальному закону с нулевым математическим ожиданием и единичной дисперсией

>> r=normrnd(0,1,10,3);

>> r=r.^2

r =

    0.1599    2.5731    1.0214

    0.4761    0.0662    0.3776

    0.6652    1.1161    0.2578

    0.5068    2.0026    2.8643

    1.6647    0.6482    0.3496

    0.4470    0.2796    0.4142

    1.4181    0.0481    0.1447

    1.4459    0.8499    1.0183

    0.0004    4.7118    0.0004

    0.0246    0.0035    0.0023

  

2.2. Расчет коэффициентов влияния наблюдений

>> h = leverage(r,'purequadratic' )

h =

    0.7615

    0.4837

    0.9105

    0.9983

    0.6530

    0.3259

    0.4372

    0.5627

    0.9866

    0.8806

  

2.3. Добавление выбороса в последнее наблюдение

 

>> r(10,1)=10;r(10,2)=-10; r(10,3)=-5;

2.4. Расчет коэффициентов влияния наблюдений

 

>> h1 = leverage(r1, 'purequadratic')

h1 =

    0.2776

    0.4268

    0.5176

    0.8139

    0.3702

    0.3366

    0.5810

    0.4042

    0.2724

    0.9998

Как следует из полученных результатов, внесение выброса в исходную выборку приводит к увеличению коэффициента влияния измененного значения за счет уменьшения значений h других наблюдений.

 

 

Наверх

lscov - Линейная регрессия (метод наименьших квадратов) при заданной матрице ковариаций (встроенная функция MATLAB)

Синтаксис

x = lscov(A,b,V)

[x,dx] = lscov(A,b,V)

 

Описание

x = lscov(A,b,V) функции возвращает вектор х, являющийся решением системы уравнений A*x=b+e, где e - вектор нормально распределенных значений погрешностей с нулевым математическим ожиданием и ковариацией V. В рассматриваемой задаче метод наименьших квадратов применяется для решения переопределенной системы уравнений. Размерность матрицы A - m?n, где m - количество наблюдений, n - число независимых переменных, m>n. Размерность матрицы V равна m?m. Матрица V должна быть положительно определенной.

[x,dx] = lscov(A,b,V) функция предназначена для расчета вектора решений x системы уравнений A*x=b+e и их стандартных ошибок dx. Размерность векторов x и dx будет совпадать. 

Алгоритм 

 

Вектор х находится из условия минимизации выражения 

(A*x-b)'*inv(V)*(A*x-b).

 

Классическое решение этой задачи, известное из линейной алгебры, имеет следующий вид

x = inv(A'*inv(V)*A)*A'*inv(V)*b.

 

В функции lscov использована QR декомпозиция матрицы А с последующей модификацией величины Q по заданной ковариации V.

Величины стандартных ошибок рассчитываются по формулам:

 

mse = B'*(inv(V)-inv(V)*A*inv(A'*inv(V)*A)*A'*inv(V))*B./(m-n)

dx = sqrt(diag(inv(A'*inv(V)*A)*mse)).

Примеры использования функции lscov

1. Решение переопределенной системы уравенений методом наименьших квадратов.

 

1.1. Моделирование матрицы наблюдений независимых переменных

>> A1=unidrnd(10,10,1);

>> A=[A1 ones(10,1)]

A =

    10     1

     3     1

     7     1

     5     1

     9     1

     8     1

     5     1

     1     1

     9     1

     5     1

   

1.2. Моделирование вектора наблюдений зависимой переменной

 

>> b=A(:,1)*0.5+ A(:,2) *0.2+normrnd(0,1,10,1)

b =

    5.2000

    1.3821

    4.7950

    0.8260

    5.1282

    5.0956

    3.4310

    1.2779

    4.7403

    3.3771

  

1.3. Моделирование ковариационной матрицы

>> V= normrnd(0,1,10,10);

 

1.4. Решение системы уравнений

>> x = lscov(A,b,V)

x =

    0.2561

    1.4567

  

2. Расчет вектора решений переопределенной системы уравенений 

и их стандартных ошибок методом наименьших квадратов.

 

2.1. Моделирование матрицы наблюдений независимых переменных

>> A1=unidrnd(10,10,2);

>> A=[A1 ones(10,1)]

A =

     7     1     1

     8     4     1

    10     9     1

     8     1     1

     2     2     1

     5     3     1

    10     2     1

    10     7     1

     5     3     1

     9     2     1

   

2.2. Моделирование вектора наблюдений зависимой переменной

 

>> b=A(:,1)*0.5+ A(:,2) *0.2- A(:,3)+normrnd(0,1,10,1)

b =

    3.7184

    2.2196

    5.7213

    2.5183

   -0.6246

    0.8656

    4.6888

    4.9707

    2.1558

    3.5321

  

2.3. Моделирование ковариационной матрицы

>> V= pascal(10)./max(max( pascal(10)));

 

2.4. Расчет вектора решений и их стандартных ошибок

>> [x,dx] = lscov(A,b,V)

x =

   -0.0428

    0.0787

    3.9392

dx =

    0.0475

    0.0606

   11.4383

 

 

Наверх

multcompare - Множественной сравнение оценок средних, параметров линии регрессии и т.д. В качестве входных параметров используются выходные параметры функций anova1, anova2, anovan, aoctool, friedman, kruskalwallis.

Синтаксис

c = multcompare(stats)

c = multcompare(stats,alpha)

c = multcompare(stats,alpha,'displayopt')

c = multcompare(stats,alpha,'displayopt','ctype')

c = multcompare(stats,alpha,'displayopt','ctype','estimate')

c = multcompare(stats,alpha,'displayopt','ctype','estimate',dim)

[c,m] = multcompare(...)

[c,m,h] = multcompare(...)

 

Описание

c = multcompare(stats) функция предназначена проверки параметрических гипотез при парном сравнении средних арифметических или других оценок на основе информации в структуре данных stats. Выходным параметром является матрица с результатами проверки параметрических гипотез. Также функция позволяет построить интерактивный график по результатам проверки множества параметрических гипотез.

При проведении дисперсионного анализа по множеству выборок проверяется нулевая гипотеза, состоящая в том, что все выборочные средние арифметические равны между собой, выборки извлечены из одной генеральной совокупности или из нескольких генеральных совокупностей с одинаковыми значениями средних арифметических. Альтернативная гипотеза состоит в том, что значение хотя бы одного выборочного среднего арифметического отличается от остальных.

После проведения дисперсионного анализа целесообразно определить для какой пары выборок средние арифметические значения имеют статистически значимое различие. Для проверки такой параметрической гипотезы используется процедура множественного сравнения.

При проверке простой параметрической гипотезы (нулевой гипотезы) о равенстве средних одной группы выборок по отношению к другой по статистике t необходимо задать уровень значимости , определяющий критическое значение статистики. В большинстве практических случаев  принимают равным 0,05; 0,01. Это означает, что в 5%, или 1% случаев будет неверно отвергнута нулевая гипотеза. При увеличении групп выборок, увеличивается число проверяемых гипотез. При использовании простой параметрической гипотезы по статистике t, уровень значимости  будет применяться к каждой гипотезе отдельно, что повлечет к росту вероятности неверно отвергнуть нулевую гипотезу пропорционально количеству выполненных проверок. Т.е., неверно определить значимое отличие выборочных средних. Процедура множественного сравнения обеспечивает заданный уровень значимости для каждой проверки.

Выходной параметр с представляет результаты множественного сравнения в виде матрицы из 5 столбцов. Срока матрицы с соответствуют результатам проверки одной параметрической гипотезы. Таким образом, каждая строка с соответствует одной паре выборок. Первые два значения в строке с показывают номера сравниваемых выборок, третий - величину разности средних арифметических сравниваемых выборок, четвертый и пятый столбцы - 95% доверительный интервал полученной разности средних арифметических.

Например, если строка с содержит следующие значения:

2.0000 5.0000 1.9442 8.2206 14.4971

полученные значения показывают, что сравниваются средние арифметические значения 2 и 5 выборок, величина их разности равна 1.9442, 95% доверительный интервал полученной разности средних арифметических составил [1.9442, 14.4971]. Поскольку в доверительный интервал не попало нулевое значение, следовательно разность средних арифметических 2 и 5 выборок значима. Т.е. средние арифметические выборок статистически значимо отличаются друг от друга, для .

Функция multcompare позволяет графически отобразить значения средних арифметических и их доверительных интервалов. Два выборочных средних значимо отличаются, если их доверительные интервалы не пересекаются на графике. При наложении границ доверительных интервалов двух средних арифметических, различие между ними можно считать статистически незначимым. По графику можно определить выборки со средними арифметическими, которые значимо отличающиеся от интересующего выборочного среднего. Для этого необходимо мышью выделить график интересующего выборочного среднего. Соответствующие графики будут выделены другим цветом.

c = multcompare(stats,alpha) такой вариант синтаксиса функции позволяет задать уровень значимости alpha для расчета доверительных интервалов разностей средних арифметических представленных в матрице с. Доверительная вероятность определяется как 100*(1-alpha)%. Значение по умолчанию alpha=0,05.

c = multcompare(stats,alpha,'displayopt') входной аргумент 'displayopt' позволяет отобразить график с результатами множественного сравнения 'displayopt'='on', или подавить вывод графика 'displayopt'='off'. Значение по умолчанию 'displayopt'='on'.

c = multcompare(stats,alpha,'displayopt','ctype') входной аргумент 'ctype' позволяет задать способ определения критических значений статистик при проверке нулевой гипотезы. Предусмотрены следующие значения 'ctype':

Значение 'ctype'

Способ определения критических значений статистик

'hsd', или 'tukey-kramer'

Используется разностный критерий Тьюки. Значение по умолчанию. Критерий основан на распределении выборочного размаха по закону Стьюдента. Критерий является оптимальным для однофакторного дисперсионного анализа и аналогичных процедур для выборок с равным объемом. Доказана его ограниченна применимость для однофакторного дисперсионного анализа с разным объемом выборок. 

'lsd'

Используется процедура определения критических значений статистики по наименее значимой разности критерия Тьюки. Эта процедура основана на использовании простого t теста. Она приемлема, если предварительный тест (имеется в виду F статистика при однофакторном дисперсионном анализе) показала значимое различие сравниваемых средних.

'bonferroni'

Основан на расчете критических значений распределения Стьюдента с корректировкой Бонферони для использования в процедуре множественного сравнения. 

'dunn-sidak'

Используются критические значения рассчитанные по распределению Стьюдента после корректировки для процедуры множественного сравнения предложенной Данном.

'scheffe'

Используются критические значения рассчитанные по процедуре Шеффе, основанной на распределении Фишера. Эта процедура позволяет обеспечивает одинаковый уровень значимости при сравнении линейных комбинаций средних.

c = multcompare(stats,alpha,'displayopt','ctype','estimate') входной аргумент 'estimate' позволяет задать вид оценок используемых в процедуре множественного сравнения. Возможные виды оценок определяются функцией, использованной для расчета структуры stats, и приведены в следующей таблице:

Функция

Значения 'estimate'

'anova1'

Значения 'estimate' игнорируются. Всегда сравниваются средние по группам.

'anova2'

'estimate'='column' (значение по умолчанию) - для сравнения средних по столбцам, 'estimate'='row' - для сравнения средних по строкам.

'anovan'

Значения 'estimate' игнорируются. Всегда сравниваются маргинальные средние генеральной совокупности, определяемые согласно аргументу dim.

'aoctool'

'estimate'='slope', 'intercept', 'pmm' для сравнения значений начального смещения, коэффициентов при первой степени независимой переменной, маргинальных средних генеральной совокупности. Если модель корреляционного анализа не включает разделенные постоянные смещения, тогда использовать значение 'estimate'='slope' запрещено. Также невозможно применить значение 'estimate'='intercept', если нет разделенных коэффициентов при линейной степени независимой переменной модели.

'friedman'

Значения игнорируются. Всегда сравниваются средние по столбцам.

'kruskalwallis'

Значения игнорируются. Всегда сравниваются средние по группам.

c = multcompare(stats,alpha,'displayopt','ctype','estimate',dim) входной аргумент dim задает маргинальные средние распределений подлежащие сравнению. Этот аргумент необходим, если при расчете stats использовалась функция anovan. При проведении многофакторного дисперсионно анализа с n факторами, dim может быть задан как скаляр или вектор целых чисел в диапазоне от 1 до n. Значение по умолчанию dim=1.

Например, если dim=1 сравниваемые точечные оценки являются средними арифметическими групп, определяемых значениями первой группирующей переменной, скорректированных удалением эффектов других группирующих переменных, как если бы план был сбалансирован, т.е. заданы выборки одинакового объема. Если dim=[1 3], маргинальные средние распределений вычисляются для каждой комбинации первой и третьей группирующих переменных, с игнорированием эффектов второй группирующей переменной. Если используется сингулярная модель, средние арифметические по некоторым группам не могут быть рассчитаны и соответствующие им маргинальные средние примут значение NaN.

[c,m] = multcompare(...) функция возвращает матрицу m точечных и интервальных оценок средних арифметических значений или других сравниваемых оценок. Первый столбец матрицы m содержит точечные оценки средних арифметических, или сравниваемых статистик, для каждой группы. Второй столбец m содержит величины стандартных ошибок сравниваемых оценок.

[c,m,h] = multcompare(...) функция возвращает указатель h на график, сформированный в результате множественного сравнения. Следует отметить, что в строке заголовка графика выводится инструкции по работе с интерактивным графиком, подписи по оси абсцисс содержат список групп, у которых средние арифметические значимо отличаются от среднего арифметического для выделенного графика. Для удаления заголовка графика и подписи по оси Х необходимо использовать интерактивные инструменты графического окна или команды:

>> title('')

>> xlabel('')

Примеры использования функции множественного сравнения выборочных средних арифметических и других оценок

Однофакторный дисперсионный анализ для пяти выборок с математическими ожиданиями, изменяющимися в пределах от 1 до 5, с последующим проведением множественного сравнения оценок средних арифметических.

>> X = meshgrid(1:5);

>> X = X + normrnd(0,1,5,5);

>> group = ['Aa'; 'Bb'; 'Cc'; 'Dd'; 'Ee'];

>> [p,table,stats] = anova1(X, group);

>> c = multcompare(stats)

c =

    1.0000    2.0000   -3.8426   -2.1352   -0.4277

    1.0000    3.0000   -4.6733   -2.9658   -1.2584

    1.0000    4.0000   -5.3362   -3.6287   -1.9213

    1.0000    5.0000   -6.3946   -4.6872   -2.9797

    2.0000    3.0000   -2.5381   -0.8306    0.8768

    2.0000    4.0000   -3.2010   -1.4935    0.2139

    2.0000    5.0000   -4.2594   -2.5520   -0.8445

    3.0000    4.0000   -2.3703   -0.6629    1.0446

    3.0000    5.0000   -3.4288   -1.7214   -0.0139

    4.0000    5.0000   -2.7659   -1.0585    0.6490

Двухфакторный дисперсионный анализ для шести уровней по первому фактору, двум уровням и 3-х повторений по второму фактору, с последующим проведением множественного сравнения оценок средних арифметических при 99% доверительном интервале ().

>> X = normrnd(0,1,6,6);

>> [p,table,stats] = anova2(X,3);

>> alpha = 0.01;

>> c = multcompare(stats,alpha)

Note:  Your model includes an interaction term.  A test of main

effects can be difficult to interpret when the model includes

interactions.

c =

    1.0000    2.0000   -2.9346   -1.0198    0.8951

    1.0000    3.0000   -1.4097    0.5051    2.4200

    1.0000    4.0000   -1.7510    0.1638    2.0787

    1.0000    5.0000   -2.4294   -0.5146    1.4002

    1.0000    6.0000   -1.8167    0.0981    2.0129

    2.0000    3.0000   -0.3899    1.5249    3.4397

    2.0000    4.0000   -0.7312    1.1836    3.0984

    2.0000    5.0000   -1.4096    0.5052    2.4200

    2.0000    6.0000   -0.7970    1.1179    3.0327

    3.0000    4.0000   -2.2561   -0.3413    1.5735

    3.0000    5.0000   -2.9346   -1.0197    0.8951

    3.0000    6.0000   -2.3219   -0.4070    1.5078

    4.0000    5.0000   -2.5933   -0.6784    1.2364

    4.0000    6.0000   -1.9806   -0.0657    1.8491

    5.0000    6.0000   -1.3021    0.6127    2.5275

 

Однофакторный дисперсионный анализ для пяти выборок с математическими ожиданиями, изменяющимися в пределах от 1 до 5, с последующим проведением множественного сравнения оценок средних арифметических при 99% доверительном интервале (). При расчете критического уровня статистики используется процедура по наименее значимой разности критерия Тьюки.

>> X = meshgrid(1:5);

>> X = X + normrnd(0,1,5,5);

>> group = ['Aa'; 'Bb'; 'Cc'; 'Dd'; 'Ee'];

>> [p,table,stats] = anova1(X, group);

>> alpha = 0.01;

>> displayopt='on';

>> ctype='lsd';

>> c = multcompare(stats,alpha,displayopt,ctype)

c =

    1.0000    2.0000   -2.8283   -1.4736   -0.1190

    1.0000    3.0000   -2.7817   -1.4270   -0.0723

    1.0000    4.0000   -4.7391   -3.3844   -2.0297

    1.0000    5.0000   -5.5488   -4.1942   -2.8395

    2.0000    3.0000   -1.3080    0.0467    1.4013

    2.0000    4.0000   -3.2655   -1.9108   -0.5561

    2.0000    5.0000   -4.0752   -2.7205   -1.3659

    3.0000    4.0000   -3.3121   -1.9574   -0.6028

    3.0000    5.0000   -4.1219   -2.7672   -1.4125

    4.0000    5.0000   -2.1644   -0.8097    0.5449

Выполняется многофакторный дисперсионный анализ для 3-х факторов изменяющихся двух уровнях, с последующим множественным сравнением при 99% доверительном интервале ().При расчете критического уровня статистики используется процедура Шеффе. маргинальные средние распределений подлежащие сравнению заданы переменной dim=[1 3]. Маргинальные средние распределений вычисляются для каждой комбинации первой и третьей группирующих переменных, удаляя эффекты второй группирующей переменной.

>> X=normrnd(0,1,8,1);

>> group = {[1 2 1 2 1 2 1 2]; ['hi';'hi';'lo';'lo';'hi';'hi';'lo';'lo']; {'may' 'may' 'may' 'may' 'june' 'june' 'june' 'june'}};

>> [p,table,stats,terms] = anovan(X,group);

>> alpha = 0.01;

>> displayopt='on';

>> ctype='scheffe';

>> estimate =1;

>> dim=[1 3];

>> c = multcompare(stats,alpha,displayopt,ctype,estimate,dim)

c =

    1.0000    2.0000   -4.0683    0.2935    4.6554

    1.0000    3.0000   -4.3823   -0.0205    4.3414

    1.0000    4.0000   -5.8955    0.2731    6.4416

    2.0000    3.0000   -6.4825   -0.3140    5.8546

    2.0000    4.0000   -4.3823   -0.0205    4.3414

    3.0000    4.0000   -4.0683    0.2935    4.6554

 

Однофакторный дисперсионный анализ для пяти выборок с математическими ожиданиями, изменяющимися в пределах от 1 до 5, с последующим проведением множественного сравнения оценок средних арифметических. Функция возвращает матрицу m точечных и интервальных оценок средних арифметических значений и указатель на график множественного сравнения.

>> X = meshgrid(1:5);

>> X = X + normrnd(0,1,5,5);

>> group = ['Aa'; 'Bb'; 'Cc'; 'Dd'; 'Ee'];

>> [p,table,stats] = anova1(X, group);

>> [c,m,h] = multcompare(stats)

c =

    1.0000    2.0000   -2.0501   -0.3580    1.3341

    1.0000    3.0000   -3.4140   -1.7219   -0.0298

    1.0000    4.0000   -4.4701   -2.7780   -1.0859

    1.0000    5.0000   -4.8882   -3.1961   -1.5040

    2.0000    3.0000   -3.0561   -1.3640    0.3281

    2.0000    4.0000   -4.1121   -2.4200   -0.7279

    2.0000    5.0000   -4.5302   -2.8381   -1.1460

    3.0000    4.0000   -2.7481   -1.0560    0.6361

    3.0000    5.0000   -3.1663   -1.4742    0.2179

    4.0000    5.0000   -2.1102   -0.4181    1.2740

m =

    1.0044    0.3998

    1.3624    0.3998

    2.7264    0.3998

    3.7824    0.3998

    4.2005    0.3998

h =

     2

 

 

Наверх

polyconf - Определение доверительных интервалов для линии регрессии

Синтаксис

[Y,DELTA] = polyconf(p,X,S)

[Y,DELTA] = polyconf(p,X,S,alpha)

 

Описание

[Y,DELTA] = polyconf(p,X,S) функция позволяет рассчитать значения зависимой переменой Y однофакторной регрессионной полиномиальной модели произвольного порядка в заданных точках X. Коэффициенты регрессионной модели задаются вектором р.

Вектор коэффициентов p содержит n+1 элемент, расположенных по убыванию степени независимой переменной согласно формуле:

где n - порядок полинома. Входной аргумент S рассчитывается с использованием функции polyfit. Результаты расчета значений зависимой переменной могут быть представлены как Y±DELTA, где DELTA соответствует 95% доверительному интервалу. При расчете DELTA предполагается, что отклонения значений зависимой переменной y от регрессионной модели независимы и распределены по нормальному закону с постоянной дисперсией.

 

[Y,DELTA] = polyconf(p,X,S,alpha) функция позволяет рассчитать границы доверительного интервала DELTA соответствующие уровню значимости alpha. Доверительная вероятность определяется как 100(1-alpha)%.

Входной аргумент Х может быть задан как вектор или матрица. Значения регрессионной модели рассчитываются для каждого элемента Х. Размерность Х, Y и DELTA будет одинаковой.

Примеры использования функции расчета значений однофакторной полиномиальной регрессионной модели произвольного порядка

Расчет значений линейной модели и их 95% доверительных интервалов

 

>> x=1:1:10;

>> d=normrnd(0,2,1,10);

>> y=x+d;

>> [p S] = polyfit(x,y,1)

p =

    1.3378   -1.7450

S = 

        R: [2x2 double]

       df: 8

    normr: 3.6995

>> X = 0:2:20;

>> [Y,DELTA] = polyconf(p,X,S)

Y =

  Columns 1 through 7 

   -1.7450    0.9307    3.6063    6.2820    8.9577   11.6334   14.3091

  Columns 8 through 11 

   16.9848   19.6605   22.3362   25.0119

DELTA =

  Columns 1 through 7 

    3.6528    3.3702    3.2024    3.1678    3.2706    3.4986    3.8297

  Columns 8 through 11 

    4.2396    4.7080    5.2190    5.7613

>> f=p(1)*X+ p(2);

>> plot(X,Y,'+',x,y,'o',X,f)

>> grid on

Расчет значений квадратической модели и их 99% доверительных интервалов

 

>> x=1:1:10;

>> d=normrnd(0,2,1,10);

>> y=x.^2/5+d;

>> [p S] = polyfit(x,y,2)

p =

    0.2601   -0.6233    1.1314

S = 

        R: [3x3 double]

       df: 7

    normr: 4.1858

>> X = 0:1.2:12;

>> alpha = 0.01;

>> [Y,DELTA] = polyconf(p,X,S,alpha)

Y =

  Columns 1 through 7 

    1.1314    0.7580    1.1335    2.2580    4.1314    6.7537   10.1251

  Columns 8 through 11 

   14.2454   19.1146   24.7328   31.0999

DELTA =

  Columns 1 through 7 

    8.5473    6.8320    6.1153    6.0258    6.1153    6.1259    6.0382

  Columns 8 through 11 

    6.0700    6.6497    8.1858   10.7948

>> Y_min=Y-DELTA;

>> Y_max=Y+DELTA;

>> f=p(1)*X.^2+ p(2).* X + p(3);

>> plot(X,Y,'+', X, Y_min,X,Y_max,x,y,'o',X,f)

>> grid on

Расчет значений квадратической модели и 

их 99% доверительных интервалов для матрицы значений Х.

 

>> x=1:1:10;

>> d=normrnd(0,2,1,10);

>> y=x.^2/5+d;

>> [p S] = polyfit(x,y,2)

p =

    0.2601   -0.6233    1.1314

S = 

        R: [3x3 double]

       df: 7

    normr: 4.1858

>> X = magic(3)

X =

     8     1     6

     3     5     7

     4     9     2

>> alpha = 0.01;

>> [Y,DELTA] = polyconf(p,X,S,alpha)

Y =

   12.7887    0.7682    6.7537

    1.6021    4.5164    9.5112

    2.7992   16.5863    0.9251

DELTA =

    6.0227    7.0429    6.1259

    6.0227    6.1259    6.0535

    6.0535    6.2609    6.2609

 

 

Наверх

polyfit - Полиномиальная регрессия (встроенная функция MATLAB)

Синтаксис

[p,S] = polyfit(x,y,n)

 

Описание

p = polyfit(x,y,n) функция позволяет рассчитать коэффициенты p полиномиальной регрессионной модели n-й степени для выборки x, y методом наименьших квадратов, где x - независимая переменная, y - зависимая переменная. Зависимая и независимая переменные задаются как векторы с одинаковым числом элементов. Вектор коэффициентов p содержит n+1 элемент, расположенных по убыванию степени независимой переменной согласно формуле:

[p,S] = polyfit(x,y,n) функция возвращает коэффициенты p полиномиальной регрессионной модели n-й степени и матрицы S для выборки x, y. S используется в качестве входного аргумента функции polyval для расчета границ доверительного интервала значений полиномиальной регрессионной модели в заданных точках. Если отклонения значений зависимой переменной y от регрессионной модели независимы и распределены по нормальному закону с постоянной дисперсией, границы доверительного интервала, полученные polyval, включают как минимум 50% рассчитанных значений.

polyfit является стандартной функцией MATLAB.

Примеры использования функции расчета коэффициентов однофакторной регрессионной полиномиальной модели произвольного порядка

Расчет коэффициентов линейной модели

 

>> x=1:1:10;

>> d=normrnd(0,2,1,10);

>> y=x+d;

>> p = polyfit(x,y,1)

p =

    1.0000   -0.4326

>> f=p(1)*x+ p(2);

>> plot(x,y,'+',x,f)

>> grid on

Расчет коэффициентов квадратической модели и матрицы S

 

>> x=1:1:10;

>> d=normrnd(0,2,1,10);

>> y=x.^2+d;

>> [p S] = polyfit(x,y,2)

p =

    1.0512   -0.6534    0.9738

S = 

        R: [3x3 double]

       df: 7

    normr: 6.1614

>> S.R

ans =

-159.1634  -19.0056   -2.4189

         0   -4.8771   -1.8510

         0         0    0.8502

>> f=p(1)*x.^2+ p(2).*x+ p(3);

>> plot(x,y,'+',x,f)

>> grid on

 

 

Наверх

polyval - Прогноз с использованием полиномиальной регрессии (встроенная функция MATLAB)

Синтаксис

Y = polyval(p,X)

[Y,DELTA] = polyval(p,X,S)

 

Описание

Y = polyval(p,X) функция позволяет рассчитать значения зависимой переменной Y однофакторной регрессионной полиномиальной модели произвольного порядка в заданных точках независимой переменной X. Коэффициенты регрессионной модели задаются вектором р.

Вектор коэффициентов p содержит n+1 элемент, расположенных по убыванию степени независимой переменной согласно формуле:

где n - порядок полинома.

 

[Y,DELTA] = polyval(p,X,S) функция позволяет рассчитать значения Y однофакторной регрессионной полиномиальной модели произвольного порядка и границы 95% доверительного интервала DELTA в заданных точках X. Результаты расчета значений зависимой переменной могут быть представлены как Y±DELTA. Входной аргумент S рассчитывается с использованием функции polyfit. Если отклонения значений зависимой переменной y от регрессионной модели независимы и распределены по нормальному закону с постоянной дисперсией, границы доверительного интервала, полученные polyval, включают как минимум 50% рассчитанных значений.

Входной аргумент Х может быть задан как вектор или матрица. Значения регрессионной полиномиальной модели рассчитываются для каждого элемента Х. Размерность Х, Y и DELTA будет одинаковой.

 

polyval является стандартной функцией MATLAB.

Примеры использования функции расчета значений однофакторной регрессионной полиномиальной модели произвольного порядка

Расчет значений линейной модели

 

>> x=1:1:10;

>> d=normrnd(0,2,1,10);

>> y=x+d;

>> [p S] = polyfit(x,y,1)

p =

    0.7334    1.6928

S = 

        R: [2x2 double]

       df: 8

    normr: 3.7728

>> X = 0:2:20;

>> Y = polyval(p,X)

Y =

  Columns 1 through 7 

    1.6928    3.1597    4.6266    6.0934    7.5603    9.0272   10.4940

  Columns 8 through 11 

   11.9609   13.4277   14.8946   16.3615

>> f=p(1)*X+ p(2);

>> plot(X,Y,'+',x,y,'o',X,f)

>> grid on

Расчет значений квадратической модели и их 95% доверительных интервалов

 

>> x=1:1:10;

>> d=normrnd(0,2,1,10);

>> y=x.^2+d;

>> [p S] = polyfit(x,y,2)

p =

    0.9491    0.6023   -0.7749

S = 

        R: [3x3 double]

       df: 7

    normr: 4.9811

>> X = 0:1.2:12;

>> [Y DELTA] = polyval(p,X,S)

Y =

  Columns 1 through 7 

   -0.7749    1.3145    6.1372   13.6933   23.9826   37.0053   52.7613

  Columns 8 through 11 

   71.2507   92.4734  116.4294  143.1187

DELTA =

  Columns 1 through 7 

    2.9065    2.3232    2.0795    2.0490    2.0795    2.0831    2.0533

  Columns 8 through 11 

    2.0641    2.2612    2.7836    3.6708

>> Y_min=Y-DELTA;

>> Y_max=Y+DELTA;

>> f=p(1)*X.^2+ p(2).* X + p(3);

>> plot(X,Y,'+', X, Y_min,X,Y_max,x,y,'o',X,f)

>> grid on

Расчет значений квадратической модели и их 95% 

доверительных интервалов для матрицы значений Х.

 

>> x=1:1:10;

>> d=normrnd(0,2,1,10);

>> y=x.^2/5+d;

>> [p S] = polyfit(x,y,2)

p =

    0.2601   -0.6233    1.1314

S = 

        R: [3x3 double]

       df: 7

    normr: 4.1858

>> X = magic(3)

X =

     8     1     6

     3     5     7

     4     9     2

>> [Y DELTA] = polyval(p,X,S)

Y =

   12.7887    0.7682    6.7537

    1.6021    4.5164    9.5112

    2.7992   16.5863    0.9251

DELTA =

    1.7210    2.0126    1.7505

    1.7210    1.7505    1.7298

    1.7298    1.7891    1.7891

 

 

Наверх

regress - Множественная линейная регрессия

Синтаксис

b = regress(y,X)

[b,bint,r,rint,stats] = regress(y,X)

[b,bint,r,rint,stats] = regress(y,X,alpha)

 

Описание

b = regress(y,X) функция предназначена для расчета точечных оценок коэффициентов линейного уравнения регрессии b. Расчет точечных оценок коэффициентов выполняется методом наименьших квадратов из следующего уравнения линейной модели:

,

где  - вектор значений зависимой переменной;  - вектор коэффициентов линейной модели;  - матрица значений независимых переменных;  - вектор случайных возмущающих факторов, распределенных по нормальному закону с нулевым математическим ожиданием и дисперсией .

Размерности векторов значений зависимой переменной  и случайных возмущающих факторов  - n×1, где n - количество наблюдений. Размерность матрицы Х равна n×p, где p - количество независимых переменных. Столбцы матрицы Х соответствуют независимым переменных, строки - наблюдениям. Размерность вектора коэффициентов линейной регрессионной модели равна p×1. Коэффициенты множественной линейной регрессионной модели в векторе b располагаются по возрастанию степени независимых переменных.

[b,bint,r,rint,stats] = regress(y,X) функция возвращает: b - вектор точечных оценок коэффициентов линейного уравнения регрессии, bint - матрицу интервальных оценок параметров линейной регрессии, r - вектор остатков, rint - матрицу 95% доверительных интервалов остатков, stats - структуру, содержащую значения статистики  с соответствующими ей F статистикой и уровнем значимости p для регрессионной модели.

Размерность матрицы bint составляет p×2, где первый столбец матрицы задает нижнюю границу 95% доверительного интервала, второй - верхнюю границу 95% доверительного интервала. Количество элементов вектора r равно n. Размерность матрицы rint равна n×2, где первый и второй столбцы используются для задания нижней и верхней границ 95% доверительного интервала по каждому из n наблюдений.

[b,bint,r,rint,stats] = regress(y,X,alpha) входной параметр alpha позволяет задать величину уровня значимости. Уровень значимости используется для расчета границ доверительных интервалов bint и rint с доверительной вероятностью определяемой как 100(1-alpha)%. Значение alpha=0.2 будет соответствовать 80% границам доверительных интервалов bint и rint.

Примеры использования функции расчета значений параметров множественной линейной регрессионной модели

1. Рассматривается линейная регрессионная модель вида , где .

1.1. Моделирование матрицы значений независимой переменной 

>> X = [ones(10,1) (1:10)']

X =

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

1 10

1.2. Моделирование вектора значений зависимой переменной

>> y = X * [10;1] + normrnd(0,0.1,10,1)

y =

10.9606

12.0310

13.0405

14.1457

14.9772

15.9760

16.8907

17.9328

18.9891

20.1052

1.3. Расчет параметров линейной регрессионной модели и их 95% границ доверительных интервалов

>> [b,bint] = regress(y,X,0.05)

b =

10.0148

0.9982

bint =

9.8858 10.1437

0.9774 1.0190

1.4. Графическое представление выборочных данных, регрессионной модели и прямых регрессионной модели для границ параметров доверительных интервалов

>> Xx = 1:1:10;

>> Yy = b(1)+ b(2).*Xx;

>> Yn = bint(1,1)+ bint(2,1).*Xx;

>> Yv = bint(1,2)+ bint(2,2).*Xx;

>> plot(Xx,Yy,'r', Xx,Yn,'g--', Xx,Yv,'g--',X(:,2),y,'bo')

>> grid on

 

1.5. Расчет параметров линейной регрессионной модели, их 99% границ доверительных интервалов, вектора значений остатков, их 99% границ доверительных интервалов и структуру stats.

>> [b,bint,r,rint,stats] = regress(y,X,0.01)

b =

9.9866

1.0009

bint =

9.7307 10.2425

0.9597 1.0422

r =

-0.0146

0.0062

-0.0428

-0.1812

0.1223

0.1824

0.0706

0.0043

-0.0927

-0.0544

rint =

-0.3380 0.3089

-0.3409 0.3532

-0.4023 0.3167

-0.4764 0.1140

-0.2237 0.4684

-0.1182 0.4829

-0.2927 0.4338

-0.3592 0.3678

-0.4194 0.2339

-0.3710 0.2621

stats =

1.0e+003 *

0.0010 6.6321 0.0000

1.6. Графическое представление выборочных данных, регрессионной модели и прямых регрессионной модели для границ параметров доверительных интервалов

>> Xx = 1:1:10;

>> Yy = b(1)+ b(2).*Xx;

>> Yn = bint(1,1)+ bint(2,1).*Xx;

>> Yv = bint(1,2)+ bint(2,2).*Xx;

>> plot(Xx,Yy,'r', Xx,Yn,'g--', Xx,Yv,'g--',X(:,2),y,'bo')

>> grid on

 

1.7. Графическое представление вектора остатков и их границ доверительных интервалов

>> plot(X(:,2),r,'bo', X(:,2),rint(:,1),'g+', X(:,2),rint(:,2),'g+')

>> grid on

2. Рассматривается линейная регрессионная модель вида , где ; ,  - параметры линейной регрессионной модели, , ; - независимые переменные.

2.1. Моделирование матрицы значений независимых переменных

>> X1 = unidrnd(10,10,1);

>> X2 = unidrnd(20,10,1);

>> X=[ones(10,1) X1 X2]

X =

1 7 2

1 8 8

1 10 17

1 8 1

1 2 3

1 5 5

1 10 4

1 10 13

1 5 6

1 9 4

2.2. Моделирование вектора значений зависимой переменной

>> y = X * [1.5;2.5; 1.2] + normrnd(0,0.1,10,1)

y =

21.5191

31.2189

46.8962

22.7327

10.1175

19.9813

31.3726

42.0412

21.4183

28.7864

2.3. Расчет параметров линейной регрессионной модели, их 99% границ доверительных интервалов, вектора значений остатков, их 99% границ доверительных интервалов и структуру stats.

>> [b,bint,r,rint,stats] = regress(y,X,0.01)

b =

1.6080

2.4952

1.1962

bint =

1.3020 1.9140

2.4510 2.5393

1.1730 1.2195

r =

0.0525

0.0798

0.0008

-0.0328

-0.0695

-0.0836

0.0280

-0.0693

0.1572

-0.0630

rint =

-0.2436 0.3486

-0.2183 0.3780

-0.2153 0.2170

-0.3141 0.2484

-0.2699 0.1309

-0.3637 0.1965

-0.2484 0.3045

-0.3326 0.1939

-0.0444 0.3588

-0.3495 0.2234

stats =

1.0e+004 *

0.0001 6.6655 0.0000

2.4. Графическое представление выборочных данных, регрессионной модели и регрессионной модели для границ параметров доверительных интервалов

>> [Xx1 Xx2] = meshgrid([1:1:10],[1:2:20]);

>> Yy = b(1)+ b(2).*Xx1+ b(3).*Xx2;

>> Yn = bint(1,1)+ bint(2,1).*Xx1+ bint(3,1).*Xx2;

>> Yv = bint(1,2)+ bint(2,2).*Xx1+ bint(3,2).*Xx2;

>> mesh(Xx1, Xx2, Yy)

>> hold on

>> plot3(X1,X2,y,'o')

>> hold off

>> mesh(Xx1, Xx2, Yn)

>> hold on

>> plot3(X1,X2,y,'o')

>> hold off

>> mesh(Xx1, Xx2, Yv)

>> hold on

>> plot3(X1,X2,y,'o')

>> hold off

2.5. Графическое представление вектора остатков и их границ доверительных интервалов

>> plot(1:1:10,r,'bo', 1:1:10,rint(:,1),'g+', 1:1:10,rint(:,2),'g+')

>> grid on

 

 

Наверх

regstats - Функция диагностирования линейной множественной модели. Графический интерфейс.

Синтаксис

regstats(responses,DATA,'model')

stats = regstats(responses,DATA,'model','whichstats')

 

Описание

regstats(responses, DATA,'model') функция предназначена для расчета параметров множественной регрессионной модели для вектора значений зависимой переменной responses, матрицы независимых переменных DATA, регрессионной модели 'model'. Функция отображает графическое окно с набором статистик, служащих для оценки качества множественной регрессионной модели (рис. 1). Для выбора статистик необходимо отметить соответствующие флажки. Диалоговое окно для редактирования идентификаторов переменных вызывается кнопкой "Calculate Now" (рис. 2). Выбранные статистики с заданными идентификаторами переменных будут рассчитаны и экспортированы в среду MATLAB после нажатия кнопки "ОК" (рис. 2).

Рис. 1. Графическое окно выбора статистик множественной регрессионной модели

Рис. 2. Графическое окно идентификаторов статистик множественной регрессионной модели в среде MATLAB.

Предусмотрены следующие виды регрессионных моделей:

Значение 'model'

Состав эффектов множественной регрессионной модели

'linear'

Линейная модель, включающая линейные эффекты факторов и постоянный член. Принимается по умолчанию.

'interaction'

Линейная модель, включающая линейные эффекты и эффекты взаимодействия факторов, постоянный член.

'quadratic'

Квадратическая модель, включающая квадратические эффекты и эффекты взаимодействия факторов.

'purequadratic'

Квадратическая модель, включающая квадратические и линейные эффекты факторов, постоянный член.

Последовательность коэффициентов множественной регрессионной модели соответствует их порядку, используемому в функции x2fx (см. описание x2fx).

Статистики множественной регрессионной модели приведенные на рис. 1 описаны в табл. 1. Последовательность статистик на рис. 1, 2 и в табл. 1 совпоадает.

stats = regstats(responses,DATA,'model','whichstats') функция возвращает структуру stats, содержащую статистики множественной регрессионной модели. Состав полей структуры stats определяет входной аргумент 'whichstats'. 'whichstats' может быть задан как строковая константа, например 'leverage', или массив ячеек содержащий строковые константы, например {'leverage' 'standres' 'studres'}. Допустимые строковые константы при формировании 'whichstats' приведены в табл .1.

Таблица 1.

Значение строковой константы

Возвращаемая статистика

'Q'

Матрица Q при QR разложения матрицы независимых переменных DATA

'R'

Матрица R при QR разложения матрицы независимых переменных DATA

'beta'

Вектор точечных оценок коэффициентов регрессионной модели

'covb'

Ковариационная матрица коэффициентов регрессионной модели

'yhat'

Вектор зависимой переменной, рассчитанный по полученной регрессионной модели для исходных значений независимых переменных DATA

'r'

Вектор остатков

'mse'

Средняя квадратическая ошибка

'leverage'

Вектор степеней влияния отдельных наблюдений на коэффициенты регрессионной модели

'hatmat'

Матрица, проецирующая вектор наблюдений зависимой переменной на вектор наблюдений зависимой переменной, рассчитанной по регрессионной модели.

's2_i'

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

'beta_i'

Матрица коэффициентов регрессионной модели. Столбцы матрицы - векторы коэффициентов регрессионной модели, полученные последовательно без учета одного из наблюдений.

'standres'

Вектор стандартизованных остатков (остатков деленных на величину их среднего квадратического отклонения)

'studres'

Вектор стандартизованных остатков без учета текущего наблюдения (остатков деленных на величину соответствующего элемента вектора 's2_i')

'dfbetas'

Матрица влияния коэффициентов регрессионной модели. Столбцы матрицы - векторы коэффициентов регрессионной модели не содержащие соответствующего коэффициента, полученные последовательно без учета одного из наблюдений.

'dffit'

Вектор поправок к значениям зависимой переменной, рассчитанных без учета текущего наблюдения.

'dffits'

Вектор поправок к значениям зависимой переменной, рассчитанных без учета текущего наблюдения - 'dffit', нормированный на величину стандартной ошибки.

'covratio'

Вектор отношений обобщенной дисперсии при определении значений коэффициентов регрессионной модели без текущего наблюдения к обобщенной дисперсии коэффициентов регрессии с учетом всех наблюдений.

'cookd'

Вектор расстояний Кука. Элементы вектора расстояний Кука находятся как нормализованная поправка к вектору коэффициентов без учета текущего наблюдения.

'all'

Создание структуры stats, включающей все перечисленные выше статистики.

Для получения более детальной информации по каждой статистике используется кнопка Help в окне выбора рассчитываемых статистик множественной регрессионной модели (рис.1).

Алгоритм расчета коэффициентов уравнения регрессии

Расчет точечных оценок коэффициентов выполняется методом наименьших квадратов из следующего уравнения линейной модели:

,

где  - вектор значений зависимой переменной;  - вектор коэффициентов линейной модели;  - матрица значений независимых переменных;  - вектор случайных возмущающих факторов, распределенных по нормальному закону с нулевым математическим ожиданием и дисперсией .

Размерности векторов значений зависимой переменной  и случайных возмущающих факторов  - n×1, где n - количество наблюдений. Размерность матрицы Х равна n×p, где p - количество независимых переменных. Столбцы матрицы Х соответствуют независимым переменных, строки - наблюдениям. Размерность вектора коэффициентов линейной регрессионной модели составит p×1.

При расчете коэффициентов используется QR разложение матрицы наблюдений независимых переменных X=Q*R, где Q - прямоугольная матрица, R - треугольная матрица. Матрицы Q и R используются при расчете статистик приведенных в табл. 1.

Основным приводимым в литературе алгоритмом решения приведенного уравнения методом наименьших квадратов является:

.

Однако такой способ решения имеет некоторые существенные недостатки. В частности не всегда возможно найти значение  в силу конечной точности вычислений. Более стабильным численным решением считается 

b = R\(Q'*y).

Этот алгоритм расчета точечных оценок множественной регрессионной модели используется в функции regstats.

Примеры использования функции расчета параметров и диагностики множественной регрессионной модели

1. Рассматривается линейная регрессионная модель вида , где ; ,  - параметры линейной регрессионной модели, , ; - независимые переменные.

1.1. Моделирование матрицы значений независимых переменных

>> X1 = unidrnd(10,10,1);

>> X2 = unidrnd(20,10,1);

>> X=[X1 X2]

X =

10 13

3 16

7 19

5 15

9 4

8 9

5 19

1 19

9 9

5 18

1.2. Моделирование вектора значений зависимой переменной

>> y = X * [2.5; 1.2] + normrnd(0,0.1,10,1)

y =

40.5567

26.5334

40.3125

30.5288

27.1854

30.9191

35.4189

25.2962

33.3327

34.1175

1.3. Расчет параметров и диагностика линейной множественной регрессионной модели

>> regstats(y,X, 'linear')

Выбираются следующие статистики:

Идентификаторы переменных для экспорта в среду MATLAB принмаются в соотвествии со следующим диалогом:

Результаты расчета и экспорта

>> beta

beta =

-0.1992

2.5130

1.2084

>> beta_i

beta_i =

Columns 1 through 8 

-0.3169 -0.0580 -0.2617 -0.2119 -0.0530 -0.2760 -0.1536 -0.2345

2.5251 2.5008 2.5174 2.5139 2.5089 2.5138 2.5109 2.5167

1.2124 1.2052 1.2114 1.2086 1.2009 1.2123 1.2053 1.2090

Columns 9 through 10 

-0.2063 -0.1991

2.5120 2.5130

1.2090 1.2084

>> covb

covb =

0.0401 -0.0027 -0.0016

-0.0027 0.0002 0.0001

-0.0016 0.0001 0.0001

>> yhat

yhat =

40.6404

26.6744

40.3517

30.4921

27.2517

30.7807

35.3257

25.2736

33.2938

34.1173

>> r

r =

-0.0837

-0.1410

-0.0392

0.0367

-0.0664

0.1384

0.0932

0.0227

0.0390

0.0002

2. Рассматривается полная квадратическая регрессионная модель вида , где ; , , - параметры линейной регрессионной модели, , , ; - независимые переменные.

2.1. Моделирование матрицы значений независимых переменных

>> X1 = unidrnd(10,10,1);

>> X2 = unidrnd(20,10,1);

>> X=[X1.^2 X2.^2 X1 X2 X1.*X2]

X =

1 1 1 1 1

16 225 4 15 60

81 81 9 9 81

1 361 1 19 19

4 100 2 10 20

9 81 3 9 27

4 289 2 17 34

49 121 7 11 77

9 25 3 5 15

4 196 2 14 28

2.2. Моделирование вектора значений зависимой переменной

>> y = X * [1.2; 2.5; 1.5; -1.3; -0.89] + normrnd(0,0.1,10,1)

y =

2.9913

514.8726

229.3512

863.8083

226.9864

182.0814

678.0467

288.9759

57.9404

454.5968

2.3. Расчет параметров и диагностика квадратической регрессионной модели

>> regstats(y, [X1 X2], 'quadratic')

Выбираются следующие статистики:

Идентификаторы переменных для экспорта в среду MATLAB принмаются в соотвествии со следующим диалогом:

Результаты расчета и экспорта:

>> beta

beta =

-0.0865

1.6113

-1.3351

-0.8937

1.1931

2.5025

>> beta_i

beta_i =

Columns 1 through 8 

-0.0175 -0.0873 -0.0800 -0.0648 -0.1287 -0.0685 -0.0863 -0.0853

1.5897 1.6108 1.6011 1.5810 1.6760 1.5996 1.6114 1.6092

-1.3415 -1.3340 -1.3323 -1.3280 -1.3591 -1.3392 -1.3353 -1.3337

-0.8926 -0.8939 -0.8941 -0.8908 -0.8949 -0.8930 -0.8936 -0.8939

1.1941 1.1934 1.1952 1.1932 1.1890 1.1939 1.1931 1.1934

2.5027 2.5025 2.5024 2.5017 2.5038 2.5027 2.5025 2.5025

Columns 9 through 10 

-0.2207 -0.0534

1.7811 1.5521

-1.3498 -1.3154

-0.9008 -0.8922

1.1835 1.1966

2.5036 2.5015

>> r

r =

-0.0004

0.0041

-0.0082

0.0296

0.0503

0.0367

-0.0073

0.0138

-0.0278

-0.0908

>> mse

mse =

0.0035

>> s2_i

s2_i =

0.0047

0.0047

0.0045

0.0034

0.0028

0.0040

0.0047

0.0046

0.0032

0.0006

3. Рассматривается не полная квадратическая регрессионная модель вида , где , , ,  - параметры линейной регрессионной модели, , , ; - независимые переменные.

3.1. Моделирование матрицы значений независимых переменных

>> X1 = unidrnd(10,10,1);

>> X2 = unidrnd(20,10,1);

>> X=[X1.^2 X2.^2 X1 X2 ]

X =

1 1 1 1 1

16 225 4 15 60

81 81 9 9 81

1 361 1 19 19

4 100 2 10 20

9 81 3 9 27

4 289 2 17 34

49 121 7 11 77

9 25 3 5 15

4 196 2 14 28

3.2. Моделирование вектора значений зависимой переменной

>> y = X * [1.2; 2.5; 1.5; -1.3] + normrnd(0,0.1,10,1)

y =

2.9913

514.8726

229.3512

863.8083

226.9864

182.0814

678.0467

288.9759

57.9404

454.5968

3.3. Расчет параметров и диагностика не полной квадратической регрессионной модели. В качестве дополнительного вхоного аргумента задается спецификатор выходной структуры stats - 'whichstats'.

>> whichstats={'beta', 'covb', 'yhat', 'r', 'mse', 'beta_i'};

>> stats=regstats(y, [X1 X2], 'purequadratic', whichstats)

stats = 

source: 'regstats'

beta: [5x1 double]

covb: [5x5 double]

yhat: [10x1 double]

r: [10x1 double]

mse: 0.0025

beta_i: [5x10 double]

>> stats.beta

ans =

-0.4396

1.5932

-1.2257

1.1918

2.4960

>> stats.covb

ans =

0.0475 0.0025 -0.0068 -0.0005 0.0002

0.0025 0.0013 -0.0006 -0.0001 0.0000

-0.0068 -0.0006 0.0011 0.0001 -0.0000

-0.0005 -0.0001 0.0001 0.0000 -0.0000

0.0002 0.0000 -0.0000 -0.0000 0.0000

>> stats.yhat

ans =

145.4677

474.3992

182.8344

313.5338

145.4677

524.0781

238.5186

823.9587

811.6394

352.2278

>> stats.r

ans =

0.0618

-0.0328

-0.0629

0.0286

-0.0369

0.0077

0.0068

-0.0181

0.0165

0.0293

>> stats.mse

ans =

0.0025

>> stats.beta_i

ans =

Columns 1 through 8 

-0.5617 -0.4273 -0.3386 -0.4948 -0.3668 -0.4018 -0.3981 -0.4405

1.6022 1.5337 1.6289 1.5739 1.5879 1.5935 1.5960 1.5957

-1.2089 -1.2086 -1.2417 -1.2188 -1.2357 -1.2310 -1.2322 -1.2283

1.1910 1.1976 1.1875 1.1944 1.1923 1.1915 1.1912 1.1916

2.4954 2.4955 2.4963 2.4959 2.4964 2.4962 2.4962 2.4962

Columns 9 through 10 

-0.4694 -0.4877

1.5900 1.5947

-1.2195 -1.2233

1.1923 1.1921

2.4957 2.4960

 

 

Наверх

ridge - Линейная регрессия с применением гребневых оценок (ридж-регрессия)

Синтаксис

b = ridge(y,X,k)

 

Описание

b = ridge(y,X,k) функция предназначена для расчета гребневых оценок параметров линейной регрессионной модели:

,

где  - вектор значений зависимой переменной;  - вектор коэффициентов линейной модели;  - матрица значений независимых переменных;  - вектор случайных возмущающих факторов, распределенных по нормальному закону с нулевым математическим ожиданием и дисперсией .

Размерности векторов значений зависимой переменной  и случайных возмущающих факторов  - n×1, где n - количество наблюдений. Размерность матрицы Х равна n×p, где p - количество независимых переменных. Столбцы матрицы Х соответствуют независимым переменных, строки - наблюдениям. Размерность вектора коэффициентов линейной регрессионной модели составит p×1.

Гребневые оценки параметров линейной регрессионной модели  рассчитываются из следующего выражения:

,

где  - параметр ридж-регрессии, задается как скалярная величина.

При  гребневые оценки параметров линейной регрессионной модели b совпадают с точечными оценками, полученными методом наименьших квадратов. Если величина  увеличивается, то постоянное смещение коэффициентов b увеличивается, а дисперсия оценки уменьшается. Для матрицы независимых переменных Х с низким числом обусловленности уменьшение величины дисперсии оценок коэффициентов происходит быстрее, чем компенсируется величина постоянного смещения.

Примеры использования функции расчета гребневых оценок параметров линейной регрессионной модели

1. Рассматривается линейная регрессионная модель вида , где ,  - параметры линейной регрессионной модели, , ,  - независимые переменные.

1.1. Моделирование вектора значений независимой переменной

>> X1 = unidrnd(10,10,1);

1.2. Моделирование вектора значений зависимой переменной

>> X=[X1 ones(10,1)]

X =

7 1

8 1

10 1

8 1

2 1

5 1

10 1

10 1

5 1

9 1

>> y = X * [1.2; 2.5] + normrnd(0,0.1,10,1)

y =

10.8813

12.1726

14.4412

12.3183

4.8864

8.5114

14.6067

14.5059

8.4904

13.2168

1.3. Расчет гребневых оценок параметров линейной регрессионной модели для коэффициента Ридж-регрессии равного k=[0:0.5:1]

>> k=[0:0.5:1];

>> b1 = ridge(y,X1,k(1))

b1 =

3.3861

>> b2 = ridge(y,X1,k(2))

b2 =

3.2079

>> b3 = ridge(y,X1,k(3))

b3 =

3.0475

2. Зависимость изменения параметров линейной регрессионной модели от величины коэффициента Ридж-регрессии. График строится для каджого из 4-х коэффициентов при независимых переменных, ingredients, в регрессионной модели.

>> load hald;

>> b = zeros(4,100);

>> kvec = 0.01:0.01:1;

>> count = 0;

>> for k = 0.01:0.01:1 count = count + 1; b(:,count) = ridge(heat,ingredients,k); end

>> plot(kvec',b'),xlabel('k'),ylabel('b','FontName','Symbol')

>> grid on

 

 

Наверх

rstool - Интерактивный подбор и визуализация поверхности отклика

Синтаксис

rstool(x,y)

rstool(x,y,'model')

rstool(x,y,'model',alpha,'xname','yname')

 

Описание

rstool(x,y) функция предназначена для расчета параметров и построения графика множественной линейной регрессионной модели для матрицы независимых переменных х и вектора значений зависимой переменной y. На графике регрессионной модели отображаются границы 95% доверительного интервала регрессионной модели. Результаты проведенных расчетов отображаются в графическом окне (рис. 1). Зеленая линия соответствует рассчитанной по регрессионной модели зависимой переменной, красные пунктирные линии - границам доверительного интервала. По столбцам матрицы х задаются значения наблюдений независимых переменных. Строки х соответствуют наблюдениям. Количество строк х и элементов вектора y должно быть равно.

Рис. 1. Графическое окно интерактивного расчета и представления результатов множественной регрессии

Изменяя мышью положение синей пунктирной линии в окнах графиков переменных Х1, Х2, Х3 (рис. 1) или вводя значения независимых переменных в строки ввода под графиками можно рассчитать новые точечные и интервальные оценки зависимой переменной в интерактивном режиме. Результаты расчет будут отображаться в левой части графического окна "Predicted Y1" и автоматически пересчитываться после изменения значения хотя бы одной переменной.

Меню Export (рис. 2) предназначено для экспорта в среду MATLAB: вектора параметров регрессионной модели - Parameters, корня квадратного из средней квадратической ошибки - RMSE, вектора остатков - Residuals, всех перечисленных выше параметров - All.

Рис. 2. Меню Export.

После выбора пункта меню Export будет предложено изменить идентификатор соответствующей переменной в среде MATLAB. При выборе пункта "All" диалог изменения идентификаторов и экспорта переменных в рабочую область MATLAB примет вид (рис. 3)

Рис. 3. Диалог изменения идентификаторов и экспорта переменных при выборе пункта "All" меню Export.

Нажатие кнопки "OK" приведет к экспорту переменных. Аналогичные диалоговые окна будет соответствовать пунктам "RMSE", "Residuals", "Parameters".

В следующем за Export меню можно выбрать вид регрессионной модели (рис. 4). После изменения вида модели будут пересчитаны коэффициенты регрессионной модели и параметры RMSE, Residuals. Автоматически будет перестроены графики регрессионной модели и границ ее доверительных интервалов.

Рис. 4. Меню выбора вида регрессионной модели.

Предусмотрены следующие виды регрессионных моделей:

Таблица 1.

Значение 'model'

Состав эффектов множественной регрессионной модели

'linear'

Линейная модель, включающая линейные эффекты факторов и постоянный член. Принимается по умолчанию.

'interaction'

Линейная модель, включающая линейные эффекты и эффекты взаимодействия факторов, постоянный член.

'quadratic'

Квадратическая модель, включающая квадратические эффекты и эффекты взаимодействия факторов.

'purequadratic'

Квадратическая модель, включающая квадратические и линейные эффекты факторов, постоянный член.

'User Specified'

Модель первоначально определенная пользователем при помощи входного параметра 'model'.

Кнопка Close позволяет закрыть графическое окно интерактивной множественной регрессии (рис. 1).

rstool(x,y,'model') входной параметр 'model' позволяет пользователю задать вид начальной регрессионной модели отображаемой в графическом окне множественной регрессии (рис. 1). Параметр 'model' может принимать следующие значения: 'interaction', 'quadratic', 'purequadratic'. По умолчанию 'model'='linear'. Описание регрессионных моделей приведено в табл. 1.

rstool(x,y,'model',alpha) входной параметр alpha позволяет задать уровень значимости. Доверительная вероятность для границ доверительного интервала определяется как 100(1-alpha)%. Например, при alpha=0.01 доверительная вероятность будет равна 99%.

Если в качестве y задать матрицу, то каждый ее столбец будет трактоваться как отдельная зависимая переменная от всех независимых переменных х (столбцов матрицы х). Задача множественной регрессии будет решаться поочередно сначала для первой зависимой переменной (первого столбца y), затем второй зависимой переменной и т.д. Графическое представление такой задачи будет иметь вид матрицы графиков (рис. 5), где "Predicted Y1" является первым столбцом матрицы y, "Predicted Y2" - вторым столбцом y и т.д. Все графики будут построены в одинаковом масштабе для независимых переменных х. Изменение значения одной из независимых переменных мышью в окне графика или вводом ее значения в соответствующую строку ввода приведет автоматическому пересчету точечных и интервальных оценок всех зависимых переменных. Векторы параметров регрессионных моделей Parameters и остатков Residuals при экспорте будут преобразованы в матрицы с числом столбцов равным количеству регрессионных моделей или зависимых переменных y. Первый столбец Parameters и Residuals будет соответствовать y(:,1) и т.д. Скаляр RMSE будет преобразован в вектор-строку с числом элементов равным size(y,2). При изменении вида регрессионной модели новая модель будет применена ко всем зависимостям, и указанным выше образом, будут пересчитаны экспортируемые параметры.

Рис. 5. Графическое окно интерактивного расчета и представления результатов множественной регрессии для 2 зависимых переменных.

rstool(x,y,'model',alpha,'xname','yname') входные параметры 'xname' и 'yname' позволяют задать метки на графиках для независимых и зависимы переменных. 'xname' задается как вектор строковых переменных. 'yname' определяется как строковая переменная.

Примеры использования функции расчета параметров и графического представления множественной регрессионной модели в интерактивном режиме

1. Рассматривается линейная регрессионная модель вида , где ; ,  - параметры линейной регрессионной модели, , ; - независимые переменные.

1.1. Моделирование матрицы значений независимых переменных

>> X1 = unidrnd(10,10,1);

>> X2 = unidrnd(20,10,1);

>> X=[X1 X2]

X =

2 10

7 18

4 17

6 13

2 17

7 14

4 7

9 6

9 7

6 11

1.2. Моделирование вектора значений зависимой переменной

>> y = X * [1.2; 2.5] + normrnd(0,2,10,1)

y =

28.6465

54.9981

49.1818

37.7158

45.3241

43.8758

20.2845

24.3159

30.4646

34.4370

1.3. Интерактивный множественный регрессионный анализ

>> rstool(X,y)

Экспорт параметров регрессионной модели в среду MATLAB

>> beta

beta =

-2.1124

1.2748

2.6581

>> rmse

rmse =

1.6296

>> residuals

residuals =

1.6277

0.3401

1.0064

-2.3767

-0.3017

-0.1497

-1.3095

-0.9940

2.4965

-0.3392

2. Рассматривается полная квадратическая регрессионная модель вида , где ; , , - параметры линейной регрессионной модели, , , ; - независимые переменные.

2.1. Моделирование матрицы значений независимых переменных

>> X1 = unidrnd(5,10,1);

>> X2 = unidrnd(7,10,1);

>> X=[X1.^2 X2.^2 X1 X2 X1.*X2]

X =

9 4 3 2 6

9 9 3 3 9

9 36 3 6 18

4 25 2 5 10

9 16 3 4 12

4 16 2 4 8

9 36 3 6 18

16 1 4 1 4

9 25 3 5 15

16 1 4 1 4

2.2. Моделирование вектора значений зависимой переменной

>> y = X * [1.2; 2.5; 1.5; -1.3; -0.89] + normrnd(0,2,10,1)

y =

17.6173

27.2029

79.1444

53.9788

38.8951

33.0537

78.8411

24.7024

57.9725

21.5497

2.3. Интерактивный множественный регрессионный анализ

>> rstool([X1 X2],y,'quadratic')

 

Экспорт параметров регрессионной модели в среду MATLAB

>> beta1

beta1 =

-70.1331

38.3488

8.4771

-3.4428

-3.5619

2.1482

>> rmse1

rmse1 =

1.2919

>> residuals1

residuals1 =

-0.1291

0.5671

0.0617

0.0000

-0.9266

0.0000

-0.2415

1.5764

0.6685

-1.5764

3. Рассматривается не полная квадратическая регрессионная модель вида , где ; , , - параметры линейной регрессионной модели, , , ,  - независимые переменные.

3.1. Моделирование матрицы значений независимых переменных

>> X1 = unidrnd(5,10,1);

>> X2 = unidrnd(6,10,1);

>> X=[X1.^2 X2.^2 X1 X2 ]

X =

9 4 3 2

4 16 2 4

25 4 5 2

1 36 1 6

16 25 4 5

25 9 5 3

25 25 5 5

16 4 4 2

9 9 3 3

9 36 3 6

3.2. Моделирование вектора значений зависимой переменной

>> y = X * [1.2; 2.5; 1.5; -1.3] + normrnd(0,2,10,1)

y =

24.3115

43.0633

42.9205

87.5792

81.7790

59.0578

95.7761

31.2317

31.3161

97.3541

3.3. Интерактивный множественный регрессионный анализ. Границы доверительного интревала регрессионной модели расчитываются для доверительной вероятности 99%. Для независимых и зависимой переменных заданы метки.

>> alpha=0.01;

>> xnames=['Xx1'; 'Xx2'];

>> yname='Yy';

>> rstool([X1 X2],y, 'purequadratic', alpha,xnames,yname)

Изменение вида регрессионной модели: неполной квадратической на полную модель. Изменение выполняется при помощи соотвествующего меню.

Экспорт параметров регрессионной модели в среду MATLAB

>> beta2

beta2 =

1.6073

-1.7355

0.1445

1.7017

2.3633

>> rmse2

rmse2 =

2.0957

>> residuals2

residuals2 =

2.8531

-0.2701

-2.2945

0.0611

0.0820

1.8821

0.4991

-0.4032

-2.1030

-0.3067

 

 

Наверх

robustfit - Робастная оценка параметров регрессионной модели

Синтаксис

b = robustfit(X,Y)

[b,stats] = robustfit(X,Y)

[b,stats] = robustfit(X,Y,'wfun',tune,'const')

 

Описание

b = robustfit(X,Y) функция позволяет получить робастные оценки параметров регрессионной модели b для матрицы независимых переменных Х и вектора значений зависимой переменной. Столбцы матрицы Х представляют отдельные независимые переменные, строки - наблюдения. Количество элементов вектора Y и строк матрицы Х должно совпадать. В robustfit реализуется итерационный взвешенный метод наименьших квадратов. Веса на текущей итерации вычисляются при помощи биквадратический функции от вектора остатков, рассчитанных на предыдущей итерации. Использование такого алгоритма позволяет задать меньшие значения весов для наблюдений, имеющих большее отклонение от регрессионной модели по отношению к остальным. Результаты расчета b менее чувствительны к случайным выбросам в выборке, чем при использовании метода наименьших квадратов.

[b,stats] = robustfit(X,Y) функция возвращает вектор точечных оценок коэффициентов регрессионной модели b и структуру stats, содержащую следующие поля:

     stats.ols_s - корень квадратный из средней квадратической ошибки при расчете параметров регрессионной модели методом наименьших квадратов;

     stats.robust_s - робастная оценка стандартной ошибки;

     stats.mad_s - оценка стандартной ошибки на основе абсолютных отклонений остатков относительно их медианы. Эта оценка используется для нормирования вектора остатков в итеративной процедуре расчета коэффициентов регрессионной модели;

     stats.s - окончательная оценка стандартной ошибки. stats.s превышает значение robust_s и рассчитывается как взвешенное среднее от ols_s и robust_s;

     stats.se - стандартная ошибка точечных оценок коэффициентов регрессионной модели;

     stats.t - отношение вектора коэффициентов регрессионной модели b к их стандартным ошибкам stats.se;

     stats.p - уровень значимости для статистики stats.t;

     stats.coeffcorr - оценка коэффициентов корреляции оценок коэффициентов регрессионной модели;

     stats.w - вектор весов при проведении робастной регрессии;

     stats.h - вектор степеней влияния наблюдений на параметры регрессионной модели;

     stats.dfe - число степеней свободы стандартной ошибки;

     stats.R - матрица R из QR разложения матрицы независимых переменных Х.

В процессе робастной регрессии рассчитывается ковариационная матрица коэффициентов уравнения регрессии V. Расчет V выполняется как V=inv(X'*X)*stats.s^2. Стандартные ошибки и коэффициенты корреляции параметров регрессионной модели являются производными от V.

[b,stats] = robustfit(X,Y,'wfun',tune,'const') дополнительные входные аргументы 'wfun', tune, 'const' позволяют задать функцию весов, согласующую постоянную и указать наличие или отсутствие постоянного члена соответственно. Предусмотрены следующие функции весов

Таблица 1

Весовая функция

Вид весовой функции

Согласующая постоянная

'andrews'

w = (abs(r)<pi) .* sin(r) ./ r

1.339

'bisquare'

w = (abs(r)<1) .* (1 - r.^2).^2

4.685

'cauchy'

w = 1 ./ (1 + r.^2)

2.385

'fair'

w = 1 ./ (1 + abs(r))

1.400

'huber'

w = 1 ./ max(1, abs(r))

1.345

'logistic'

w = tanh(r) ./ r

1.205

'talwar'

w = 1 * (abs(r)<1)

2.795

'welsch'

w = exp(-(r.^2))

2.985

Значение величины r входящей в весовую функцию определяется из выражения

r=resid/(tune*s*sqrt(1-h)),

где resid - вектор остатков от предыдущей итерации, tune - согласующая постоянная, h - вектор степеней влияния наблюдений после расчета параметров уравнения регрессии методом наименьших квадратов, s - оценка стандартного отклонения погрешности коэффициента уравнения регрессии:

s = MAD/0.6745.

Величина MAD является медианой абсолютных отклонений остатков относительно их медианы. Постоянная 0,6745 предназначена для получения несмещенной оценки s для нормального распределения. Если в матрице независимых переменных Х задано p столбцов, включая постоянный член, наименьшее p-1 абсолютное отклонение исключается при расчете их медианы.

В дополнении к приведенному выше списку весовых функций, входной параметр 'wfun' может быть равным 'ols', что приведет к использованию обычного, не взвешенного, метода наименьших квадратов.

Входной параметр tune позволяет задать новое значение согласующей постоянной, отличной от приведенных в табл. 1. Уменьшение величины согласующей постоянной приведет к уменьшению веса больших по абсолютной величине остатков и наоборот. Значения согласующих постоянных по умолчанию, приведенных в табл. 1, позволяют получить оценки коэффициентов уравнения регрессии, которые примерно в 95% случаев также эффективны, как и оценки полученные методом наименьших квадратов, при условии, что зависимая переменная распределена по нормальному закону без выбросов.

Входной параметр 'const' позволяет добавить постоянный член в уравнение регрессии, при 'const'='on', и удалить его, если 'const'='off'. Значение по умолчанию 'const'='on'. Если необходимо получить оценку постоянного члена уравнения регрессии, то необходимо указать 'const'='on', а не использовать единичный столбец в матрице Х.

В качестве весовой функции может быть использована функция пользователя. Пользовательская весовая функция может быть задана как inline-функция или m-функция. В этом случае в качестве параметра 'wfun' передается указатель на функцию пользователя, например @myfun. Функция, определяемая пользователем как весовая, должна получить в качестве входного аргумента вектор нормированных остатков, пересчитать его в вектор весов и вернуть последний как выходной параметр.

Примеры использования функции робастной регрессии

1. Сравнение линейных регрессионных моеделй полученных методом наименьших квадратов и робастной регрессии. Рассматривается линейная регрессионная модель вида , где ; - параметры линейной регрессионной модели, ;  - независимая переменная.

1.1. Моделирование вектора значений независимой переменной

>> x = (1:10)';

1.2. Моделирование вектора значений зависимой переменной

>> y = 10 - 2*x + normrnd (0,1,10,1);

1.3. Добавление выброса в вектор значений зависимой переменной

>> y(10) = 0;

1.4. Расчет параметров линейной регрессии методом наименьших квадратов

>> [bls bls_i] = regress(y,[ones(10,1) x])

bls =

7.2481

-1.3208

bls_i =

2.9493 11.5470

-2.0136 -0.6280

1.5. Расчет параметров с помощью робастной линейной регрессии

>> brob = robustfit(x,y)

brob =

9.1114

-1.8238

1.6. Графическе представление полученных регрессионных моделей и экспериментальных точек

>> scatter(x,y)

>> hold on

>> plot(x,bls(1)+bls(2)*x,'g:')

>> plot(x,bls_i(1,1)+bls_i(2,1)*x,'b:')

>> plot(x,bls_i(1,2)+bls_i(2,2)*x,'b:')

>> plot(x,brob(1)+brob(2)*x,'r-')

>> grid on

>> hold off

2. Сравнение линейных регрессионных моеделй полученных методом наименьших квадратов и робастной регрессии. Рассматривается линейная регрессионная модель вида , где ; ,  - параметры линейной регрессионной модели, , ; - независимые переменные.

2.1. Моделирование матрицы значений независимых переменных

>> x1 = unidrnd(10,10,1);

>> x2 = unidrnd(15,10,1);

>> x = [x1 x2];

2.2. Моделирование вектора значений зависимой переменной

>> y = 1.5 - 2*x1 + 3*x2 + normrnd(0,1,10,1);

2.3. Добавление выброса в вектор значений зависимой переменной

>> y(10) = -1;

2.4. Расчет параметров линейной регрессии методом наименьших квадратов

>> [bls bls_i] = regress(y,[ones(10,1) x])

bls =

11.4084

-2.4480

2.0494

bls_i =

-47.2846 70.1014

-6.9295 2.0335

-1.2252 5.3239

2.5. Расчет параметров ,  с помощью робастной линейной регрессии. В качестве дополнительного входного параметра задана функция весов 'andrews'. Функция возвращает вектор коэффициентов робастной регрессии и структуру stats дополнительных результатов расчета.

>> [brob,stats] = robustfit(x,y, 'andrews')

brob =

2.3609

-2.1040

3.0121

stats = 

ols_s: 12.0462

robust_s: 0.9394

mad_s: 1.2615

s: 8.3187

resid: [10x1 double]

rstud: [10x1 double]

se: [3x1 double]

coeffcorr: [3x3 double]

t: [3x1 double]

p: [3x1 double]

w: [10x1 double]

R: [3x3 double]

dfe: 7

h: [10x1 double]

>> stats.resid

ans =

-0.1284

0.0318

-0.8904

1.6972

-0.0974

0.0005

0.5445

-0.8669

-0.1050

-35.0101

>> stats.coeffcorr

ans =

1.0000 -0.8846 -0.9256

-0.8846 1.0000 0.6824

-0.9256 0.6824 1.0000

>> stats.se

ans =

17.1408

1.3088

0.9563

2.6. Графическое представление полученных регрессионных моделей и экспериментальных точек

>> plot3(x1,x2,y,'o')

>> hold on

>> [Xx1 Xx2]=meshgrid([1:0.5:10],[ 1:0.5:15]);

>> z= bls(1) + bls(2).*Xx1 + bls(3).*Xx2;

>> surfc(Xx1,Xx2,z)

>> grid on

>> hold off

>> plot3(x1,x2,y,'o')

>> hold on

>> [Xx1 Xx2]=meshgrid([1:0.5:10],[ 1:0.5:15]);

>> z= brob(1) + brob(2).*Xx1 + brob(3).*Xx2;

>> surf(Xx1,Xx2,z)

>> grid on

>> hold off

3. Сравнение регрессионных моеделй полученных методом наименьших квадратов и робастной регрессии. Рассматривается регрессионная модель вида , где , - параметры линейной регрессионной модели, , ,  - независимые переменные.

3.1. Моделирование матрицы значений независимых переменных

>> x1 = unidrnd(5,10,1);

>> x2 = unidrnd(8,10,1);

>> x = [x1.^2 x2.^2];

3.2. Моделирование вектора значений зависимой переменной

>> y = 0.5+ 0.2*x1 + 0.3*x2 + normrnd(0,0.5,10,1);

3.3. Добавление выброса в вектор значений зависимой переменной

>> y(10) = 0;

3.4. Расчет параметров регрессии методом наименьших квадратов

>> [bls bls_i] = regress(y,[ones(10,1) x])

bls =

0.6668

0.0579

0.0396

bls_i =

-0.8973 2.2309

-0.0443 0.1601

-0.0021 0.0813

3.5. Расчет параметров с помощью робастной линейной регрессии. В качестве дополнительного входного параметра задана функция весов 'fair'. Согласующая постоянная принята равной 1,5. Функция возвращает вектор коэффициентов робастной регрессии и структуру stats дополнительных результатов расчета.

>> tune=1.5;

>> [brob,stats] = robustfit(x,y, 'fair', tune,'on')

brob =

0.7386

0.0506

0.0420

stats = 

ols_s: 1.0284

robust_s: 1.0223

mad_s: 0.9911

s: 1.0252

resid: [10x1 double]

rstud: [10x1 double]

se: [3x1 double]

coeffcorr: [3x3 double]

t: [3x1 double]

p: [3x1 double]

w: [10x1 double]

R: [3x3 double]

dfe: 7

h: [10x1 double]

>> stats.resid

ans =

0.3160

-0.4220

0.3814

0.4329

0.0925

0.9156

0.5785

-0.5956

-0.3295

-2.3021

>> stats.coeffcorr

ans =

1.0000 -0.5399 -0.7888

-0.5399 1.0000 0.2292

-0.7888 0.2292 1.0000

>> stats.se

ans =

0.6594

0.0431

0.0176

3.6. Графическое представление полученных регрессионных моделей и экспериментальных точек

>> plot3(x1,x2,y,'o')

>> hold on

>> [Xx1 Xx2]=meshgrid([1:0.2:5],[ 1:0.2:8]);

>> z= bls(1) + bls(2).*Xx1.^2 + bls(3).*Xx2.^2;

>> surf(Xx1,Xx2,z)

>> grid on

>> hold off

>> plot3(x1,x2,y,'o')

>> hold on

>> [Xx1 Xx2]=meshgrid([1:0.2:5],[ 1:0.2:8]);

>> z= brob(1) + brob(2).*Xx1.^2 + brob(3).*Xx2.^2;

>> surf(Xx1,Xx2,z)

>> grid on

>> hold off

 

 

Наверх

stepwise - Пошаговая регрессия (графический интерфейс пользователя)

Синтаксис

stepwise(X,y)

stepwise(X,y,inmodel)

stepwise(X,y,inmodel,alpha)

 

Описание

stepwise(X,y) функция позволяет получить в интерактивном режиме регрессионную модель для зависимой переменной y от независимых переменных – столбцов матрицы X. Зависимая перемнная y задается как вектор. Число элементов вектора y должно быть равно количеству строк в матрице Х. Функция отображает три графических окна для управления процессом пошаговой регрессии (рис. 1, 3, 4). Элементы управления в графических окнах предназначены для удаления и добавления факторов, а также отображения статитстик, характеризующих текущую регрессионную модель.

Рис. 1.

График значений коэффициентов регрессии и их 95% доверительных интервалов (рис. 1) позволяет включать или удалять факторы из регрессионной модели в интреактивном режиме. Значения коэффициентов регрессии и границ их доверительных интервалов, включенные в модель, отображаются зеленым цветом. Коэффициенты регрессии, исключенные из регрессисоной модели, выделяются красным цветом. Включение или исключение фактора из регрессионной модели выполняется щелчком левой кнопки мыши на соотвествующей линии графика. Границы доверительных интервалов коэффициентов регрессии, значимо отличающихся от нуля, отображаются сплошными линиями. Границы доверительных интервалов коэффициентов, статистически не значимо отличающихся от нуля, отображаются штриховыми линиями, пересекающими вертикальную нулевую линию. Значение коэффициента, не включенного в модель, рассчитывается из предположения о его включении в состав текущей регрессионной зависимости.

Кпопка Scale Inputs служит для нормализации центрированных значений элементов столбцов матрицы независимых переменных Х на величину их среднего квадратического отклонения.

Кнопка Close позволяет закрыть графические окна (рис. 1, 3, 4).

Меню Export (рис. 2) используется для экспорта результатов пошаговой регрессии на текущем шаге в рабочую область MATLAB.

.

Рис. 2.

Назначение пунктов меню Export:

  • Parameters - экспорт вектора коэффициентов регрессии;

  • Confidence Intervals - экспорт матрицы значений границ доверительных интервалов коэффициентов регрессии;

  • Terms In - экспорт вектора номеров независимых переменных, включенных в регрессионную модель;

  • Terms Out - экспорт вектора номеров независимых переменных, исключенных из регрессионной модели;

  • All - экспорт всех указанных выше параметров.

После выбора какого либо пункта меню Export будет отображено диалоговое окно, предназначенное для изменения инетификаторов экспортируемых переменных заданных по умолчанию. При выборе пукнта All будут приведены следующие идентификаторы экспортируемых переменных:

После нажатия кнопки "OK" переменные с заданными идентификаторами будут экспортированы в среду MATLAB.

Таблица с параметрами пошаговой регрессии (рис. 3) содержит в числовой форме информацию, приведенную на графике значений коэффициентов (рис. 1). Таблица содержит следующие столбцы: Colomn# - номер столбца матрицы независимых переменных, Parameter - значение коэффициента регрессии, Lower Confedence Intervals, Upper Confedence Intervals - нижняя и верхняя границы доверительного интервала коэффициента регрессионной модели. Кроме таблицы с параметрами регрессионной модели в графическом окне (рис. 2) приведены: RMSE - корень квадратный из средней квадратической ошибки, R-square - коэффициент детерминации, показывающий какая часть общей дисперсии может быть объяснена регрессионной моделью, F - статистика Фишера соотвествующая регрессионной модели, Р - уровень значимости статистики F.

Рис. 3.

Строки таблицы параметров регрессии (рис. 3), выделенные зеленым цветом, соотвествуют факторам включенным в модель. Факторы выделенные красным цветом исключены из регрессионной модели. Для включения или исключения факторов из регрессионной модели используется таже техника, что и в графическом окне приведенном на рис. 1.

Кнопка Close позволяет закрыть графические окна (рис. 1, 3, 4).

В графическом окне решений (рис. 4) отображается зависимость значений кореней квадратных из средней квадратической ошибки регрессионных моделей и границ доверительных интервалов RMSE от номера шага. Каждое включение или удаление фактора в регрессионную модель в графических окнах рис. 1, 3, приведет к добавлению соотвествующего графика в окне рис. 4. Возврат к предыдущей модели выполняется щелчком левой кнопки мыши по соотвествующему значению RMSE в графическом окне решений (рис. 4). Соотвествующие выделенной RMSE параметры регрессионной модели отображаются в новых графических окнах, аналогичных приведенным на рис. 1, 3.

Рис. 4.

stepwise(X,y,inmodel) входной аргумент inmodel позволяет управлять начальным множеством факторов, включенным в регрессионную модель. Элементы вектора inmodel являются номерами факторов, т.е. номерами столбцов матрицы Х.

stepwise(X,y,inmodel,alpha) входной аргумент alpha задает уровень значимости для расчетаграниц доверительного интервала коэффициентов регрессионной модели. alpha служит для проверки гипотезы о статистической значимости каждого фактора в регрессионной модели. По умолчанию, , где p - количество столбцов матрицы Х. Это значение alpha соответствует 95% доверительной вероятности. Доверительный интервал рассчитывается для регрессионной модели по всему диапазону изменения значений независимых переменных (используется метод Бонферони).

Примеры использования функции интерактивной пошаговой регрессии

1. Рассматривается регрессионная модель вида , где ; ,  - параметры линейной регрессионной модели, , ; ,  - независимые переменные.

1.1. Моделирование матрицы значений независимых переменных

>> x1 = unidrnd(10,10,1);

>> x2 = unidrnd(15,10,1);

>> x3 = unidrnd(8,10,1);

>> x = [x1 x2 x3];

1.2. Моделирование вектора значений зависимой переменной

>> y = -0.2*x1 + 0.3*x2 - 0.5*x3 + normrnd(0,0.5,10,1);

1.3. Интерактивный пошаговый регрессионный анализ

>> stepwise(x,y)

Как следует из приведенных выше графиков все коэффициенты значимы. При последовательном исключении каждого из факторов будет получен следующий график значений RMSE.

Т.е., регрессионная модель включающая все факторы будет обладать существенно меньшей погрешностью.

Экспорт параметров последней регрессионной модели:

>> beta

beta =

-0.2698

0.3025

-0.6286

>> betaci

betaci =

-0.4933 -0.0464

0.1370 0.4681

-0.8971 -0.3602

>> in

in =

1

2

3

>> out

out =

Empty matrix: 1-by-0

2. Рассматривается регрессионная модель вида , где ; , ,  - параметры линейной регрессионной модели, , , ; , …,  - независимые переменные.

2.1. Моделирование матрицы значений независимых переменных

>> x1 = unidrnd(10,10,1);

>> x2 = unidrnd(15,10,1);

>> x3 = unidrnd(8,10,1);

>> x4 = normrnd(0,8,10,1);

>> x5 = weibrnd(1,2,10,1);

>> x = [x1 x2 x3 x4 x5];

2.2. Моделирование вектора значений зависимой переменной

>> y = -0.2*x1 + 0.3*x2 - 0.5*x3 + 0.01*x4 + 0.001*x5 + normrnd(0,0.5,10,1);

2.3. Интерактивный пошаговый регрессионный анализ

>> stepwise(x,y)

Исключая последовательно 4 и 5 факторы получим следующие параметры модели:

Последний результат можно получить используя команду

>> stepwise(X,y,[1 2 3])

3. Рассматривается регрессионная модель вида , где ; , - параметры линейной регрессионной модели, , ; , …,  - независимые переменные.

3.1. Моделирование матрицы значений независимых переменных

>> x1 = unidrnd(10,10,1);

>> x2 = unidrnd(15,10,1);

>> x3 = unidrnd(8,10,1);

>> x4 = normrnd(0,8,10,1);

>> x = [x1 x2 x3 x4];

3.2. Моделирование вектора значений зависимой переменной

>> y = -0.2*x1 + 0.3*x2 - 0.5*x3 + 0.01*x4 + normrnd(0,0.5,10,1);

3.3. Интерактивный пошаговый регрессионный анализ. При вызове функции stepwise исключается 3 фактор и границы доверительных интервалов рассчитываются для доверительной вероятности 99%.

>> alpha=0.01;

>> inmodel=[1 2 4];

>> stepwise(x,y,inmodel,alpha)

После включения 1, 2, 3 и исключения 4-го факторов будут получены следующие значения RMSE

Как следует из приведенной выше графической зависимоси RMSE, включение 4-го фактора не приводит к существенному снижению погрешности модели.

 

 

Наверх

nlinfit - Нелинейный метод наименьших квадратов (метод Гаусса-Ньютона)

Синтаксис

beta = nlinfit(x,y,FUN,beta0)

[beta,r,J] = nlinfit(X,y,FUN,beta0)

 

Описание

beta = nlinfit(x,y,FUN,beta0) функция служит для расчета точечных оценок коэффициентов произвольной нелинейной регрессионной модели методом наименьших квадратов. y – вектор значений зависимой переменой, x – матрица значений независимых переменных, beta0 – вектор начальных значений искомых коэффициентов регрессионной модели, FUN – указатель на функцию, реализующую регрессионную модель. Значения независимых переменных определяются столбцами матрицы х. Количество строк матрицы x должно быть равно числу элементов вектора y. Уравнение регрессии задается как функция в следующем виде:

yhat = FUN (beta,X),

 

где beta – вектор коэффициентов регрессионной модели, Х –матрица независимых переменных, yhat – вектор или матрица значений зависимой переменной.

Вектор начальных значений коэффициентов регрессионной модели beta0 может быть задан произвольным массивом. Основное требование - форма представления beta0 должна совпадать со спецификацией входного аргумента beta функции FUN.

 

[beta,r,J] = nlinfit(X,y,FUN,beta0) функция возвращает точечные оценки коэффициентов регрессионной модели beta, r – вектор остатков, J – матрица Якоби. Параметры beta, r, J используются как входные аргументы функций nlpredci и nlparci для расчета доверительных интервалов регрессионной модели и доверительных интервалов коэффициентов модели соответственно.

Примеры использования функции nlinfit

1. Расчет параметров полной квадратической регрессионной модели вида:

,

где , ,  - параметры регрессионной модели;  - зависимая переменная; - независимые переменные.

1.1. Создается m-файл функции (polynom.m) реализующий квадратическую регрессионную модель

function yhat = polynom (beta,x)

% разделение вектора коэффициентов beta по отдельным переменным , ,

A = beta(1);

B = beta(2);

C = beta(3);

D = beta(4);

E = beta(5);

% разделение матрицы независимых переменных х по отдельным векторам х1, х2,

x1 = x(:,1);

x2 = x(:,2);

% выражение для регрессионной модели

yhat = A.* x1.^2+B.* x2.^2+C.* x1+D.* x2+E;

1.2. Моделирование экспериментальных данных

>> A=1;

>> B=-2;

>> C=-1.5;

>> D=2.6;

>> E=2;

>> X1=[1 1 10 10 1 5.5 10 5.5 5.5];

>> X2=[2 20 20 2 11 20 11 2 11 ];

>> Y = A.* X1.^2+B.*X2.^2+C.*X1+D.*X2+E;

>> XX1=normrnd(0,1,length(X1),1);

>> XX2=unifrnd(-0.1,0.1, length(X2),1);

>> YY=normrnd(0,2, length(Y),1);

>> X1= X1+ XX1';

>> X2= X2+ XX2';

>> Y= Y+ YY';

1.3. Начальные значения коэффициентов

>> beta0=[0.1 1 0 1 1];

1.4. Расчет точечных оценок коэффициентов , ,

>> [beta,r,J] = nlinfit([X1' X2'],Y',@polynom,beta0)

beta =

1.0542

-2.0108

-1.2157

2.1291

5.8495

r =

-4.4656

6.6490

-3.7031

14.6121

2.7691

-2.8327

-3.1220

-10.0119

0.1056

J =

0.4430 4.3682 -0.6656 2.0900 1.0000

1.2664 397.8520 1.1253 19.9462 1.0000

105.8363 400.8552 10.2877 20.0214 1.0000

78.3850 3.9888 8.8535 1.9972 1.0000

4.8001 122.7278 2.1909 11.0783 1.0000

44.7449 402.0995 6.6892 20.0524 1.0000

99.2488 120.8085 9.9624 10.9913 1.0000

33.9573 3.6241 5.8273 1.9037 1.0000

32.2015 122.4183 5.6746 11.0643 1.0000

1.5. Графическое представление полученной зависимости

>> [Xx1 Xx2]=meshgrid([1:0.5:10],[2:0.5:20]);

>> z= beta(1).*Xx1.^2+ beta(2).*Xx2.^2+ beta(3).*Xx1+ beta(4).*Xx2+ beta(5);

>> plot3(X1,X2,Y,'o',1X,2X,z)

>> grid on

2. Расчет коэффициентов нелинейной регрессионной модели Хогена-Ватсона для описания кинетики химической реакции. Модель Хогена-Ватсона имеет вид

,

где  - зависимая переменная, характеризующая скорость прохождения химической реакции; , , - параметры регрессионной модели; ,  - независимые переменные.

2.1. Создается m-файл функции (hougen.m) реализующий регрессионную модель Хогена-Ватсона

function yhat = hougen(beta,x)

% разделение вектора коэффициентов beta по отдельным переменным b1, b2, b3, b4, b5

b1 = beta(1);

b2 = beta(2);

b3 = beta(3);

b4 = beta(4);

b5 = beta(5);

% разделение матрицы независимых переменных х по отдельным векторам х1, х2,

% х3 соответствующим 3-м независимым переменным

x1 = x(:,1);

x2 = x(:,2);

x3 = x(:,3);

% выражение для функции Хогена

yhat = (b1*x2 - x3/b5)./(1+b2*x1+b3*x2+b4*x3);

2.2. Создается вектор начальных значений коэффициентов регрессионной модели

>> beta=[1 2 1 2 1];

2.3. Загрузка матицы независимых и вектора значений зависимой переменных

>> load reaction

2.4. Вызов функции nlinfit и расчет коэффициентов регрессионной модели Хогена-Ватсона

>> betafit = nlinfit(reactants,rate,@hougen,beta)

betafit =

1.2526

0.0628

0.0400

0.1124

1.1914

2.5. Расчет коэффициентов регрессионной модели Хогена, вектора остатков и матрицы Якоби

>> [beta,r,J] = nlinfit(reactants,rate,@hougen,beta)

beta =

1.2526

0.0628

0.0400

0.1124

1.1914

r =

0.1321

-0.1642

-0.0909

0.0310

0.1142

0.0498

-0.0262

0.3115

-0.0292

0.1096

0.0716

-0.1501

-0.3026

J =

6.8739 -90.6536 -57.8640 -1.9288 0.1614

3.4454 -48.5357 -13.6240 -1.7030 0.3034

5.3563 -41.2099 -26.3042 -10.5217 1.5095

1.6950 0.1091 0.0186 0.0279 1.7913

2.2967 -35.5658 -6.0537 -0.7567 0.2023

11.8670 -89.5655 -170.1745 -8.9566 0.4400

4.4973 -14.4262 -11.5409 -9.3770 2.5744

4.1831 -41.7896 -16.8937 -5.7794 1.0082

11.8286 -51.3721 -154.1164 -27.7410 1.5001

9.1514 -25.5948 -76.7844 -30.7138 2.5790

3.3373 0.0900 0.0720 0.1080 3.5269

9.3663 -102.0611 -107.4327 -3.5811 0.2200

4.7512 -24.4631 -16.3087 -10.3002 2.1141

 

 

Наверх

nnls - Решение системы линейных уравнений методом наименьших квадратов для неотрицательных значений аргумента

Синтаксис

x = nnls(A,b)

x = nnls(A,b,tol)

[x,w] = nnls(A,b)

[x,w] = nnls(A,b,tol)

 

Описание

x = nnls(A,b) функция предназначена для решения системы уравнений  по методу наименьших квадратов при условии, что вектор решений x должен содержать неотрицательные элементы; , i=1..n. Вектор аргументов (решений) x минимизирует норму  для .

x = nnls(A,b,tol) функция предназначена для решения системы уравнений  по методу наименьших квадратов при условии, что вектор решений x должен содержать неотрицательные элементы с заданной точностью tol. По умолчанию значение tol рассчитывается как max(size(A))*norm(A,1)*eps.

[x,w] = nnls(A,b) функция возвращает вектор индикаторов w, элементы которого принимают значения  если , и  при .

[x,w] = nnls(A,b,tol) функция предназначена для решения системы уравнений  по методу наименьших квадратов при условии, что вектор решений x должен содержать неотрицательные элементы с заданной точностью tol и возвращает вектор индикаторов w.

Примечание: Функция nnls была заменена на функцию lsqnonneg в MATLAB 5.3. В MATLAB 6.0-6.5R1 nnls выдает предупреждение и вызывает функцию lsqnonneg.

Примеры использования функции nnls

Сравнение решения системы уравнений методом наименьших квадратов (МНК) - C\d' и МНК с ограничением на неотрицательные значения решений - lsqnonneg(C,d').

>> C=[0.0372 0.2869; 0.6861 0.7071; 0.6233 0.6245; 0.6344 0.6170]

C =

0.0372 0.2869

0.6861 0.7071

0.6233 0.6245

0.6344 0.6170

>> d=[0.8587 0.1781 0.0747 0.8405]

d =

0.8587 0.1781 0.0747 0.8405

>> [C\d' lsqnonneg(C,d')]

ans =

-2.5627 0

3.1108 0.6929

>> [norm(C*(C\d')-d') norm(C*lsqnonneg(C,d')-d')]

ans =

0.6674 0.9118

Из анализа предыдущего выражения следует, что величина остатка для lsqnonneg(C,d') больше, чем для МНК без ограничений. Однако основным преимуществом последнего является отсутствие отрицательных значений в решении.

 

 

Наверх

nlintool - График прогнозируемых значений

Синтаксис

nlintool(x,y,FUN,beta0,alpha)

nlintool(x,y,FUN,beta0,alpha,'xname','yname')

 

Описание

nlintool(x,y,FUN,beta0) функция позволяет получить интерактивный график нелинейной регрессионной модели, определяемой функцией FUN, границ ее 95% доверительного интервала для матрицы независимых переменных x и вектора зависимой переменной y. Количество строк матрицы x должно быть равно числу элементов вектора y. Входной аргумент beta0 является вектором начальных значений коэффициентов нелинейной модели FUN. Уравнение регрессии задается как функция в следующем виде:

yhat = FUN (beta,X),

где beta - вектор коэффициентов функции, Х - матрица независимых переменных, yhat - вектор или матрица выходных значений.

Вектор начальных значений коэффициентов регрессионной модели beta0 может быть задан в произвольной форме. Основное требование - форма представления beta0 должна совпадать со спецификацией входного аргумента beta функции FUN.

nlintool явным образом вызывает nlinfit. Поэтому формат входных параметров x, y, FUN, beta0 этих функций должен совпадать. Подробно определение параметров x, y, FUN, beta0 см. в описании nlinfit.

Результатом работы функции nlintool является интерактивный график (рис. 1).

Рис. 1. Графическое окно интерактивного нелинейного регрессионного анализа

nlintool отображает "вектор" графиков, каждый из которых соответствует столбцу матрицы независимых переменных. Штриховые линии на графиках служат для задания текущих значений независимых переменных и расчета по ним зависимой переменной. Щелчком левой кнопки мыши можно изменить положение штриховой линии на соответствующем графике и изменить значение соответствующей независимой переменной. Значение переменной отклика будет пересчитано при интерактивном изменении хотя бы одной независимой переменной регрессионной модели в графическом окне. Также величина независимой переменной может быть изменена вводом числа в строку ввода под графиком соответствующей независимой переменной. Рассчитанное значение независимой переменной и границ ее доверительных интервалов приводится в левой части интерактивного графика.

Кнопка Export графического окна используется для экспорта рассчитанных переменных в рабочую область MATLAB. При выборе кнопки Export в среду MATLAB будут экспортированы следующие переменные (рис. 2):

1. вектор точечных оценок коэффициентов регрессионной модели - Parameters;

2. матрица интервальных оценок коэффициентов регрессионной модели - Parameters CI;

3. точечная оценка зависимой переменной - Prediction;

4. вектор интервальных оценок зависимой переменной - Prediction;

5. значение корня квадратного из средней квадратической ошибки регрессионной модели - RMSE;

6. вектор остатков - Residuals.

Рис. 2. Диалоговое окно экспорта результатов интерактивного графического анализа.

В диалоговом окне (рис. 2) в строках ввода приведены идентификаторы переменных по умолчанию. Идентификаторы перечисленных выше переменных могут быть изменены пользователем.

Кнопка Close служит для закрытия графического окна (рис. 1).

Меню Bounds (рис. 3) позволяет задать способ расчета доверительных интервалов. Пункты Simultaneous и Non-Simultaneous определяют, каким образом по отношению к независимым переменным будут рассчитываться границы доверительного интервала: Simultaneous - в диапазоне изменения независимых переменных х; Non-Simultaneous - по выборочным значениям х(j,:). Пункты: Curve задает расчет значений доверительного интервала по регрессионной модели, Observation - по выборочным значениям y. Пункт None служит для отмены расчета границ доверительного интервала зависимой переменной и их отображения на графиках (рис. 1).

Рис. 3. Состав меню Bounds.

nlintool,beta0,alpha) входной аргумент alpha определяет значение уровня значимости. Доверительная вероятность определяется как 100(1-alpha)%. По умолчанию alpha принимается равным 0,05. 

nlintool(x,y,FUN,beta0,alpha,'xname','yname') входные аргументы 'xname' и 'yname' определяют названия независимых переменных, столбцов матрицы х, и зависимой переменной y. 'yname' задается как строка, 'xname' - как вектор строк. Названия независимых и зависимой переменных отображаются в графическом окне (рис. 1).

Примеры использования функции nlintool

Расчет коэффициентов нелинейной регрессионной модели Хогена-Ватсона для описания кинетики химической реакции. Модель Хогена-Ватсона имеет вид

,

где  - зависимая переменная, характеризующая скорость прохождения химической реакции; , , - параметры регрессионной модели; ,  - независимые переменные.

1. Создается m-файл функции (hougen.m) реализующий регрессионную модель Хогена-Ватсона

function yhat = hougen(beta,x)

% разделение вектора коэффициентов beta по отдельным переменным b1, b2, b3, b4, b5

b1 = beta(1);

b2 = beta(2);

b3 = beta(3);

b4 = beta(4);

b5 = beta(5);

% разделение матрицы независимых переменных х по отдельным векторам х1, х2,

% х3 соответствующим 3-м независимым переменным

x1 = x(:,1);

x2 = x(:,2);

x3 = x(:,3);

% выражение для функции Хогена

yhat = (b1*x2 - x3/b5)./(1+b2*x1+b3*x2+b4*x3);

2. Задается вектор начальных значений коэффициентов регрессионной модели

>> beta=[1 2 1 2 1];

3. Загрузка матицы независимых и вектора значений зависимой переменных

>> load reaction

4. Вызов функции интерактивного нелинейного регрессионного анализа nlintool Границы доверительного интервала рассчитываются для 95% доверительной вероятности.

>> nlintool(reactants,rate,@hougen,beta)

5. Экспорт параметров модели Хогена. Идентификаторы переменных приведены на следующем рисунке.

>> beta

beta =

1.2526

0.0628

0.0400

0.1124

1.1914

>> betaci

betaci =

-0.7467 3.2519

-0.0377 0.1632

-0.0312 0.1113

-0.0609 0.2857

-0.7381 3.1208

>> residuals

residuals =

0.1321

-0.1642

-0.0909

0.0310

0.1142

0.0498

-0.0262

0.3115

-0.0292

0.1096

0.0716

-0.1501

-0.3026

>> rmse

rmse =

0.1933

>> ypred

ypred =

5.4622

>> ypredci

ypredci =

5.1045 5.8199

5. Интерактивный нелинейный регрессионный анализ nlintool Границы доверительного интервала рассчитываются для 99% доверительной вероятности. Для зависимой и независимых переменных заданы метки.

>> alpha=0.01;

>> yname=['Reaction Rate'];

>> xnames=['Hydrogen '; 'n-Pentane '; 'Isopentane'];

>> nlintool(reactants,rate,@hougen,beta,alpha,xnames, yname)

Границы доверительного интервала зависимой переменной пересчитаны по выборочным значениям независимых переменных - Non-Simultaneous и по выборочным значениям зависимой переменной - Observation:

Графическое представление для установленных выше параметров расчета границ доверительного интервала приведено на следующем рисунке

 

 

Наверх

nlparci - Вектор доверительных интервалов для параметров модели

Синтаксис

ci = nlparci(beta,r,J)

 

Описание

ci = nlparci(beta,r,J) функция предназначена для расчета 95% границ доверительного интервала ci коэффициентов нелинейного уравнения регрессии beta для вектора остатков r и матрицы Якоби J. Вектор коэффициентов beta рассчитывается по методу наименьших квадратов. Входные аргументы beta, r, J могут быть рассчитаны с помощью функции nlinfit.

Границы 95% доверительных интервалов коэффициентов регрессионной модели будут представлены в виде матрицы ci. Размерность ci - m×2, где m - число строк. Количество строк ci будет равно числу коэффициентов регрессионной модели beta. В первом столбце ci приводятся нижние границы доверительных интервалов, во втором - верхние границы.

Примеры использования функции nlparci

1. Расчет параметров квадратической регрессионной модели вида:

,

где , , - параметры регрессионной модели;  - зависимая переменная; ,  - независимые переменные.

1.1. Создается m-файл функции (polynom.m) реализующий полную квадратическую регрессионную модель

function yhat = polynom (beta,x)

% разделение вектора коэффициентов beta по отдельным переменным , ,

A = beta(1);

B = beta(2);

C = beta(3);

D = beta(4);

E = beta(5);

% разделение матрицы независимых переменных х по отдельным векторам х1, х2,

x1 = x(:,1);

x2 = x(:,2);

% выражение для регрессионной модели

yhat = A.* x1.^2+B.* x2.^2+C.* x1+D.* x2+E;

1.2. Моделирование экспериментальных данных

>> A=1;

>> B=-2;

>> C=-1.5;

>> D=2.6;

>> E=2;

>> X1=[1 1 10 10 1 5.5 10 5.5 5.5];

>> X2=[2 20 20 2 11 20 11 2 11 ];

>> Y = A.* X1.^2+B.*X2.^2+C.*X1+D.*X2+E;

>> YY=normrnd(0,2, length(Y),1);

>> Y= Y+ YY';

1.3. Начальные значения коэффициентов

>> beta0=[0.1 1 0 1 1];

1.4. Расчет точечных оценок коэффициентов , ,

>> [beta,r,J] = nlinfit([X1' X2'],Y',@polynom,beta0)

beta =

0.8450

-2.0084

0.0928

2.8463

-0.8191

r =

0.7311

-1.8486

1.4182

-0.7367

1.1175

0.4304

-0.6815

0.0056

-0.4360

J =

1.0000 4.0000 1.0000 2.0000 1.0000

1.0000 400.0000 0.9999 20.0000 1.0000

100.0000 400.0000 10.0000 20.0000 1.0000

100.0000 4.0000 10.0000 2.0000 1.0000

1.0000 121.0000 1.0000 11.0000 1.0000

30.2500 400.0000 5.5000 20.0000 1.0000

100.0000 121.0000 10.0000 11.0000 1.0000

30.2500 4.0000 5.5000 2.0000 1.0000

30.2500 121.0000 5.5000 11.0000 1.0000

1.5. Расчет границ 95% доверительного интервала коэффициентов квадратической регрессионной модели

>> ci = nlparci(beta,r,J)

ci =

0.7029 0.9871

-2.0439 -1.9729

-1.5134 1.6990

2.0432 3.6494

-5.4472 3.8090

1.6. Графическое представление полученной зависимости

>> [Xx1 Xx2]=meshgrid([1:0.5:10],[2:0.5:20]);

>> z= beta(1).*Xx1.^2+ beta(2).*Xx2.^2+ beta(3).*Xx1+ beta(4).*Xx2+ beta(5);

>> zn= ci(1,1).*Xx1.^2+ ci(2,1).*Xx2.^2+ ci(3,1).*Xx1+ ci(4,1).*Xx2+ ci(5,1);

>> zv= ci(1,2).*Xx1.^2+ ci(2,2).*Xx2.^2+ ci(3,2).*Xx1+ ci(4,2).*Xx2+ ci(5,2);

>> plot3(X1,X2,Y,'o',Xx1,Xx2,z)

>> grid on

>> plot3(X1,X2,Y,'o',Xx1,Xx2,zn)

>> grid on

>> plot3(X1,X2,Y,'o',Xx1,Xx2,zv)

>> grid on

2. Расчет коэффициентов нелинейной регрессионной модели Хогена-Ватсона и границ их доверительных интервалов для описания кинетики химической реакции. Модель Хогена-Ватсона имеет вид

,

где  - зависимая переменная, характеризующая скорость прохождения химической реакции; , ,  - параметры регрессионной модели; , - независимые переменные.

2.1. Создается m-файл функции (hougen.m) реализующий регрессионную модель Хогена-Ватсона

function yhat = hougen(beta,x)

% разделение вектора коэффициентов beta по отдельным переменным b1, b2, b3, b4, b5

b1 = beta(1);

b2 = beta(2);

b3 = beta(3);

b4 = beta(4);

b5 = beta(5);

% разделение матрицы независимых переменных х по отдельным векторам х1, х2,

% х3 соответствующим 3-м независимым переменным

x1 = x(:,1);

x2 = x(:,2);

x3 = x(:,3);

% выражение для функции Хогена

yhat = (b1*x2 - x3/b5)./(1+b2*x1+b3*x2+b4*x3);

2.2. Создается вектор начальных значений коэффициентов регрессионной модели

>> beta=[1 2 1 2 1];

2.3. Загрузка матицы независимых и вектора значений зависимой переменных

>> load reaction

2.4. Расчет коэффициентов регрессионной модели Хогена, вектора остатков и матрицы Якоби

>> [beta,r,J] = nlinfit(reactants,rate,@hougen,beta)

beta =

1.2526

0.0628

0.0400

0.1124

1.1914

r =

0.1321

-0.1642

-0.0909

0.0310

0.1142

0.0498

-0.0262

0.3115

-0.0292

0.1096

0.0716

-0.1501

-0.3026

J =

6.8739 -90.6536 -57.8640 -1.9288 0.1614

3.4454 -48.5357 -13.6240 -1.7030 0.3034

5.3563 -41.2099 -26.3042 -10.5217 1.5095

1.6950 0.1091 0.0186 0.0279 1.7913

2.2967 -35.5658 -6.0537 -0.7567 0.2023

11.8670 -89.5655 -170.1745 -8.9566 0.4400

4.4973 -14.4262 -11.5409 -9.3770 2.5744

4.1831 -41.7896 -16.8937 -5.7794 1.0082

11.8286 -51.3721 -154.1164 -27.7410 1.5001

9.1514 -25.5948 -76.7844 -30.7138 2.5790

3.3373 0.0900 0.0720 0.1080 3.5269

9.3663 -102.0611 -107.4327 -3.5811 0.2200

4.7512 -24.4631 -16.3087 -10.3002 2.1141

2.5. Расчет границ 95% доверительного интервала коэффициентов регрессионной модели Хогена

>> ci = nlparci(beta,r,J)

ci =

-0.7467 3.2519

-0.0377 0.1632

-0.0312 0.1113

-0.0609 0.2857

-0.7381 3.1208

 

 

Наверх

nlpredci - Прогнозируемые значения и их доверительные интервалы

Синтаксис

ypred = nlpredci(FUN,inputs,beta,r,J)

[ypred,delta] = nlpredci(FUN,inputs,beta,r,J)

ypred = nlpredci(FUN,inputs,beta,r,J,alpha,'simopt','predopt')

 

Описание

ypred = nlpredci(FUN,inputs,beta,r,J) функция возвращает вектор значений зависимой переменной ypred регрессионной модели FUN рассчитанные по матрице независимых переменных inputs, коэффициентам регрессионной модели beta, вектору остатков r и матрице Якоби J. Значения независимых переменных расположены по столбцам матрицы inputs. Количество строк матрицы inputs и число элементов вектора y будет одинаковым.

Уравнение регрессии задается как m-функция в следующем виде:

yhat = FUN (beta0,X),

где beta0 - вектор коэффициентов функции, Х -матрица независимых переменных, yhat - вектор или матрица выходных значений.

Вектор значений коэффициентов регрессионной модели beta функции nlpredci может быть задан в произвольной форме. Основное требование - форма представления beta должна совпадать со спецификацией входного аргумента beta0 функции FUN.

[ypred,delta] = nlpredci(FUN,inputs,beta,r,J) функция возвращает векторы значений ypred и ½ доверительного интервала delta зависимой переменной. Доверительный интервал рассчитывается для 95% доверительной вероятности. Доверительный интервал определяется как [ypred-delta, ypred+delta] и рассчитывается в точках inputs(j,:) независимой переменной по полученному равнению регрессии.

ypred = nlpredci(FUN,inputs,beta,r,J,alpha,'simopt','predopt') дополнительные входные параметры alpha, 'simopt', 'predopt' позволяют управлять видом рассчитываемого доверительного интервала. alpha - уровень значимости доверительного интервала. Доверительная вероятность определяется как 100(1-alpha)%. 'simopt' определяет каким образом, по отношению к независимым переменным, будут рассчитываться границы доверительного интервала: 'on' - в диапазоне изменения независимых переменных inputs; 'off' - в выборочных значениях inputs(j,:). Значение по умолчанию 'simopt'='off'. Входной аргумент 'predopt' - позволяет задать: 'curve' - расчет значений доверительного интервала по регрессионной модели; 'observation' - расчет значений доверительного интервала по выборочным значениям. Значение по умолчанию 'predopt'='curve'.

Входные параметры beta, r, J могут быть рассчитаны с использованием функции nlinfit. Формат задания функции FUN см. в описании nlinfit.

Примеры использования функции nlpredci

1. Расчет значений зависимой переменной и границ доверительных интервалов полной квадратической регрессионной модели вида:

,

где , ,  - параметры регрессионной модели;  - зависимая переменная; - независимые переменные.

1.1. Создается m-файл функции (polynom.m) реализующий полную квадратическую регрессионную модель

function yhat = polynom (beta,x)

% разделение вектора коэффициентов beta по отдельным переменным , ,

A = beta(1);

B = beta(2);

C = beta(3);

D = beta(4);

E = beta(5);

% разделение матрицы независимых переменных х по отдельным векторам х1, х2,

x1 = x(:,1);

x2 = x(:,2);

% выражение для регрессионной модели

yhat = A.* x1.^2+B.* x2.^2+C.* x1+D.* x2+E;

1.2. Моделирование экспериментальных данных

>> A=1;

>> B=-2;

>> C=-1.5;

>> D=2.6;

>> E=2;

>> X1=[1 1 10 10 1 5.5 10 5.5 5.5];

>> X2=[2 20 20 2 11 20 11 2 11 ];

>> Y = A.* X1.^2+B.*X2.^2+C.*X1+D.*X2+E;

>> XX1=normrnd(0,1,length(X1),1);

>> XX2=unifrnd(-0.1,0.1, length(X2),1);

>> YY=normrnd(0,2, length(Y),1);

>> X1= X1+ XX1';

>> X2= X2+ XX2';

>> Y= Y+ YY';

1.3. Начальные значения коэффициентов

>> beta0=[0.1 1 0 1 1];

1.4. Расчет точечных оценок коэффициентов , ,

>> [beta,r,J] = nlinfit([X1' X2'],Y',@polynom,beta0)

beta =

0.7949

-1.9789

-0.4308

1.9825

5.3885

r =

-1.8501

-5.1480

11.4807

1.8753

7.8970

-6.4160

-8.9814

-0.0211

1.1635

J =

0.3220 4.3682 0.5674 2.0900 1.0000

0.4430 397.8520 -0.6656 19.9462 1.0000

102.5224 400.8552 10.1253 20.0214 1.0000

105.8363 3.9888 10.2877 1.9972 1.0000

0.0215 122.7278 -0.1465 11.0783 1.0000

44.7684 402.0995 6.6909 20.0524 1.0000

125.1974 120.8085 11.1892 10.9913 1.0000

29.8375 3.6241 5.4624 1.9037 1.0000

33.9573 122.4183 5.8273 11.0643 1.0000

1.5. Матрица значений независимых переменных, для которых рассчитываются значения зависимой переменной

>> XX1=min(X1):(max(X1)- min(X1))/20: max(X1);

>> XX2=min(X2):(max(X2)- min(X2))/20: max(X2);

>> inputs=[ XX1' XX2'];

1.6. Расчет значений зависимой переменной Yr и нижней YN и верхней YV границ 95% доверительного интервала

>> [Yr, delta]= nlpredci(@polynom,inputs,beta,r,J)

Yr =

2.6299

-4.6407

-14.6118

-27.2833

-42.6553

-60.7276

-81.5004

-104.9736

-131.1473

-160.0214

-191.5959

-225.8708

-262.8462

-302.5220

-344.8982

-389.9749

-437.7520

-488.2295

-541.4075

-597.2859

-655.8647

delta =

22.6018

18.4946

15.8715

14.8363

15.1253

16.1972

17.5411

18.8157

19.8238

20.4581

20.6653

20.4279

19.7586

18.7048

17.3664

15.9327

14.7407

14.3158

15.2390

17.8026

21.8913

>> YN=Yr-delta

YN =

-19.9719

-23.1353

-30.4833

-42.1196

-57.7805

-76.9248

-99.0415

-123.7894

-150.9711

-180.4795

-212.2612

-246.2988

-282.6048

-321.2268

-362.2647

-405.9076

-452.4927

-502.5454

-556.6465

-615.0884

-677.7560

>> YV=Yr+delta

YV =

25.2317

13.8539

1.2597

-12.4470

-27.5300

-44.5304

-63.9593

-86.1579

-111.3235

-139.5633

-170.9306

-205.4429

-243.0876

-283.8172

-327.5318

-374.0422

-423.0113

-473.9137

-526.1685

-579.4833

-633.9734

1.7. Графическое представление полученной зависимости

>> [X_1 X_2]=meshgrid([1:0.5:10],[2:0.5:20]);

>> z= beta(1).*X_1.^2+ beta(2).*X_2.^2+ beta(3).*X_1+ beta(4).*X_2+ beta(5);

>> plot3(XX1,XX2,YN,'ro', XX1,XX2,YV,'g+',X_1,X_2,z)

>> grid on

2. Расчет значений зависимой переменной и границ доверительных интервалов регрессионной модели Хогена-Ватсона при оценке кинетики химической реакции. Модель Хогена-Ватсона имеет вид

,

где  - зависимая переменная, характеризующая скорость прохождения химической реакции; , , - параметры регрессионной модели; ,  - независимые переменные.

2.1. Создается m-файл функции (hougen.m) реализующий регрессионную модель Хогена-Ватсона

function yhat = hougen(beta,x)

% разделение вектора коэффициентов beta по отдельным переменным b1, b2, b3, b4, b5

b1 = beta(1);

b2 = beta(2);

b3 = beta(3);

b4 = beta(4);

b5 = beta(5);

% разделение матрицы независимых переменных х по отдельным векторам х1, х2,

% х3 соответствующим 3-м независимым переменным

x1 = x(:,1);

x2 = x(:,2);

x3 = x(:,3);

% выражение для функции Хогена

yhat = (b1*x2 - x3/b5)./(1+b2*x1+b3*x2+b4*x3);

2.2. Создается вектор начальных значений коэффициентов регрессионной модели

>> beta=[1 2 1 2 1];

2.3. Загрузка матицы независимых и вектора значений зависимой переменных

>> load reaction

2.4. Расчет коэффициентов регрессионной модели Хогена, вектора остатков и матрицы Якоби

>> [beta,r,J] = nlinfit(reactants,rate,@hougen,beta)

beta =

1.2526

0.0628

0.0400

0.1124

1.1914

r =

0.1321

-0.1642

-0.0909

0.0310

0.1142

0.0498

-0.0262

0.3115

-0.0292

0.1096

0.0716

-0.1501

-0.3026

J =

6.8739 -90.6536 -57.8640 -1.9288 0.1614

3.4454 -48.5357 -13.6240 -1.7030 0.3034

5.3563 -41.2099 -26.3042 -10.5217 1.5095

1.6950 0.1091 0.0186 0.0279 1.7913

2.2967 -35.5658 -6.0537 -0.7567 0.2023

11.8670 -89.5655 -170.1745 -8.9566 0.4400

4.4973 -14.4262 -11.5409 -9.3770 2.5744

4.1831 -41.7896 -16.8937 -5.7794 1.0082

11.8286 -51.3721 -154.1164 -27.7410 1.5001

9.1514 -25.5948 -76.7844 -30.7138 2.5790

3.3373 0.0900 0.0720 0.1080 3.5269

9.3663 -102.0611 -107.4327 -3.5811 0.2200

4.7512 -24.4631 -16.3087 -10.3002 2.1141

2.5. Матрица значений независимых переменных, для которых рассчитываются значения зависимой переменной

>> X1=min(reactants(:,1)):(max(reactants(:,1))- min(reactants(:,1)))/20: max(reactants(:,1));

>> X2=min(reactants(:,2)):(max(reactants(:,2))- min(reactants(:,2)))/20: max(reactants(:,2));

>> X3=min(reactants(:,3)):(max(reactants(:,3))- min(reactants(:,3)))/20: max(reactants(:,3));

>> inputs=[X1' X2' X3'];

2.6. Расчет значений зависимой переменной Rrate и нижней rateN и верхней rateV границ 95% доверительного интервала

>> [Rrate, delta]= nlpredci(@hougen,inputs,beta,r,J)

Rrate =

7.9112

7.3034

6.8639

6.5312

6.2706

6.0610

5.8887

5.7446

5.6223

5.5172

5.4259

5.3458

5.2750

5.2120

5.1556

5.1047

5.0586

5.0167

4.9784

4.9432

4.9109

delta =

0.7422

0.5570

0.4400

0.3620

0.3081

0.2701

0.2429

0.2233

0.2092

0.1990

0.1916

0.1864

0.1827

0.1801

0.1784

0.1772

0.1766

0.1763

0.1762

0.1764

0.1766

>> rateN=Rrate-delta

rateN =

7.1689

6.7464

6.4239

6.1692

5.9625

5.7909

5.6458

5.5213

5.4131

5.3182

5.2342

5.1594

5.0924

5.0319

4.9772

4.9275

4.8820

4.8404

4.8022

4.7669

4.7342

>> rateV=Rrate+delta

rateV =

8.6534

7.8605

7.3039

6.8932

6.5787

6.3311

6.1316

5.9679

5.8315

5.7161

5.6175

5.5322

5.4577

5.3921

5.3339

5.2820

5.2352

5.1930

5.1546

5.1196

5.0875

2.7. Расчет значений зависимой переменной Rrate и нижней rateN и верхней rateV границ 99% доверительного интервала по диапазонам изменения значений независимых переменных ('simopt'='off') для выборочных значений зависимой переменной ('predopt'='observation').

>> alpha=0.01;

>> simop='off';

>> predopt='observation';

>> [Rrate, delta]= nlpredci(@hougen,inputs,beta,r,J,alpha,simop,predopt)

Rrate =

7.9112

7.3034

6.8639

6.5312

6.2706

6.0610

5.8887

5.7446

5.6223

5.5172

5.4259

5.3458

5.2750

5.2120

5.1556

5.1047

5.0586

5.0167

4.9784

4.9432

4.9109

delta =

1.2598

1.0380

0.9113

0.8355

0.7885

0.7584

0.7386

0.7254

0.7165

0.7103

0.7060

0.7030

0.7009

0.6995

0.6986

0.6980

0.6976

0.6975

0.6974

0.6975

0.6976

>> rateN=Rrate-delta

rateN =

6.6514

6.2654

5.9526

5.6957

5.4822

5.3026

5.1501

5.0192

4.9058

4.8069

4.7199

4.6428

4.5741

4.5125

4.4570

4.4067

4.3610

4.3193

4.2810

4.2457

4.2132

>> rateV=Rrate+delta

rateV =

9.1709

8.3415

7.7752

7.3667

7.0591

6.8194

6.6274

6.4700

6.3387

6.2274

6.1318

6.0488

5.9760

5.9115

5.8542

5.8027

5.7563

5.7142

5.6758

5.6407

5.6085

 

 

Наверх

bbdesign - Генерация матрицы плана Бокса-Бенкина

Синтаксис

D = bbdesign(nfactors)

D = bbdesign(nfactors,'pname1',pvalue1,'pname2',pvalue2,...)

[D,blk] = bbdesign(...)

 

Описание

D = bbdesign(nfactors) функция позволяет получить матрицу D плана Бокса-Бенкина для nfactors факторов. Размерность матрицы плана эксперимента D равна nfactors x nfactors. Количество опытов в матрице равно числу факторов. Элементами матрицы D являются 1 и -1 кодирующие максимальные и минимальные значения факторов соответственно. 

 

[D,blk] = bbdesign(nfactors) в отличии от первого варианта синтаксиса функция возвращает вектор blk номеров блоков опытов. Блоки позволяют сгруппировать опыты таким образом, чтобы минимизировать влияние изменений внешних условий на значения оцениваемых параметров. 

 

[...] = bbdesign(nfactors,'pname1',pvalue1,'pname2',pvalue2,...) такой вариант синтаксиса функции позволяет задать дополнительные параметры 'pname' и их значения pvalue:

  • 'center' - количество повторений опытов в центральных точках плана;

  • 'blocksize' - максимальное количество точек в блоке плана.

Дополнительные аргументы задаются в виде пары: 'название параметра', значение параметра.

 

Примечание: в работах Бокса и Бенкина предложены планы для числа факторов 3-7, 9-12, 16. Для указанного числа факторов функция bbdesign генерирует матрицы планов экспериментов согласно Боксу и Бенкину. Для числа факторов отличного от приведенных значений матрица плана рассчитывается по алгоритму аналогичному изложенному в работах Бокса и Бенкина.

Примеры использования функции генерации матрицы плана Бокса-Бенкина

 

Генерация матрицы плана Бокса-Бенкина для 3 факторов

 

>> D = bbdesign(3)

D =

    -1    -1     0

    -1     1     0

     1    -1     0

     1     1     0

    -1     0    -1

    -1     0     1

     1     0    -1

     1     0     1

     0    -1    -1

     0    -1     1

     0     1    -1

     0     1     1

     0     0     0

     0     0     0

     0     0     0

   

Генерация матрицы плана Бокса-Бенкина для 5 факторов разделенного на блоки

 

>> [D,blk] = bbdesign(5)

 

D=

blk=

   -1    -1     0     0     0

    -1     1     0     0     0

     1    -1     0     0     0

     1     1     0     0     0

     0     0    -1    -1     0

     0     0    -1     1     0

     0     0     1    -1     0

     0     0     1     1     0

     0    -1     0     0    -1

     0    -1     0     0     1

     0     1     0     0    -1

     0     1     0     0     1

    -1     0    -1     0     0

    -1     0     1     0     0

     1     0    -1     0     0

     1     0     1     0     0

     0     0     0    -1    -1

     0     0     0    -1     1

     0     0     0     1    -1

     0     0     0     1     1

     0    -1    -1     0     0

     0    -1     1     0     0

     0     1    -1     0     0

     0     1     1     0     0

    -1     0     0    -1     0

    -1     0     0     1     0

     1     0     0    -1     0

     1     0     0     1     0

     0     0    -1     0    -1

     0     0    -1     0     1

     0     0     1     0    -1

     0     0     1     0     1

    -1     0     0     0    -1

    -1     0     0     0     1

     1     0     0     0    -1

     1     0     0     0     1

     0    -1     0    -1     0

     0    -1     0     1     0

     0     1     0    -1     0

     0     1     0     1     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

    1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     2

     2

     2

     2

     2

     2

     2

     2

     2

     2

     2

     2

     2

     2

     2

     2

     2

     2

     2

     2

     1

     1

     1

     2

     2

     2

Генерация матрицы плана Бокса-Бенкина для 4 факторов разделенного на блоки при условии 5 повторных опытов в центральной точке плана и максимальном числе точек в блоке плана равном 10.

>> [D,blk] = bbdesign(4, 'center', 5, 'blocksize', 10)

D =

    -1    -1     0     0

    -1     1     0     0

     1    -1     0     0

     1     1     0     0

     0     0    -1    -1

     0     0    -1     1

     0     0     1    -1

     0     0     1     1

    -1     0     0    -1

    -1     0     0     1

     1     0     0    -1

     1     0     0     1

     0    -1    -1     0

     0    -1     1     0

     0     1    -1     0

     0     1     1     0

    -1     0    -1     0

    -1     0     1     0

     1     0    -1     0

     1     0     1     0

     0    -1     0    -1

     0    -1     0     1

     0     1     0    -1

     0     1     0     1

     0     0     0     0

     0     0     0     0

     0     0     0     0

     0     0     0     0

     0     0     0     0

blk =

     1

     1

     1

     1

     1

     1

     1

     1

     2

     2

     2

     2

     2

     2

     2

     2

     3

     3

     3

     3

     3

     3

     3

     3

     1

     1

     2

     2

     3

   

Графически матрицу плана Бокса-Бенкина для 3 факторов можно представить следующим образом

 

>> D = bbdesign(3)

D =

    -1    -1     0

    -1     1     0

     1    -1     0

     1     1     0

    -1     0    -1

    -1     0     1

     1     0    -1

     1     0     1

     0    -1    -1

     0    -1     1

     0     1    -1

     0     1     1

     0     0     0

     0     0     0

     0     0     0

>> x= D(:,1);

>> y= D (:,2);

>> z= D (:,3);

>> plot3(x,y,z,'o')

>> grid on

 

 

 

Наверх

candexch - D-оптимальный план (на основе алгоритма перестановки строк для формирования множества возможных значений)

Синтаксис

rlist = candexch(C,nrows)

rlist = candexch(C,nrows,'param1',value1,'param2',value2,...)

 

Описание

rlist = candexch(C,nrows) функция предназначена для генерации плана эксперимента rlist из начального множества точек C в факторном пространстве на основе алгоритма перестановки строк. Матрица С, размерностью n-p, содержит значения p эффектов модели для каждой из n точек. Входной параметр nrows задает количество опытов в плане эксперимента. Выходной параметр rlist является вектором с числом элементов nrows и задает номера выбранных строк из начального множества точек C.

Функция candexch выбирает матрицу начального плана Х случайным образом. Затем на основе алгоритма замены строк Х строками начального множества точек С формируется D-оптимальный план эксперимента. Вычисления прекращаются, если будет выполнено условие  , или достигнуто максимальное число итераций.

 

rlist = candexch(C,nrows,'param1',value1,'param2',value2,...) этот вариант синтаксиса функции позволяет определить следующие дополнительные входные аргументы:

'display'

Вывод значения счетчика итераций. Возможные значения 'display': 'on' - вывод в командное окно, 'off' - отмена отображения. Значение по умолчанию 'on'.

'init'

Начальная матрица значений факторов с размерностью nrows?p. По умолчанию принимается случайное подмножество строк начального множества С.

'maxiter'

Максимальное число итераций. Значение по умолчанию - 10.

Дополнительные аргументы задаются в виде пары: 'название параметра', значение параметра.

Примеры использования функции генерации матрицы D-оптимального плана из начального множества точек в факторном пространстве на основе алгоритма перестановки строк

 

Генерация матрицы значений факторов X D-оптимального плана из начального множества точек в факторном пространстве для 12 опытов. Начальное множество xcand генерируется при помощи функции candgen для 3 факторов и полной квадратической модели. 

>> nfactors=3;

>> model='quadratic';

>> xcand = candgen(nfactors,model);

>> nrows=12;

>> rlist = candexch(xcand,nrows)

rlist =

     9

     1

     7

     3

     3

     7

     9

     1

     1

     7

     3

     9

>> X = xcand(rlist,:)

X =

     1     1    -1

    -1    -1    -1

    -1     1    -1

     1    -1    -1

     1    -1    -1

    -1     1    -1

     1     1    -1

    -1    -1    -1

    -1    -1    -1

    -1     1    -1

     1    -1    -1

     1     1    -1

Генерация матрицы D-оптимального плана Х из начального множества точек С в факторном пространстве для 12 опытов. Начальное множество С генерируется при помощи функции полного факторного эксперимента fullfact для 3 факторов на 5 уровнях. Матрица значений факторов полного факторного эксперимента приводится к единичному кубу F. На полученную матрицу значений факторов накладывается ограничение по величине построчной суммы меньше или равной 1,51: sum(F,2)<=1.51. Затем формируется матрица F со строками, удовлетворяющими указанному ограничению. Начальное множество С является матрицей значений факторов соответствующих постоянному члену, линейным и квадратическим эффектам.

>> F = (fullfact([5 5 5])-1)/4;

>> T = sum(F,2)<=1.51

>> F = F(T,:)

>> C = [ones(size(F,1),1) F F.^2]

C =

    1.0000         0         0         0         0         0         0

    1.0000    0.2500         0         0    0.0625         0         0

    1.0000    0.5000         0         0    0.2500         0         0

    1.0000    0.7500         0         0    0.5625         0         0

    1.0000    1.0000         0         0    1.0000         0         0

    1.0000         0    0.2500         0         0    0.0625         0

    1.0000    0.2500    0.2500         0    0.0625    0.0625         0

    1.0000    0.5000    0.2500         0    0.2500    0.0625         0

    1.0000    0.7500    0.2500         0    0.5625    0.0625         0

    1.0000    1.0000    0.2500         0    1.0000    0.0625         0

    1.0000         0    0.5000         0         0    0.2500         0

    1.0000    0.2500    0.5000         0    0.0625    0.2500         0

    1.0000    0.5000    0.5000         0    0.2500    0.2500         0

    1.0000    0.7500    0.5000         0    0.5625    0.2500         0

    1.0000    1.0000    0.5000         0    1.0000    0.2500         0

    1.0000         0    0.7500         0         0    0.5625         0

    1.0000    0.2500    0.7500         0    0.0625    0.5625         0

    1.0000    0.5000    0.7500         0    0.2500    0.5625         0

    1.0000    0.7500    0.7500         0    0.5625    0.5625         0

    1.0000         0    1.0000         0         0    1.0000         0

    1.0000    0.2500    1.0000         0    0.0625    1.0000         0

    1.0000    0.5000    1.0000         0    0.2500    1.0000         0

    1.0000         0         0    0.2500         0         0    0.0625

    1.0000    0.2500         0    0.2500    0.0625         0    0.0625

    1.0000    0.5000         0    0.2500    0.2500         0    0.0625

    1.0000    0.7500         0    0.2500    0.5625         0    0.0625

    1.0000    1.0000         0    0.2500    1.0000         0    0.0625

    1.0000         0    0.2500    0.2500         0    0.0625    0.0625

    1.0000    0.2500    0.2500    0.2500    0.0625    0.0625    0.0625

    1.0000    0.5000    0.2500    0.2500    0.2500    0.0625    0.0625

    1.0000    0.7500    0.2500    0.2500    0.5625    0.0625    0.0625

    1.0000    1.0000    0.2500    0.2500    1.0000    0.0625    0.0625

    1.0000         0    0.5000    0.2500         0    0.2500    0.0625

    1.0000    0.2500    0.5000    0.2500    0.0625    0.2500    0.0625

    1.0000    0.5000    0.5000    0.2500    0.2500    0.2500    0.0625

    1.0000    0.7500    0.5000    0.2500    0.5625    0.2500    0.0625

    1.0000         0    0.7500    0.2500         0    0.5625    0.0625

    1.0000    0.2500    0.7500    0.2500    0.0625    0.5625    0.0625

    1.0000    0.5000    0.7500    0.2500    0.2500    0.5625    0.0625

    1.0000         0    1.0000    0.2500         0    1.0000    0.0625

    1.0000    0.2500    1.0000    0.2500    0.0625    1.0000    0.0625

    1.0000         0         0    0.5000         0         0    0.2500

    1.0000    0.2500         0    0.5000    0.0625         0    0.2500

    1.0000    0.5000         0    0.5000    0.2500         0    0.2500

    1.0000    0.7500         0    0.5000    0.5625         0    0.2500

    1.0000    1.0000         0    0.5000    1.0000         0    0.2500

    1.0000         0    0.2500    0.5000         0    0.0625    0.2500

    1.0000    0.2500    0.2500    0.5000    0.0625    0.0625    0.2500

    1.0000    0.5000    0.2500    0.5000    0.2500    0.0625    0.2500

    1.0000    0.7500    0.2500    0.5000    0.5625    0.0625    0.2500

    1.0000         0    0.5000    0.5000         0    0.2500    0.2500

    1.0000    0.2500    0.5000    0.5000    0.0625    0.2500    0.2500

    1.0000    0.5000    0.5000    0.5000    0.2500    0.2500    0.2500

    1.0000         0    0.7500    0.5000         0    0.5625    0.2500

    1.0000    0.2500    0.7500    0.5000    0.0625    0.5625    0.2500

    1.0000         0    1.0000    0.5000         0    1.0000    0.2500

    1.0000         0         0    0.7500         0         0    0.5625

    1.0000    0.2500         0    0.7500    0.0625         0    0.5625

    1.0000    0.5000         0    0.7500    0.2500         0    0.5625

    1.0000    0.7500         0    0.7500    0.5625         0    0.5625

    1.0000         0    0.2500    0.7500         0    0.0625    0.5625

    1.0000    0.2500    0.2500    0.7500    0.0625    0.0625    0.5625

    1.0000    0.5000    0.2500    0.7500    0.2500    0.0625    0.5625

    1.0000         0    0.5000    0.7500         0    0.2500    0.5625

    1.0000    0.2500    0.5000    0.7500    0.0625    0.2500    0.5625

    1.0000         0    0.7500    0.7500         0    0.5625    0.5625

    1.0000         0         0    1.0000         0         0    1.0000

    1.0000    0.2500         0    1.0000    0.0625         0    1.0000

    1.0000    0.5000         0    1.0000    0.2500         0    1.0000

    1.0000         0    0.2500    1.0000         0    0.0625    1.0000

    1.0000    0.2500    0.2500    1.0000    0.0625    0.0625    1.0000

    1.0000         0    0.5000    1.0000         0    0.2500    1.0000

>> R = candexch(C,12)

R =

    22

    56

    15

    46

    69

    72

    35

    51

     1

    46

    44

     1

>> X = F(R,:)

X =

    0.5000    1.0000         0

         0    1.0000    0.5000

    1.0000    0.5000         0

    1.0000         0    0.5000

    0.5000         0    1.0000

         0    0.5000    1.0000

    0.5000    0.5000    0.2500

         0    0.5000    0.5000

         0         0         0

    1.0000         0    0.5000

    0.5000         0    0.5000

         0         0         0

 

Генерация матрицы значений факторов X D-оптимального плана из начального множества точек в факторном пространстве для 12 опытов. Начальное множество xcand генерируется при помощи функции candgen для 3 факторов и полной квадратической модели. В качестве дополнительного параметра задана матрица А начального приближения при поиске D-оптимального плана из множества xcand. Матрица А является подматрицей xcand, первые ее 12 строк.

>> nfactors=3;

>> model='quadratic';

>> xcand = candgen(nfactors,model)

xcand =

    -1    -1    -1

     0    -1    -1

     1    -1    -1

    -1     0    -1

     0     0    -1

     1     0    -1

    -1     1    -1

     0     1    -1

     1     1    -1

    -1    -1     0

     0    -1     0

     1    -1     0

    -1     0     0

     0     0     0

     1     0     0

    -1     1     0

     0     1     0

     1     1     0

    -1    -1     1

     0    -1     1

     1    -1     1

    -1     0     1

     0     0     1

     1     0     1

    -1     1     1

     0     1     1

     1     1     1

>> nrows=12;

>> A= xcand (1: nrows,:)

A =

    -1    -1    -1

     0    -1    -1

     1    -1    -1

    -1     0    -1

     0     0    -1

     1     0    -1

    -1     1    -1

     0     1    -1

     1     1    -1

    -1    -1     0

     0    -1     0

     1    -1     0

>> rlist = candexch(xcand,nrows,'init',A)

rlist =

     1

     1

     3

     7

     3

     9

     7

     1

     9

     9

     3

     7

>> X = xcand(rlist,:)

X =

    -1    -1    -1

    -1    -1    -1

     1    -1    -1

    -1     1    -1

     1    -1    -1

     1     1    -1

    -1     1    -1

    -1    -1    -1

     1     1    -1

     1     1    -1

     1    -1    -1

    -1     1    -1

  

Графическое представление начального множества xcand, матрицы начального приближения А и матрицы значений факторов X.

>> x= xcand (:,1);

>> y= xcand (:,2);

>> z= xcand (:,3);

>> subplot(1,3,1)

>> plot3(x,y,z,'o')

>> grid on

 

>> x1= A(:,1);

>> y1= A (:,2);

>> z1= A (:,3);

>> subplot(1,3,2)

>> plot3(x1,y1,z1,'dr')

>> grid on

>> x2= X(:,1);

>> y2= X (:,2);

>> z2= X (:,3);

>> subplot(1,3,3)

>> plot3(x2,y2,z2,'+r')

>> grid on

 

 

 

Наверх

candgen - Генерирует множество возможных сочетаний факторов соответствующих D-оптимальному плану

Синтаксис

xcand = candgen(nfactors,'model')

[xcand,fxcand] = candgen(nfactors,'model')

 

Описание

xcand = candgen(nfactors,'model') функция предназначена для генерации начального множества точек xcand в факторном пространстве, соответствующего D-оптимальному плану с числом факторов nfactors и видом модели регрессии 'model'. xcand является матрицей значений факторов. Матрица выходных значений xcand содержит nfactors столбцов. Предусмотрены следующие виды математической модели:

Значение 'model'

Вид математической модели

'linear'

Линейная модель с постоянным членом. Значение по умолчанию.

'interaction' 

Линейная модель с постоянным членом и эффектами взаимодействия.

'quadratic' 

Полная квадратическая модель, включающая линейные, квадратические эффекты, эффекты взаимодействий, постоянный член. 

'purequadratic' 

Неполная квадратическая модель, включающая линейные, квадратические эффекты, постоянный член.

Кроме строкового значения входной аргумент model может быть задан как вектор или матрица аналогично такому же аргументу функции x2fx. Функция x2fx позволяет выполнить преобразование матрицы значений факторов Х в матрицу плана эксперимента D. В случае, если X и model заданы как векторы, то матрица плана эксперимента формируется по правилу: каждый столбец D является последовательным возведением Х в степень элемента вектора model. Размерность матрицы D равна n?m, где n - число элементов вектора Х, m - число элементов вектора model. Т.е., вектор model является списком степеней полинома регрессионной модели для одного фактора Х. Если X и model заданы как матрицы, то столбец матрицы D формируются по формуле:

D(i,j)=prod(Х(i,:).^model(j,:)),

 

т.е., ij-й элемент матрицы D является произведением элементов i-й строки матрицы Х возведенных последовательно в степени j-й строки матрицы model. Таким образом, количество столбцов model должно быть равно числу столбцов матрицы Х.

[xcand,fxcand] = candgen(nfactors,model) функция возвращает матрицу значений факторов xcand и матрицу значений степеней fxcand. 

 

Примечание: Функция rowexch генерирует начальное множество точек в факторном пространстве с помощью функции candgen и формирует матрицу D-оптимального плана с помощью функции candexch. Раздельное использование функций candgen и candexch целесообразно в случае, когда необходимо изменить начальное множество точек.

Примеры использования функции генерации начального множества точек в факторном пространстве для D-оптимального плана

 

Генерация начального множества в виде матрицы значений факторов D-оптимального плана для 3 факторов и полной квадратической модели

>> nfactors=3;

>> model='quadratic';

>> xcand = candgen(nfactors,model)

xcand =

    -1    -1    -1

     0    -1    -1

     1    -1    -1

    -1     0    -1

     0     0    -1

     1     0    -1

    -1     1    -1

     0     1    -1

     1     1    -1

    -1    -1     0

     0    -1     0

     1    -1     0

    -1     0     0

     0     0     0

     1     0     0

    -1     1     0

     0     1     0

     1     1     0

    -1    -1     1

     0    -1     1

     1    -1     1

    -1     0     1

     0     0     1

     1     0     1

    -1     1     1

     0     1     1

     1     1     1

   

Генерация начального множества в виде матрицы значений факторов и матрицы D-оптимального плана 

для 3 факторов и неполной квадратической модели

>> nfactors=3;

>> model='purequadratic';

>> [xcand,fxcand] = candgen(nfactors,model)

xcand =

    -1    -1    -1

     0    -1    -1

     1    -1    -1

    -1     0    -1

     0     0    -1

     1     0    -1

    -1     1    -1

     0     1    -1

     1     1    -1

    -1    -1     0

     0    -1     0

     1    -1     0

    -1     0     0

     0     0     0

     1     0     0

    -1     1     0

     0     1     0

     1     1     0

    -1    -1     1

     0    -1     1

     1    -1     1

    -1     0     1

     0     0     1

     1     0     1

    -1     1     1

     0     1     1

     1     1     1

fxcand =

     1    -1    -1    -1     1     1     1

     1     0    -1    -1     0     1     1

     1     1    -1    -1     1     1     1

     1    -1     0    -1     1     0     1

     1     0     0    -1     0     0     1

     1     1     0    -1     1     0     1

     1    -1     1    -1     1     1     1

     1     0     1    -1     0     1     1

     1     1     1    -1     1     1     1

     1    -1    -1     0     1     1     0

     1     0    -1     0     0     1     0

     1     1    -1     0     1     1     0

     1    -1     0     0     1     0     0

     1     0     0     0     0     0     0

     1     1     0     0     1     0     0

     1    -1     1     0     1     1     0

     1     0     1     0     0     1     0

     1     1     1     0     1     1     0

     1    -1    -1     1     1     1     1

     1     0    -1     1     0     1     1

     1     1    -1     1     1     1     1

     1    -1     0     1     1     0     1

     1     0     0     1     0     0     1

     1     1     0     1     1     0     1

     1    -1     1     1     1     1     1

     1     0     1     1     0     1     1

     1     1     1     1     1     1     1

   

Генерация начального множества в виде матрицы значений факторов и матрицы D-оптимального плана 

для 3 факторов и регрессионной модели заданной в виде матрицы model.

 

>> nfactors=3;

>> model=[0 1 2; 0 1 2; 0 1 2; 0 1 2]

model =

     0     1     2

     0     1     2

     0     1     2

     0     1     2

>> [xcand,fxcand] = candgen(nfactors, model)

xcand =

    -1    -1    -1

     1    -1    -1

    -1     1    -1

     1     1    -1

    -1    -1     0

     1    -1     0

    -1     1     0

     1     1     0

    -1    -1     1

     1    -1     1

    -1     1     1

     1     1     1

fxcand =

    -1    -1    -1    -1

    -1    -1    -1    -1

     1     1     1     1

     1     1     1     1

     0     0     0     0

     0     0     0     0

     0     0     0     0

     0     0     0     0

    -1    -1    -1    -1

    -1    -1    -1    -1

     1     1     1     1

     1     1     1     1

   

Графическое представление начального множества xcand значений 3-х факторов и полной квадратической модели.

>> nfactors=3;

>> model='quadratic';

>> xcand = candgen(nfactors,model)

xcand =

    -1    -1    -1

     0    -1    -1

     1    -1    -1

    -1     0    -1

     0     0    -1

     1     0    -1

    -1     1    -1

     0     1    -1

     1     1    -1

    -1    -1     0

     0    -1     0

     1    -1     0

    -1     0     0

     0     0     0

     1     0     0

    -1     1     0

     0     1     0

     1     1     0

    -1    -1     1

     0    -1     1

     1    -1     1

    -1     0     1

     0     0     1

     1     0     1

    -1     1     1

     0     1     1

     1     1     1

>> x= xcand (:,1);

>> y= xcand (:,2);

>> z= xcand (:,3);

>> plot3(x,y,z,'o')

>> grid on

 

 

 

Наверх

ccdesign - Центральный композиционный план

Синтаксис

D = ccdesign(nfactors)

D = ccdesign(nfactors,'pname1',pvalue1,'pname2',pvalue2,...)

[D,blk] = ccdesign(...)

 

Описание

D = ccdesign(nfactors) функция предназначена для генерации матрицы D центрального композиционного плана для nfactors факторов. Размерность матрицы плана эксперимента D равна nfactors x nfactors. Количество опытов в матрице равно числу факторов. Значения факторов нормализованы таким образом, чтобы вершины куба плана были равны -1 и 1. 

[D,blk] = ccdesign(nfactors) функция возвращает вектор номеров блоков blk опытов в плане эксперимента. Блоки позволяют сгруппировать опыты таким образом, чтобы минимизировать влияние изменений внешних условий на значения оцениваемых параметров.

 

[...] = ccdesign(nfactors,'pname1',pvalue1,'pname2',pvalue2,...) такой вариант синтаксиса позволяет задать следующие дополнительные параметры 'pname' и их значения pvalue:

'center'

Число центральных точек в плане:

Целое число

Определяет число центральных точек в плане

'uniform'

Число центральных точек выбирается для обеспечения равной точности в области проведения эксперимента

'orthogonal'

Число центральных точек выбирается для обеспечения ортогональности плана. Принимается как значение по умолчанию.

'fraction'

Вид дробной реплики от полного факторного плана. Задается в виде степени 1/2. Например:

0

Полный план

1

1/2 реплика

2

1/4 реплика

'type'

Вид центрального композиционного плана. Возможные значения 'inscribed', 'circumscribed', 'faced'.

'blocksize'

Максимальное количество точек в блоке плана

Дополнительные аргументы задаются в виде пары: 'название параметра', значение параметра.

Примеры использования функции генерации матрицы центрального композиционного плана

 

Генерация матрицы центрального композиционного плана для 3 факторов

>> D = ccdesign(3)

D =

   -1.0000   -1.0000   -1.0000

   -1.0000   -1.0000    1.0000

   -1.0000    1.0000   -1.0000

   -1.0000    1.0000    1.0000

    1.0000   -1.0000   -1.0000

    1.0000   -1.0000    1.0000

    1.0000    1.0000   -1.0000

    1.0000    1.0000    1.0000

   -1.6818    0             0

    1.6818    0             0

         0        -1.6818   0

         0        1.6818    0

         0        0             -1.6818

         0        0              1.6818

         0        0              0

         0        0              0

         0        0              0

         0        0              0

         0        0              0

         0        0              0

         0        0              0

         0        0              0

         0        0              0

         0        0              0

     

Генерация матрицы центрального композиционного плана для 5 факторов разделенного на блоки

 

>> [D,blk] = ccdesign(5)

D=

blk=

   -1    -1    -1    -1     1

    -1    -1    -1     1    -1

    -1    -1     1    -1    -1

    -1    -1     1     1     1

    -1     1    -1    -1    -1

    -1     1    -1     1     1

    -1     1     1    -1     1

    -1     1     1     1    -1

     1    -1    -1    -1    -1

     1    -1    -1     1     1

     1    -1     1    -1     1

     1    -1     1     1    -1

     1     1    -1    -1     1

     1     1    -1     1    -1

     1     1     1    -1    -1

     1     1     1     1     1

    -2     0     0     0     0

     2     0     0     0     0

     0    -2     0     0     0

     0     2     0     0     0

     0     0    -2     0     0

     0     0     2     0     0

     0     0     0    -2     0

     0     0     0     2     0

     0     0     0     0    -2

     0     0     0     0     2

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

    1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     2

     2

     2

     2

     2

     2

     2

     2

     2

     2

     1

     1

     1

     1

     1

     2

     2

     2

     2

     2

Генерация матрицы 1/2 дробной реплики центрального композиционного плана для 5 факторов разделенного на блоки с числом центральных точек в плане равном 7. Максимальное количество точек в блоке плана - 20.

>> [D,blk] = ccdesign(5, 'center', 7, 'fraction', 1, 'blocksize', 20)

D =

    -1    -1    -1    -1     1

    -1    -1    -1     1    -1

    -1    -1     1    -1    -1

    -1    -1     1     1     1

    -1     1    -1    -1    -1

    -1     1    -1     1     1

    -1     1     1    -1     1

    -1     1     1     1    -1

     1    -1    -1    -1    -1

     1    -1    -1     1     1

     1    -1     1    -1     1

     1    -1     1     1    -1

     1     1    -1    -1     1

     1     1    -1     1    -1

     1     1     1    -1    -1

     1     1     1     1     1

    -2     0     0     0     0

     2     0     0     0     0

     0    -2     0     0     0

     0     2     0     0     0

     0     0    -2     0     0

     0     0     2     0     0

     0     0     0    -2     0

     0     0     0     2     0

     0     0     0     0    -2

     0     0     0     0     2

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

     0     0     0     0     0

blk =

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     2

     2

     2

     2

     2

     2

     2

     2

     2

     2

     1

     1

     1

     2

     2

     2

     2

 

Генерация матрицы 1/2 дробной реплики центрального композиционного плана для 5 факторов разделенного на блоки с числом центральных точек расположенных с целью обеспечения равной точности в области проведения эксперимента. Вид центрального композиционного плана - 'inscribed'.

>> [D,blk] = ccdesign(5, 'center', 'uniform', 'fraction', 1, 'type', 'inscribed')

D =

   -0.5000   -0.5000   -0.5000   -0.5000    0.5000

   -0.5000   -0.5000   -0.5000    0.5000   -0.5000

   -0.5000   -0.5000    0.5000   -0.5000   -0.5000

   -0.5000   -0.5000    0.5000    0.5000    0.5000

   -0.5000    0.5000   -0.5000   -0.5000   -0.5000

   -0.5000    0.5000   -0.5000    0.5000    0.5000

   -0.5000    0.5000    0.5000   -0.5000    0.5000

   -0.5000    0.5000    0.5000    0.5000   -0.5000

    0.5000   -0.5000   -0.5000   -0.5000   -0.5000

    0.5000   -0.5000   -0.5000    0.5000    0.5000

    0.5000   -0.5000    0.5000   -0.5000    0.5000

    0.5000   -0.5000    0.5000    0.5000   -0.5000

    0.5000    0.5000   -0.5000   -0.5000    0.5000

    0.5000    0.5000   -0.5000    0.5000   -0.5000

    0.5000    0.5000    0.5000   -0.5000   -0.5000

    0.5000    0.5000    0.5000    0.5000    0.5000

   -1.0000         0         0         0         0

    1.0000         0         0         0         0

         0   -1.0000         0         0         0

         0    1.0000         0         0         0

         0         0   -1.0000         0         0

         0         0    1.0000         0         0

         0         0         0   -1.0000         0

         0         0         0    1.0000         0

         0         0         0         0   -1.0000

         0         0         0         0    1.0000

         0         0         0         0         0

         0         0         0         0         0

         0         0         0         0         0

         0         0         0         0         0

         0         0         0         0         0

         0         0         0         0         0

blk =

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     1

     2

     2

     2

     2

     2

     2

     2

     2

     2

     2

     1

     1

     1

     2

     2

     2

   

Графическое представление 3-х видов центрального композиционного плана для 3 факторов

>> nfactors=3;

>> D = ccdesign(nfactors, 'type', 'inscribed');

>> x= D(:,1);

>> y= D (:,2);

>> z= D (:,3);

>> subplot(1,3,1)

>> plot3(x,y,z,'o')

>> grid on

 

>> D1 = ccdesign(nfactors, 'type', 'circumscribed');

>> x1= D1(:,1);

>> y1= D1 (:,2);

>> z1= D1 (:,3);

>> subplot(1,3,2)

>> plot3(x1,y1,z1,'dr')

>> grid on

>> D2 = ccdesign(nfactors, 'type', 'faced');

>> x2= D2(:,1);

>> y2= D2 (:,2);

>> z2= D2 (:,3);

>> subplot(1,3,3)

>> plot3(x2,y2,z2,'+r')

>> grid on

 

 

 

Наверх

cordexch - Функция для определения точного D-оптимального плана эксперимента на основе алгорима обмена координатами

Синтаксис

settings = cordexch(nfactors,nruns)

[settings,X] = cordexch(nfactors,nruns)

[settings,X] = cordexch(nfactors,nruns,'model')

[settings,X] = cordexch(...,'param1',value1,'param2',value2,...)

 

Описание

settings = cordexch(nfactors,nruns) функция позволяет получить матрицу значений факторов settings D-оптимального плана на основе алгоритма изменения координат для линейной регрессионной модели. Количество факторов задается входным аргументом nfactors, число опытов в плане - nruns. Размерность матрицы settings составляет nruns строк, nfactors столбцов.

[settings,X] = cordexch(nfactors,nruns) в отличии от первого варианта синтаксиса функция возвращает матрицу D-оптимального плана X.

 

[settings,X] = cordexch(nfactors,nruns,'model') функция позволяет получить матрицу значений факторов settings и матрицу D-оптимального плана эксперимента Х на основе алгоритма изменения координат для заданного числа факторов nfactors, числа опытов nruns и вида уравнения регрессии 'model'. Возможны следующие виды модели регрессии

Значение 'model'

Вид математической модели

'linear'

Линейная модель с постоянным членом. Значение по умолчанию.

'interaction' 

Линейная модель с постоянным членом и эффектами взаимодействия.

'quadratic' 

Полная квадратическая модель, включающая линейные, квадратические эффекты, эффекты взаимодействий, постоянный член. 

'purequadratic' 

Неполная квадратическая модель, включающая линейные, квадратические эффекты, постоянный член.

Кроме строкового значения входной аргумент model может быть задан как вектор или матрица аналогично такому же аргументу функции x2fx. Функция x2fx позволяет выполнить преобразование матрицы значений факторов Х в матрицу плана эксперимента D. В случае, если X и model заданы как векторы, то матрица плана эксперимента формируется по правилу: каждый столбец D является последовательным возведением Х в степень элемента вектора model. Размерность матрицы D равна n?m, где n - число элементов вектора Х, m - число элементов вектора model. Т.е., вектор model является списком степеней полинома регрессионной модели для одного фактора Х. Если X и model заданы как матрицы, то столбец матрицы D формируются по формуле:

D(i,j)=prod(Х(i,:).^model(j,:)),

 

т.е., ij-й элемент матрицы D является произведением элементов i-й строки матрицы Х возведенных последовательно в степени j-й строки матрицы model. Таким образом, количество столбцов model должно быть равно числу столбцов матрицы Х.

[settings,X] = cordexch(...,'param1',value1,'param2',value2,...) дополнительные входные аргументы по отношению к предыдущим вариантам синтаксиса позволяют:

'display'

Вывод значения счетчика итераций. Возможные значения 'display': 'on' - вывод в командное окно, 'off' - отмена отображения. Значение по умолчанию 'on'.

'init'

Начальная матрица значений факторов с размерностью nruns x nfactors. По умолчанию начальное множество точек в факторном пространстве выбирается случайным образом.

'maxiter'

Максимальное число итераций. Значение по умолчанию - 10.

Примечание. Функция cordexch выполняет поиск D-оптимального плана на основе алгоритма перестановки координат. На первом этапе генерируется начальный план эксперимента. На втором этапе выполняется изменение каждой координаты точек плана с целью минимизации дисперсии коэффициентов уравнения регрессии.

 

Примеры использования функции генерации матрицы D-оптимального плана на основе алгоритма изменения координат

Генерация матрицы значений факторов D-оптимального плана для трех факторов и 6 опытов. Принимается по умолчанию линейная модель.

>> nfactors=3;

>> nruns=6;

>> settings = cordexch(nfactors,nruns)

settings =

     1    -1    -1

     1     1    -1

    -1     1    -1

     1     1     1

    -1    -1     1

    -1    -1    -1

  

Генерация матрицы значений факторов и матрицы D-оптимального плана для трех факторов, 

12 опытов и полной квадратической модели.

 

>> nfactors=3;

>> nruns=12;

>> [settings,X] = cordexch(nfactors,nruns,'quadratic')

settings =

    -1     1    -1

     1    -1    -1

    -1    -1     1

    -1     0     0

     0     0    -1

    -1     1     1

    -1    -1    -1

     1     1    -1

     1    -1     1

     1     1     1

     0     1     1

     0    -1     0

X =

     1    -1     1    -1    -1     1    -1     1     1     1

     1     1    -1    -1    -1    -1     1     1     1     1

     1    -1    -1     1     1    -1    -1     1     1     1

     1    -1     0     0     0     0     0     1     0     0

     1     0     0    -1     0     0     0     0     0     1

     1    -1     1     1    -1    -1     1     1     1     1

     1    -1    -1    -1     1     1     1     1     1     1

     1     1     1    -1     1    -1    -1     1     1     1

     1     1    -1     1    -1     1    -1     1     1     1

     1     1     1     1     1     1     1     1     1     1

     1     0     1     1     0     0     1     0     1     1

     1     0    -1     0     0     0     0     0     1     0

   

Генерация матрицы значений факторов и матрицы D-оптимального плана для 3 факторов, 

20 опытов и регрессионной модели заданной в виде матрицы model.

>> nfactors=3;

>> nruns=20;

>> model=[ 0 1 2; 1 2 3;  0 1 2 ; 1 2 3]

model =

     0     1     2

     1     2     3

     0     1     2

     1     2     3

>> [settings,X] = cordexch(nfactors,nruns,model)

settings =

     1     1     1

     1     1    -1

    -1    -1     1

     1    -1     1

     1    -1    -1

    -1     1    -1

     1     1    -1

    -1    -1     1

    -1    -1    -1

    -1     1     1

     1    -1    -1

     1    -1     1

     1    -1    -1

     1     1     1

    -1     1    -1

    -1    -1    -1

     1     1     1

     1    -1     1

     1     1     1

    -1    -1     1

X =

     1     1     1     1

     1    -1     1    -1

    -1    -1    -1    -1

    -1     1    -1     1

    -1    -1    -1    -1

     1     1     1     1

     1    -1     1    -1

    -1    -1    -1    -1

    -1     1    -1     1

     1    -1     1    -1

    -1    -1    -1    -1

    -1     1    -1     1

    -1    -1    -1    -1

     1     1     1     1

     1     1     1     1

    -1     1    -1     1

     1     1     1     1

    -1     1    -1     1

     1     1     1     1

    -1    -1    -1    -1

  

Генерация матриц значений факторов и D-оптимального плана для трех факторов, 12 опытов, 

полной квадратической модели. В качестве дополнительного входного аргумента задается матрица

начального приближения А.

 

>> nfactors=3;

>> nruns=12;

>> A=[0 0 0; 1 0 0; -1 0 0; 0 1 0; 1 1 -1; -1 0 -1; 1 0 0 ; 0 0 1; -1 1 -1; 1 0 -1; 1 1 1; 0 -1 0]

A =

     0     0     0

     1     0     0

    -1     0     0

     0     1     0

     1     1    -1

    -1     0    -1

     1     0     0

     0     0     1

    -1     1    -1

     1     0    -1

     1     1     1

     0    -1     0

>> [settings,X] = cordexch(nfactors,nruns,'quadratic','init',A)

settings =

     0     0    -1

     1    -1    -1

    -1    -1     1

    -1     1     1

     1     1    -1

    -1    -1    -1

    -1     0     0

     1    -1     1

    -1     1    -1

     1     0     0

     1     1     1

     0    -1     0

X =

     1     0     0    -1     0     0     0     0     0     1

     1     1    -1    -1    -1    -1     1     1     1     1

     1    -1    -1     1     1    -1    -1     1     1     1

     1    -1     1     1    -1    -1     1     1     1     1

     1     1     1    -1     1    -1    -1     1     1     1

     1    -1    -1    -1     1     1     1     1     1     1

     1    -1     0     0     0     0     0     1     0     0

     1     1    -1     1    -1     1    -1     1     1     1

     1    -1     1    -1    -1     1    -1     1     1     1

     1     1     0     0     0     0     0     1     0     0

     1     1     1     1     1     1     1     1     1     1

     1     0    -1     0     0     0     0     0     1     0

   

Графическое представление матрицы значений факторов D-оптимального плана для трех факторов,

 12 опытов и полной квадратической модели

>> nfactors=3;

>> nruns=12;

>> settings = cordexch(nfactors,nruns,'quadratic')

>> x= settings (:,1);

>> y= settings (:,2);

>> z= settings (:,3);

>> plot3(x,y,z,'o')

>> grid on

 

 

 

Наверх

daugment - Определение матрица плана дополняющую матрицу заданного плана до D-оптимального

Синтаксис

settings = daugment(startdes,nruns)

[settings,X] = daugment(startdes,nruns)

[settings,X] = daugment(startdes,nruns,'model')

[settings, X] = daugment(...,'param1',value1,'param2',value2,...)

 

Описание

settings = daugment(startdes,nruns) функция предназначена для дополнения nruns опытов к входной матрице startdes с целью получения D-оптимальной матрицы значений факторов плана эксперимента settings. Функция основана на алгоритме изменения координат.

[settings,X] = daugment(startdes,nruns) в отличии от первого варианта синтаксиса функция возвращает матрицу X D-оптимального плана эксперимента.

 

[settings,X] = daugment(startdes,nruns,'model') функция позволяет получить матрицу значений факторов settings и матрицу D-оптимального плана эксперимента Х на основе алгоритма изменения координат для исходной матрицы значений факторов startdes, заданного числа опытов nruns и вида уравнения регрессии 'model'. Возможны следующие модели регрессии

Значение 'model'

Вид математической модели

'linear'

Линейная модель с постоянным членом. Значение по умолчанию.

'interaction' 

Линейная модель с постоянным членом и эффектами взаимодействия.

'quadratic' 

Полная квадратическая модель, включающая линейные, квадратические эффекты, эффекты взаимодействий, постоянный член. 

'purequadratic'

Неполная квадратическая модель, включающая линейные, квадратические эффекты, постоянный член.

Кроме строкового значения входной аргумент model может быть задан как вектор или матрица согласно такому же аргументу функции x2fx. Функция x2fx позволяет выполнить преобразование матрицы значений факторов Х в матрицу плана эксперимента D. В случае, если X и model заданы как векторы, то матрица плана эксперимента формируется по правилу: каждый столбец D является последовательным возведением Х в степень элемента вектора model. Размерность матрицы D равна n?m, где n - число элементов вектора Х, m - число элементов вектора model. Т.е., вектор model является списком степеней полинома регрессионной модели для одного фактора Х. Если X и model заданы как матрицы, то столбец матрицы D формируются по формуле:

D(i,j)=prod(Х(i,:).^model(j,:)),

 

т.е., ij-й элемент матрицы D является произведением элементов i-й строки матрицы Х возведенных последовательно в степени j-й строки матрицы model. Таким образом, количество столбцов model должно быть равно числу столбцов матрицы Х.

[settings, X] = daugment(...,'param1',value1,'param2',value2,...) дополнительные входные аргументы по отношению к предыдущим вариантам синтаксиса позволяют:

'display'

Вывод значения счетчика итераций. Возможные значения 'display': 'on' - вывод в командное окно, 'off' - отмена отображения. Значение по умолчанию 'on'.

'init'

Начальная матрица значений факторов с размерностью nruns x nfactors. По умолчанию предусматривается формирование начальной матрицы значений факторов случайным образом.

'maxiter'

Максимальное число итераций. Значение по умолчанию - 10.

Примеры использования функции дополнения матрицы значений факторов до D-оптимального плана эксперимента

 

Дополнение матрицы значений факторов полного факторного эксперимента 22 до D-оптимальной матрицы значений факторов. Модель регрессии принимается по умолчанию линейной. Количество добавляемых опытов 5.

>> nruns=5;

>> startdes = [-1 -1; 1 -1; -1 1; 1 1]

startdes =

    -1    -1

     1    -1

    -1     1

     1     1

>> settings = daugment(startdes,nruns)

settings =

    -1    -1

     1    -1

    -1     1

     1     1

     1    -1

    -1    -1

    -1     1

     1     1

    -1    -1

Дополнение матрицы значений факторов полного факторного эксперимента 22 до D-оптимальной матрицы значений факторов и матрицы плана эксперимента для полной квадратической модели. Количество добавляемых опытов 5.

>> nruns=5;

>> startdes = [-1 -1; 1 -1; -1 1; 1 1]

startdes =

    -1    -1

     1    -1

    -1     1

     1     1

>> [settings,X] = daugment(startdes,nruns,'quadratic')

settings =

    -1    -1

     1    -1

    -1     1

     1     1

    -1     0

     1     0

     0     1

     0    -1

     0     0

X =

     1    -1    -1     1     1     1

     1     1    -1    -1     1     1

     1    -1     1    -1     1     1

     1     1     1     1     1     1

     1    -1     0     0     1     0

     1     1     0     0     1     0

     1     0     1     0     0     1

     1     0    -1     0     0     1

     1     0     0     0     0     0

 

Дополнение матрицы значений факторов полного факторного эксперимента 22 до D-оптимальной матрицы значений факторов и матрицы плана эксперимента. Количество добавляемых опытов 5. Модель регрессии задается в виде матрицы model.

>> nruns=5;

>> startdes = [-1 -1; 1 -1; -1 1; 1 1]

startdes =

    -1    -1

     1    -1

    -1     1

     1     1

>> model=[0 1; 1 2; 2 3]

model =

     0     1

     1     2

     2     3

>> [settings,X] = daugment(startdes,nruns,model)

settings =

   -1.0000   -1.0000

    1.0000   -1.0000

   -1.0000    1.0000

    1.0000    1.0000

   -1.0000    1.0000

    0.0184    1.0000

   -0.3333   -1.0000

   -0.3333    1.0000

   -1.0000   -1.0000

X =

   -1.0000   -1.0000   -1.0000

   -1.0000    1.0000   -1.0000

    1.0000   -1.0000    1.0000

    1.0000    1.0000    1.0000

    1.0000   -1.0000    1.0000

    1.0000    0.0184    0.0003

   -1.0000   -0.3333   -0.1111

    1.0000   -0.3333    0.1111

   -1.0000   -1.0000   -1.0000

Дополнение матрицы значений факторов полного факторного эксперимента 22 до D-оптимальной матрицы значений факторов и матрицы плана эксперимента для полной квадратической модели. Количество добавляемых опытов 5. В качестве дополнительного входного аргумента задается матрица начального приближения А.

>> nruns=5;

>> startdes = [-1 -1; 1 -1; -1 1; 1 1]

startdes =

    -1    -1

     1    -1

    -1     1

     1     1

>> A=[0 0; 0 1; 1 0; 1 1; -1 1]

A =

     0     0

     0     1

     1     0

     1     1

    -1     1

>> [settings,X] = daugment(startdes,nruns,'quadratic','init',A)

settings =

    -1    -1

     1    -1

    -1     1

     1     1

     0     0

     0    -1

     1     0

     0     1

    -1     0

X =

     1    -1    -1     1     1     1

     1     1    -1    -1     1     1

     1    -1     1    -1     1     1

     1     1     1     1     1     1

     1     0     0     0     0     0

     1     0    -1     0     0     1

     1     1     0     0     1     0

     1     0     1     0     0     1

     1    -1     0     0     1     0

 

Графическое представление матрицы значений факторов полного факторного эксперимента 23 Х и дополненной до D-оптимальной матрицы значений факторов settings. Количество добавляемых опытов 5.

>> startdes = ff2n(3)

startdes =

     0     0     0

     0     0     1

     0     1     0

     0     1     1

     1     0     0

     1     0     1

     1     1     0

     1     1     1

>> nruns=5;

>> settings = daugment(startdes,nruns)

settings =

     0     0     0

     0     0     1

     0     1     0

     0     1     1

     1     0     0

     1     0     1

     1     1     0

     1     1     1

    -1    -1     1

     1    -1    -1

    -1     1    -1

    -1    -1    -1

    -1    -1     1

>> x= X (:,1);

>> y= X (:,2);

>> z= X (:,3);

>> subplot(1,2,1)

>> plot3(x,y,z,'o')

>> grid on

>> x1= settings (:,1);

>> y1= settings (:,2);

>> z1= settings (:,3);

>> subplot(1,2,2)

>> plot3(x1,y1,z1,'dr')

>> grid on

 

 

Наверх

dcovary - Функция для построения D-оптимального блочного плана

Синтаксис

settings = dcovary(nfactors,covariates)

[settings,X] = dcovary(nfactors,covariates)

[settings,X] = dcovary(nfactors,covariates,'model')

[settings,X] = dcovary(...,'param1',value1,'param2',value2,...)

 

Описание

settings = dcovary(nfactors,covariates) функция позволяет получить матрицу значений факторов settings D-оптимального плана разделенного на блоки covariates для заданного числа факторов nfactors. Количество опытов в плане эксперимента задается числом строк в матрице covariates. Матрица значений факторов settings формируется последовательно из двух матриц: матрицы значений факторов D-оптимального плана и матрицы, кодирующей блоки плана. Размерность матрицы settings равна nxm, где n - количество строк матрицы covariates, m=nfactors+k, где k - количество столбцов матрицы settings. Функция основана на алгоритме изменения координат.

[settings,X] = dcovary(nfactors,covariates) в отличии от первого варианта синтаксиса функция возвращает матрицу D-оптимального плана X.

 

[settings,X] = dcovary(nfactors,covariates,'model') функция позволяет получить матрицу значений факторов settings и матрицу D-оптимального плана эксперимента Х на основе на основе матрицы covariates, задающей блоки и количество опытов, заданного числа факторов nfactors, и вида уравнения регрессии 'model'. Возможны следующие модели регрессии

Значение 'model'

Вид математической модели

'linear'

Линейная модель с постоянным членом. Значение по умолчанию.

'interaction' 

Линейная модель с постоянным членом и эффектами взаимодействия.

'quadratic' 

Полная квадратическая модель, включающая линейные, квадратические эффекты, эффекты взаимодействий, постоянный член. 

'purequadratic'

Неполная квадратическая модель, включающая линейные, квадратические эффекты, постоянный член.

Кроме строкового значения входной аргумент model может быть задан как вектор или матрица согласно такому же аргументу функции x2fx. Функция x2fx позволяет выполнить преобразование матрицы значений факторов Х в матрицу плана эксперимента D. В случае, если X и model заданы как векторы, то матрица плана эксперимента формируется по правилу: каждый столбец D является последовательным возведением Х в степень элемента вектора model. Размерность матрицы D равна nxm, где n - число элементов вектора Х, m - число элементов вектора model. Т.е., вектор model является списком степеней полинома регрессионной модели для одного фактора Х. Если X и model заданы как матрицы, то столбец матрицы D формируются по формуле:

D(i,j)=prod(Х(i,:).^model(j,:)),

 

т.е., ij-й элемент матрицы D является произведением элементов i-й строки матрицы Х возведенных последовательно в степени j-й строки матрицы model. Таким образом, количество столбцов model должно быть равно числу столбцов матрицы Х.

[settings, X] = dcovary(...,'param1',value1,'param2',value2,...) дополнительные входные аргументы по отношению к предыдущим вариантам синтаксиса позволяют:

'display'

Вывод значения счетчика итераций. Возможные значения 'display': 'on' - вывод в командное окно, 'off' - отмена отображения. Значение по умолчанию 'on'.

'init'

Начальная матрица значений факторов с размерностью nruns x nfactors. По умолчанию предусматривается формирование начальной матрицы значений факторов случайным образом.

'maxiter'

Максимальное число итераций. Значение по умолчанию - 10.

Примечание. Функция dcovary выполняет поиск D-оптимального плана на основе алгоритма перестановки координат. На первом этапе генерируется начальный план эксперимента, содержащий постоянные кодовые значения, разделяющие матрицу плана на блоки, и переменные значения - значения уровней факторов. На втором этапе выполняется изменение для каждой переменной координат точек плана с целью минимизации дисперсии коэффициентов уравнения регрессии.

 

Примеры использования функции генерации D-оптимального блочного плана

Генерация матрицы значений факторов D-оптимального плана для 3 факторов разделенного на 2 блока по 4 опыта в каждом. Деление на блоки задается посредством векторной переменной covariates: "-1" кодирует первый блок, "1" кодирует второй блок. Четвертый столбец в матрице settings является блоковой переменной.

>> nfactors=3;

>> covariates=[-1 -1 -1 -1  1 1 1 1]'

covariates =

    -1

    -1

    -1

    -1

     1

     1

     1

     1

>> settings = dcovary(nfactors,covariates)

settings =

     1    -1     1    -1

     1     1    -1    -1

    -1    -1    -1    -1

    -1     1     1    -1

     1    -1     1     1

    -1     1     1     1

    -1    -1    -1     1

     1     1    -1     1

   

Генерация матрицы значений факторов и матрицы D-оптимального плана для 4 факторов разделенного 

на 3 блока по 3 опыта в каждом. Деление на блоки задается посредством векторной переменной covariates.

 

>> nfactors=4;

>> covariates=[-1 -1 -1  1 1 1 2 2 2]'

covariates =

    -1

    -1

    -1

     1

     1

     1

     2

     2

     2

>> [settings,X] = dcovary(nfactors,covariates)

settings =

     1     1    -1    -1    -1

    -1     1     1    -1    -1

    -1    -1    -1     1    -1

     1    -1     1     1     1

    -1     1     1     1     1

    -1     1    -1    -1     1

    -1    -1    -1    -1     2

     1     1    -1     1     2

     1    -1     1    -1     2

X =

     1     1     1    -1    -1    -1

     1    -1     1     1    -1    -1

     1    -1    -1    -1     1    -1

     1     1    -1     1     1     1

     1    -1     1     1     1     1

     1    -1     1    -1    -1     1

     1    -1    -1    -1    -1     2

     1     1     1    -1     1     2

     1     1    -1     1    -1     2

   

Генерация матрицы значений факторов и матрицы D-оптимального плана для 2 факторов разделенного 

на 4 блока по 2 опыта в каждом. Деление на блоки задается посредством матрицы covariates. 

Матрица covariates формируется с помощью функции dummyvar преобразованием вектора [1 1 2 2 3 3 4 4].

В качестве уравнения регрессии принимается линейная модель.

 

>> covariates = dummyvar([1 1 2 2 3 3 4 4])

covariates =

     1     0     0     0

     1     0     0     0

     0     1     0     0

     0     1     0     0

     0     0     1     0

     0     0     1     0

     0     0     0     1

     0     0     0     1

>> nfactors=2;

>> [settings,X] = dcovary(nfactors,covariates(:,1:3),'linear')

settings =

    -1     1     1     0     0

     1    -1     1     0     0

     1     1     0     1     0

    -1    -1     0     1     0

     1    -1     0     0     1

    -1     1     0     0     1

     1     1     0     0     0

    -1    -1     0     0     0

X =

     1    -1     1     1     0     0

     1     1    -1     1     0     0

     1     1     1     0     1     0

     1    -1    -1     0     1     0

     1     1    -1     0     0     1

     1    -1     1     0     0     1

     1     1     1     0     0     0

     1    -1    -1     0     0     0

   

Генерация матрицы значений факторов и матрицы D-оптимального плана для 2 факторов разделенного 

на 4 блока по 2 опыта в каждом. Деление на блоки задается посредством вектора covariates. 

Модель регрессии задается как матрица model.

>> covariates=[1 1 2 2 3 3 4 4]';

>> nfactors=2;

>> model=[0 1 2; 0 1 2; 0 1 2]

model =

     0     1     2

     0     1     2

     0     1     2

>> [settings,X] = dcovary(nfactors,covariates, model)

settings =

   -0.9852   -1.0000    1.0000

    0.5776   -1.0000    1.0000

   -0.9644   -1.0000    2.0000

    0.7559   -1.0000    2.0000

   -0.2949   -1.0000    3.0000

    0.4443   -1.0000    3.0000

    0.9369   -1.0000    4.0000

   -0.6887   -1.0000    4.0000

X =

    -1    -1    -1

    -1    -1    -1

    -4    -4    -4

    -4    -4    -4

    -9    -9    -9

    -9    -9    -9

   -16   -16   -16

   -16   -16   -16

   

Генерация матрицы значений факторов и матрицы D-оптимального плана для 3 факторов разделенного 

на 3 блока по 3 опыта в каждом. Деление на блоки задает вектор covariates. 

В качестве дрполнительного параметра используется матрица начального приближения А.

 

>> nfactors=3;

>> covariates=[-1 -1 -1  1 1 1 2 2 2]';

>> A=[ 0 0 0; 1 0 0; 0 1 0; -1 0 0; -1 -1 0; 0 0 -1; 1 -1 1; -1 -1 1; 1 -1 -1]

A =

     0     0     0

     1     0     0

     0     1     0

    -1     0     0

    -1    -1     0

     0     0    -1

     1    -1     1

    -1    -1     1

     1    -1    -1

>> [settings,X] = dcovary(nfactors,covariates,'purequadratic')

settings =

     1    -1    -1    -1

    -1     0     1    -1

     0     1     0    -1

    -1    -1     1     1

     1     0     0     1

     0     0    -1     1

    -1     1    -1     2

     0    -1     0     2

     1     1     1     2

X =

     1     1    -1    -1    -1     1     1     1     1

     1    -1     0     1    -1     1     0     1     1

     1     0     1     0    -1     0     1     0     1

     1    -1    -1     1     1     1     1     1     1

     1     1     0     0     1     1     0     0     1

     1     0     0    -1     1     0     0     1     1

     1    -1     1    -1     2     1     1     1     4

     1     0    -1     0     2     0     1     0     4

     1     1     1     1     2     1     1     1     4

   

Графическое представление матрицы D-оптимального плана эксперимента для 3 факторов, разделенного 

на 2 блока по 5 опытов в каждом. Матрица D-оптимального плана рассчитывается для неполной

квадратической модели.

>> nfactors=3;

>> covariates=[0 0 0 0 0 1 1 1 1 1]';

>> settings = dcovary(nfactors,covariates,'purequadratic')

settings =

    -1     1     0     0

    -1     0     1     0

     1    -1     1     0

     1     1    -1     0

     0     0    -1     0

     0     1     1     1

     1     0     0     1

     0    -1     0     1

    -1     1    -1     1

    -1    -1    -1     1

Первый блок

>> x= settings (1:5,1);

>> y= settings (1:5,2);

>> z= settings (1:5,3);

>> subplot(1,3,1)

>> plot3(x,y,z,'o')

>> grid on

Второй блок

>> x1= settings (6:10,1);

>> y1= settings (6:10,2);

>> z1= settings (6:10,3);

>> subplot(1,3,2)

>> plot3(x1,y1,z1,'dr')

>> grid on

Общий график

>> subplot(1,3,3)

>> plot3(x,y,z,'o',x1,y1,z1,'dr')

>> grid on

 

 

 

Наверх

ff2n - Определение плана полного факторного эксперимента для факторов имеющих 2 уровня

Синтаксис

X = ff2n(n)

 

Описание

X = ff2n(n) функция позволяет получить матрицу плана Х полного факторного эксперимента при условии, что все факторы входящие в план изменяются на двух уровнях. Входной аргумент n - количество факторов в эксперименте. Размерность матрицы плана эксперимента равна 2nxn, где 2n - число строк или число опытов в эксперименте, n - число столбцов. Элементы матрицы плана эксперимента выражаются в кодированной форме и равны 0 или 1. 0 соответствует минимальному значению фактора, 1 - максимальному значению фактора. Матрица плана эксперимента Х не рандомизирована и представляет собой последовательный перебор всех возможных комбинаций значений факторов.

Примеры использования функции генерации полного факторного эксперимента для факторов, изменяющихся на 2-х уровнях

Матрица плана полного 5-ти факторного эксперимента

>> n=5

n =

     5

>> X = ff2n(n)

X =

     0     0     0     0     0

     0     0     0     0     1

     0     0     0     1     0

     0     0     0     1     1

     0     0     1     0     0

     0     0     1     0     1

     0     0     1     1     0

     0     0     1     1     1

     0     1     0     0     0

     0     1     0     0     1

     0     1     0     1     0

     0     1     0     1     1

     0     1     1     0     0

     0     1     1     0     1

     0     1     1     1     0

     0     1     1     1     1

     1     0     0     0     0

     1     0     0     0     1

     1     0     0     1     0

     1     0     0     1     1

     1     0     1     0     0

     1     0     1     0     1

     1     0     1     1     0

     1     0     1     1     1

     1     1     0     0     0

     1     1     0     0     1

     1     1     0     1     0

     1     1     0     1     1

     1     1     1     0     0

     1     1     1     0     1

     1     1     1     1     0

     1     1     1     1     1

   

Графически матрицу планирования полного факторного эксперимента для трех факторов 

можно представить следующим образом

 

>> n=3;

>> X = ff2n(n)

X =

     0     0     0

     0     0     1

     0     1     0

     0     1     1

     1     0     0

     1     0     1

     1     1     0

     1     1     1

>> x= X (:,1);

>> y= X (:,2);

>> z= X (:,3);

>> plot3(x,y,z,'o')

>> grid on

 

 

Наверх

fracfact - Функция для формирования двухуровнего дробного факторного плана

Синтаксис

x = fracfact('gen') 

[x,conf] = fracfact('gen') 

 

Описание

x = fracfact('gen') служит для генерации матрицы x плана дробного факторного эксперимента согласно генератору 'gen'. Значения факторов в матрице плана эксперимента х равны 1 и -1. 1 соответствует максимальному уровню фактора, -1 - минимальному уровню. Генератор 'gen' является строковой переменной, состоящей из подстрок разделенных пробелами. Подстрока может состоять из одной и более букв латинского алфавита. В первую очередь задаются односимвольные подстроки, кодирующие факторы для матрицы полного факторного эксперимента. Эта матрица является основой дробного факторного плана. Правила определения значений остальных факторов в матрице дробного плана задаются в виде сочетаний символов, кодирующих факторы полного факторного эксперимента. Для этих факторов значения определяются как произведения значений кодированных переменных, соответствующих первой группе факторов. Например, для генератора 'gen'='a b ab' первые два фактора: a и b, образуют матрицу полного факторного плана вида:

>> x = ff2n(2)

x =

     0     0

     0     1

     1     0

     1     1

   

Подстрока ab определяет значение третьего фактора как построчное произведение a и b.

>> x = fracfact('a b ab')

x =

    -1    -1     1

    -1     1    -1

     1    -1    -1

     1     1     1

 

Для факторов второй группы комбинация символов в подстроке определяют вид смешивания их главных эффектов. Т.е., в предыдущем примере главный эффект третьего фактора β3 будет смешан с парным эффектом первых двух факторов β12 :

β3 -> β3 + β12

Матрица дробного факторного плана x является частью матрицы полного факторного плана эксперимента образованного всеми факторами. Число строк матрицы плана x равно 2n, где n - количество односимвольных подстрок в генераторе. Количество столбцов в матрице плана должно быть равно числу подстрок в генераторе. [x,conf] = fracfact('gen') этот вариант синтаксиса функции возвращает матрицу conf показывающую способ смешивания главных эффектов факторов и их парных взаимодействий.

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

 

Пример 1

Целью эксперимента является оценка величин главных (линейных) эффектов 4 факторов на функцию отклика при проведении восьми опытов. Каждый опыт проводится без повторений.

 

Проведение полного факторного эксперимента потребует 42=16 опытов. Однако, если на основании априорных данных предположить незначимость тройных взаимодействий, то можно оценить величины главных эффектов четырех факторов в восьми опытах.

Матрица планирования дробного факторного эксперимента x в этом случае примет вид

>> [x,conf] = fracfact('a b c abc')

x =

    -1    -1    -1    -1

    -1    -1     1     1

    -1     1    -1     1

    -1     1     1    -1

     1    -1    -1     1

     1    -1     1    -1

     1     1    -1    -1

     1     1     1     1

conf = 

    'Term'     'Generator'    'Confounding'  

    'X1'         'a'                  'X1'           

    'X2'         'b'                  'X2'           

    'X3'         'c'                  'X3'           

    'X4'         'abc'              'X4'           

    'X1*X2'  'ab'                'X1*X2 + X3*X4'

    'X1*X3'  'ac'                'X1*X3 + X2*X4'

    'X1*X4'  'bc'                'X1*X4 + X2*X3'

    'X2*X3'  'bc'                'X1*X4 + X2*X3'

    'X2*X4'  'ac'                'X1*X3 + X2*X4'

    'X3*X4'  'ab'                'X1*X2 + X3*X4'

 

Первые 3 столбца матрицы х представляют матрицу полного факторного эксперимента для трех факторов a, b, c. Четвертый столбец получен построчным перемножением значений первых трех факторов. Матрица conf показывает, что такое планирование эксперимента позволяет оценить не смешанные главные эффекты для всех четырех факторов. Парные взаимодействия смешаны друг с другом. Например, эффект от парного взаимодействия первого и второго факторов смешан с эффектом парного взаимодействия третьего и четвертого факторов: X1*X2 + X3*X4. Это не позволяет раздельно оценить их эффекты. 

В случае, если после проведения указанных восьми опытов выясниться что суммарный эффект от взаимодействия X1*X2+X3*X4 значим, то целесообразно определить какое парное взаимодействие значимо X1*X2 или X3*X4. Для этого дробную реплику из первых восьми опытов можно дополнить второй репликой до полного факторного эксперимента. Матрица второй реплики задается тем же генератором, но с обратным знаком для четвертого фактора:

>> fracfact('a b c -abc')

ans =

    -1    -1    -1     1

    -1    -1     1    -1

    -1     1    -1    -1

    -1     1     1     1

     1    -1    -1    -1

     1    -1     1     1

     1     1    -1     1

     1     1     1    -1

   

Пример 2

 

Необходимо оценить величины линейных эффектов восьми факторов. Поскольку в большинстве случаев парные эффекты взаимодействия больше эффектов взаимодействия высших порядков, то необходимо так составить дробную реплику, чтобы линейные эффекты не были смешаны с ними при минимальном количестве опытов. Поведение полного факторного эксперимента потребовало бы 82=256 опытов. Использование дробной реплики полного факторного эксперимента позволяет при 16 опытах получить оценки главных эффектов 8 факторов не смешанных с парными взаимодействиями. Реплику 16/256 для названных условий можно получить с использованием следующего генератора

>> [x, conf] = fracfact('a b c d abc acd abd bcd')

x =

    -1    -1    -1    -1    -1    -1    -1    -1

    -1    -1    -1     1    -1     1     1     1

    -1    -1     1    -1     1     1    -1     1

    -1    -1     1     1     1    -1     1    -1

    -1     1    -1    -1     1    -1     1     1

    -1     1    -1     1     1     1    -1    -1

    -1     1     1    -1    -1     1     1    -1

    -1     1     1     1    -1    -1    -1     1

     1    -1    -1    -1     1     1     1    -1

     1    -1    -1     1     1    -1    -1     1

     1    -1     1    -1    -1    -1     1     1

     1    -1     1     1    -1     1    -1    -1

     1     1    -1    -1    -1     1    -1     1

     1     1    -1     1    -1    -1     1    -1

     1     1     1    -1     1    -1    -1    -1

     1     1     1     1     1     1     1     1

conf = 

Term  Generator Confounding

X1  a X1

X2  b X2

X3  c X3

X4  d X4

X5  abc X5

X6  acd X6

X7  abd X7

X8  bcd X8

X1*X2 ab  X1*X2 + X3*X5 + X4*X7 + X6*X8

X1*X3 ac  X1*X3 + X2*X5 + X4*X6 + X7*X8

X1*X4 ad  X1*X4 + X2*X7 + X3*X6 + X5*X8

X1*X5 bc  X1*X5 + X2*X3 + X4*X8 + X6*X7

X1*X6 cd  X1*X6 + X2*X8 + X3*X4 + X5*X7

X1*X7 bd  X1*X7 + X2*X4 + X3*X8 + X5*X6

X1*X8 abcd  X1*X8 + X2*X6 + X3*X7 + X4*X5

X2*X3 bc  X1*X5 + X2*X3 + X4*X8 + X6*X7

X2*X4 bd  X1*X7 + X2*X4 + X3*X8 + X5*X6

X2*X5 ac  X1*X3 + X2*X5 + X4*X6 + X7*X8

X2*X6 abcd  X1*X8 + X2*X6 + X3*X7 + X4*X5

X2*X7 ad  X1*X4 + X2*X7 + X3*X6 + X5*X8

X2*X8 cd  X1*X6 + X2*X8 + X3*X4 + X5*X7

X3*X4 cd  X1*X6 + X2*X8 + X3*X4 + X5*X7

X3*X5 ab  X1*X2 + X3*X5 + X4*X7 + X6*X8

X3*X6 ad  X1*X4 + X2*X7 + X3*X6 + X5*X8

X3*X7 abcd  X1*X8 + X2*X6 + X3*X7 + X4*X5

X3*X8 bd  X1*X7 + X2*X4 + X3*X8 + X5*X6

X4*X5 abcd  X1*X8 + X2*X6 + X3*X7 + X4*X5

X4*X6 ac  X1*X3 + X2*X5 + X4*X6 + X7*X8

X4*X7 ab  X1*X2 + X3*X5 + X4*X7 + X6*X8

X4*X8 bc  X1*X5 + X2*X3 + X4*X8 + X6*X7

X5*X6 bd  X1*X7 + X2*X4 + X3*X8 + X5*X6

X5*X7 cd  X1*X6 + X2*X8 + X3*X4 + X5*X7

X5*X8 ad  X1*X4 + X2*X7 + X3*X6 + X5*X8

X6*X7 bc  X1*X5 + X2*X3 + X4*X8 + X6*X7

X6*X8 ab  X1*X2 + X3*X5 + X4*X7 + X6*X8

X7*X8 ac  X1*X3 + X2*X5 + X4*X6 + X7*X8

Матрица conf показывает, что линейные эффекты восьми факторов не смешаны с парными взаимодействиями. Парные взаимодействия смешаны друг с другом. Применение других генераторов не всегда позволяет достичь такого смешивания, например

>> [x, conf] = fracfact('a b c d ab cd ad bc')

x =

    -1    -1    -1    -1     1     1     1     1

    -1    -1    -1     1     1    -1    -1     1

    -1    -1     1    -1     1    -1     1    -1

    -1    -1     1     1     1     1    -1    -1

    -1     1    -1    -1    -1     1     1    -1

    -1     1    -1     1    -1    -1    -1    -1

    -1     1     1    -1    -1    -1     1     1

    -1     1     1     1    -1     1    -1     1

     1    -1    -1    -1    -1     1    -1     1

     1    -1    -1     1    -1    -1     1     1

     1    -1     1    -1    -1    -1    -1    -1

     1    -1     1     1    -1     1     1    -1

     1     1    -1    -1     1     1    -1    -1

     1     1    -1     1     1    -1     1    -1

     1     1     1    -1     1    -1    -1     1

     1     1     1     1     1     1     1     1

conf =

    'Term'     'Generator'    'Confounding'          

    'X1'       'a'            'X1 + X2*X5 + X4*X7'   

    'X2'       'b'            'X2 + X1*X5 + X3*X8'   

    'X3'       'c'            'X3 + X2*X8 + X4*X6'   

    'X4'       'd'            'X4 + X1*X7 + X3*X6'   

    'X5'       'ab'           'X5 + X1*X2'           

    'X6'       'cd'           'X6 + X3*X4'           

    'X7'       'ad'           'X7 + X1*X4'           

    'X8'       'bc'           'X8 + X2*X3'           

    'X1*X2'    'ab'           'X5 + X1*X2'           

    'X1*X3'    'ac'           'X1*X3 + X5*X8 + X6*X7'

    'X1*X4'    'ad'           'X7 + X1*X4'           

    'X1*X5'    'b'            'X2 + X1*X5 + X3*X8'   

    'X1*X6'    'acd'          'X1*X6 + X3*X7'        

    'X1*X7'    'd'            'X4 + X1*X7 + X3*X6'   

    'X1*X8'    'abc'          'X1*X8 + X3*X5'        

    'X2*X3'    'bc'           'X8 + X2*X3'           

    'X2*X4'    'bd'           'X2*X4 + X5*X7 + X6*X8'

    'X2*X5'    'a'            'X1 + X2*X5 + X4*X7'   

    'X2*X6'    'bcd'          'X2*X6 + X4*X8'        

    'X2*X7'    'abd'          'X2*X7 + X4*X5'        

    'X2*X8'    'c'            'X3 + X2*X8 + X4*X6'   

    'X3*X4'    'cd'           'X6 + X3*X4'           

    'X3*X5'    'abc'          'X1*X8 + X3*X5'        

    'X3*X6'    'd'            'X4 + X1*X7 + X3*X6'   

    'X3*X7'    'acd'          'X1*X6 + X3*X7'        

    'X3*X8'    'b'            'X2 + X1*X5 + X3*X8'   

    'X4*X5'    'abd'          'X2*X7 + X4*X5'        

    'X4*X6'    'c'            'X3 + X2*X8 + X4*X6'   

    'X4*X7'    'a'            'X1 + X2*X5 + X4*X7'   

    'X4*X8'    'bcd'          'X2*X6 + X4*X8'        

    'X5*X6'    'abcd'         'X5*X6 + X7*X8'        

    'X5*X7'    'bd'           'X2*X4 + X5*X7 + X6*X8'

    'X5*X8'    'ac'           'X1*X3 + X5*X8 + X6*X7'

    'X6*X7'    'ac'           'X1*X3 + X5*X8 + X6*X7'

    'X6*X8'    'bd'           'X2*X4 + X5*X7 + X6*X8'

    'X7*X8'    'abcd'         'X5*X6 + X7*X8'    

 

Как следует из анализа матрицы conf использование генератора 'a b c d ab cd ad bc' приводит к получению главных эффектов смешанных с парными взаимодействиями.

Графическое сравнение планов дробного и полного факторных экспериментов для трех факторов изменяющихся на двух уровнях.

>> n=3;

>> X = fracfact('a b ab')

X =

    -1    -1     1

    -1     1    -1

     1    -1    -1

     1     1     1

>> X = (X +1)/2

X =

     0     0     1

     0     1     0

     1     0     0

     1     1     1

>> x=X(:,1);

>> y=X(:,2);

>> z=X(:,3);

>> subplot(1,2,1)

>> plot3(x,y,z,'o')

>> grid on

>> Y = ff2n(n)

Y =

     0     0     0

     0     0     1

     0     1     0

     0     1     1

     1     0     0

     1     0     1

     1     1     0

     1     1     1

>> x1= Y (:,1);

>> y1= Y (:,2);

>> z1= Y (:,3);

>> subplot(1,2,2)

>> plot3(x1,y1,z1,'dr')

>> grid on

 

 

 

Наверх

fullfact - Функция формирования плана полного факторного эксперимента для числа уровней факторов задаваемых пользователем

Синтаксис

design = fullfact(levels)

 

Описание

design = fullfact(levels) функция предназначена для генерации матрицы полного факторного эксперимента design при произвольном числе факторов и заданном количестве уровней для каждого фактора. Количество факторов и число уровней определяется вектором levels в формате levels=[n m k …], где n, m, k - число уровней первого, второго, третьего факторов и т.д. Элементы матрицы плана эксперимента представляются кодированными значениями и соответственно равны 1..n, 1..m, 1..k и т.д. 1 соответствует минимальному значению фактора и далее по возрастанию. Матрица плана эксперимента не рандомизирована и представляет собой последовательный перебор всех возможных комбинаций значений факторов.

Примеры использования функции генерации полного факторного эксперимента для произвольного числа и количества уровней факторов

Генерация матрицы плана эксперимента для трех факторов изменяющихся на 3 уровнях.

>> levels=[3 3 3]

levels =

     3     3     3

>> design = fullfact(levels)

design =

     1     1     1

     2     1     1

     3     1     1

     1     2     1

     2     2     1

     3     2     1

     1     3     1

     2     3     1

     3     3     1

     1     1     2

     2     1     2

     3     1     2

     1     2     2

     2     2     2

     3     2     2

     1     3     2

     2     3     2

     3     3     2

     1     1     3

     2     1     3

     3     1     3

     1     2     3

     2     2     3

     3     2     3

     1     3     3

     2     3     3

     3     3     3

   

Графически матрицу планирования эксперимента для трех факторов 

изменяющихся на трех уровнях можно представить следующим образом

 

>> levels=[3 3 3];

>> design = fullfact(levels);

>> x=design(:,1);

>> y=design(:,2);

>> z=design(:,3);

>> plot3(x,y,z,'o')

>> grid on

Генерация матрицы плана эксперимента для трех факторов изменяющихся на 2x4x3 уровнях соответственно

 

>> levels=[2 4 3]

levels =

     2     4     3

>> design = fullfact(levels)

design =

     1     1     1

     2     1     1

     1     2     1

     2     2     1

     1     3     1

     2     3     1

     1     4     1

     2     4     1

     1     1     2

     2     1     2

     1     2     2

     2     2     2

     1     3     2

     2     3     2

     1     4     2

     2     4     2

     1     1     3

     2     1     3

     1     2     3

     2     2     3

     1     3     3

     2     3     3

     1     4     3

     2     4     3

   

Графически матрицу планирования эксперимента для трех факторов изменяющихся на 2x4x3 уровнях 

можно представить следующим образом

>> levels=[2 4 3]

>> design = fullfact(levels)

>> x=design(:,1);

>> y=design(:,2);

>> z=design(:,3);

>> plot3(x,y,z,'o')

>> grid on

 

 

 

Наверх

hadamard - Матрица Адамара. Матрица Адамара соответствует плану дробного факторного эксперимента для факторов, каждый из которых задан на отрезке [-1 1]. И служит для построения линейной регрессионной модели. (Встроенная функция MATLAB)

Синтаксис

H = hadamard(n)

 

Описание

H = hadamard(n) функция предназначена для генерации матрицы Адамара n-го порядка. Матрица Адамара Н - это матрица с ортогональными столбцами, элементами которой являются 1 и -1, для которой должно выполняться условие

H'*H=n*I

где [n n] = size(H), I = eye(n,n).

 

Матрица Адамара размерностью nxn , при n>2, существует, если rem(n,4)=0. Для входного аргумента n должно выполняться условие - n, n/12, n/20 являются степенью 2.

Примеры использования функции генерации матрицы Адамара

Генерация матрицы Адамара с размерностью 4x4 

 

>> H = hadamard(4)

H =

     1     1     1     1

     1    -1     1    -1

     1     1    -1    -1

     1    -1    -1     1

   

Проверка выполнения условия H'*H=n*I ,

>> n=4

n =

     4

>> H = hadamard(4);

>> I = eye(n,n)

I =

     1     0     0     0

     0     1     0     0

     0     0     1     0

     0     0     0     1

>> I*4==H'*H

ans =

     1     1     1     1

     1     1     1     1

     1     1     1     1

     1     1     1     1

 

 

 

Наверх

lhsdesign - План на основе латинских квадратов

Синтаксис

X = lhsdesign(n,p)

X = lhsdesign(...,'smooth','off')

X = lhsdesign(...,'criterion','c')

X = lhsdesign(...,'iterations',k)

Описание

X = lhsdesign(n,p) служит для генерации выборки латинского гиперкуба X, содержащую n значений для каждого значения переменной p (генерируется матрица размерностью n-p). Колонка матрицы содержит n случайных чисел полученных на одном из интервалов (0,1/n), (1/n,2/n), ..., (1-1/n,1) с последующей их случайной перестановкой.

 

Значение параметра 'smooth' определяет:

  1. X = lhsdesign(...,'smooth','off') - случайную генерацию чисел из интервалов (0,1/n), (1/n,2/n), ..., (1-1/n,1);

  2. X = lhsdesign(...,'smooth','on') - генерацию значений выборки как центральных точек указанных интервалов: 0.5/n, 1.5/n, ..., 1-0.5/n.

Значение параметра 'smooth' по умолчанию - 'on'.

Параметр 'criterion' задает итерационную процедуру генерации выборки латинского гиперкуба X в соответствии со значением 'c'. Возможные значения 'criterion' приведены в следующей таблице

'none'

Отключение итерационной процедуры

'maximin'

Максимизация минимального расстояния между значениями выборки

'correlation'

Минимизация значения коэффициента корреляции

Параметр 'iterations' позволяет задать число итераций k при генерации выборки X по итерационной процедуре. По умолчанию число итераций K=5.

 

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

Примеры использования функции генерации псевдослучайных чисел

Генерация матрицы латинского гиперкуба с размерностью 3-5.

>> n=3

n =

     3

>> p=5

p =

     5

>> X = lhsdesign(n,p)

X =

    0.7987    0.3282    0.3561    0.3846    0.1093

    0.5759    0.7511    0.8447    0.8249    0.7206

    0.2671    0.5183    0.1938    0.2658    0.6601

Использование параметра 'smooth' для генерации матрицы латинского гиперкуба с размерностью 3-5.

 

>> X = lhsdesign(n,p,'smooth','off')

X =

    0.5000    0.5000    0.8333    0.8333    0.1667

    0.1667    0.8333    0.1667    0.1667    0.8333

    0.8333    0.1667    0.5000    0.5000    0.5000

>> X = lhsdesign(n,p,'smooth','on')

X =

    0.7205    0.0991    0.1018    0.6811    0.6090

    0.4773    0.8178    0.7929    0.1591    0.6734

    0.2099    0.5184    0.4017    0.3733    0.2429

Использование критерия генерации выборки латинского гиперкуба

 

>> X = lhsdesign(n,p,'criterion','none')

X =

    0.1615    0.5914    0.1567    0.5401    0.8463

    0.8887    0.1401    0.4532    0.7389    0.4774

    0.5224    0.7465    0.9303    0.1064    0.0686

>> X = lhsdesign(n,p,'criterion', 'maximin')

X =

    0.5600    0.5293    0.1867    0.9291    0.6221

    0.6800    0.0851    0.3555    0.3869    0.2643

    0.0911    0.9107    0.7722    0.1237    0.7976

>> X = lhsdesign(n,p,'criterion', 'correlation')

X =

    0.9945    0.9808    0.4275    0.8485    0.9488

    0.2700    0.5441    0.1024    0.5194    0.4415

    0.4710    0.1228    0.9720    0.2156    0.1003

Генерация латинского гиперкуба с заданным числом итераций

 

X = lhsdesign(n,p,'criterion', 'correlation','iterations',10)

X =

    0.1667    0.1667    0.8333    0.1667    0.5000

    0.8333    0.8333    0.1667    0.8333    0.8333

    0.5000    0.5000    0.5000    0.5000    0.1667

 

 

Наверх

lhsnorm - Латинские квадраты для многомерной нормальной выборки

Синтаксис

X = lhsnorm(mu,SIGMA,n)

X = lhsnorm(mu,SIGMA,n,'onoff')

Описание

X = lhsnorm(mu,SIGMA,n) генерирует выборку латинского гиперкуба X размерностью n соответствующую многомерному нормальному распределению с вектором среднего mu и ковариационной матрицей SIGMA. Матрица SIGMA должна быть положительно определенной, квадратной и числом строк (столбцов) равным числу элементов в векторе mu. Выборка X распределена по многомерному нормальному закону. Предельным распределением каждой колонки массива является одномерный нормальный закон.

 

Параметр 'onoff' определяет коэффициент сглаживания выборки. Если 'onoff'='off', каждая колонка массива является перестановкой значений G(0.5/n), G(1.5/n), ..., G(1-0.5/n), где G обратная функция нормального распределения. Если 'onoff'='on' каждая колонка массива включает значения распределенные по равномерному закону. В этом случае, в качестве первого значения равного 0.5/n генерируется значение распределенное по закону равной вероятности на интервале (0/n,1/n). По умолчанию принимается 'onoff'='on'.

Примеры использования функции генерации псевдослучайных чисел

Генерация одного псевдослучайного числа

>> mu=1

mu =

     1

>> SIGMA=1

SIGMA =

     1

>> n=1

n =

     1

>> X = lhsnorm(mu,SIGMA,n)

X =

    2.5469

Генерация вектора случайных чисел

 

>> mu=1

mu =

     1

>> SIGMA=1

SIGMA =

     1

>> n=5

n =

     5

>> X = lhsnorm(mu,SIGMA,n)

X =

   -0.0472

    1.1579

    1.2965

    0.6823

    3.7835

Генерация матрицы псевдослучайных чисел с размерностью 2-5.

 

>> mu=[1 2]

mu =

     1     2

>> n=5

n =

     5

>> SIGMA=pascal(2)

SIGMA =

     1     1

     1     2

>> X = lhsnorm(mu,SIGMA,n)

X =

    1.6009    3.2662

   -0.5525    1.2473

    1.9235    7.8638

    0.4209   -0.3438

    1.1730    1.8496

Генерация матрицы псевдослучайных чисел с размерностью 2-5 и использованием параметра 'onoff'.

 

>> mu=[1 2]

mu =

     1     2

>> n=5

n =

     5

>> SIGMA=pascal(2)

SIGMA =

     1     1

     1     2

>> X = lhsnorm(mu,SIGMA,n,'off')

X =

   -0.2816    2.0000

    1.0000   -0.5631

    2.2816    3.0488

    0.4756    0.9512

    1.5244    4.5631

>> X = lhsnorm(mu,SIGMA,n,'on')

X =

    0.7024    5.3389

    1.3752    1.2876

    0.7623    2.2380

    2.0671    2.8099

   -0.7103   -3.2271

 

 

Наверх

rowexch - Функция для определения точного D-оптимального плана на основе алгоритма обмена строк

Синтаксис

settings = rowexch(nfactors,nruns)

[settings,X] = rowexch(nfactors,nruns)

[settings,X] = rowexch(nfactors,nruns,'model')

[settings,X] = rowexch(...,'param1',value1,'param2',value2,...)

 

Описание

settings = rowexch(nfactors,nruns) функция позволяет получить матрицу значений факторов D-оптимального плана settings на основе алгоритма перестановки строк в кодированных переменных, изменяющихся на двух уровнях (-1 - минимальное значение фактора, 1 - максимальное значение фактора). settings представляет собой матрицу D-оптимального плана эксперимента за исключением столбца соответствующего постоянному члену. Входными параметрами являются число факторов nfactors и количество опытов nruns. В качестве уравнения регрессии принимается линейная модель. Размерность матрицы settings равна nruns строк на nfactors столбцов.

[settings,X] = rowexch(nfactors,nruns) кроме матрицы значений факторов settings функция rowexch возвращает матрицу D-оптимального плана эксперимента Х.

 

[settings,X] = rowexch(nfactors,nruns,'model') этот вариант синтаксиса функции предусматривает генерацию матриц settings и Х для заданных числа факторов nfactors, количества опытов nruns и вида математической модели 'model'. Предусмотрены следующие виды математических моделей:

Значение 'model'

Вид математической модели

'linear'

Линейная модель с постоянным членом. Значение по умолчанию.

'interaction' 

Линейная модель с постоянным членом и эффектами взаимодействия.

'quadratic' 

Полная квадратическая модель, включающая линейные, квадратические эффекты, эффекты взаимодействий, постоянный член. 

'purequadratic'

Неполная квадратическая модель, включающая линейные, квадратические эффекты, постоянный член.

[settings,X] = rowexch(...,'param1',value1,'param2',value2,...) кроме числа факторов nfactors, количества опытов nruns, вида математической модели 'model' предусмотрены следующие дополнительные входные аргументы:

'display'

Вывод значения счетчика итераций. Возможные значения 'display': 'on' - вывод в командное окно, 'off' - отмена отображения. Значение по умолчанию 'on'.

'init'

Начальная матрица значений факторов с размерностью nruns x nfactors. По умолчанию предусматривается формирование начальной матрицы значений факторов случайным образом.

'maxiter'

Максимальное число итераций. Значение по умолчанию - 10.

Дополнительные аргументы задаются в виде пары: 'название параметра', значение параметра.

Примечание. Функция rowexch осуществляет поиск D-оптимального плана на основе алгоритма перестановки строк. На первом этапе генерируется начальное множество точек в факторном пространстве, которые могут быть включены в план эксперимента. На втором этапе посредством перестановки строк в начальной матрице плана, формируется результирующая матрица плана эксперимента по критерию минимизации дисперсии коэффициентов уравнения регрессии. Если необходимо задать начальное множество точек отличное от генерируемого по умолчанию функцией rowexch используются функции candgen and candexch.

 

Примеры использования функции генерации матрицы D-оптимального плана на основе алгоритма перестановки строк

Генерация матрицы значений факторов D-оптимального плана для 4 факторов и 10 опытов

>>nfactors=4;

>> nruns=10;

>>settings = rowexch(nfactors,nruns)

settings =

    -1    -1     1     1

    -1    -1    -1    -1

     1     1     1    -1

     1    -1     1     1

    -1     1     1    -1

     1    -1    -1    -1

     1     1    -1     1

    -1     1    -1     1

    -1    -1     1     1

     1    -1    -1    -1

   

Генерация матрицы значений факторов и матрицы D-оптимального плана для 5 факторов и 12 опытов

 

>>nfactors=5;

>> nruns=12;

>>[settings,X] = rowexch(nfactors,nruns)

settings =

     1     1    -1    -1     1

    -1    -1    -1    -1     1

     1    -1    -1     1    -1

     1    -1     1    -1    -1

     1    -1     1    -1     1

    -1    -1     1     1     1

     1     1     1     1    -1

    -1    -1    -1     1    -1

    -1     1     1    -1    -1

    -1     1     1     1     1

    -1     1    -1    -1    -1

     1     1    -1     1     1

X =

     1     1     1    -1    -1     1

     1    -1    -1    -1    -1     1

     1     1    -1    -1     1    -1

     1     1    -1     1    -1    -1

     1     1    -1     1    -1     1

     1    -1    -1     1     1     1

     1     1     1     1     1    -1

     1    -1    -1    -1     1    -1

     1    -1     1     1    -1    -1

     1    -1     1     1     1     1

     1    -1     1    -1    -1    -1

     1     1     1    -1     1     1

   

Генерация матрицы значений факторов и матрицы D-оптимального плана для 4 факторов, 

20 опытов и полной квадратической модели.

>>nfactors=4;

>> nruns=20;

>> model='quadratic';

>>[settings,X] = rowexch(nfactors,nruns,model)

settings =

     1    -1     1    -1

     0     0     0     0

    -1     0     1    -1

    -1    -1     1     0

     1     1    -1     1

     1    -1     1     1

     1     0    -1    -1

     0    -1    -1     1

     1     1     1    -1

    -1    -1    -1    -1

     1    -1    -1     0

    -1     1    -1     1

    -1    -1     0     1

    -1     1     0    -1

     0     1    -1    -1

     0    -1     0    -1

    -1     1     1     1

     1     1     1     1

    -1     0    -1     0

     1     1     0     0

X =

     1     1    -1     1    -1    -1     1    -1    -1     1    -1     1     1     1     1

     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0

     1    -1     0     1    -1     0    -1     1     0     0    -1     1     0     1     1

     1    -1    -1     1     0     1    -1     0    -1     0     0     1     1     1     0

     1     1     1    -1     1     1    -1     1    -1     1    -1     1     1     1     1

     1     1    -1     1     1    -1     1     1    -1    -1     1     1     1     1     1

     1     1     0    -1    -1     0    -1    -1     0     0     1     1     0     1     1

     1     0    -1    -1     1     0     0     0     1    -1    -1     0     1     1     1

     1     1     1     1    -1     1     1    -1     1    -1    -1     1     1     1     1

     1    -1    -1    -1    -1     1     1     1     1     1     1     1     1     1     1

     1     1    -1    -1     0    -1    -1     0     1     0     0     1     1     1     0

     1    -1     1    -1     1    -1     1    -1    -1     1    -1     1     1     1     1

     1    -1    -1     0     1     1     0    -1     0    -1     0     1     1     0     1

     1    -1     1     0    -1    -1     0     1     0    -1     0     1     1     0     1

     1     0     1    -1    -1     0     0     0    -1    -1     1     0     1     1     1

     1     0    -1     0    -1     0     0     0     0     1     0     0     1     0     1

     1    -1     1     1     1    -1    -1    -1     1     1     1     1     1     1     1

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

     1    -1     0    -1     0     0     1     0     0     0     0     1     0     1     0

     1     1     1     0     0     1     0     0     0     0     0     1     1     0     0

 

Генерация матрицы значений факторов и матрицы D-оптимального плана для 4 факторов, 4 опытов и неполной квадратической модели. А является начальной матрицей для генерации D-оптимального плана эксперимента.

>>nfactors=4;

>> nruns=4;

>> model='purequadratic';

>> A=[1 0 1 0; 0 0 0 0; 1 1 1 1; 0 0 1 1]

A =

     1     0     1     0

     0     0     0     0

     1     1     1     1

     0     0     1     1

>>[settings,X] = rowexch(nfactors,nruns,model,'init',A)

settings =

    -1     1    -1     1

     1    -1    -1    -1

     1     1     1     0

     0    -1     1     1

X =

     1    -1     1    -1     1     1     1     1     1

     1     1    -1    -1    -1     1     1     1     1

     1     1     1     1     0     1     1     1     0

     1     0    -1     1     1     0     1     1     1

   

Графическое представление матрицы D-оптимального плана рассчитанной для 3 факторов, 

12 опытов и полной квадратической модели

>>nfactors=3;

>> nruns=12;

>> model='quadratic';

>>settings = rowexch(nfactors,nruns,model)

settings =

    -1     1    -1

     0     0    -1

     1     1    -1

     1    -1    -1

     1     1     1

    -1     1     1

     1    -1     1

    -1    -1    -1

    -1    -1     1

     1    -1     0

    -1     0     0

     0     1     0

>> x= settings (:,1);

>> y= settings (:,2);

>> z= settings (:,3);

>> plot3(x,y,z,'o')

>> grid on

 

 

 

Наверх

cluster - Деление иерархического дерева кластеров (группировка выходных данных функции linkage) на отдельные кластеры

Синтаксис

T = cluster(Z,'cutoff',c)

T = cluster(Z,'maxclust',n)

T = cluster(...,'criterion','crit')

T = cluster(...,'depth',d)

Описание

T = cluster(Z,'cutoff',c) функция предназначена для разделения на отдельные кластеры T иерархического дерева кластеров Z, полученного с помощью функции linkage. Входной параметр Z является матрицей с размерностью , где m - количество наблюдений многомерной случайной величины исходного множества данных. Входной параметр С - пороговая величина предназначенная для деления иерархического дерева Z на кластеры. Кластер формируется путем исключения связей иерархического дерева кластеров для которых значения коэффициентов несовместимости меньше величины С (подробнее см. описание функции inconsistent). Выходной параметр Т является вектором номеров кластеров к которым отнесены объекты исходного множества данных. Число элементов вектора Т равно m.

T = cluster(Z,'maxclust',n) входной параметр n определяет максимальное количество формируемых кластеров на которое делится иерархическое дерево кластеров Z.

T = cluster(...,'criterion','crit') входной параметр 'crit' определяет критерий формирования кластеров. Возможные значения: 'crit'='inconsistent', или 'crit'='distance'.

T = cluster(...,'depth',d) входной параметр d задает число вышележащих уровней иерархии в дереве кластеров при расчете коэффициентов несовместимости. Значение по умолчанию d=2. Коэффициент несовместимости служит для сравнения связи между двумя объектами в дереве кластеров с соседними восходящими связями на число вышележащих уровней иерархии.

Примеры использования функции кластеризации объектов по выходному параметру функции linkage

Кластеризация объектов по выходному параметру функции linkage. В качестве исходных данных используется 5-ти мерная случайная величина Х. Распределение Х является композицией нормального закона и закона Вейбулла. Сравнивается распределение объектов по кластерам для пороговой величины равной 0.1*(max(Z(:,3))), 0.3*(max(Z(:,3))), 0.4*(max(Z(:,3))). Графическое представление иерархического дерева кластеров выполняется с помощью функции dendrogram.

>> X=normrnd(0,1,15,5)+weibrnd(1,2,15,5);

>> Y = pdist(X);

>> Z = linkage(Y);

>> t1=0.1*(max(Z(:,3)));

>> t2=0.3*(max(Z(:,3)));

>> t3=0.4*(max(Z(:,3)));

>> dendrogram(Z);

>> T1 = cluster(Z,'cutoff', t1);

>> T2 = cluster(Z,'cutoff', t2);

>> T3 = cluster(Z,'cutoff', t3);

>> cat(2,T1,T2,T3)

ans =

     3     3     1

     3     3     1

     1     1     2

     2     2     5

     4     4     3

     1     1     2

     8     8     3

     9     9     4

     7     7     1

     5     5     2

     6     6     5

    10    10     6

     4     4     3

     2     2     5

    11    11     7

 

Кластеризация объектов по выходному параметру функции linkage. В качестве исходных данных используется 10-ти мерная случайная величина Х. Объем выборки равен 25 элементам. Х распределена по нормальному закону. Графическое представление иерархического дерева кластеров выполняется с помощью функции dendrogram. Максимальное число кластеров принято равным 5.

>> X=normrnd(0,1,25,10);

>> Y = pdist(X);

>> Z = linkage(Y);

>> dendrogram(Z);

>> T = cluster(Z,'maxclust', 5)

T =

     1

     1

     1

     1

     1

     1

     1

     1

     1

     3

     1

     5

     1

     1

     1

     1

     1

     4

     1

     1

     1

     1

     1

     1

     2

Кластеризация объектов по выходному параметру функции linkage. В качестве исходных данных используется 5-ти мерная случайная величина Х. Объем выборки равен 15 элементам. Х распределена по нормальному закону. Графическое представление иерархического дерева кластеров выполняется с помощью функции dendrogram. Критерий кластеризации 'crit'='distance'. Максимальное число кластеров принято равным 4.

>> X=normrnd(0,1,15,5);

>> Y = pdist(X);

>> Z = linkage(Y);

>> dendrogram(Z);

>> T = cluster(Z,'maxclust', 4, 'criterion', 'distance')

T =

     3

     1

     1

     1

     1

     1

     1

     1

     4

     2

     1

     1

     1

     1

     1

 

Кластеризация объектов по выходному параметру функции linkage. В качестве исходных данных используется 10-ти мерная случайная величина Х. Объем выборки равен 20 элементам. Х распределена по нормальному закону. Графическое представление иерархического дерева кластеров выполняется с помощью функции dendrogram. Критерий кластеризации 'crit'='inconsistent'. Максимальное число кластеров принято равным 6. Число вышележащих уровней иерархии в дереве кластеров при расчете коэффициентов несовместимости принято равным 3.

>> X=normrnd(0,1,20,10);

>> Y = pdist(X);

>> Z = linkage(Y);

>> dendrogram(Z);

>> T = cluster(Z,'maxclust', 6, 'criterion', 'inconsistent', 'depth', 3)

T =

     1

     4

     1

     1

     1

     6

     5

     1

     1

     1

     1

     1

     2

     5

     1

     1

     1

     3

     1

     1

 

 

Наверх

kmeans - Кластеризация на основе внутригрупповых средних

Синтаксис

IDX = kmeans(X,k)

[IDX,C] = kmeans(X,k)

[IDX,C,sumd] = kmeans(X,k)

[IDX,C,sumd,D] = kmeans(X,k)

[...] = kmeans(...,'param1',val1,'param2',val2,...)

Описание

IDX = kmeans(X, k) функция позволяет разделить множество исходных объектов, заданных матрицей Х, на k кластеров. Размерность Х равна , где n - количество наблюдений p-мерной случайной величины. Строки Х соответствуют наблюдениям, столбцы Х - признакам многомерной случайной величины. Процедура кластеризации является итерационной. Критерием кластеризации является минимум внутрикластерной суммы расстояний точек кластера до его центроида. Сумма расстояний находится по всем кластерам. В качестве расстояний точек кластера до его центроида используется квадрат евклидового расстояния. Функция возвращает вектор IDX индексов кластеров для каждого наблюдения многомерной случайной величины. Число элементов IDX равно n.

[IDX,C] = kmeans(X,k) функция возвращает матрицу координат центроидов кластеров C. Размерность матрицы С равна .

[IDX,C,sumd] = kmeans(X,k) функция возвращает вектор сумм расстояний объектов кластера до его центроида sumd. Число элементов sumd равно k.

[IDX,C,sumd,D] = kmeans(X,k) функция возвращает матрицу расстояний объектов кластера до его центроида D. Размерность матрицы D равна .

[...] = kmeans(...,'param1',val1,'param2',val2,...) дополнительные входные параметры 'param1', 'param2', :, предназначены для управления работой алгоритма кластеризации и задаются в виде пары <название параметра, значение>. Предусмотрены следующие входные параметры и их значения:

Значение параметра 'param'

Назначение параметра и его возможные значения, val

'distance'

Мера, используемая для расчета расстояний от объектов кластера до его центроида. Возможны следующие меры:

 

'sqEuclidean'

Квадрат Евклидового расстояния. Значение по умолчанию. Центроидом является среднее между объектами, образующими кластер.

 

'cityblock'

Расстояние по Манхеттену. Сумма абсолютных отклонений. Центроидом является медиана наблюдений, образующих кластер.

 

'cosine'

Косинусное расстояние. Определяется как единица минус косинус от угла между объектами, образующими кластер. Объекты в многомерном пространстве рассматриваются как векторы. Центроидом является среднее между объектами, образующими кластер, после приведения этих наблюдений к единицам евклидового расстояния.

 

'correlation'

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

 

'Hamming'

Расстояние Хэмминга. Определяется как процент отличающихся координат. Центроидом является медиана наблюдений, образующих кластер.

'start'

Способ определения начальных координат центроидов кластеров.

 

'sample'

Начальные координаты центроидов кластеров определяются как случайная выборка k наблюдений из матрицы Х. Значение по умолчанию.

 

'uniform'

Начальные координаты центроидов k кластеров выбираются случайным образом по равномерному закону из диапазона изменения многомерной случайной величины Х. 'uniform' не используется для 'distance'='Hamming'.

 

'cluster'

Выбор центроидов k кластеров выполняется на первичной фазе кластеризации. На первичной фазе производится выборка из Х, с объемом равным 10% от size(Х,1), и последующее определение начальных координат центроидов при 'start'='sample'.

 

Значение задается пользователем в виде матрицы

Размерность задаваемой пользователем матрицы начальных координат центроидов k кластеров равна . В этом случае можно не задавать значение входного параметра k. Функция kmeans определит значение k как число строк в матрице 'start'. Значение параметра 'start' можно задать как 3-мерный массив. В этом случае третья размерность массива позволяет неявно задать значение параметра 'replicates' (см. ниже).

'replicates'

Число повторений процедуры кластеризации. Отдельная итерация выполняется при разных начальных координатах центроидов кластеров. Функция kmeans возвращает вектор решений IDX соответствующий минимальному значению sumd. Значение параметра 'replicates' может быть задано неявно, если параметр 'start' задан как трехмерный массив. В этом случае значением параметра 'replicates' является 3-я размерность 'start'.

'maxiter'

Максимальное количество итераций. Значение по умолчанию равно 100.

'emptyaction'

Действия kmeans в случае, если кластер теряет все свои наблюдения в процессе кластеризации. Возможные значения 'emptyaction':

 

'error'

Возникновение пустого кластера трактуется как ошибка. Значение по умолчанию.

 

'drop'

Все кластеры, ставшие пустыми, удаляются. Элементы выходных массивов C и D, соответствующие пустым кластерам, принимаются равными NaN.

 

'singleton'

Создается новый кластер, включающий одно наблюдение, дальнее от центроида пустого кластера.

'display'

Управление выходной информацией об итерациях kmeans. Возможные значения 'display':

 

'off'

Выходная информация не отображается.

 

'iter'

Отображается информация по каждой итерации в процессе минимизации внутрикластерной суммы расстояний объектов кластера до его центроида, включая номер итерации, фазу оптимизации, число задействованных объектов, общую сумму расстояний.

 

'final'

Отображается суммарная информация каждой итерации.

 

'notify'

Отображаются только предупреждения и сообщения об ошибках. Значение по умолчанию.

Алгоритм kmeans

Функция kmeans использует итерационный алгоритм минимизации внутрикластерной суммы расстояний объектов кластера до его центроида по всем k кластерам, состоящий из двух этапов:

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

Вторая фаза предназначена для поиска точного и окончательного решения. Группировка каждого из объектов по кластерам, с последующим расчетом его расстояния до центроида, на этой фазе выполняется по критерию минимизации внутрикластерной суммы расстояний объектов до центроидов кластеров. На каждой итерации расчет выполняется по всем объектам исходного множества.
Недостатком итерационного алгоритма функции kmeans является возможность попадания решения в локальный минимум внутрикластерной суммы расстояний точек кластера до его центроида по k кластерам. Эта проблема может быть решена соответствующим выбором начальной точки в начале процедуры кластеризации объектов.
Примеры использования функции кластеризации объектов по внутригрупповым средним
Кластеризация объектов на 5 групп по внутригрупповым средним. В качестве исходных данных используется нормально распределенная 10-ти мерная случайная величина. Количество объектов для кластеризации равно 20.
>> X=normrnd(0,1,20,10);

>> IDX = kmeans(X, 5)

IDX =

     4

     4

     4

     4

     4

     3

     2

     5

     3

     2

     2

     5

     3

     5

     1

     5

     3

     1

     3

     1


Кластеризация объектов на 4 кластера по внутригрупповым средним. В качестве исходных данных используется 8-ми мерная случайная величина. Количество объектов для кластеризации равно 20. Функция возвращает вектор индексов кластеров для наблюдений многомерной случайной величины, матрицу координат центроидов кластеров, вектор сумм расстояний объектов кластера до его центроида, матрицу расстояний объектов кластера до его центроида.
>> X=normrnd(0,1,20,8)+unifrnd(-3,3,20,8);

>> [IDX,C,sumd,D] = kmeans(X,4)

IDX =

     4

     3

     1

     1

     1

     2

     1

     1

     2

     2

     3

     1

     1

     4

     4

     3

     4

     2

     2

     4

C =

   -0.7204   -0.7734   -2.0796   -0.0949   -0.9763    0.1793    0.4401   -0.9058

    0.9580   -0.2410    0.9805    0.3499    0.3013   -0.9898   -1.6232   -2.4848

   -0.6815    2.4138   -1.7521    0.9050    1.2935    2.5323    2.0555    0.7551

   -1.8606    0.6397   -0.2230   -1.0799   -1.3034    1.3364    0.1347    2.6542

sumd =

  108.2371

   94.4057

   55.7825

   64.1026

D =

   33.6258   69.6400   26.2378   14.6477

   43.1736   60.0122   16.0955   44.7911

   12.0549   28.5350   22.6655   27.7807

   12.1929   40.6600   29.1959   38.2846

   18.2936   53.6812   34.8565   58.8682

   55.5411   33.5688   83.6597   85.3129

   11.5506   40.2406   54.7996   32.3322

   22.7636   49.0687   57.3729   38.5344

   46.6591   16.8482   67.6677   57.4114

   28.6118    6.2153   73.6534   62.9167

   47.1499   82.2434   19.4972   50.7158

   11.5096   25.0528   32.6233   25.2224

   19.8718   27.8894   67.9857   40.6984

   34.4482   65.2616   22.9467   12.0073

   46.7967   50.9581   70.7584   22.6039

   47.4286   78.3195   20.1898   39.1313

   30.8704   49.9725   37.8780    5.7255

   38.7515   20.2734   81.6425   84.9884

   36.9069   17.5000   62.4367   52.2693

   27.9929   76.7632   37.7078    9.1182


Кластеризация объектов на 5 кластеров по внутригрупповым средним. В качестве исходных данных используется 10-ти мерная равномерно распределенная случайная величина. Количество объектов для кластеризации равно 20. Функция возвращает вектор индексов кластеров для наблюдений многомерной случайной величины, матрицу координат центроидов кластеров, вектор сумм расстояний объектов кластера до его центроида, матрицу расстояний объектов кластера до его центроида. В качестве меры, используемой для расчета расстояний от объектов кластера до его центроида, используется расстояние Хэмминга.
>> X=unidrnd(2,20,10)-1;

>> [IDX,C,sumd,D] = kmeans(X,5,'distance', 'Hamming')

IDX =

     1

     1

     4

     3

     4

     2

     4

     5

     5

     4

     3

     5

     5

     2

     4

     3

     5

     1

     2

     1

C =

     0     1     1     1     0     0     1     1     0     0

     1     0     0     0     1     0     1     1     0     1

     1     0     1     0     1     1     0     1     0     1

     1     1     1     1     0     0     0     0     0     0

     1     0     0     1     0     1     0     0     1     1

sumd =

    0.7000

    0.5000

    0.6000

    1.1000

    1.1000

D =

    0.2000    0.6000    0.5000    0.3000    0.6000

         0    0.6000    0.7000    0.3000    0.8000

    0.4000    0.6000    0.5000    0.3000    0.4000

    0.6000    0.4000    0.1000    0.5000    0.6000

    0.3000    0.7000    0.6000         0    0.5000

    0.6000         0    0.3000    0.7000    0.6000

    0.2000    0.6000    0.5000    0.1000    0.6000

    0.9000    0.5000    0.4000    0.6000    0.1000

    0.7000    0.7000    0.6000    0.4000    0.1000

    0.5000    0.7000    0.6000    0.4000    0.5000

    0.6000    0.2000    0.1000    0.7000    0.6000

    0.8000    0.4000    0.3000    0.7000    0.2000

    0.4000    0.6000    0.7000    0.5000    0.4000

    0.8000    0.2000    0.3000    0.5000    0.4000

    0.6000    0.4000    0.5000    0.3000    0.4000

    0.5000    0.5000    0.4000    0.6000    0.5000

    0.7000    0.5000    0.4000    0.4000    0.3000

    0.3000    0.5000    0.8000    0.6000    0.7000

    0.7000    0.3000    0.4000    0.8000    0.3000

    0.2000    0.4000    0.5000    0.5000    0.8000


Кластеризация объектов на 5 кластеров по внутригрупповым средним. В качестве исходных данных используется 10-ти мерная случайная величина. Количество объектов для кластеризации равно 20. Функция возвращает вектор индексов кластеров для наблюдений многомерной случайной величины, матрицу координат центроидов кластеров, вектор сумм расстояний объектов кластера до его центроида, матрицу расстояний объектов кластера до его центроида. В качестве меры, используемой для расчета расстояний от объектов кластера до его центроида, используется расстояние по Манхеттену. Для определения начальных координат центроидов кластеров используется случайный выбор по равномерному закону из диапазона изменения многомерной случайной величины Х.
>> X=normrnd(0,1,30,10)+unifrnd(-3,3,30,10);

>> [IDX,C,sumd,D] = kmeans(X,5, 'distance', 'cityblock', 'start', 'uniform')

IDX =

     1

     1

     5

     5

     4

     3

     3

     4

     5

     3

     3

     4

     2

     2

     4

     3

     4

     3

     2

     4

     4

     4

     1

     3

     2

     4

     5

     5

     4

     2

C =

   -0.4396   -1.3944    1.7663   -0.9604   -0.1684    1.6489    2.3836   -1.1063    1.4001    2.1388

    0.1115    2.4586   -2.0031   -0.5451   -0.7847   -2.5797    1.1323    1.2079   -2.0007    0.6794

    1.9904   -0.7443    0.2429    1.5091    1.3509    1.2865   -1.0615   -1.1467    0.0652    0.4982

    0.9038   -0.9845    0.9931    0.7915   -0.0735   -1.2706    0.6240    0.4979   -0.1036   -1.6500

    0.4969    2.0303    0.7973   -2.2842    0.5634    2.1423    1.1466   -1.5315   -1.4992   -2.3101

sumd =

   27.7568

   48.3109

   70.4621

  124.7830

   61.5624

D =

   11.0555   20.6961   16.2261   13.9733   21.9194

    9.0177   30.0667   20.5845   23.9668   20.4227

   18.0465   20.4097   20.4041   19.3285   10.0552

   25.8682   19.5278   19.2421   17.4450   11.9428

   15.9342   18.8171   16.1867   11.5907   17.5571

   18.5595   20.2366    9.2825   17.4129   15.8366

   20.5895   24.6483    8.9649   14.8240   23.3168

   20.8177   21.2528   19.9603   15.2936   17.1220

   15.3177   17.3140   15.9823   19.0280    9.3061

   15.2568   26.3830    9.4391   17.6789   21.9894

   16.3275   22.8697    8.6446   17.7723   22.7946

   13.8266   19.1191   14.0988   12.1102   19.2555

   14.3863    9.8094   16.3940   17.0357   15.2774

   26.3103    9.7831   25.6021   19.4559   25.8235

   23.7952   20.4040   24.9972   13.6631   21.7526

   21.5771   23.3924    8.6547   13.8164   20.1203

   19.3631   19.2680   18.5063   12.2459   19.8920

   26.1242   29.7496   12.8143   19.0109   20.3680

   24.4919    5.3314   21.6478   14.9553   19.8912

   20.1819   20.5267   22.5905   18.1261   32.2715

   20.0857   15.9628   20.4301    9.6275   19.9184

   16.9443   20.9425   15.3291   11.3376   18.3866

    7.6836   19.3235   14.9391   16.7161   16.1826

   17.0445   18.8153   12.6620   15.4785   16.4266

   24.0468   11.3653   19.6139   16.0655   22.8393

   18.6036   19.2401   11.9422    6.4801   17.5061

   22.7852   28.5627   22.9120   21.5459   14.6224

   18.7729   16.8199   23.0108   22.1440   15.6359

   27.2469   23.2618   18.2644   14.3082   23.6812

   27.9308   12.0216   29.6800   26.3828   23.2369


Кластеризация объектов на 3 кластера по внутригрупповым средним. В качестве исходных данных используется 5-ти мерная случайная величина. Количество объектов для кластеризации равно 20. Функция возвращает вектор индексов кластеров для наблюдений многомерной случайной величины, матрицу координат центроидов кластеров, вектор сумм расстояний объектов кластера до его центроида, матрицу расстояний объектов кластера до его центроида. Для определения начальных координат центроидов кластеров используется матрица значений.
>> X=normrnd(0,1,30,5)+unifrnd(-3,3,30,5);

>> A=unifrnd(-1,1,3,5)+weibrnd(2,1,3,5);

>> [IDX,C,sumd,D] = kmeans(X,3, 'start',A)

IDX =

     3

     1

     2

     1

     1

     2

     2

     3

     1

     2

     1

     3

     3

     3

     2

     1

     1

     3

     3

     3

     1

     1

     3

     3

     2

     2

     3

     1

     2

     2

C =

   -1.5886    0.4635    0.6624   -1.3072    1.3597

    1.3848    0.3887    1.8371   -0.9976   -1.8332

    0.6149    0.5035   -1.9144    0.5982    0.0231

sumd =

  132.0303

   93.1879

  151.0349

D =

   16.5360   11.0179    4.5584

   19.0879   36.5566   35.6974

   18.4315    7.6242   22.2605

    6.9671   45.7506   40.8255

   20.0426   33.0733   34.9800

   22.0891    3.4413   28.8439

   27.0650    7.5754   32.8361

   13.6651   30.3022    3.2255

    7.5434   18.2325   26.6683

   45.8977   22.2643   45.6795

    9.7168   18.8089   23.4718

   30.6205   49.6317   23.0561

   35.0507   32.0151   20.0662

   20.5872   51.2292   10.3765

   33.2640    4.4263   35.7963

   20.3822   43.5634   36.2854

   18.1425   39.9924   23.9586

   47.2654   33.8941   18.4352

   52.2725   29.3853   19.9980

   24.2472   14.6352   10.2294

   10.6090   30.1153   26.3401

   12.9911   46.4257   39.9316

   18.9980   47.0033   10.0471

   56.8644   41.0418   22.3108

   52.0324   11.5969   34.1655

   20.8181   12.5828   38.3073

   20.9826   38.2722    8.7317

    6.5477   24.6831   13.0125

   30.2170    8.4016   20.2688

   28.0274   15.2751   21.0788


Кластеризация объектов на 3 кластера по внутригрупповым средним. В качестве исходных данных используется 5-ти мерная случайная величина. Количество объектов для кластеризации равно 20. Функция возвращает вектор индексов кластеров для наблюдений многомерной случайной величины, матрицу координат центроидов кластеров, вектор сумм расстояний объектов кластера до его центроида, матрицу расстояний объектов кластера до его центроида. Для определения начальных координат центроидов кластеров используется 3-х мерный массив значений С. Количество кластеров в kmeans задается первой размерностью С. Число повторений процедуры кластеризации определяется 3-й размерностью С.
>> X=normrnd(0,1,30,5)+unifrnd(-3,3,30,5);

>> A=unifrnd(-1,1,3,5)+weibrnd(2,1,3,5);

>> C = cat(3,A,A/2,A/5,A/10,A/100);

>> [IDX,C,sumd,D] = kmeans(X,[],'start',A)

IDX =

     3

     3

     1

     3

     3

     3

     1

     3

     3

     1

     3

     2

     2

     1

     3

     2

     3

     3

     3

     1

     1

     3

     3

     2

     1

     2

     1

     2

     2

     1

C =

   -0.2008   -1.7141   -0.9325    0.6522    2.2468

   -0.2522   -1.5345    2.7908   -1.2141   -0.4018

    0.7738    1.1694   -0.2538   -0.0723   -0.3337

sumd =

   93.8388

   65.9418

  185.3552

D =

   20.4603   31.5608   13.6064

   18.8331   14.5497   10.7444

   12.0724   42.2282   32.2376

   19.2397   16.3742    4.5067

    9.5977   18.7638    6.6051

   18.9974   26.1081   10.7523

   10.6764   26.3081   29.8156

   39.5376   31.4971   25.2423

   13.8924   27.1870    3.4380

    7.8997   48.9159   17.8625

   31.9263   42.9726   14.0866

   32.0669   12.9099   30.5786

   25.3190    7.0696    9.2894

    6.3914   48.6526   39.8010

   39.0504   42.9705   11.9755

   45.3934    4.7173   28.0688

   38.4822   40.3342   23.5919

   33.1447   58.4491   21.5793

   37.1229   23.4369   13.8049

   11.4012   34.5158   38.7785

   17.2839   33.5309   27.2164

   52.7047   43.2714   16.0919

   49.0900   33.0580    9.3299

   44.3969    8.0747   43.0688

    4.0361   14.0509   11.0473

   22.1320   11.5013   28.7823

   15.1225   25.0779   29.9810

   16.1192    6.0236   16.6442

   51.2856   15.6455   42.0989

    8.9552   40.1216   19.2787


Кластеризация объектов на 3 кластера по внутригрупповым средним. В качестве исходных данных используется 5-ти мерная случайная величина. Количество объектов для кластеризации равно 20. Функция возвращает вектор индексов кластеров для наблюдений многомерной случайной величины. Для определения начальных координат центроидов кластеров используется 3-х мерный массив значений С. Количество кластеров в kmeans задается первой размерностью С. Число повторений процедуры кластеризации определяется 3-й размерностью С. Максимальное количество итераций ограничено 25. Действия kmeans в случае, если кластер теряет все свои наблюдения в процессе кластеризации, заданы как 'singleton'. Выходная информация об итерациях kmeans отображается по каждой итерации.
>> X=normrnd(0,1,30,5)+unifrnd(-3,3,30,5);

>> A=unifrnd(-1,1,3,5)+weibrnd(2,1,3,5);

>> C = cat(3,A,A/2,A/5,A/10,A/100);

>> IDX = kmeans(X,[],'start',A, 'maxiter', 25, 'emptyaction', 'singleton', 'display', 'iter')

  iter phase     num         sum

     1     1      30     396.562

     2     1       1     386.462

     3     1       1     375.853

     4     1       1     372.448

     5     2       4     365.286

     6     2       2     356.767

     7     2       2      354.59

7 iterations, total sum of distances = 354.59

IDX =

     2

     2

     3

     3

     3

     2

     3

     3

     3

     3

     3

     2

     1

     1

     1

     1

     1

     2

     2

     3

     3

     3

     2

     1

     2

     1

     3

     2

     2

     1

 

 

Наверх

linkage - Формирование иерархического дерева бинарных кластеров

Синтаксис

Z = linkage(Y)

Z = linkage(Y,'method')

Описание

Z = linkage(Y) функция позволяет сформировать иерархическое дерево бинарных кластеров с использованием алгоритма <ближайшего соседа>. Входной аргумент Y является вектором расстояний между парами объектов исходного множества данных в многомерном пространстве. Число элементов вектора Y равно , где  - количество объектов в исходном множестве данных. Y может быть получен как выходной параметр функции pdist. В общем случае входной аргумент Y может быть задан как матрица расстояний между парами объектов исходного множества данных, согласно формату выходного параметра функции pdist.

Выходной параметр Z является матрицей, содержащей информацию о дереве кластеров. Размерность Z равна . Конечные узлы дерева кластеров являются объектами исходного множества данных - наблюдений многомерной случайной величины Y, пронумерованных от 1 до m. Конечные узлы являются единичными кластерами. Они объединяются в кластеры вышележащими узлами дерева. Каждому последующему вышележащему узлу дерева кластеров соответствует i-я строка матрицы Z. Ему ставится в соответствие индекс m+i.

Столбцы 1 и 2 матрицы Z содержат индексы объектов, связанных в новый кластер. Количество сформированных бинарных кластеров будет равно (m-1).

3-й столбец матрицы Z содержит значение расстояний между парами объектов, объединенных в кластеры.

Предположим, что дерево кластеров содержит 30 начальное узлов. Если 10-й кластер был сформирован объединением 5-го и 7-го объектов и расстояние между ними равно 1,5, тогда 10-я строка матрицы Z будет содержать следующие значения Z(:,10)=[5 6 1.5]. Этот кластер будет иметь индекс равный 10+30=40. Если 40 индекс будет обнаружен в последующих строках Z, то это означает, что 40 бинарный кластер будет объединен в новый вышележащий кластер.

Z = linkage(Y,'method') входной аргумент 'method' позволяет задать алгоритм кластеризации. Значение входного аргумента 'method' задается как тестовая строка. Предусмотрены следующие алгоритмы кластеризации

Значение 'method'

Название алгоритма

'single'

Алгоритм <ближайшего соседа>. Значение по умолчанию.

'complete'

Алгоритм "дальнего соседа".

'average'

Алгоритм <средней связи>.

'centroid'

Центроидный алгоритм, использующий расстояние по <центрам тяжести> выборок.

'ward'

Пошаговый алгоритм.

Формирование дерева кластеров основано на объединении двух нижележащих узлов в один вышележащий, и т.д. Критерием объединения узлов в кластер является отношение расстояний между парами объектов или кластеров. В linkage предусмотрены следующие меры расстояний между объектами:

Вид алгоритма

Выражение для расчета расстояния между объектами

Алгоритм <ближайшего соседа>

,

где  - количество объектов в кластере - число объектов в кластере - i-й объект в кластере . Алгоритм <ближайшего соседа> основан на определении наименьшего расстояния между объектами в двух группах.

Алгоритм <дальнего соседа>

.

Алгоритм <дальнего соседа> основан на определении наибольшего расстояния между объектами в двух группах.

Алгоритм <средней связи>

.

Алгоритм <средней связи> основан на расчете расстояний между всеми возможными парами объектов в кластерах r и s.

Центроидный алгоритм

,

где - центроиды кластеров r и s.

В результате применения центроидного алгоритма может быть получено не монотонное дерево кластеров. Это может произойти в случае, когда расстояние от объединения двух кластеров, , к третьему кластеру  меньше, чем расстояние от r или s к . В этом случае дендрограмма может изменить свое направление, что является основанием для использования другого алгоритма кластеризации.

Пошаговый алгоритм

,

где  - расстояние между кластерами r и s, определяемое по центроидному алгоритму. Пошаговый алгоритм основан на увеличении общей внутригрупповой суммы квадратов в результате присоединения групп r и s. Внутригрупповая сумма квадратов кластера определяется как сумма квадратов расстояний между всеми объектами в кластере и центроидом кластера.

Примеры использования функции формирования иерархического дерева бинарных кластеров

1. Формирование иерархического дерева бинарных кластеров для 10-ти мерной нормально распределенной случайной величины. Количество объектов в множестве исходных данных равно 20. Графическое представление дерева бинарных кластеров выполняется с помощью функции dendrogram.

>> X=normrnd(0,1,20,10);

>> Y = pdist(X);

>> Z = linkage(Y)

Z =

    5.0000   20.0000    1.9330

    7.0000   19.0000    2.0429

   12.0000   15.0000    2.0979

    6.0000   10.0000    2.3100

   24.0000   22.0000    2.3239

    1.0000    9.0000    2.3283

   26.0000   21.0000    2.4018

   27.0000   11.0000    2.4800

   23.0000   16.0000    2.6409

    4.0000   29.0000    2.6727

   30.0000   14.0000    2.7020

   28.0000   25.0000    2.7839

   32.0000    3.0000    2.8100

   33.0000   18.0000    2.8246

   34.0000   31.0000    2.8279

   35.0000    8.0000    2.8495

   36.0000   13.0000    2.9005

   37.0000   17.0000    2.9329

   38.0000    2.0000    3.4541

>> H = dendrogram(Z);

2. Формирование иерархического дерева бинарных кластеров для 2-х мерной случайной величины. Количество объектов в множестве исходных данных равно 7. Сравниваются различные алгоритмы кластеризации. Графическое представление результатов кластеризации выполняется с помощью функции dendrogram.

2.1. Исходные данные:

>> X = [3 1.7; 1 1; 2 3; 2 2.5; 1.2 1; 1.1 1.5; 3 1]

X =

    3.0000    1.7000

    1.0000    1.0000

    2.0000    3.0000

    2.0000    2.5000

    1.2000    1.0000

    1.1000    1.5000

    3.0000    1.0000

>> Y = pdist(X);

Y =

  Columns 1 through 11 

    2.1190    1.6401    1.2806    1.9313    1.9105    0.7000    2.2361    1.8028    0.2000    0.5099    2.0000

  Columns 12 through 21 

    0.5000    2.1541    1.7493    2.2361    1.7000    1.3454    1.8028    0.5099    1.8000    1.9647

2.2. Кластеризация при помощи алгоритма <ближайшего соседа>

>> Z = linkage(Y, 'single')

Z =

    2.0000    5.0000    0.2000

    3.0000    4.0000    0.5000

    8.0000    6.0000    0.5099

    1.0000    7.0000    0.7000

   11.0000    9.0000    1.2806

   12.0000   10.0000    1.3454

>> dendrogram(Z);

2.3. Кластеризация при помощи алгоритма <дальнего соседа>

>> Z = linkage(Y, 'complete')

Z =

    2.0000    5.0000    0.2000

    3.0000    4.0000    0.5000

    8.0000    6.0000    0.5099

    1.0000    7.0000    0.7000

   11.0000   10.0000    2.1190

   12.0000    9.0000    2.2361

>> dendrogram(Z);

2.4. Кластеризация при помощи алгоритма <средней связи>

>> Z = linkage(Y, 'average')

Z =

    2.0000    5.0000    0.2000

    3.0000    4.0000    0.5000

    8.0000    6.0000    0.5099

    1.0000    7.0000    0.7000

   11.0000    9.0000    1.7399

   12.0000   10.0000    1.8928

>> dendrogram(Z);

2.5. Кластеризация при помощи алгоритма центроидного алгоритма

>> Z = linkage(Y, 'centroid')

Warning: Non-monotonic cluster tree -- the centroid method is probably not appropriate.

> In C:\MATLAB6p5p1\toolbox\stats\linkage.m at line 165

Z =

    2.0000    5.0000    0.2000

    8.0000    6.0000    0.5000

    3.0000    4.0000    0.5000

    1.0000    7.0000    0.7000

   11.0000   10.0000    1.7205

   12.0000    9.0000    1.6554

>> dendrogram(Z);

2.6. Кластеризация при помощи алгоритма пошагового алгоритма

>> Z = linkage(Y, 'ward')

Z =

    2.0000    5.0000    0.1414

    3.0000    4.0000    0.3536

    8.0000    6.0000    0.4082

    1.0000    7.0000    0.4950

   11.0000    9.0000    1.7205

   12.0000   10.0000    2.1674

>> dendrogram(Z);

 

 

Наверх

pdist - Расчет парных расстояний между объектами (векторами) в исходном множестве данных

Синтаксис

Y = pdist(X)

Y = pdist(X,'metric')

Y = pdist(X,distfun,p1,p2,...)

Y = pdist(X,'minkowski',p)

Описание

Y = pdist(X) функция позволяет рассчитать вектор Евклидовых расстояний Y между парами объектов исходного множества данных, заданных матрицей Х. Размерность матрицы Х равна , где m - число наблюдений n-мерной случайной величины. Количество пар расстояний для m наблюдений многомерной случайной величины, или иначе mобъектов, будет определяться по формуле .

Выходной параметр Y является вектором, содержащим значения парных расстояний между объектами. Число элементов Y равно . Расстояния между объектами в векторе Y расположены в следующем порядке (1,2), (1,3), ..., (1,m), (2,3),...,(i,j),..., (2,m), ..., ..., (m-1,m), где i, j - номера строк матрицы Х.

При помощи функции squareform вектор Y можно конвертировать в квадратную матрицу. Элемент (i, j) полученной матрицы, при i<j, будет соответствовать расстоянию между i-м и j-м объектами исходного множества данных:

>> X=normrnd(0,1,7,3)

X =

    0.6353    0.4620   -0.1132

   -0.6014   -0.3210    0.3792

    0.5512    1.2366    0.9442

   -1.0998   -0.6313   -2.1204

    0.0860   -2.3252   -0.6447

   -2.0046   -1.2316   -0.7043

   -0.4931    1.0556   -1.0181

>> Y = pdist(X)

Y =

  Columns 1 through 11 

    1.5444    1.3134    2.8696    2.8902    3.1917    1.5635    2.0183    2.5677    2.3532    1.9930    1.9646

  Columns 12 through 21 

    3.9505    3.9277    3.9168    2.2302    2.5404    1.7845    2.1045    2.3601    3.4504    2.7595

>> S = squareform(Y)

S =

         0    1.5444    1.3134    2.8696    2.8902    3.1917    1.5635

    1.5444         0    2.0183    2.5677    2.3532    1.9930    1.9646

    1.3134    2.0183         0    3.9505    3.9277    3.9168    2.2302

    2.8696    2.5677    3.9505         0    2.5404    1.7845    2.1045

    2.8902    2.3532    3.9277    2.5404         0    2.3601    3.4504

    3.1917    1.9930    3.9168    1.7845    2.3601         0    2.7595

    1.5635    1.9646    2.2302    2.1045    3.4504    2.7595         0

 

Y = pdist(X,'metric') входной параметр 'metric' определяет вид расстояния между объектами исходного множества данных. 'metric' задается как строковая переменная. Предусмотрены следующие виды расстояний между объектами:

Значение параметра 'metric'

Метод расчета расстояний между объектами

'euclidean'

Евклидово расстояние. Значение по умолчанию.

'seuclidean'

Нормализованное евклидово расстояние.

'mahalanobis'

Расстояние Махаланобиса.

'cityblock'

Расстояние по Манхеттену. Определяется как сумма абсолютных величин отклонений по всем измерениям.

'minkowski'

Метрика Минковского

'cosine'

Косинусное расстояние. Определяется как единица минус косинус от угла между объектами. Объекты в многомерном пространстве рассматриваются как векторы.

'correlation'

Корреляционное расстояние. Определяется как единица минус выборочный коэффициент корреляции между значениями признаков многомерной случайной величины. Векторы наблюдений трактуются как выборки.

'hamming'

Расстояние Хэмминга. Определяется как процент отличных координат от их общего числа.

'jaccard'

Расстояние Джаккарда. Определяется как единица минус коэффициент Джаккарда. Коэффициентом Джаккарда является процент отличающихся ненулевых координат от их общего числа.

Y = pdist(X,distfun,p1,p2,...) входной параметр distfun является указателем на функцию расчета парных расстояний между объектами задаваемой пользователем в виде:

d = distfun(XI,XJ,p1,p2,...).

Функция distfun получает две матрицы XI, XJ, содержащих строки матрицы Х. Размерность матриц XI, XJ равна . Необязательные входные параметры p1,p2,... непрямую передаются функции distfun из pdist. Функция distfun должна возвратить вектор расстояний d. Элемент d(k) является расстоянием между наблюдениями XI(k,:) и XJ(k,:).

Y = pdist(X,'minkowski',p) функция служит для расчета парных расстояний между объектами, определяемыми матрицей Х, с использованием метрики Минковского. Входной параметр р является показателем степени метрики Минковского. По умолчанию р=2.

Виды парных расстояний между объектами, используемые в pdist:

1. Евклидово расстояние:

,

где - r и s строки матрицы Х, .

2. Стандартизованное Евклидово расстояние:

,

где  - диагональная матрица. Диагональными элементами  являются выборочные дисперсии признаков многомерной случайной величины Xj ,j=1..m.

3. Расстояние Махаланобиса:

,

где  - ковариационная матрица, рассчитанная по выборке Х.

4. Расстояние по Манхеттену:

.

5. Метрика Минковского:

.

При  метрика Минковского эквивалентна расстоянию по Манхеттену. При  метрика Минковского превращается в Евклидово расстояние.

6. Косинусное расстояние:

.

7. Корреляционное расстояние:

,

где , .

Определяется как единица минус выборочный коэффициент корреляции между значениями признаков многомерной случайной величины. Векторы наблюдений трактуются как выборки.

8. Расстояние Хэмминга:

.

9. Расстояние Джаккарда:

.

Примеры использования функции расчета парных расстояний между объектами исходного множества данных

1. Расчет парных расстояний между объектами исходного множества данных. В качестве исходного множества данных используется двумерная случайная величина. Количество объектов в множестве исходных данных равно 7.

>> X = [3 1.7; 1 1; 2 3; 2 2.5; 1.2 1; 1.1 1.5; 3 1]

X =

    3.0000    1.7000

    1.0000    1.0000

    2.0000    3.0000

    2.0000    2.5000

    1.2000    1.0000

    1.1000    1.5000

    3.0000    1.0000

>> Y = pdist(X)'

Y =

    2.1190

    1.6401

    1.2806

    1.9313

    1.9105

    0.7000

    2.2361

    1.8028

    0.2000

    0.5099

    2.0000

    0.5000

    2.1541

    1.7493

    2.2361

    1.7000

    1.3454

    1.8028

    0.5099

    1.8000

    1.9647

2. Расчет парных расстояний между объектами исходного множества данных. В качестве исходного множества данных используется двумерная случайная величина. Количество объектов в множестве исходных данных равно 7. Сравниваются евклидово расстояние, нормализованное евклидово расстояние, расстояние Махаланобиса, расстояние по Манхеттену, метрика Минковского, косинусное расстояние, расстояние Хэмминга, расстояние Джаккарда.

>> X = [3 1.7; 1 1; 2 3; 2 2.5; 1.2 1; 1.1 1.5; 3 1]

X =

    3.0000    1.7000

    1.0000    1.0000

    2.0000    3.0000

    2.0000    2.5000

    1.2000    1.0000

    1.1000    1.5000

    3.0000    1.0000

>> Y1 = pdist(X, 'euclidean')';

>> Y2 = pdist(X, 'seuclidean')';

>> Y3 = pdist(X, 'mahalanobis')';

>> Y4 = pdist(X, 'cityblock')';

>> Y5 = pdist(X, 'minkowski')';

>> Y6 = pdist(X, 'cosine')';

>> Y7 = pdist(X, 'hamming')';

>> Y8 = pdist(X, 'jaccard')';

>> Y = [Y1'; Y2'; Y3'; Y4'; Y5'; Y6'; Y7'; Y8']'

Y =

    2.1190    2.4992    2.3879    2.7000    2.1190    0.0362    1.0000    1.0000

    1.6401    2.0036    2.1983    2.3000    1.6401    0.1072    1.0000    1.0000

    1.2806    1.5399    1.6946    1.8000    1.2806    0.0715    1.0000    1.0000

    1.9313    2.2815    2.1684    2.5000    1.9313    0.0160    1.0000    1.0000

    1.9105    2.2378    2.2284    2.1000    1.9105    0.0879    1.0000    1.0000

    0.7000    0.8757    0.8895    0.7000    0.7000    0.0187    0.5000    0.5000

    2.2361    2.7621    2.6097    3.0000    2.2361    0.0194    1.0000    1.0000

    1.8028    2.2115    2.0616    2.5000    1.8028    0.0061    1.0000    1.0000

    0.2000    0.2341    0.2378    0.2000    0.2000    0.0041    0.5000    0.5000

    0.5099    0.6363    0.6255    0.6000    0.5099    0.0116    1.0000    1.0000

    2.0000    2.3408    2.3778    2.0000    2.0000    0.1056    0.5000    0.5000

    0.5000    0.6255    0.6353    0.5000    0.5000    0.0038    0.5000    0.5000

    2.1541    2.6713    2.5522    2.8000    2.1541    0.0412    1.0000    1.0000

    1.7493    2.1518    2.0153    2.4000    1.7493    0.0010    1.0000    1.0000

    2.2361    2.7621    2.9890    3.0000    2.2361    0.2106    1.0000    1.0000

    1.7000    2.0970    1.9750    2.3000    1.7000    0.0202    1.0000    1.0000

    1.3454    1.6354    1.5106    1.9000    1.3454    0.0009    1.0000    1.0000

    1.8028    2.2115    2.4172    2.5000    1.8028    0.1604    1.0000    1.0000

    0.5099    0.6363    0.6666    0.6000    0.5099    0.0295    1.0000    1.0000

    1.8000    2.1067    2.1400    1.8000    1.8000    0.0688    0.5000    0.5000

    1.9647    2.3101    2.4517    2.4000    1.9647    0.1840    1.0000    1.0000

 

3. Расчет парных расстояний между объектами исходного множества данных. В качестве исходного множества данных используется двумерная случайная величина. Количество объектов в множестве исходных данных равно 7. В качестве расстояния между объектами исходного множества данных используется функция пользователя.

3.1. Текст функции взвешенного евклидового расстояния weucldist.m

function d = weucldist(XI, XJ, W) 

% Функция реализующая взвешенное евклидово расстояние

d = sqrt((XI-XJ).^2 * W');

3.2. Использование pdist и функции расчета расстояний, определенной пользователем. Wgts - вектор весов. Число признаков X должно быть равно количеству элементов в Wgts/

>> X = [3 1.7; 1 1; 2 3; 2 2.5; 1.2 1; 1.1 1.5; 3 1]

X =

    3.0000    1.7000

    1.0000    1.0000

    2.0000    3.0000

    2.0000    2.5000

    1.2000    1.0000

    1.1000    1.5000

    3.0000    1.0000

>> Wgts = [.1 .3];

>> Ywgt = pdist(X, @weucldist, Wgts)

Ywgt =

  Columns 1 through 11 

    0.7396    0.7791    0.5404    0.6863    0.6107    0.3834    1.1402    0.8803    0.0632    0.2757    0.6325

  Columns 12 through 21 

    0.2739    1.1243    0.8695    1.1402    0.8597    0.6173    0.8803    0.2757    0.5692    0.6603

4. Расчет парных расстояний между объектами исходного множества данных. В качестве исходного множества данных используется двумерная случайная величина. Количество объектов в множестве исходных данных равно 7. В качестве расстояния между объектами используется метрика Минковского с показателем степени равным 1, 2, 3.

>> X = [3 1.7; 1 1; 2 3; 2 2.5; 1.2 1; 1.1 1.5; 3 1]

X =

    3.0000    1.7000

    1.0000    1.0000

    2.0000    3.0000

    2.0000    2.5000

    1.2000    1.0000

    1.1000    1.5000

    3.0000    1.0000

>> Y1 = pdist(X,'minkowski',1)';

>> Y2 = pdist(X,'minkowski',2)';

>> Y3 = pdist(X,'minkowski',3)';

>> Y = [Y1'; Y2'; Y3']'

Y =

    2.7000    2.1190    2.0282

    2.3000    1.6401    1.4732

    1.8000    1.2806    1.1478

    2.5000    1.9313    1.8346

    2.1000    1.9105    1.9007

    0.7000    0.7000    0.7000

    3.0000    2.2361    2.0801

    2.5000    1.8028    1.6355

    0.2000    0.2000    0.2000

    0.6000    0.5099    0.5013

    2.0000    2.0000    2.0000

    0.5000    0.5000    0.5000

    2.8000    2.1541    2.0418

    2.4000    1.7493    1.6010

    3.0000    2.2361    2.0801

    2.3000    1.7000    1.5723

    1.9000    1.3454    1.2002

    2.5000    1.8028    1.6355

    0.6000    0.5099    0.5013

    1.8000    1.8000    1.8000

    2.4000    1.9647    1.9115

 

 

Наверх

factoran - Факторный анализ

Синтаксис

lambda = factoran(X,m)

[lambda,psi] = factoran(X,m)

[lambda,psi,T] = factoran(X,m)

[lambda,psi,T,stats] = factoran(X,m)

[lambda,psi,T,stats,F] = factoran(X,m)

[...] = factoran(...,'param1',value1,'param2',value2,...)

Описание

Модель простого факторного анализа может быть представлена в виде

,

(1)

где  - вектор наблюдений многомерной случайной величины,  - матрица нагрузок простых факторов,  - вектор средних значений признаков многомерной случайной величины - вектор взаимно независимых, стандартизованных факторов,  - вектор независимых специфических факторов. Вектор значений многомерной случайной величины равен , где  - i-й признак многомерной случайной величины. Размерность матрицы  равна , где  - число специфических факторов, или размерность многомерной случайной величины - число простых факторов. Элемент матрицы  называется нагрузкой i-й переменной на j-й фактор, или наоборот, нагрузкой j-го фактора на i-ю переменную. Число элементов векторов ,  и  равно

Другой формой записи модели простого факторного анализа является выражение 

,

(2)

где .  является диагональной матрицей дисперсий независимых специфических факторов. Размерность матрицы  равна .

Как следует из (1) или (2), значение признака многомерной случайной величины  может быть выражено суммой взвешенных простых факторов  и остаточного члена . Весами простых факторов  являются элементы матрицы нагрузок . Количество простых факторов  должно быть меньше числа признаков многомерной случайной величины . Это позволяет уменьшить размерность задачи с  до . В простом факторном анализе предполагается, что простые факторы взаимно независимы и их дисперсии равны единице, а специфические факторы  не зависимы от какого либо , где , . Максимально возможное количество простых факторов определяется неравенством

.

Сумму квадратов нагрузок соответствующих  называют общностью i-го признака. Общность характеризует часть дисперсии , которая объясняется простыми факторами . Величина  показывает какая часть дисперсии  i-го признака остается необъясненной для выбранного набора простых факторов . Эту величину называют специфичностью i-го признака.

Коэффициент корреляции двух признаков  и  можно выразить суммой произведений нагрузок некоррелированных факторов

.

Задача факторного анализа, расчет матрицы нагрузок  для заданного вектора , не имеет однозначного решения. Представление ковариационной матрицы признаков многомерной случайной величины Х, cov(Х), факторами , или иначе факторизацию cov(Х), можно провести бесконечно большим числом способов. Если найдена матрица нагрузок, то любое линейное ортогональное преобразование , или иначе ортогональное вращение , приведет к такой же факторизации по модели (1).

lambda = factoran(X,m) функция предназначена для расчета матрицы нагрузок lambda методом максимального правдоподобия для m простых факторов. Входной параметр Х является матрицей наблюдений многомерной случайной величины. Строки Х соответствуют наблюдениям, столбцы Х - признакам многомерной случайной величины. Размерность Х равна n×d, где n - число наблюдений, d - количество признаков многомерной случайной величины. Входной параметр m должен быть задан как скаляр. Размерность матрицы нагрузок lambda равна d×m. lambda(i,j) является нагрузкой j-го фактора на i-й признак многомерной случайной величины. По умолчанию, при оценке lambda используется метод ортогонального вращения варимакс, позволяющий упростить столбцы матрицы нагрузок, сводя значения к 1 или 0.

[lambda,psi] = factoran(X,m) функция возвращает выходной параметр psi - вектор точечных оценок дисперсий специфических факторов, рассчитанный методом максимального правдоподобия. Число элементов вектора psi равно d.

[lambda,psi,T] = factoran(X,m) функция возвращает матрицу вращения нагрузок Т. Размерность Т равна m×m.

[lambda,psi,T,stats] = factoran(X,m) функция возвращает структуру stats, позволяющую проверить нулевую гипотезу H0. H0 состоит в том, что число простых факторов равно m. stats содержит следующие поля:

stats.loglike

Значение логарифма функции максимального правдоподобия

stats.dfe

Число степеней свободы погрешности, определяемое как ((d-m)^2 - (d+m))/2

stats.chisq

Значение статистики хи-квадрат, предназначенное для проверки нулевой гипотезы

stats.p

Значение уровня значимости, соответствующее выборочной статистике stats.chisq. При расчете stats.p используется правосторонняя критическая область.

Значение полей stats.chisq и stats.p будут рассчитаны в случае, если stats.dfe>0 и все элементы вектора psi будут положительными. Если входной параметр Х будет задан как ковариационная матрица, то для расчета stats.chisq и stats.p необходимо определить значение дополнительного входного параметра 'nobs'.

[lambda,psi,T,stats,F] = factoran(X,m) функция возвращает, рассчитанные по модели (1), значения многомерной случайной величины F. Расчет значений многомерной случайной величины проводится для m простых факторов, по рассчитанной матрице нагрузок lambda. F является матрицей с размерностью n×m. Строки матрицы F соответствуют наблюдениям, а столбцы - признакам многомерной случайной величины. F не может быть рассчитана, если входной параметр Х задан как ковариационная матрица.

[...] = factoran(...,'param1',value1,'param2',value2,...) управление работой алгоритма функции factoran осуществляется с помощью дополнительных входных параметров 'param1', 'param2', :. Дополнительные входные параметры задаются в виде пары <название параметра, значение> и их возможные значения приведены в следующей таблице:

Дополнительный входной параметр 'param'

Назначение 'param' и его возможные значения, value

'xtype'

Вид исходных данных Х:

'data'

Х задается как матрица наблюдений значений многомерной случайной величины. Значение по умолчанию.

'covariance'

Х задана как положительно определенная ковариационная или корреляционная матрица.

'scores'

Метод расчета значений многомерной случайной величины F по модели (1). Параметр 'scores' игнорируется, если Х задана как ковариационная или корреляционная матрица. Возможные значения 'scores':

'wls'

'Bartlett'

Оценка значений элементов матрицы F выполняется по методу взвешенных наименьших квадратов. Значение по умолчанию.

'regression'

'Thomson'

Расчет F производится с использованием критерия минимума средней квадратической ошибки, что эквивалентно ридж-регрессии.

'start' 

Начальное значение дисперсий специфических факторов psi для процедуры оптимизации методом максимального правдоподобия. Возможные значения 'start':

'random'

Вектор дисперсией генерируется по непрерывному закону равной вероятности в интервале возможных значений [0,1]. Число элементов вектора дисперсий равно d.

'Rsquared'

Начальные вектор дисперсий рассчитывается из выражения diag(inv(corrcoef(X))). Значение по умолчанию.

Целое положительное значение

Вектор дисперсией генерируется по непрерывному закону равной вероятности в интервале возможных значений [0,1], 'start'='random'. Расчет выходных параметров выполняется заданное целым числом количество раз. Функция factoran возвращает результат расчета соответствующий максимальному значению функции правдоподобия.

Matrix

Начальное значение дисперсий специфических факторов задается в виде матрицы. Столбцы матрицы соответствуют векторам начальных приближений для дисперсий специфических факторов. Количество строк матрицы начальных приближений должно быть равно d.

'rotate'

Метод вращения матрицы нагрузок и расчета значений многомерной случайной величины

'none'

Вращение отсутствует

'orthomax'

Ортогональное вращение. Критерием оптимизации матрицы нагрузок при ортогональном вращении является максимум дисперсии объясненной простыми факторами. Приведенные ниже дополнительные входные параметры 'coeffom', 'normalize', 'reltol', 'maxit' предназначены для управления процедурой ортогонального вращения.

'varimax'

Метод ортогонального вращения - варимакс. Значение 'rotate' по умолчанию. Вращение методом варимакс позволяет упростить столбцы матрицы lambda, сводя значения элементов к 1 или 0. Приведенные ниже дополнительные входные параметры 'normalize', 'reltol', 'maxit' позволяют управлять процедурой вращения методом варимакс.

'procrustes'

Косоугольное или ортогональное вращение для получения максимального соответствия матрицы нагрузок целевой матрице. Критерием соответствия является сумма квадратов отклонений коэффициентов целевой и рассчитанной матриц нагрузок. По умолчанию используется косоугольное вращение. Приведенные ниже дополнительные входные параметры 'typeprocr', 'targetprocr' предназначены для задания вида вращения и целевой матрицы нагрузок.

'promax'

Косоугольное вращение для получения матрицы нагрузок факторов приближенной к целевой матрице. Целевая матрица нагрузок рассчитывается функцией factoran с параметром 'rotate' равным 'orthomax'. Дополнительный входной параметр 'powerpm' задает степень целевой матрицы нагрузок. Поскольку factoran с параметром 'rotate'='orthomax' при расчете целевой матрицы нагрузок вызывается из основной функции, то допустимо использовать параметры 'coeffom', 'normalize', 'reltol', 'maxit'.

Function

Указатель на функцию вращения заданную в следующей форме

[B,T] = myrotation(A,...)

где A - исходная матрица нагрузок факторов, размерность A - d×m; B - матрица нагрузок после вращения, размерность B - d×m; T - матрица вращения с размерностью m×m.

Для передачи входных аргументов функции вращения используется дополнительный параметр 'userargs'.

'coeffom'

Коэффициент ортогонального вращения. В литературе часто обозначается как . Используется с параметром 'rotate'='orthomax'. 'coeffom' изменяется в пределах от 0 до 1. Значение 'coeffom'=0 соответствует методу ортогонального вращения квартимакс, 'coeffom'=1 - методу ортогонального вращения варимакс. Значение по умолчанию 'coeffom'=1. Вращение методом квартимакс ставит целью упрощение строк факторной матрицы, сводя значения в строках к 1 или 0. Использование метода варимакс позволяет упростить столбцы факторной матрицы, сводя значения элементов столбцов к 1 или 0. Промежуточные значения 'coeffom' будут соответствовать методу ортогонального вращения эквимакс. Метод эквимакс используется для одновременного упрощения строк и столбцов матрицы нагрузок.

'normalize'

Нормализация по строкам матрицы нагрузок. Для 'normalize'=1 будет выполняться построчная нормализация значений элементов матрицы нагрузок. Для 'normalize'=0 нормализация не выполняется. 'normalize' используется для 'rotate'='orthomax', или 'rotate'='varimax'. Значение по умолчанию 'normalize'=1.

'reltol'

Предельное значение погрешности схождения алгоритма для методов ортогонального вращения 'orthomax' и 'varimax'. Значение по умолчанию sqrt(eps).

'maxit'

Максимальное число итераций при ортогональном вращении методами 'orthomax' и 'varimax'. Значение по умолчанию 250.

'targetprocr'

Целевая матрица нагрузок. Используется для 'rotate'='procrustes'. Значение по умолчанию отсутствует.

'typeprocr'

Вид вращения матрицы нагрузок для 'rotate'='procrustes'. Для 'typeprocr'='oblique' используется косоугольное вращение. Если 'typeprocr'='orthogonal' используется ортогональное вращение. Значение по умолчанию 'typeprocr'='oblique'.

'powerpm'

Степень целевой матрицы. Используется для 'rotate'='promax'. Значение 'powerpm' должно быть больше или равно 1. По умолчанию 'powerpm'=4.

'userargs'

Передача дополнительных входных параметров функции вращения заданной пользователем, 'rotate'=Function. Список передаваемых параметров формируется по правилу: первым параметром Function является матрица А, затем следует список переменных и констант функции factoran после входного параметра 'userargs'.

'nobs'

Число наблюдений многомерной случайной величины. Входной параметр 'nobs' используется, если Х задана как корреляционная или ковариационная матрица. Если Х задана как матрица наблюдений многомерной случайной величины, то 'nobs' игнорируется. Величина 'nobs' необходима для расчета уровня значимости при проверке нулевой гипотезы. Значение по умолчанию отсутствует.

'delta'

Минимальные значения дисперсий специфических факторов psi, используемые в процессе оптимизации методом максимального правдоподобия. Значение по умолчанию 0,005.

'optimopts'

Структура, определяющая параметры процедуры оптимизации методом максимального правдоподобия. Значение входного параметра 'optimopts' формируется при помощи функции optimset. Функция factoran использует следующие поля optimset: 'Display', 'MaxFunEvals', 'MaxIter', 'TolFun', 'TolX'. Значения полей структуры optimset по умолчанию: 'Display'='notify'; 'MaxFunEvals'=100*d; 'MaxIter'=400; 'TolFun'=1e-8; 'TolX'=1e-8.

Примечание: в Statistics toolbox 4.1 структура, определяющая параметры процедуры оптимизации, формируется с помощью функции statset. Команда statset('factoran') позволяет получить список полей структуры, используемые функцией factoran, и их значения по умолчанию:

>>   statset('factoran')


ans =

          Display: 'notify'


      MaxFunEvals: 400

          MaxIter: 100


           TolBnd: []

           TolFun: 1.0000e-008


             TolX: 1.0000e-008

Состав полей структуры параметров оптимизации алгоритма factoran и их назначение:

Поле структуры (параметр функции statset)

Назначение

Допустимые значения

Display

Отображение промежуточной информации о работе алгоритма оптимизации функции

  • 'off' - промежуточная информация не отображается;

  • 'final'-отображается информация на последнем шаге оптимизации;

  • 'notify'-- промежуточная информация отображается только в случае отсутствия сходимости при работе алгоритма. Значение по умолчанию.

MaxFunEvals

Максимальное количество вызовов целевой функции

Положительное целое число

MaxIter

Максимальное количество итераций

Положительное целое число

TolBnd

Ограничение на возможные значения оптимизируемого параметра

Положительное вещественное число

TolFun

Значение выходного параметра функции при котором прекращается работа алгоритма оптимизации

Положительное вещественное число

TolX

Значение параметров функции при котором прекращается работа алгоритма оптимизации

Положительное вещественное число

Примечания:

1. Признаки многомерной случайной величины Х, заданной как матрица наблюдений, должны быть линейно независимы, т.е. ранг матрицы ковариаций должен быть равен числу столбцов или строк cov(X). При соблюдении этого условия возможно использование метода максимального правдоподобия. Перед определением матрицы нагрузок lambda в factoran рассчитывается корреляционная матрица по Х, не зависимо от того, задана Х как матрица наблюдений или матрица ковариаций.

Перед расчетом матрицы нагрузок factoran стандартизует значения строк матрицы наблюдений Х. После стандартизации среднее наблюдений Х будет равно нулю, а дисперсия единице. Стандартизация Х не влияет на оценку матрицы нагрузок, поскольку метод максимального правдоподобия в рассматриваемой модели простого факторного анализа инвариантен к указанной операции. После стандартизации оценка корреляционной матрицы для исходных данных Х будет определяться из выражения lambda*lambda'+diag(psi). Приведенное выражение не распространяется на случай косоугольного вращения матрицы нагрузок.

2. Если элементы вектора psi приблизительно равны значению параметра 'delta', т.е. приблизительно равны нулю, то интерпретация результатов расчета может быть неоднозначной. Такая ситуация известна как случай Хейвуда. В частности, возможно наличие одного или нескольких локальных максимумов на функции максимального правдоподобия, каждый из которых соответствует различной оценке матрицы нагрузок и дисперсий специфических факторов. В частности случай Хейвуда может возникнуть при использовании большого или малого числа простых факторов.

3. Если явно не задано 'rotate'='none', factoran использует тот или иной алгоритм вращения матриц lambda и F. Выходная матрица Т используется в процедуре вращения нагрузок факторов согласно выражению lambda=lambda0*T, где lambda0 - начальная, полученная методом максимального правдоподобия, матрица нагрузок. Т является ортогональной матрицей для ортогонального вращения. Т является тождественной матрицей в случае 'rotate'='none'. Матрица обратная к Т называется матрицей вращения первичных осей. При ортогональном вращении эти две матрицы идентичны.

Матрица F рассчитывается из выражения F=F0*inv(T'), где F0 - матрица рассчитанных значений многомерной случайной величины не прошедшая процедуру вращения. Оценка матрицы ковариаций F определяется как inv(T'*T). Ковариационная матрица F при ортогональном вращении или отсутствии вращения является единичной матрицей. Вращение матриц lambda и F предназначено для получения более простых в интерпретации структур матриц, после расчета их оценок методом максимального правдоподобия.

Примеры использования функции простого факторного анализа

1. Расчет матрицы нагрузок lambda методом максимального правдоподобия для 5-ти простых факторов. Входной параметр Х является матрицей наблюдений 20-ти мерной случайной величины, распределенной по нормальному закону.

>> X=normrnd(0,1,100,20);

>> m=5;

>> lambda = factoran(X,m)

Warning: Some unique variances are zero.

> In C:\MATLAB6p5p1\toolbox\stats\factoran.m at line 404

lambda =

    0.9829    0.1123   -0.0802    0.0652    0.0747

   -0.0057   -0.0096    0.3288    0.1485    0.0774

   -0.0112    0.0341   -0.0733    0.3250   -0.0899

    0.0485    0.2711    0.1000   -0.0513    0.2824

   -0.0263    0.1817   -0.0843   -0.7690   -0.1566

    0.0231   -0.1078   -0.0684    0.2347   -0.3194

   -0.1590    0.9695   -0.0479   -0.1605    0.0425

    0.0781   -0.0675   -0.0385   -0.1241   -0.0699

   -0.0364    0.0525    0.0420   -0.0307    0.1330

    0.2283    0.1032    0.0157    0.0982    0.3688

   -0.2977    0.0636   -0.1013    0.1479   -0.0153

    0.0659    0.2323   -0.0239    0.1014   -0.0059

    0.1727    0.0238   -0.1892    0.1537   -0.0367

    0.1901    0.0485    0.9495   -0.1890   -0.1387

   -0.0973   -0.0302   -0.1096   -0.1440    0.0574

    0.0139    0.0807   -0.1854   -0.0469    0.2552

   -0.0943    0.0623   -0.0539    0.2799   -0.2402

    0.0713   -0.0783   -0.0674    0.1382    0.3928

   -0.0456   -0.0080    0.0931   -0.0617    0.0772

    0.1038    0.1305   -0.0201    0.0661   -0.5428

2. Расчет матрицы нагрузок lambda, вектора точечных оценок дисперсий специфических факторов psi, матрицы вращения нагрузок Т, структуры stats и рассчитанных по модели простого факторного анализа значений многомерной случайной величины F. Входной параметр Х является матрицей наблюдений 20-ти мерной случайной величины, распределенной по нормальному закону. Число простых факторов равно 5.

>> X=normrnd(1,5,25,20);

>> m=4;

>> [lambda,psi,T,stats,F] = factoran(X,m)

Warning: Some unique variances are zero: cannot compute significance.

> In C:\MATLAB6p5p1\toolbox\stats\factoran.m at line 401

lambda =

   -0.2272    0.4192   -0.4739    0.3417

    0.1212   -0.0065    0.0549   -0.2516

   -0.0903   -0.1869    0.1857    0.1187

    0.9257   -0.1448    0.2112   -0.2692

    0.5325    0.1707    0.1262    0.8163

    0.0350   -0.0875    0.4763    0.2756

    0.1130   -0.0236    0.0749   -0.3685

   -0.1037    0.5344    0.0439   -0.0627

    0.4463    0.0699   -0.2298    0.0069

    0.4420    0.0938    0.1206    0.3356

    0.0530   -0.2685    0.0524    0.2999

    0.3568   -0.1125   -0.0336    0.0124

   -0.0051   -0.0242    0.0213    0.2672

    0.3616    0.0110    0.0067   -0.0900

   -0.3946    0.1139    0.0229    0.2877

   -0.0892   -0.9898   -0.0237   -0.0823

   -0.0975    0.2751    0.9539   -0.0018

   -0.2801    0.4559    0.0778    0.2488

    0.0416    0.0191    0.4228   -0.1782

   -0.3241    0.1977   -0.1368   -0.1705

psi =

    0.4312

    0.9189

    0.9083

    0.0050

    0.0050

    0.6883

    0.8453

    0.6978

    0.7431

    0.6687

    0.8324

    0.8587

    0.9275

    0.8610

    0.7480

    0.0050

    0.0050

    0.6457

    0.7874

    0.8081

T =

    0.8143   -0.5718   -0.0992    0.0062

    0.4876    0.6107    0.5059    0.3652

   -0.0814   -0.2587    0.7889   -0.5515

   -0.3040   -0.4829    0.3345    0.7500

stats = 

    loglike: -6.8828

        dfe: 116

F =

    0.5485   -0.2866   -0.6313    0.9956

    0.2492    0.1964   -1.2001   -0.7891

    1.5662    1.1464   -0.5926   -0.9621

    0.5558    1.4738    0.8657   -0.1663

   -1.5837    0.9509    1.6995    0.8867

    0.7672   -0.6756    1.3255   -1.9455

   -0.3084   -1.6206    0.1266   -0.6515

    1.2598   -0.7093   -0.1292   -1.3174

   -0.4354    1.6870   -0.4330   -1.1354

   -2.4350    0.4316   -0.7276   -0.8032

    0.6997    1.2864    0.8787    0.1718

   -0.1056   -1.5958   -0.3252    1.1452

   -0.8290    0.2508    0.4989   -0.5693

    0.5709    0.8002   -1.9973    1.8964

   -0.8561   -0.8317   -0.0804    0.5780

    0.7700   -0.4779    1.8274    1.1599

    1.1085   -1.4129    0.1357    1.0528

   -1.0208   -0.6924   -0.0406    0.2311

   -0.6936    0.6774   -0.5940   -0.4581

    0.6518    0.2537   -1.2641    1.1949

   -0.4218    0.8697    0.4580    0.8158

   -1.6916   -0.9387    0.0157    0.1253

    0.4045   -1.4399    0.1097   -1.2267

    0.8532    0.6800    1.6408    0.5918

    0.3757   -0.0229   -1.5668   -0.8206

 

3. Анализ структуры 5-ти мерной случайной величины, характеризующей параметры автотранспортных средств. В качестве признаков многомерной случайной величины выступают: Acceleration - ускорение автотранспортного средства, Displacement - объем двигателя, Horsepower - мощность двигателя, MPG - расход топлива, Weight - масса автотранспортного средства.

3.1. Выполняется загрузка данных из файла carbig и расчет параметров модели простого факторного анализа для двух факторов. Расчет значений многомерной случайной величины F по модели (1) производится с использованием критерия минимума средней квадратической ошибки, 'scores'='regression'.

>> load carbig

>> X = [Acceleration Displacement Horsepower MPG Weight];

>> X = X(all(~isnan(X),2),:);

>> [Lambda,Psi,T,stats,F] = factoran(X,2,'scores','regression')

Lambda =

   -0.2432   -0.8500

    0.8773    0.3871

    0.7618    0.5930

   -0.7978   -0.2786

    0.9692    0.2129

Psi =

    0.2184

    0.0804

    0.0680

    0.2859

    0.0152

T =

    0.9476    0.3195

    0.3195   -0.9476

stats = 

    loglike: -0.0030

        dfe: 1

      chisq: 1.1544

          p: 0.2826

F =

    0.4568    0.9158

    0.5897    1.6438

    0.2573    1.6383

    0.3108    1.4154

    0.2700    1.4815

…………………

   -0.4972   -2.2391

   -1.0830    0.9731

   -0.2423   -0.9284

   -0.0983   -1.1388

3.2. Расчет корреляционной матрицы для значений F. Корреляционная матрица должна быть равна eye(2).

>> inv(T'*T)

ans =

     1     0

     0     1

>> inv(T'*T)== eye(2)

ans =

     1     1

     1     1

 

3.3. Расчет корреляционной матрицы для матрицы исходных данных Х.

>> Lambda*Lambda' + diag(Psi)

ans =

    1.0000   -0.5424   -0.6893    0.4309   -0.4167

   -0.5424    1.0000    0.8979   -0.8078    0.9328

   -0.6893    0.8979    1.0000   -0.7730    0.8647

    0.4309   -0.8078   -0.7730    1.0000   -0.8326

   -0.4167    0.9328    0.8647   -0.8326    1.0000

3.4. Расчет матрицы нагрузок полученной методом максимального правдоподобия до процедуры ортогонального вращения

>> Lambda*inv(T)

ans =

   -0.5020    0.7277

    0.9550   -0.0865

    0.9113   -0.3185

   -0.8450    0.0091

    0.9865    0.1079

 

3.5. Расчет матрицы рассчитанных значений многомерной случайной величины, полученной методом максимального правдоподобия до процедуры ортогонального вращения

>> F*T'

ans =

    0.7255   -0.7219

    1.0840   -1.3692

    0.7673   -1.4702

    0.7467   -1.2419

    0.7292   -1.3176

……………………………………………………

   -0.3073    0.2295

   -1.1865    1.9629

   -0.7153   -1.2681

   -0.5262    0.8023

   -0.4570    1.0477

4. Анализ структуры 5-ти мерной случайной величины, характеризующей параметры автотранспортных средств. В качестве признаков многомерной случайной величины выступают: Acceleration - ускорение автотранспортного средства, Displacement - объем двигателя, Horsepower - мощность двигателя, MPG - расход топлива, Weight - масса автотранспортного средства. Выполняется загрузка данных из файла carbig и расчет параметров модели простого факторного анализа для двух факторов. В качестве входных значений используется ковариационная и корреляционная матрицы наблюдений Х, 'xtype'='cov'. В этом случае не могут быть рассчитаны матрица значений многомерной случайной величины F и уровень значимости.

>> load carbig

>> X = [Acceleration Displacement Horsepower MPG Weight];

>> X = X(all(~isnan(X),2),:);

>> [Lambda,Psi,T] = factoran(cov(X),2,'xtype','cov')

Lambda =

   -0.2432   -0.8500

    0.8773    0.3871

    0.7618    0.5930

   -0.7978   -0.2786

    0.9692    0.2129

Psi =

    0.2184

    0.0804

    0.0680

    0.2859

    0.0152

T =

    0.9476    0.3195

    0.3195   -0.9476

 

В качестве исходных данных используется корреляционная матрица.

>> [Lambda,Psi,T] = factoran(corrcoef(X),2,'xtype','cov')

Lambda =

   -0.2432   -0.8500

    0.8773    0.3871

    0.7618    0.5930

   -0.7978   -0.2786

    0.9692    0.2129

Psi =

    0.2184

    0.0804

    0.0680

    0.2859

    0.0152

T =

    0.9476    0.3195

    0.3195   -0.9476

5. Анализ структуры 5-ти мерной случайной величины, характеризующей параметры автотранспортных средств. В качестве признаков многомерной случайной величины выступают: Acceleration - ускорение автотранспортного средства, Displacement - объем двигателя, Horsepower - мощность двигателя, MPG - расход топлива, Weight - масса автотранспортного средства. 

5.1. Выполняется загрузка данных из файла carbig и расчет параметров модели простого факторного анализа для двух факторов. В качестве метода вращения используется косоугольное вращение, 'rotate'='promax', для получения матрицы нагрузок факторов приближенной к целевой матрице нагрузок. Степень целевой матрицы, 'powerpm', равна 4.

>> load carbig

>> X = [Acceleration Displacement Horsepower MPG Weight];

>> X = X(all(~isnan(X),2),:);

>> [Lambda,Psi,T,stats,F] = factoran(X,2,'rotate','promax','powerpm',4)

Lambda =

    0.0964    0.9426

    0.8879   -0.1057

    0.6526   -0.4076

   -0.8413    0.0059

    1.0800    0.1472

Psi =

    0.2184

    0.0804

    0.0680

    0.2859

    0.0152

T =

    1.0045    0.0070

    0.8254    1.3001

stats = 

    loglike: -0.0030

        dfe: 1

      chisq: 1.1544

          p: 0.2826

F =

    0.7381   -1.1402

    1.1048   -1.9752

    0.7853   -1.8663

    0.7630   -1.6397

    0.7458   -1.6992

……………………………………………………

   -0.3121    0.4117

   -1.2123    2.5957

   -0.7148   -0.7258

   -0.5372    1.0875

   -0.4689    1.2723

 

5.2. Расчет корреляционной матрицы для значений F. Корреляционная матрица не должна быть равна eye(2).

>> inv(T'*T)

ans =

    1.0000   -0.6391

   -0.6391    1.0000

>> inv(T'*T)== eye(2)

ans =

     0     0

     0     0

5.3. Расчет корреляционной матрицы для матрицы исходных данных Х.

>> Lambda*inv(T'*T)*Lambda' + diag(Psi)

ans =

    1.0000   -0.5424   -0.6893    0.4309   -0.4167

   -0.5424    1.0000    0.8979   -0.8078    0.9328

   -0.6893    0.8979    1.0000   -0.7730    0.8647

    0.4309   -0.8078   -0.7730    1.0000   -0.8326

   -0.4167    0.9328    0.8647   -0.8326    1.0000

 

5.4. Графическое представление результатов простого факторного анализа после косоугольного вращения матрицы нагрузок.

>> invT = inv(T)

invT =

    1.0000   -0.0054

   -0.6349    0.7726

>> Lambda0 = Lambda*invT

Lambda0 =

   -0.5020    0.7277

    0.9550   -0.0865

    0.9113   -0.3185

   -0.8450    0.0091

    0.9865    0.1079

>> plot(Lambda0(:,1),Lambda0(:,2), 'ro');

>> line([-invT(1,1) invT(1,1) NaN -invT(2,1) invT(2,1)],[-invT(1,2) invT(1,2) NaN -invT(2,2) invT(2,2)]);

>> text(invT(:,1), invT(:,2),[' I '; ' II']);

>> xlabel('Loadings for unrotated Factor 1')

>> ylabel('Loadings for unrotated Factor 2')

6. Использование функции вращения заданной пользователем. Функция пользователя реализует косоугольное вращение. Дополнительными параметрами функции вращения являются целевая матрица нагрузок и число простых факторов.

6.1. Текст функции вращения myrotation:

function [B, T] = myrotation (A, Target,m)

% Косоугольное вращение

 

% Входные параметры:

% A - матрица нагрузок до вращения;

% Target - целевая матрица нагрузок;

% m - число простых факторов.

% Выходные параметры:

% B - матрица нагрузок после вращения;

% T - матрица вращения.

 

T = A \ Target;

    T = T * diag(sqrt(diag((T'*T)\eye(m))));

B = A * T;

 

6.2. Выполняется загрузка данных из файла carbig и расчет параметров модели простого факторного анализа для двух факторов.

>> load carbig

>> X = [Acceleration Displacement Horsepower MPG Weight];

>> X = X(all(~isnan(X),2),:);

>> Target= factoran(X,2).^2;

>> [Lambda,Psi,T]=factoran(X,2,'rotate',@myrotation,'userargs', Target,2)

Lambda =

   -0.0157    0.8729

    1.0582    0.1476

    0.8229   -0.1878

   -0.9897   -0.2246

    1.2493    0.4273

Psi =

    0.2184

    0.0804

    0.0680

    0.2859

    0.0152

T =

    1.1798    0.2808

    0.7923    1.3931

7. Анализ структуры 5-ти мерной случайной величины для двух факторов. В качестве метода вращения используется ортогональное вращение с коэффициентом .

>> load carbig

>> X = [Acceleration Displacement Horsepower MPG Weight];

>> X = X(all(~isnan(X),2),:);

>> [Lambda,Psi,T]=factoran(X,2, 'coeffom', 0.5)

Lambda =

   -0.2432   -0.8500

    0.8773    0.3871

    0.7618    0.5930

   -0.7978   -0.2786

    0.9692    0.2129

Psi =

    0.2184

    0.0804

    0.0680

    0.2859

    0.0152

T =

    0.9476    0.3195

    0.3195   -0.9476

 

8. Анализ структуры 5-ти мерной случайной величины для двух факторов. В качестве метода вращения используется ортогональное вращение с коэффициентом . Входные данные заданы в виде ковариационной матрицы. Для расчета полей структуры stats: stats.chisq и stats.p, задан дополнительный входной параметр 'nobs'=100.

>> load carbig

>> X = [Acceleration Displacement Horsepower MPG Weight];

>> X = X(all(~isnan(X),2),:);

>> С= cov(X)

C =

  1.0e+005 *

    0.0001   -0.0016   -0.0007    0.0001   -0.0098

   -0.0016    0.1095    0.0361   -0.0066    0.8293

   -0.0007    0.0361    0.0148   -0.0023    0.2827

    0.0001   -0.0066   -0.0023    0.0006   -0.0552

   -0.0098    0.8293    0.2827   -0.0552    7.2148

>> [lambda,psi,T,stats] = factoran(C,2,'xtype','cov', 'nobs', 100)

lambda =

   -0.2432   -0.8500

    0.8773    0.3871

    0.7618    0.5930

   -0.7978   -0.2786

    0.9692    0.2129

psi =

    0.2184

    0.0804

    0.0680

    0.2859

    0.0152

T =

    0.9476    0.3195

    0.3195   -0.9476

stats = 

    loglike: -0.0030

        dfe: 1

      chisq: 0.2838

          p: 0.5943

 

 

Наверх

pcacov - Функция служит для реализации метода главных компонент по заданной в качестве входного параметра матрице ковариаций

Синтаксис

pc = pcacov(X)

[pc,latent,explained] = pcacov(X)

Описание

pc = pcacov(X) функция позволяет провести анализ главных компонент на основе ковариационной матрицы Х исходных данных. Функция возвращает матрицу главных компонент pc. Матрица pc является множеством собственных векторов ковариационной матрицы Х. Размерности матриц pc и Х будет одинаковой.

[pc,latent,explained] = pcacov(X) функция возвращает матрицу главных компонент pc, вектор собственных значений ковариационной матрицы latent, вектор долей explained, в процентах, от общей дисперсии, объясняемых собственными векторами (главными компонентами). Число элементов векторов latent и explained равно количеству столбцов или строк Х.

Примеры использования функции анализа главных компонент по ковариационной матрице

Анализ главных компонент 10-ти мерной случайной величины, распределенной по стандартизованному нормальному закону. Функция возвращает матрицу главных компонент.

>> x=normrnd(0,1,100,10);

>> covx = cov(x)

covx =

    1.2405   -0.0065   -0.0939   -0.0235   -0.0983   -0.0210    0.0922    0.0705   -0.1096    0.1389

   -0.0065    1.0529    0.0592   -0.0741   -0.0616    0.0173    0.0615   -0.0285    0.1016    0.0593

   -0.0939    0.0592    0.9317    0.0611    0.1394    0.0672   -0.2186    0.0323   -0.0338   -0.0160

   -0.0235   -0.0741    0.0611    1.3267   -0.0913    0.0326   -0.1315    0.0585    0.0949   -0.1333

   -0.0983   -0.0616    0.1394   -0.0913    0.8328    0.0067   -0.0682    0.0525    0.0011    0.0839

   -0.0210    0.0173    0.0672    0.0326    0.0067    1.2301   -0.0447    0.1030    0.1220   -0.0342

    0.0922    0.0615   -0.2186   -0.1315   -0.0682   -0.0447    1.1526   -0.2048   -0.0090    0.0227

    0.0705   -0.0285    0.0323    0.0585    0.0525    0.1030   -0.2048    0.8355   -0.1004    0.1387

   -0.1096    0.1016   -0.0338    0.0949    0.0011    0.1220   -0.0090   -0.1004    0.9864   -0.1950

    0.1389    0.0593   -0.0160   -0.1333    0.0839   -0.0342    0.0227    0.1387   -0.1950    0.9568

>> pc = pcacov(covx)

pc =

   -0.3971   -0.3129   -0.5431    0.3598   -0.1318    0.4485   -0.2956    0.0843    0.0247    0.0805

   -0.0737    0.1629    0.2012    0.2575   -0.8491   -0.1267    0.1124   -0.1050    0.1873    0.2561

    0.2808   -0.2452    0.2390   -0.0494   -0.2525    0.0157   -0.6790   -0.2254   -0.0772   -0.4688

    0.5471    0.0422   -0.6846   -0.0823   -0.1610   -0.4002   -0.0936    0.1116   -0.0257    0.1248

    0.0610   -0.1892    0.3025   -0.1004    0.1026   -0.0824   -0.4032    0.5846    0.3036    0.4951

    0.2918   -0.0401    0.1603    0.8377    0.3206   -0.1649   -0.0303   -0.1544   -0.0996    0.1455

   -0.4653    0.4827   -0.1139    0.1398    0.1389   -0.4824   -0.3362    0.0693    0.2596   -0.2841

    0.1001   -0.4344   -0.0307    0.1242   -0.0021   -0.1029    0.3551    0.1420    0.6620   -0.4356

    0.2543    0.4294    0.0480    0.2098   -0.1298    0.3754    0.0666    0.6256   -0.1435   -0.3611

   -0.2805   -0.4126    0.0740    0.0654   -0.1502   -0.4520    0.1524    0.3696   -0.5738   -0.1595

 

Анализ главных компонент 4-х мерной случайной величины. Функция возвращает матрицу главных компонент, собственные значения ковариационной матрицы, вектор долей от общей дисперсии, объясняемых главными компонентами.

>> load hald

>> covx = cov(ingredients)

covx =

   34.6026   20.9231  -31.0513  -24.1667

   20.9231  242.1410  -13.8782 -253.4167

  -31.0513  -13.8782   41.0256    3.1667

  -24.1667 -253.4167    3.1667  280.1667

>> [pc,variances,explained] = pcacov(covx)

pc =

   -0.0678    0.6460   -0.5673    0.5062

   -0.6785    0.0200    0.5440    0.4933

    0.0290   -0.7553   -0.4036    0.5156

    0.7309    0.1085    0.4684    0.4844

variances =

  517.7969

   67.4964

   12.4054

    0.2372

explained =

   86.5974

   11.2882

    2.0747

    0.0397

 

 

Наверх

pcares - Функция служит для определения остатка после удаления заданного количества главных компонент

Синтаксис

residuals = pcares(X,ndim)

Описание

residuals = pcares(X,ndim) функция возвращает матрицу остатков residuals по ndim главным компонентам. Входной параметр Х является матрицей исходных данных. Столбцы матрицы Х соответствуют признакам, строки - наблюдениям многомерной случайной величины. Входной параметр ndim должен быть задан как скаляр. Величина ndim должна быть меньше числа столбцов матрицы Х. Размерность матриц residuals и Х будет одинаковой.

Примечание: Матрица Х должна быть задана как матрица исходных данных, а не ковариационная матрица.

Примеры использования функции расчета остатков главных компонент

Расчет остатков по 5-ти главным компонентам для 10-ти мерной случайной величины, распределенной по стандартизованному нормальному закону. Объем выборки равен 20 элементам.

>> x=normrnd(0,1,20,10)

x =

   -0.4326    0.2944   -1.6041    0.0000    0.6232   -1.1878    0.1286   -0.3306    0.4694   -0.4650

   -1.6656   -1.3362    0.2573   -0.3179    0.7990   -2.2023    0.6565   -0.8436   -0.9036    0.3710

    0.1253    0.7143   -1.0565    1.0950    0.9409    0.9863   -1.1678    0.4978    0.0359    0.7283

    0.2877    1.6236    1.4151   -1.8740   -0.9921   -0.5186   -0.4606    1.4885   -0.6275    2.1122

   -1.1465   -0.6918   -0.8051    0.4282    0.2120    0.3274   -0.2624   -0.5465    0.5354   -1.3573

    1.1909    0.8580    0.5287    0.8956    0.2379    0.2341   -1.2132   -0.8468    0.5529   -1.0226

    1.1892    1.2540    0.2193    0.7310   -1.0078    0.0215   -1.3194   -0.2463   -0.2037    1.0378

   -0.0376   -1.5937   -0.9219    0.5779   -0.7420   -1.0039    0.9312    0.6630   -2.0543   -0.3898

    0.3273   -1.4410   -2.1707    0.0403    1.0823   -0.9471    0.0112   -0.8542    0.1326   -1.3813

    0.1746    0.5711   -0.0592    0.6771   -0.1315   -0.3744   -0.6451   -1.2013    1.5929    0.3155

   -0.1867   -0.3999   -1.0106    0.5689    0.3899   -1.1859    0.8057   -0.1199    1.0184    1.5532

    0.7258    0.6900    0.6145   -0.2556    0.0880   -1.0559    0.2316   -0.0653   -1.5804    0.7079

   -0.5883    0.8156    0.5077   -0.3775   -0.6355    1.4725   -0.9898    0.4853   -0.0787    1.9574

    2.1832    0.7119    1.6924   -0.2959   -0.5596    0.0557    1.3396   -0.5955   -0.6817    0.5045

   -0.1364    1.2902    0.5913   -1.4751    0.4437   -1.2173    0.2895   -0.1497   -1.0246    1.8645

    0.1139    0.6686   -0.6436   -0.2340   -0.9499   -0.0412    1.4789   -0.4348   -1.2344   -0.3398

    1.0668    1.1908    0.3803    0.1184    0.7812   -1.1283    1.1380   -0.0793    0.2888   -1.1398

    0.0593   -1.2025   -1.0091    0.3148    0.5690   -1.3493   -0.6841    1.5352   -0.4293   -0.2111

   -0.0956   -0.0198   -0.0195    1.4435   -0.8217   -0.2611   -1.2919   -0.6065    0.0558    1.1902

   -0.8323   -0.1567   -0.0482   -0.3510   -0.2656    0.9535   -0.0729   -1.3474   -0.3679   -1.1162

>> ndim=5;

>> residuals = pcares(x,ndim)

residuals =

   -0.1294    0.6677   -0.6751   -0.3242   -0.1797   -0.0065    0.0548    0.2045   -0.0302   -0.2121

   -0.0909   -0.4201    0.8606    0.6110    0.1447   -0.3791   -0.4141   -0.3849   -0.3067    0.0446

   -0.1012    0.4955   -0.3300    0.0417    1.0371    0.6236    0.3302    0.2182   -0.4122    0.0977

   -0.0515    0.1014   -0.0164   -0.7937   -0.2165   -0.0626   -0.3016    0.6726    0.4219   -0.6217

   -0.1767    0.0343    0.2418   -0.1249    0.0220    0.0448    0.0363    0.5205    0.2709   -0.3250

   -0.0797   -0.1271    0.5396   -0.0536    0.2450   -0.2728   -0.6093    0.0055   -0.2204   -0.3225

    0.0420    0.0629   -0.1499    0.1606   -0.4859   -0.4537   -0.2870   -0.5388   -0.2187    0.1063

   -0.0454   -0.1224    0.0969    0.3801   -0.3616   -0.1424    0.2100   -0.1590    0.1155    0.1813

    0.5051   -0.2070   -0.4844   -0.8277    0.1865    0.2268   -0.3044   -0.2563   -0.0737    0.1138

    0.0541   -0.2823    0.1097    0.2053   -0.6232   -0.2698    0.0750   -0.2121    0.2462    0.1430

    0.1628   -0.3271   -0.2793    0.4703   -0.4444    0.3633    1.0214   -0.1356    0.4788    0.6807

   -0.0363    0.1308    0.1033    0.1934    0.3557   -0.1542   -0.3707   -0.3575   -0.5211    0.0221

    0.0737   -0.0987   -0.0569   -0.1726    0.2851    0.4141    0.3308    0.3130    0.2152    0.0564

    0.3496   -0.8068    0.2989    0.1823    0.0402    0.3136    0.3845   -0.2259    0.2907    0.5144

    0.0732    0.3262   -0.3490   -0.2363    0.4463    0.0822   -0.2788   -0.2058   -0.4617   -0.0103

   -0.1208    0.6681   -0.9128    0.1204   -0.4478    0.1010    0.6148   -0.0049    0.0689    0.2048

   -0.3961    0.4129    0.1490    0.0509    0.2484    0.1323    0.1825    0.6987    0.1302   -0.4058

   -0.0651   -0.1566    0.4483   -0.4509    0.2001   -0.0108   -0.3704    0.5345    0.2151   -0.5037

   -0.0287   -0.3294    0.3863    0.8357   -0.6222   -0.5818   -0.0922   -0.7531   -0.1630    0.3643

    0.0615   -0.0223    0.0194   -0.2681    0.1704    0.0319   -0.2119    0.0663   -0.0457   -0.1283

 

Расчет остатков по 1, 2, 3 главным компонентам для 4-х мерной случайной величины. Объем выборки равен 13 элементам.

>> load hald

>> ingredients

ingredients =

     7    26     6    60

     1    29    15    52

    11    56     8    20

    11    31     8    47

     7    52     6    33

    11    55     9    22

     3    71    17     6

     1    31    22    44

     2    54    18    22

    21    47     4    26

     1    40    23    34

    11    66     9    12

    10    68     8    12

>> r1 = pcares(ingredients,1)

r1 =

    2.0350    2.8304   -6.8378    3.0879

   -4.4542    0.9352    2.3715    0.3608

    2.6583   -0.9622   -3.3925   -0.5120

    5.1463   -1.0630   -4.4575   -0.3325

   -0.4990    3.4708   -5.7532    3.4043

    2.8054   -0.4903   -2.4554   -0.0974

   -6.6710    0.7346    6.1765   -0.1822

   -4.9288   -1.8150    9.5747   -2.5224

   -6.0895   -0.4387    6.4996   -1.2302

   13.3158   -3.3821   -7.6739   -1.5998

   -5.8364   -1.8979   10.9632   -2.7387

    1.8038    0.4864   -2.0267    0.6993

    0.7144    1.5919   -2.9885    1.6628

>> r2 = pcares(ingredients,2)

r2 =

   -2.4037    2.6930   -1.6482    2.3425

   -1.4755    1.0274   -1.1111    0.8610

   -0.0582   -1.0463   -0.2165   -0.9681

    0.8606   -1.1957    0.5533   -1.0521

   -3.3814    3.3816   -2.3832    2.9203

    0.4496   -0.5632    0.2988   -0.4930

   -0.8699    0.9141   -0.6061    0.7920

    2.0003   -1.6006    1.4733   -1.3589

   -0.2848   -0.2590   -0.2872   -0.2555

    4.1699   -3.6651    3.0192   -3.1356

    2.1652   -1.6503    1.6079   -1.3950

    0.0068    0.4308    0.0743    0.3976

   -1.1790    1.5333   -0.7747    1.3449

>> r3 = pcares(ingredients,3)

r3 =

    0.2008    0.1957    0.2045    0.1921

   -0.2004   -0.1953   -0.2041   -0.1918

   -0.5700   -0.5555   -0.5806   -0.5455

   -0.1916   -0.1867   -0.1952   -0.1834

    0.0721    0.0702    0.0734    0.0690

   -0.0683   -0.0666   -0.0696   -0.0654

    0.0414    0.0403    0.0422    0.0396

    0.1642    0.1600    0.1672    0.1571

   -0.2752   -0.2682   -0.2803   -0.2634

    0.1724    0.1680    0.1756    0.1649

    0.2203    0.2146    0.2244    0.2108

    0.2262    0.2204    0.2304    0.2164

    0.2083    0.2030    0.2122    0.1994

 

Наверх

princomp - Функция служит для реализации метода главных компонент по заданной в качестве входного параметра матрице исходных значений

Синтаксис

PC = princomp(X)

[PC,SCORE,latent,tsquare] = princomp(X)

Описание

PC = princomp(X) функция предназначена для проведения анализа главных компонент многомерной случайной величины Х. Входной параметр Х является матрицей исходных данных. Столбцы матрицы Х соответствуют признакам, строки - наблюдениям многомерной случайной величины. Функция возвращает матрицу главных компонент PC. Матрица PC является множеством собственных векторов ковариационной матрицы cov(Х). Размерность матрицы PC будет равна n?n, где n - количество признаков многомерной случайной величины, или число столбцов матрицы Х.

Примечание: Входной параметр Х должен быть задан как матрица исходных данных, а не ковариационная матрица.

[PC,SCORE,latent,tsquare] = princomp(X) функция возвращает матрицу главных компонент PC, матрицу Z-множества данных SCORE, собственные значения latent ковариационной матрицы cov(X), вектор значений статистики T2Хоттелинга tsquare для каждого из наблюдений.

Z-множество данных формируется проецированием матрицы наблюдений Х в пространство главных компонент. Элементы вектора latent являются дисперсиями столбцов матрицы SCORE. Статистика T2 Хоттелинга является мерой расстояния в многомерном пространстве отдельных наблюдений относительно центра группирования исходных данных.

Примеры использования функции анализа главных компонент

Анализ главных компонент 10-ти мерной случайной величины, распределенной по стандартизованному нормальному закону. Объем выборки равен 20 наблюдениям. Функция возвращает матрицу главных компонент.

>> x=normrnd(0,1,20,10)

x =

    0.6353   -1.0181    0.4855   -0.5412    1.0641   -0.8960    0.8369   -0.6547   -0.9812    1.0821

   -0.6014   -0.1821   -0.0050   -1.3335   -0.2454    0.1352   -0.7223   -1.0807   -0.6885    2.3726

    0.5512    1.5210   -0.2762    1.0727   -1.5175   -0.1390   -0.7215   -0.0477    1.3395    0.2293

   -1.0998   -0.0384    1.2765   -0.7121    0.0097   -1.1634   -0.2012    0.3793   -0.9092   -0.2666

    0.0860    1.2274    1.8634   -0.0113    0.0714    1.1837   -0.0205   -0.3304   -0.4129    0.7017

   -2.0046   -0.6962   -0.5226   -0.0008    0.3165   -0.0154    0.2789   -0.4999   -0.5062   -0.4876

   -0.4931    0.0075    0.1034   -0.2494    0.4998    0.5362    1.0583   -0.0360    1.6197    1.8625

    0.4620   -0.7829   -0.8076    0.3966    1.2781   -0.7164    0.6217   -0.1748    0.0809    1.1069

   -0.3210    0.5869    0.6804   -0.2640   -0.5478   -0.6556   -1.7506   -0.9573   -1.0811   -1.2276

    1.2366   -0.2512   -2.3646   -1.6640    0.2608    0.3144    0.6973    1.2925   -1.1245   -0.6699

   -0.6313    0.4801    0.9901   -1.0290   -0.0132    0.1068    0.8115    0.4409    1.7357    1.3409

   -2.3252    0.6682    0.2189    0.2431   -0.5803    1.8482    0.6363    1.2809    1.9375    0.3881

   -1.2316   -0.0783    0.2617   -1.2566    2.1363   -0.2751    1.3101   -0.4977    1.6351    0.3931

    1.0556    0.8892    1.2134   -0.3472   -0.2576    2.2126    0.3271   -1.1187   -1.2559   -1.7073

   -0.1132    2.3093   -0.2747   -0.9414   -1.4095    1.5085   -0.6730    0.8076   -0.2135    0.2279

    0.3792    0.5246   -0.1331   -1.1746    1.7701   -1.9451   -0.1493    0.0412   -0.1989    0.6856

    0.9442   -0.0118   -1.2705   -1.0211    0.3255   -1.6805   -2.4490   -0.7562    0.3075   -0.6368

   -2.1204    0.9131   -1.6636   -0.4017   -1.1190   -0.5735    0.4733   -0.0891   -0.5723   -1.0026

   -0.6447    0.0559   -0.7036    0.1737    0.6204   -0.1858    0.1169   -2.0089   -0.9776   -0.1856

   -0.7043   -1.1071    0.2809   -0.1161    1.2698    0.0089   -0.5911    1.0839   -0.4468   -1.0540

>> PC = princomp(x)

PC =

   -0.3218   -0.1082    0.4495   -0.4540    0.5667   -0.1679    0.2817   -0.0781    0.1133    0.1701

    0.2718   -0.3840    0.0631   -0.3077   -0.0340    0.0097   -0.0583    0.5278    0.3750   -0.5061

    0.2531   -0.0023    0.7004    0.2568   -0.3186   -0.4228   -0.2063   -0.0370    0.1517    0.1797

    0.1232   -0.0972    0.0171    0.0834   -0.2291    0.0454    0.6158   -0.5732    0.3092   -0.3320

   -0.2522    0.5340    0.1372    0.2450    0.1297   -0.2926    0.1573    0.2350   -0.1845   -0.5966

    0.5076   -0.3080    0.1803    0.2754    0.4406    0.1423    0.1010   -0.0599   -0.5399   -0.1396

    0.2719    0.3465   -0.0443    0.3753    0.4122    0.2402    0.1122    0.1963    0.5712    0.2412

    0.2197    0.0219   -0.3612   -0.0834    0.3464   -0.5508   -0.4074   -0.4046    0.1806   -0.1679

    0.4858    0.3135   -0.1869   -0.3889   -0.1491   -0.3335    0.4299    0.2191   -0.2051    0.2668

    0.2526    0.4822    0.2908   -0.4375   -0.0249    0.4612   -0.3115   -0.2765   -0.0387   -0.1986

 

Анализ главных компонент 4-х мерной случайной величины. Функция возвращает матрицу главных компонент, матрицу Z-множества данных, собственные значения ковариационной матрицы cov(X), вектор значений статистики T2Хоттелинга для каждого из наблюдений.

>> load hald;

>> ingredients

ingredients =

     7    26     6    60

     1    29    15    52

    11    56     8    20

    11    31     8    47

     7    52     6    33

    11    55     9    22

     3    71    17     6

     1    31    22    44

     2    54    18    22

    21    47     4    26

     1    40    23    34

    11    66     9    12

    10    68     8    12

>> [pc,score,latent,tsquare] = princomp(ingredients)

pc =

    0.0678    0.6460   -0.5673    0.5062

    0.6785    0.0200    0.5440    0.4933

   -0.0290   -0.7553   -0.4036    0.5156

   -0.7309    0.1085    0.4684    0.4844

score =

  -36.8218    6.8709    4.5909    0.3967

  -29.6073   -4.6109    2.2476   -0.3958

   12.9818    4.2049   -0.9022   -1.1261

  -23.7147    6.6341   -1.8547   -0.3786

    0.5532    4.4617    6.0874    0.1424

   10.8125    3.6466   -0.9130   -0.1350

   32.5882   -8.9798    1.6063    0.0818

  -22.6064  -10.7259   -3.2365    0.3243

    9.2626   -8.9854    0.0169   -0.5437

    3.2840   14.1573   -7.0465    0.3405

   -9.2200  -12.3861   -3.4283    0.4352

   25.5849    2.7817    0.3867    0.4468

   26.9032    2.9310    2.4455    0.4116

latent =

  517.7969

   67.4964

   12.4054

    0.2372

tsquare =

    5.6803

    3.0758

    6.0002

    2.6198

    3.3681

    0.5668

    3.4818

    3.9794

    2.6086

    7.4818

    4.1830

    2.2327

    2.7216

 

 

Наверх

barttest - Тест Бартлета

Синтаксис

ndim = barttest(x,alpha)

[ndim,prob,chisquare] = barttest(x,alpha)

Описание

ndim = barttest(x,alpha) функция позволяет оценить размерность ndim пространства главных компонент необходимого для того, чтобы объяснить неслучайные изменения в матрице исходных данных х при заданном уровне значимости alpha. Величина размерности ndim определяется в результате проверки последовательности нулевых гипотез. Нулевая гипотеза для ndim=1 состоит в том, что дисперсии исходных данных по всем главным компонентам равны. Нулевая гипотеза для ndim=2 состоит в том, что дисперсии исходных данных по второму и последующим главным компонентам равны. И так далее.

[ndim,prob,chisquare] = barttest(x,alpha) функция возвращает размерность пространства главных компонент ndim, объясняющих неслучайные изменения в матрице входных данных x, вектор уровней значимости prob, полученный при проверке последовательности нулевых гипотез о равенстве ndim заданному значению, вектор значений статистики хи-квадрат chisquare, использованных при проверке каждой из серии нулевых гипотез.

Примеры использования функции теста Бартлетта для оценки размерности пространства главных компонент

Тест Бартлетта для проверки нулевой гипотезы о величине размерности пространства главных компонент. В качестве исходных данных выступает матрица, состоящая из 3-х двумерных случайных величин, распределенных по многомерному нормальному закону с ковариационной матрицей [1 0.99; 0.99 1] и нулевым математическим ожиданием. Объем выборки 20 элементов. Функция возвращает размерность пространства главных компонент. Проверка гипотез проводится для уровня значимости 0,05.

>> x = mvnrnd([0 0],[1 0.99; 0.99 1],20);

>> x(:,3:4) = mvnrnd([0 0],[1 0.99; 0.99 1],20);

>> x(:,5:6) = mvnrnd([0 0],[1 0.99; 0.99 1],20)

x =

   -0.5108   -0.5913    0.7582    0.5571    0.7599    0.7804

    0.2349    0.3295   -0.6919   -0.7818   -1.7129   -1.6594

   -0.5978   -0.5890    0.6802    0.7202    1.5370    1.8152

    0.0208    0.1706   -1.0725   -1.2026   -1.6098   -1.9150

    0.4194    0.2261    0.8998    0.9319    1.1095    1.1463

    1.1911    1.2468   -2.1231   -1.9457   -1.1097   -1.0577

    0.7712    0.5330    0.2847    0.3164    0.3855    0.4750

   -2.6442   -2.8213   -0.7333   -0.7027    0.9652    0.8736

    0.2854    0.3240   -0.7734   -0.7083    0.8183    0.9353

    0.8261    0.7980    0.1518    0.3219    0.0370    0.0609

   -0.0081   -0.1675   -0.3368   -0.1291   -0.9260   -0.7970

    0.8584    0.8086    0.9708    0.8164   -0.1119    0.0252

    0.7748    0.6849   -0.1072   -0.0772   -0.8030   -0.6085

    1.3059    1.1664    1.0135    1.0864   -1.6650   -1.6574

    1.2315    1.2543   -0.4753   -0.5078   -0.9014   -0.7066

    0.9586    0.7388    0.0689    0.4203    0.5883    0.6146

   -1.6545   -1.5938    0.3986    0.5154    0.5542    0.3469

   -0.9904   -1.2662    1.1163    0.9851   -0.4152   -0.4321

    0.6852    0.7530    0.6205    0.7288    0.0618   -0.0101

   -0.9749   -0.9167   -0.2877   -0.1860    0.4574    0.2089

>> alpha=0.05;

>> ndim = barttest(x,alpha)

ndim =

     3

 

Тест Бартлетта для проверки нулевой гипотезы о величине размерности пространства главных компонент. В качестве исходных данных выступает матрица, состоящая из 3-х двумерных случайных величин, распределенных по многомерному нормальному закону с ковариационной матрицей [1 0.8; 0.8 1] и нулевым математическим ожиданием. Объем выборки 20 элементов. Функция возвращает размерность пространства главных компонент, вектор уровней значимости, полученный при проверке серии нулевых гипотез, вектор значений статистики хи-квадрат, использованной при проверке каждой из серии нулевых гипотез. Проверка гипотез проводится для уровня значимости 0,01.

>> x = mvnrnd([0 0],[1 0.8; 0.8 1],20);

>> x(:,3:4) = mvnrnd([0 0],[1 0.8; 0.8 1],20);

>> x(:,5:6) = mvnrnd([0 0],[1 0.8; 0.8 1],20)

x =

   -0.4175   -0.0695   -1.6466   -1.8292   -1.0082   -0.5103

   -0.6150   -0.1527    0.4287    0.5503   -0.6646   -1.0542

    0.7208    0.1604   -0.7372   -0.5239    0.5582    0.4944

    0.3394    0.7718    0.5649   -0.2279   -1.1885   -1.2638

    0.8828   -0.6362   -1.3842   -1.5172   -0.7755   -1.4687

    0.2842    0.8860    0.4603    0.2015    0.2710   -0.0137

   -0.1455   -0.1174    0.6294    0.8964    1.5350    0.9532

   -0.0896   -1.0405    0.3798   -0.4452   -1.0523   -1.0167

    0.2892   -0.5059   -1.0133   -1.1692    0.6256    0.3197

    1.1648    1.0563   -0.3472   -0.5669   -0.7976   -1.5913

    0.8057    0.7771    0.4419    0.9436   -0.3135    0.4058

   -1.3556   -1.6882   -1.5902   -0.2149   -0.6022    0.3127

    0.1209   -0.1751   -0.7014    0.2953    1.2591    0.9314

   -0.2222    0.6619   -1.0776   -0.3150    0.8585    0.2445

    0.5717    0.1802    1.0022    0.9979   -2.1053   -1.5560

   -0.3001   -0.2205    1.7295    1.4254   -0.3609   -0.5291

    1.1343    1.3867    0.7090   -0.3326    0.5536    0.4818

   -0.1794    0.3946   -0.7479   -0.8493   -1.5564   -2.2999

   -1.4671   -1.0909    0.2289    0.1705   -0.2067    0.8467

    1.3953    0.1448   -0.2235   -0.0417   -0.4256   -0.1440

>> [ndim,prob,chisquare] = barttest(x,0.01)

ndim =

     3

prob =

    0.0000

    0.0000

    0.0001

    0.8594

    0.9756

chisquare =

   64.8186

   52.6410

   33.1329

    1.9249

    0.0493

 

 

Наверх

treedisp - Отображает граф возможных решений

Синтаксис

treedisp(T)

treedisp(T,'param1',val1,'param2',val2,...)

Описание

treedisp(T) функция позволяет получить графическое представление иерархической нелинейной регрессионной модели или бинарного дерева для классификации наблюдений на основе входного аргумента T. Параметр Т определяет вид дерева решений и задается как структура. Т является выходным аргументом функции treefit. Результат отображается в графическом окне (рис. 1). Промежуточные узлы дерева решений отмечены метками  с условиями выбора относительно значения какой либо независимой переменной. Каждый из конечных узлов дерева решений имеет метку  со значением зависимой переменной. Для выбора одной из двух возможных ветвей дерева решений исходящих из промежуточного узла действует правило: левая ветвь соответствует выполнению условия относительно независимой переменной, правая - невыполнению этого условия. Определение значения зависимой переменной начинается с первого промежуточного узла, далее следуя заданному условию выбирается правая или левая исходящая ветвь. Аналогично просматриваются последующие узлы до тех пор пока не будет достигнут последний конечный узел. Числовая или категориальная метка, соответствующая последнему узлу, является значением зависимой переменной.

Рис. 1. Графическое окно бинарного дерева решений.

Меню "Click to display" (рис. 1) служит для выбора информации о выделенном узле дерева решений. Предусмотрены следующие возможные пункты меню:

Пункт меню "Click to display"

Назначение

Identity

Отображается номер узла, вид узла: конечный или промежуточный, и правило выбора узла (рис. 2)

Variable ranges

Приводится размах каждой независимой переменной для указанного узла (рис. 3)

Node statistics

Статистические данные по выделенному узлу: количество независимых переменных, соответствующие выделенному узлу по исходной выборке; среднее арифметическое и стандартное отклонение зависимой переменной (рис. 4).

Рис. 2.

Рис. 2.

Рис. 3.

Для отображения интересующей информации об узлах необходимо сначала выбрать соответствующую команду в меню "Click to display" и затем выделить мышью один из узлов дерева решений.

Меню "Pruning level" отображает число уровней полного дерева решений и количество уровней, которые были удалены из него. Например, значения "1 of 4" соответствуют полному дереву решений, состоящему из 4 уровней (рис. 1) и одному уровню, который был удален при формировании сокращенного дерева решений (рис. 5). Изменение числа удаляемых уровней выполняется при помощи кнопок

Рис. 5. Пример сокращенного дерева решений. Удален один уровень.

Меню "Magnification" служит для изменения масштаба отображения дерева решений в графическом окне.

treedisp(T,'param1',val1,'param2',val2,...) дополнительные параметры 'param1', 'param2',: задаются в виде пары "название параметра, значение" и позволяют определить:

Название параметра 'param'

Назначение и возможные значения val

'names'

Определяет метки независимых переменных в графическом окне. Значения 'names' задаются в виде массива ячеек. Порядок элементов в массиве ячеек должен соответствовать последовательности независимых переменных (столбцов) матрицы Х, передаваемой как входной аргумент функции treefit.

'prunelevel'

Начальный уровень при формировании сокращенного дерева решений. Задается как целое число.

Примеры использования функции treedisp

Графическое отображение иерархической нелинейной регрессионной модели вида . Зависимая переменная задана на числовой шкале.

>> x=1:1:100;

>> x=[x' x' x'];

>> x1=normrnd(0,10,100,3);

>> X=x+x1;

>> y=1:2:200;

>> y1=normrnd(0,2,1,100);

>> y=y+y1;

>> T = treefit(X,y');

>> treedisp(T);

Графическое отображение иерархической нелинейной регрессионной модели вида . Зависимая переменная задана на числовой шкале. Метки независимых переменных в графическом окне определены с помощью массива ячеек names. При отображении дерева решений задан начальный уровень prunelevel.

>> x=1:1:100;

>> x=[x' x' x'];

>> x1=normrnd(0,10,100,3);

>> X=x+x1;

>> y=1:2:200;

>> y1=normrnd(0,2,1,100);

>> y=y+y1;

>> T = treefit(X,y');

>> names={'first', 'second', 'third'};

>> prunelevel=1;

>> treedisp(T, 'names', names, 'prunelevel', prunelevel);

Графическое отображение бинарного дерева при решении задачи классификации. Зависимая переменная задана на категориальной шкале при помощи вектора строк.

>> load fisheriris

>> t = treefit(meas,species);

>> treedisp(t);

 

 

Наверх

treefit - Построение графа возможных решений на основе исходных данных

Синтаксис

T = treefit(X,y)

T = treefit(X,y,'param1',val1,'param2',val2,...)

Описание

T = treefit(X,y) функция предназначена для расчета структуры Т, определяющей параметры иерархической нелинейной регрессионной модели или бинарного дерева классификации наблюдений для матрицы независимых переменных Х и вектора значений зависимой переменной y. Размерность матрицы Х - n×m, где n - число наблюдений, m - количество независимых переменных. Строки Х соответствуют наблюдениям, столбцы Х - независимым переменным. Число элементов вектора y должно быть равно n. Вектор y может быть задан как вектор числовых значений, вектор строк или массив ячеек со строковыми элементами. В 1-м случае решается задача регрессии, во 2-м и 3-м случаях - задача классификации. Выходная переменная T определяет бинарное дерево решений, в котором промежуточные узлы делятся ветвями на 2 возможных решения. В качестве условия выбора направления перехода выступает ограничение на значение независимой переменной.

T = treefit(X,y,'param1',val1,'param2',val2,...) дополнительные параметры 'param1', 'param2',… задаются в виде пары "название параметра, значение" и позволяют задать:

1. для задач регрессии и классификации

Название параметра - 'param'

Назначение и возможные значения val

'catidx'

Вектор номеров столбцов матрицы независимых переменных Х заданных на категориальной шкале

'method'

Вид решаемой задачи: 'method'='classification', решается задача классификации, 'method'='regression', решается задача регрессии. Если наблюдения зависимой переменной y заданы как строковые значения, то 'method' по умолчанию принимается равным 'classification'. Для y(i) заданных на числовой шкале 'method' по умолчанию принимается равным 'regression'.

'splitmin'

Минимальное число наблюдений в исходной выборке X, y соответствующее узлу бинарного дерева решений, при котором возможно его последующее деление. Значение по умолчанию - 10.

'prune'

Параметр позволяет задать возможность расчета сокращенных иерархических регрессионных моделей. Для 'prune'='on' рассчитываются параметры полного и последовательности сокращенных иерархических регрессионных моделей. Если 'prune'='off', то определяются параметры полной иерархической регрессионной модели. Значение по умолчанию 'prune'='on'.

2. для задачи классификации

Название параметра - 'param'

Назначение и возможные значения val

'cost'

Параметр позволяет задать погрешность классификации точки -го класса в i-й класс. Значение 'cost' задается в виде матрицы С с размерностью р×р, где р - количество значений (классов) зависимой переменной. По умолчанию C(i,j)=1 если i≠j, и C(i,j)=0 если i=j. Значение 'cost' может быть также задано в виде структуры S с двумя полями: S.group -названия групп; S.cost -матрица погрешностей классификации.

'splitcriterion'

Критерий формирования бинарного дерева решений. Возможные значения 'splitcriterion': 'gdi' - формирование узлов дерева решений выполняется на основе индексов различия Джини; 'twoing' - используется правило максимального соответствия пар значений; 'deviance' - деление выполняется по правилу минимизации максимальной дисперсии. Значение по умолчанию 'splitcriterion'='gdi'.

'priorprob'

Параметр задает априорные вероятности для каждого класса по зависимой переменной y. Значения параметра 'priorprob' определяются вектором. Каждый элемент вектора значений 'priorprob' соответствует априорной вероятности для отдельного класса по y. Значение 'priorprob' может быть задано как структура S с двумя полями: S.group - названия классов по y; S.prob -вектор соответствующих вероятностей.

Примеры использования функции treefit

Рассматривается задача регрессии вида . Зависимая переменная y определена на числовой шкале.

>> x=1:1:100;

>> x=[x' x' x'];

>> x1=normrnd(0,10,100,3);

>> X=x+x1;

>> y=1:2:200;

>> y1=normrnd(0,2,1,100);

>> y=y+y1;

>> T = treefit(X,y');

>> treedisp(T);

Рассматривается задача регрессии вида . Зависимая переменная y определена на числовой шкале. Задано минимальное число наблюдений для дальнейшего деления промежуточного узла 'splitmin'=20 и отменена возможность расчета параметров последовательности сокращенных иерархических регрессионных моделей 'prune'='off'.

>> x=1:1:100;

>> x=[x' x' x'];

>> x1=normrnd(0,10,100,3);

>> X=x+x1;

>> y=1:2:200;

>> y1=normrnd(0,2,1,100);

>> y=y+y1;

>> T = treefit(X,y', 'prune','off', 'splitmin',20);

>> treedisp(T);

В приведенном ниже примере регрессии используется категориальная независимая переменная Model_Year (в функции treefit 'catidx'=2).

>> load carsmall

>> x = [Weight,Model_Year];

>> Weight

Weight =

3504

3693

3436

……………………..

>> Model_Year

Model_Year =

70

70

70

……………………..

76

76

……………………..

82

82

82

>> MPG

MPG =

18.0000

15.0000

18.0000

……………………..

>> y = MPG;

>> t = treefit(x,y,'catidx',2);

>> treedisp(t,'name',{'Wt' 'Yr'});

Задача классификации для 4 независимых переменных meas, заданных на числовой шкале, и зависимой переменной species, элементы вектора которой заданы как 3 значения по категориальной шкале.

>> load fisheriris

>> meas

meas =

5.1000 3.5000 1.4000 0.2000

4.9000 3.0000 1.4000 0.2000

4.7000 3.2000 1.3000 0.2000

4.6000 3.1000 1.5000 0.2000

5.0000 3.6000 1.4000 0.2000

5.4000 3.9000 1.7000 0.4000

4.6000 3.4000 1.4000 0.3000

……………………………………..

>> species

species = 

'setosa'

'setosa'

'setosa'

'setosa'

'setosa'

'setosa'

'setosa'

'setosa'

'setosa'

'setosa'

…………

'versicolor'

'versicolor'

'versicolor'

'versicolor'

'versicolor'

'versicolor'

'versicolor'

'versicolor'

'versicolor'

'versicolor'

'versicolor'

……………

'virginica'

'virginica'

'virginica'

'virginica'

'virginica'

>> t = treefit(meas,species);

>> treedisp(t);

 

Решается задача классификации для 4 независимых переменных meas и зависимой переменной species. В качестве критерия формирования бинарного дерева решений используется правило минимизации максимальной дисперсии.

>> load fisheriris

>> t = treefit(meas,species, 'splitcriterion', 'deviance');

>> treedisp(t);

Решается задача классификации для 4 независимых переменных meas и зависимой переменной species. В качестве дополнительных параметров заданы: матрица погрешностей cost и вектор априорных вероятностей priorprob.

>> load fisheriris

>> cost=[0 0.8 0.9; 0.8 0 0.9; 0.8 0.9 0];

>> priorprob=[0.3 0.5 0.2];

>> t = treefit(meas,species,'cost',cost,'priorprob',priorprob);

>> treedisp(t);

Решается задача классификации для 4 независимых переменных meas и зависимой переменной species. Дополнительные параметры погрешности классификации и априорные вероятностей классов зависимой переменной заданы как структуры S1, S2 соответственно.

>> load fisheriris

>> S1.group=['setosa '; 'versicolor'; 'virginica '];

>> S1.cost=[0 0.9 0.9; 0.8 0 0.6; 0.7 0.8 0];

>> S2.group=['setosa '; 'versicolor'; 'virginica '];

>> S2.prob=[0.3 0.5 0.2];

>> t = treefit(meas,species,'cost', S1,'priorprob',S2);

>> treedisp(t);

 

 

Наверх

treeprune - Исключение незначимых решений в графе возможных решений

Синтаксис

T2 = treeprune(T1,'level',level)

T2 = treeprune(T1,'nodes',nodes)

T2 = treeprune(T1)

 

Описание

T2 = treeprune(T1,'level',level) функция предназначена для получения сокращенной до уровня 'level' иерархической регрессионной модели T2 из начального бинарного дерева решений T1. T1 является выходной переменной функции treefit. Значение параметра 'level' - level должно быть целым положительным числом. Если level=0 то T2 будет получено без сокращения T1. Исходное бинарное дерево решений T1 сокращается по оптимальной схеме, т.е. в первую очередь удаляются промежуточные узлы соответствующие наименьшему уменьшению погрешности иерархической регрессионной модели.

T2 = treeprune(T1,'nodes',nodes) функция позволяет сформировать сокращенное бинарное дерево решений T2 из начальной иерархической регрессионной модели T1. Конечные узлы Т2 определяются промежуточные узлы номера которых перечислены в векторе nodes. Если nodes(i) является подчиненным nodes(j), то nodes(i) будет удален, а nodes(j) станет конечным узлом Т2. Элементами вектора nodes должны быть целые положительные числа. Номера узлов можно определить на графике бинарного дерева решений, полученного с помощью функции treedisp.

T2 = treeprune(T1) функция возвращает структуру Т2 задающую тоже бинарное дерево решений, что и входной параметр T1. В отличии от Т1 в Т2 будет внесена информация по оптимальному сокращению бинарного дерева решений. Такой вариант синтаксиса функции treeprune используется в 2 случаях: 1. если Т1 была получена посредством сокращения другого дерева решений; 2. если Т1 была рассчитана с использованием treefit с параметром 'prune'='off'.

Процедура сокращения исходного дерева решений позволяет перевести промежуточные узлы в конечные с удалением последних из начальной иерархической регрессионной модели.

Примеры использования функции treeprune

Рассматривается задача регрессии вида . Зависимая переменная y определена на числовой шкале. Исходное бинарное дерево решений сокращается на 5 уровней. Приведены графики начального и сокращенного бинарных деревьев решений.

>> x=1:1:100;

>> x=[x' x' x'];

>> x1=normrnd(0,10,100,3);

>> X=x+x1;

>> y=1:2:200;

>> y1=normrnd(0,2,1,100);

>> y=y+y1;

>> T1 = treefit(X,y');

>> level=5;

>> T2 = treeprune(T1,'level',level);

>> treedisp(T1);

>> treedisp(T2);

Рассматривается задача регрессии вида . Зависимая переменная y определена на числовой шкале. Сокращение выполняется для промежуточных узлов заданных вектором номеров nodes.

>> x=1:1:20;

>> x=[x' x'];

>> x1=normrnd(0,10,20,2);

>> X=x+x1;

>> y=1: 2:40;

>> y1=normrnd(0,2,1,20);

>> y=y+y1;

>> T1 = treefit(X,y');

>> treedisp(T1);

>> nodes = [2 4];

>> T2 = treeprune(T1,'nodes',nodes);

>> treedisp(T2);

Задача классификации для 4 независимых переменных meas, заданных на числовой шкале, и зависимой переменной species, элементы вектора которой заданы по 3-м классам на категориальной шкале. Исходное бинарное дерево решений сокращается на 2 уровня. Приведены графики начального и сокращенного бинарных деревьев решений.

>> load fisheriris

>> T1 = treefit(meas,species);

>> treedisp(T1);

>> level=2;

>> T2 = treeprune(T1,'level',level);

>> treedisp(T2);

Задача классификации для 4 независимых переменных meas, заданных на числовой шкале, и зависимой переменной species, элементы вектора которой заданы по 3-м классам на категориальной шкале. Сокращение выполняется для промежуточных узлов заданных вектором номеров nodes.

>> load fisheriris

>> T1 = treefit(meas,species);

>> treedisp(T1);

>> nodes = [4 6];

>> T2 = treeprune(T1,'nodes',nodes);

>> treedisp(T2);

 

 

Наверх

treetest - Оценка погрешности узлов графа возможных решений

Синтаксис

cost = treetest(T,'resubstitution')

cost = treetest(T,'test',X,y)

cost = treetest(T,'crossvalidate',X,y)

[cost,secost,ntnodes,bestsize] = treetest(...)

[...] = treetest(...,'param1',val1,'param2',val2,...)

 

Описание

cost = treetest(T,'resubstitution') функция позволяет рассчитать погрешность иерархической нелинейной регрессионной модели определяемой бинарным деревом решений Т методом обратной подстановки исходных значений зависимой и независимых переменных. Входной аргумент Т формируется с помощью функции treefit. Погрешность иерархической нелинейной регрессионной модели определяется как сумма вероятностей неверного определения i-х значений зависимой переменной p(i) по всем конечным узлам. Если при формировании Т решалась задача классификации, то вероятностью p(i) является отношение числа неверных классификаций по i-му значению зависимой переменной из начального множества данных к объему исходной выборки. Если при расчете Т была решена задача регрессии, то в качестве p(i) принимается средняя квадратическая ошибка при определении i-го значения зависимой переменной по исходной выборке. Выходная переменная cost является вектором погрешностей для последовательности иерархических регрессионных моделей, полученных в процессе совращения уровней в исходном бинарном дереве решений Т. Поскольку расчет вектора ошибок основан на исходной выборке по которой была рассчитана структура Т, то элементы вектора cost будут представлять нижнюю границу доверительного интервала погрешности при использовании новой выборки.

cost = treetest(T,'test',X,y) функция предназначена для расчета вектора погрешностей cost иерархической нелинейной регрессионной модели определяемой структурой Т по тестовой 'test' выборке X, y. Х матица значений независимых переменных. Столбцы Х соответствуют независимым переменным, строки - наблюдениям. y - вектор значений зависимой переменой. Тестовая выборка и исходная выборка, использованная в treefit при расчете Т, должны быть различны. Количество и порядок независимых переменных, столбцов матриц Х в исходной и тестовой выборках, должно быть одинаковым. 

cost = treetest(T,'crossvalidate',X,y) функция предназначена для расчета вектора погрешностей cost иерархической нелинейной регрессионной модели, заданной структурой Т, методом перекрестной подстановки 'crossvalidate'. Матрица независимых переменных Х и вектор значений зависимой переменной y являются исходной выборкой, по которой была рассчитана структура Т.

Алгоритм расчета погрешности регрессионной модели методом перекрестной подстановки включает следующие этапы:

1. Исходная выборка X, y делится на 10 подгрупп с приблизительно равным объемом, элементы которых выбираются случайным образом. Если при формировании Т решалась задача классификации, то подгруппы формируются с приблизительно одинаковыми вероятностями извлечь значение y(i) из каждой подгруппы.

2. Выбирается одна из полученных подгрупп. Определяются значения из X, y не попавшие в подгруппу. Эти значения используются для расчета бинарного дерева решений иерархической нелинейной регрессионной модели.

3. По полученному бинарному дереву решений на основе элементов подгруппы рассчитывается погрешность модели.

4. Расчет по п. 2-3 повторяется по оставшимся подгруппам. На основе полученных погрешностей для отдельных подгрупп рассчитывается общая погрешность регрессионной модели по исходной выборке.

[cost,secost,ntnodes,bestsize] = treetest(...) функция позволяет рассчитать: 1. cost - вектор погрешностей иерархической нелинейной регрессионной модели; 2. secost - вектор стандартных ошибок для элементов вектора cost; 3. ntnodes - вектор чисел конечных узлов последовательности сокращенных бинарных деревьев решений; 4. bestsize - скаляр, определяющий оптимальный уровень сокращения полного дерева решений Т. Если bestsize=0, то оптимальным будет полное бинарное дерево решений Т. Величина bestsize должна соответствовать наименьшему бинарному дереву решений, обеспечивающему погрешность иерархической нелинейной регрессионной модели равной минимальной погрешности плюс ее стандартная ошибка.

[...] = treetest(...,'param1',val1,'param2',val2,...) дополнительные входные параметры 'param1', 'param2' задаются в виде пары "название параметра, значение" и позволяют определить:

Название параметра 'param'

Назначение и возможные значения val

'nsamples'

Количество подгрупп при использовании метода перекрестной подстановки для расчета вектора погрешностей последовательности регрессионных моделей. Значение по умолчанию - 10.

'treesize'

Критерий расчета величины bestsize. Возможны значения: 'se' - величина bestsize должна соответствовать наименьшему бинарному дереву решений, обеспечивающему погрешность иерархической нелинейной регрессионной модели равной минимальной погрешности плюс ее стандартная ошибка; 'min' - bestsize выбирается так, чтобы обеспечивалась минимальное значение погрешности регрессионной модели.

Примеры использования функции treetest

Рассматривается задача регрессии вида . Зависимая переменная y определена на числовой шкале. Погрешность регрессионной модели рассчитывается методом обратной подстановки.

>> x=1:1:20;

>> x=[x' x'];

>> x1=normrnd(0,10,20,2);

>> X=x+x1;

>> y=1:2:40;

>> y1=normrnd(0,2,1,20);

>> y=y+y1;

>> T = treefit(X,y');

>> treedisp(T);

>> cost = treetest(T,'resubstitution')

cost =

58.4830

77.3941

99.2253

142.7998

Рассматривается задача регрессии вида . Зависимая переменная y определена на числовой шкале. Погрешность регрессионной модели рассчитывается для тестовой выборки Xtest, Ytest.

>> x=1:1:20;

>> x=[x' x'];

>> x1=normrnd(0,1,20,2);

>> X=x+x1;

>> y=1:2:40;

>> y1=normrnd(0,2,1,20);

>> y=y+y1;

>> T = treefit(X,y');

>> treedisp(T);

>> Xtest=2:1:21;

>> Xtest =[ Xtest' Xtest'];

>> Xtest1=normrnd(0,1,20,2);

>> Xtest = Xtest + Xtest1;

>> Ytest =1:2:22;

>> Ytest1=normrnd(0,3,1,20);

>> Ytest = Ytest + Ytest1;

>> cost = treetest(T,'test', Xtest, Ytest')

cost =

168.0132

146.3590

134.4918

Рассматривается задача регрессии вида . Зависимая переменная y определена на числовой шкале. Погрешность регрессионной модели рассчитывается методом перекрестной подстановки. Функция возвращает вектор погрешностей иерархической нелинейной регрессионной модели, вектор стандартных ошибок для элементов вектора погрешностей, вектор чисел конечных узлов последовательности сокращенных бинарных деревьев решений, оптимальный уровень сокращения полного дерева решений.

>> x=1:1:20;

>> x=[x' x'];

>> x1=normrnd(0,1,20,2);

>> X=x+x1;

>> y=1:2:40;

>> y1=normrnd(0,2,1,20);

>> y=y+y1;

>> T = treefit(X,y');

>> treedisp(T);

>> [cost,secost,ntnodes,bestsize]= treetest(T,'crossvalidate',X,y')

cost =

41.2422

49.6159

144.4373

secost =

10.3460

13.7285

29.2722

ntnodes =

3

2

1

bestsize =

1

Рассматривается задача регрессии вида . Зависимая переменная y определена на числовой шкале. Погрешность регрессионной модели рассчитывается методом перекрестной подстановки. Функция возвращает вектор погрешностей иерархической нелинейной регрессионной модели, вектор стандартных ошибок для элементов вектора погрешностей, вектор чисел конечных узлов последовательности сокращенных бинарных деревьев решений, оптимальный уровень сокращения полного дерева решений. В качестве дополнительных параметров заданы: количество подгрупп при использовании метода перекрестной подстановки - 9, критерий расчета величины bestsize - 'min'.

>> x=1:1:20;

>> x=[x' x'];

>> x1=normrnd(0,1,20,2);

>> X=x+x1;

>> y=1:2:40;

>> y1=normrnd(0,2,1,20);

>> y=y+y1;

>> T = treefit(X,y');

>> treedisp(T);

>> [cost,secost,ntnodes,bestsize]= treetest(T,'crossvalidate',X,y','nsamples',9,'treesize','min')

cost =

31.9920

39.8811

148.5497

secost =

7.1432

8.0561

29.1186

ntnodes =

3

2

1

bestsize =

0

Рассматривается задача классификации. Зависимая переменная задана на категориальной шкале при помощи вектора строк. Погрешность классификации рассчитывается методом обратной подстановки.

>> load fisheriris

>> t = treefit(meas,species);

>> treedisp(t);

>> cost = treetest(t,'resubstitution')

cost =

0.0200

0.0267

0.0400

0.3333

0.6667

Рассматривается задача классификации. Зависимая переменная задана на категориальной шкале при помощи вектора строк. Погрешность классификации рассчитывается методом перекрестной подстановки. Функция возвращает вектор погрешностей иерархической нелинейной регрессионной модели, вектор стандартных ошибок для элементов вектора погрешностей, вектор чисел конечных узлов последовательности сокращенных бинарных деревьев решений, оптимальный уровень сокращения полного дерева решений. В качестве дополнительных параметров заданы: количество подгрупп при использовании метода перекрестной подстановки - 15, критерий расчета величины bestsize - 'min'.

>> load fisheriris

>> t = treefit(meas,species);

>> treedisp(t);

>> [cost,secost,ntnodes,bestsize]= treetest(t,'crossvalidate',meas, species,'nsamples',15,'treesize','min')

cost =

0.0533

0.0667

0.0667

0.3667

0.7000

secost =

0.0179

0.0200

0.0200

0.0316

0.0316

ntnodes =

5

4

3

2

1

bestsize =

0

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

1. Расчет параметров полной иерархической регрессионной модели.

>> load fisheriris;

>> t = treefit(meas,species','splitmin',5);

2. Поиск бинарного дерева решений соответствующего минимальной погрешности.

>> [c,s,n,best] = treetest(t,'cross',meas,species);

>> tmin = treeprune(t,'level',best);

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

>> [mincost,minloc] = min(c);

>> plot(n,c,'b-o', n,c+s,'r:', n(best+1),c(best+1),'bs',n,(mincost+s(minloc))*ones(size(n)),'k--');

>> xlabel('Tree size (number of terminal nodes)')

>> ylabel('Cost')

 

 

Наверх

treeval - Оценка параметров регрессионной модели с использованием графа возможных решений

Синтаксис

YFIT = treeval(T,X)

YFIT = treeval(T,X,subtrees)

[YFIT,NODE] = treeval(...)

[YFIT,NODE,CNAME] = treeval(...)

 

Описание

YFIT = treeval(T,X) функция позволяет определить значения зависимой переменной YFIT по иерархической нелинейной регрессионной модели, параметры которой задаются структурой T, для значений независимых переменных Х. Структура Т формируется как выходной аргумент функции treefit. Х задается как матрица с размерностью n×m, где n - число наблюдений, m - количество независимых переменных. Строки Х соответствуют наблюдениям, столбцы Х - независимым переменным. Выходная переменная YFIT является вектором значений с числом элементов равным n. Значение YFIT(j) рассчитывается согласно строкам X(j,:). Если при формировании структуры Т решалась задача классификации, то YFIT(j) является номером класса, к которому принадлежит точка с координатами X(j,:) в пространстве независимых переменных. Для определения названия класса соответствующего номеру YFIT(j) используется третий выходной аргумент cname (см. ниже).

YFIT = treeval(T,X,subtrees) дополнительный входной параметр subtrees задает число удаляемых уровней при формировании последовательности сокращенных иерархических регрессионных моделей и расчете по этим моделям значений зависимой переменной YFIT для матрицы независимых переменных Х. subtrees задается как вектор целых чисел: нулевое значение соответствует полному дереву решений, 1 - дереву решений сокращенному на один уровень и т.д. Структура Т должна быть сформирована с наличием в ней информации о последовательности сокращенных бинарных деревьев функциями treefit или prunetree. Если вектор subtrees содержит k элементов, а матрица Х n строк, тогда YFIT будет матрицей с размерностью n×k, где j-й столбец значений зависимых переменных будет рассчитан по дереву решений сокращенному на subtrees(j) уровня. Элементы в векторе subtrees должны быть расположены по возрастанию.

[YFIT,NODE] = treeval(...) кроме значений зависимой переменной функция возвращает массив номеров узлов NODE соотнесенных c каждой строкой матрицы независимых переменных Х(j,:). Размерность YFIT и NODE будет совпадать. С помощью функции treedisp в интерактивном режиме можно определить номер каждого выделенного в графическом окне узла в бинарном дереве решений.

[YFIT,NODE,CNAME] = treeval(...) функция возвращает массив ячеек CNAME, содержащий названия классов найденных по дереву решений Т. Выходная переменная CNAME используется только тогда, когда структура Т была получена при решении задачи классификации.

Примеры использования функции treeval

Рассматривается задача регрессии вида . Зависимая переменная y определена на числовой шкале. Значения зависимой переменной рассчитываются в точках xnew=2.5:10:100.

>> x=1:1:100;

>> x=[x' x' x'];

>> x1=normrnd(0,10,100,3);

>> X=x+x1;

>> y=1:2:200;

>> y1=normrnd(0,2,1,100);

>> y=y+y1;

>> T = treefit(X,y');

>> xnew=2.5:10:100;

>> xnew=[xnew' xnew' xnew'];

>> YFIT = treeval(T, xnew)

YFIT =

6.1347

22.6420

37.8906

65.8118

77.8094

106.1516

121.3727

135.8064

178.4442

190.7365

Рассматривается задача регрессии вида . Зависимая переменная y определена на числовой шкале. Значения зависимой переменной рассчитываются в точках xnew1=2.5:2:20, xnew2=1.5:2:20. Зависимые переменные рассчитываются для полного дерева решений и иерархических моделей, сокращенных на 1 и 2 уровня: subtrees =[0 1 2]. Функция возвращает матрицы значений зависимой переменной YFIT и соответствующих им узлов бинарного дерева решений NODE.

>> x=1: 1:20;

>> x=[x' x'];

>> x1=normrnd(0,10,20,2);

>> X=x+x1;

>> y=1: 2:40;

>> y1=normrnd(0,2,1,20);

>> y=y+y1;

>> T = treefit(X,y');

>> xnew1=2.5: 2:22;

>> xnew2=1.5: 2:20;

>> xnew=[xnew1' xnew2'];

>> subtrees =[0 1 2];

>> [YFIT,NODE] = treeval(T,X,subtrees)

YFIT =

3.2534 3.2534 14.0020

14.6854 15.6556 14.0020

8.8213 15.6556 14.0020

8.8213 15.6556 14.0020

3.2534 3.2534 14.0020

14.6854 15.6556 14.0020

14.6854 15.6556 14.0020

14.6854 15.6556 14.0020

8.8213 15.6556 14.0020

14.6854 15.6556 14.0020

24.7537 15.6556 14.0020

24.7537 15.6556 14.0020

14.6854 15.6556 14.0020

14.6854 15.6556 14.0020

35.0736 35.0736 35.0736

24.7537 15.6556 14.0020

33.4583 33.4583 33.4583

35.0736 35.0736 35.0736

35.0736 35.0736 35.0736

35.0736 35.0736 35.0736

NODE =

6 6 4

11 7 4

8 7 4

8 7 4

6 6 4

11 7 4

11 7 4

11 7 4

8 7 4

11 7 4

10 7 4

10 7 4

11 7 4

11 7 4

3 3 3

10 7 4

5 5 5

3 3 3

3 3 3

3 3 3

Задача классификации для 4 независимых переменных meas, заданных на числовой шкале, и зависимой переменной species, элементы вектора которой заданы по 3-м классам на категориальной шкале. Определение классов по зависимой переменной определяется для матрицы new_meas.

>> load fisheriris

>> meas

meas =

5.1000 3.5000 1.4000 0.2000

4.9000 3.0000 1.4000 0.2000

4.7000 3.2000 1.3000 0.2000

4.6000 3.1000 1.5000 0.2000

5.0000 3.6000 1.4000 0.2000

5.4000 3.9000 1.7000 0.4000

4.6000 3.4000 1.4000 0.3000

……………………………………..

>> species

species = 

'setosa'

'setosa'

'setosa'

'setosa'

'setosa'

'setosa'

'setosa'

'setosa'

'setosa'

'setosa'

…………

'versicolor'

'versicolor'

'versicolor'

'versicolor'

'versicolor'

'versicolor'

'versicolor'

'versicolor'

'versicolor'

'versicolor'

'versicolor'

……………

'virginica'

'virginica'

'virginica'

'virginica'

'virginica'

>> t = treefit(meas,species);

>> new_meas=[5 3.1 1.35 0.32; 4 5.1 2.35 1.32; 2 0.1 3.35 0.22;]

new_meas =

5.0000 3.1000 1.3500 0.3200

4.0000 5.1000 2.3500 1.3200

2.0000 0.1000 3.3500 0.2200

>> YFIT = treeval(t, new_meas)

YFIT =

1

1

2

Задача классификации для 4 независимых переменных meas, заданных на числовой шкале, и зависимой переменной species, элементы вектора которой заданы по 3-м классам на категориальной шкале. Определение классов по зависимой переменной определяется для матрицы new_meas. Зависимые переменные рассчитываются для полного дерева решений и иерархической модели, сокращенной на 1 уровень: subtrees =[0 1]. Функция возвращает матрицы значений зависимой переменной YFIT, соответствующих им узлов бинарного дерева решений NODE и названия классов CNAME.

>> load fisheriris

>> t = treefit(meas,species);

>> new_meas=[5 3.1 1.35 0.32; 4 5.1 2.35 1.32; 2 0.1 3.35 0.22;];

>> subtrees =[0 1 2];

>> [YFIT,NODE,CNAME] = treeval(t, new_meas, subtrees)

YFIT =

1 1 1

1 1 1

2 2 2

NODE =

2 2 2

2 2 2

8 6 4

CNAME = 

'setosa' 'setosa' 'setosa' 

'setosa' 'setosa' 'setosa' 

'versicolor' 'versicolor' 'versicolor'

 

 

Наверх

ranksum - Ранговый тест Вилкоксона для проверки однородности двух генеральных совокупностей

Синтаксис

p = ranksum(x,y)

[p,h] = ranksum(x,y)

[p,h] = ranksum(x,y,alpha)

[p,h,stats] = ranksum(...)

 

Описание

p = ranksum(x,y) функция предназначена для проведения двустороннего рангового теста Вилкоксона для проверки нулевой гипотезы состоящей в том, что независимые выборки x и y взяты из генеральных совокупностей с равными медианами. Выборки x и y задаются как векторы. Функция возвращает значение уровня значимости p для проверки нулевой гипотезы. Уровень значимости - вероятность ошибки первого рода, т.е. вероятность неверно отвергнуть нулевую гипотезу, в случае ее справедливости. Если значение p≈0, то нулевая гипотеза может быть отвергнута, т.е. медианы сравниваемых выборок статистически значимо отличаются друг от друга. Выбор критического уровня значимости  для условия принятия нулевой гипотезы

,

предоставлен исследователю. В большинстве практических случаев  принимают равным 0,05; 0,01.

Предполагается, что генеральные совокупности, из которых извлекаются выборки, имеют одинаковое непрерывное распределение. Генеральные совокупности могут отличаться только средними значениями. Объем выборок, и как следствие число элементов векторов x, y, могут быть разными.

Ранговый тест Вилкоксона является эквивалентом U теста Манна-Уитни.

[p,h] = ranksum(x,y) функция возвращает значение уровня значимости р при проверке нулевой гипотезы и результат проверки нулевой гипотезы h для критического значения  равного 0,05. Нулевая гипотеза принимается если h=0 при . Если h=1, то нулевая гипотеза может быть отвергнута при , т.е. медианы выборок статистически значимо отличаются друг от друга.

[p,h] = ranksum(x,y,alpha) входной параметр alpha позволяет задать значение критического уровня значимости при проверке нулевой гипотезы. По умолчанию alpha=0,05.

[p,h,stats] = ranksum(...) функция возвращает структуру stats содержащую одно или два поля:

1.   stats.ranksum - значение ранговой статистики;

2.   stats.zval - значение Z статистики. Эта статистика рассчитывается при большом объеме выборки и значение уровня значимости р будет рассчитано исходя из нормальной аппроксимации распределения статистики Z.

Примеры использования функции рангового теста Вилкоксона на равенство медиан двух независимых выборок

Проверка равенства медиан двух независимых выборок распределенных по непрерывному закону равной вероятности с одинаковой величиной размаха и величинами математических ожиданий равных 0 и 0,75 для выборок x и y соответственно. Объем выборок равен 10 и 15 элементам. Функция возвращает значение уровня значимости p.

>> x = unifrnd(0,1,10,1);

>> y = unifrnd(.25,1.25,15,1);

>> p = ranksum(x,y)

p =

0.1272

Проверка гипотезы о равенстве медиан двух независимых выборок распределенных по нормальному закону с одинаковыми величинами средних квадратических отклонений и величинами математических ожиданий равными 0 и 1 для выборок x и y соответственно. Объем выборок равен 20 и 30 элементам. Функция возвращает значение уровня значимости p и результат проверки нулевой гипотезы для критического уровня значимости равного 0,01.

>> x = normrnd(0,1,20,1);

>> y = normrnd(1,1,30,1);

>> [p h] = ranksum(x,y,0.01)

p =

0.0065

h =

1

Проверка гипотезы о равенстве медиан двух независимых выборок распределенных по нормальному закону с одинаковыми величинами средних квадратических отклонений и величинами математических ожиданий равными 0 и 0,1 для выборок x и y соответственно. Объем выборок равен 10 элементам. Функция возвращает значение уровня значимости p и результат проверки нулевой гипотезы для критического уровня значимости равного 0,02. Кроме значений p и h функция возвращает структуру stats. Графически тест можно представить при помощи функции boxplot.

>> x = normrnd(0,1,10,1);

>> y = normrnd(0.1,1,10,1);

>> [p h stats] = ranksum(x,y,0.01)

p =

0.9097

h =

0

stats = 

zval: -0.1134

ranksum: 103

>> boxplot([x y],1)

Зависимость величины уровня значимости от разницы между средними арифметическими выборок распределенных по нормальному закону. Объем выборок принят равным 10 элементам.

>> delta = 0:0.1:1;

>> x = normrnd(0,1,10,1);

>> for i=1:length(delta) y = normrnd(delta(i),1,10,1); p(i) = ranksum(x,y); end;

>> plot(delta,p,'o')

>> grid on

Зависимость величины уровня значимости от разницы между математическими ожиданиями и объемом выборок распределенных по нормальному закону. Объем выборок принят равным 10 элементам.

>> delta = 0:0.1:1;

>>n=10;

>> x = normrnd(0,1,n,1);

>> for i=1:length(delta) y = normrnd(delta(i),1,n,1); p1(i) = ranksum(x,y); end;

>>n=20;

>> x = normrnd(0,1,n,1);

>> for i=1:length(delta) y = normrnd(delta(i),1,n,1); p2(i) = ranksum(x,y); end;

>>n=50;

>> x = normrnd(0,1,n,1);

>> for i=1:length(delta) y = normrnd(delta(i),1,n,1); p3(i) = ranksum(x,y); end;

>> plot(delta,p1,'or',delta,p2,'+b',delta,p3,'.g')

>> grid on

signrank

Знаковый ранговый тест Вилкоксона на равенство нулю медианы выборки

Синтаксис

p = signrank(x)

p = signrank(x,m)

p = signrank(x,y)

[p,h] = signrank(...)

[p,h] = signrank(...,alpha)

[p,h,stats] = signrank(...)

Описание

p = signrank(x) функция позволяет провести двусторонний знаковый ранговый тест Вилкоксона для проверки нулевой гипотезы состоящей в том, что медиана выборки x равна нулю. Выборка x задается как вектор. Функция возвращает значение уровня значимости p для проверки нулевой гипотезы. Уровень значимости - вероятность ошибки первого рода, т.е. вероятность неверно отвергнуть нулевую гипотезу, в случае ее справедливости. Если значение p≈0, то нулевая гипотеза может быть отвергнута, т.е. медиана выборки х статистически значимо отличаются от нуля. Выбор критического уровня значимости  для условия принятия нулевой гипотезы

,

предоставлен исследователю. В большинстве практических случаев  принимают равным 0,05; 0,01.

Предполагается, что выборка х получена из генеральной совокупности имеющей симметричное относительно медианы непрерывное распределение.

Примечание автора: вариант синтаксиса функции p = signrank(x) в версиях 6.5, 6.51 не работает. Анализ m-функции показывает, что signrank требует в явном виде задать второй входной аргумент. Для того чтобы выполнить тест, соответствующий этому варианту синтаксиса, необходимо явно задать нулевое значение медианы, например p = signrank(x,0).

p = signrank(x,m) функция позволяет провести двусторонний знаковый ранговый тест Вилкоксона на равенство медианы выборки х значению m. Величина m должна быть задана как скаляр.

p = signrank(x,y) функция позволяет провести парный двусторонний тест Вилкоксона для нулевой гипотезы, состоящей в том, что медиана разностного распределения генеральных совокупностей, из которых были сделаны выборки x, y равна нулю. Предполагается, что разностное генеральное распределение, которому соответствует выборка (x-y), является непрерывным и симметричным относительно его медианы. Объем выборок должен быть одинаковым, т.е. length(x)= length(y).

Примечание: гипотеза о равенстве нулю медианы генерального разностного распределения не является эквивалентной гипотезе о равенстве медиан генеральных распределений, из которых были получены x, y. Функция signrank позволяет проверить первую, но не вторую из названных статистических гипотез.

[p,h] = signrank(...) функция возвращает значение уровня значимости р и результат проверки нулевой гипотезы h для значения  равного 0,05. Нулевая гипотеза принимается если h=0 при . Если h=1, то нулевая гипотеза может быть отвергнута при .

[p,h] = signrank(...,alpha) входной параметр alpha позволяет задать значение критического уровня значимости при проверке нулевой гипотезы.

[p,h,stats] = signrank(...) функция возвращает структуру stats содержащую одно или два поля:

1.   stats.signedrank - значение знаковой ранговой статистики;

2.   stats.zval - значение Z статистики. Эта статистика рассчитывается при большом объеме выборки и значение уровня значимости р будет рассчитано исходя из нормальной аппроксимации распределения статистики Z.

Примеры использования функции знакового рангового теста Вилкоксона на равенство нулю медианы выборки

Проверка равенства нулю медиан выборок распределенных по непрерывному закону равной вероятности с величинами математического ожидания равными 0 и 0,1. Объем выборки равен 10 элементам. Функция возвращает значение уровня значимости p.

>> x = unifrnd(-0.9,1.1,10,1);

>> p = signrank (x,0)

p =

1

>> x = unifrnd(-1,1,10,1);

>> p = signrank (x,0)

p =

0.4316

Проверка равенства заданному значению, 0,22, медиан выборок распределенных по нормальному закону с величинами математического ожидания равными 0 и 0,5. Объем выборки равен 35 элементам. Функция возвращает значение уровня значимости p и результат проверки нулевой гипотезы.

>> x = normrnd(0,1,35,1);

>> [p h] = signrank (x,0.22)

p =

0.7064

h =

0

>> x = normrnd(0.5,1,35,1);

>> [p h] = signrank (x,0.22)

p =

0.0248

h =

1

Проверка равенства заданному значению, 0,5, медианы выборки распределенной по нормальному закону с величиной математического ожидания равной 0,1. Объем выборки равен 15 элементам. Функция возвращает значение уровня значимости и результат проверки нулевой гипотезы. При проверке нулевой гипотезы критическое значение уровня значимости принимается равным 0,1. Графическое представление теста выполняется при помощи функции boxplot.

>> x = normrnd(0.1,1,15,1);

>> alpha = 0.1;

>> [p h] = signrank (x,0.5, alpha)

p =

0.1354

h =

0

>> boxplot(x,1)

Проверка равенства заданному значению, 0,7, медиан нескольких выборок распределенных по нормальному закону с величинами математических ожиданий равных 0; 0,5; 1; 1,5. Объем выборок равен 15 элементам. Функция возвращает значение уровня значимости, результат проверки нулевой гипотезы и структуру stats. При проверке нулевой гипотезы критическое значение уровня значимости принимается равным 0,07. Графическое представление теста выполняется при помощи функции boxplot.

>> x1 = normrnd(0,1,15,1);

>> x2 = normrnd(0.5,1,15,1);

>> x3 = normrnd(1,1,15,1);

>> x4 = normrnd(1.5,1,15,1);

>> alpha = 0.07;

>> [p1 h1 stats1] = signrank (x1,0.7, alpha)

p1 =

4.2725e-004

h1 =

1

stats1 = 

signedrank: 4

>> [p2 h2 stats2] = signrank (x2,0.7, alpha)

p2 =

0.0302

h2 =

1

stats2 = 

signedrank: 22

>> [p3 h3 stats3] = signrank (x3,0.7, alpha)

p3 =

0.3028

h3 =

0

stats3 = 

signedrank: 41

>> [p4 p4 stats4] = signrank (x4,0.7, alpha)

p4 =

1

p4 =

1

stats4 = 

signedrank: 12

>> boxplot([x1 x2 x3 x4],1)

Зависимость величины уровня значимости от разницы между математическими ожиданиями генеральных совокупностей и объемом выборок распределенных по нормальному закону.

>> delta = 0:0.1:1;

>>n=10;

>> for i=1:length(delta) x = normrnd(delta(i),1,n,1); p1(i) = signrank(x,0); end;

>> n=20;

>> for i=1:length(delta) x = normrnd(delta(i),1,n,1); p2(i) = signrank (x,0); end;

>>n=50;

>> for i=1:length(delta) x = normrnd(delta(i),1,n,1); p3(i) = signrank (x,0); end;

>> plot(delta,p1,'or',delta,p2,'+b',delta,p3,'.g')

>> grid on

Проверка равенства нулю медианы выборки из разностной генеральной совокупности (x-y). При проверке нулевой гипотезы критическое значение уровня значимости принимается равным 0,01. Функция возвращает значение уровня значимости p, результат проверки нулевой гипотезы h и структуру stats. Графическое представление теста выполняется при помощи функции boxplot.

>> x = normrnd(0,1,50,1);

>> y = normrnd(0.5,2, 50,1);

>> alpha = 0.01;

>> [p h stats] = signrank (x,y, alpha)

p =

0.7832

h =

0

stats = 

zval: -0.2751

signedrank: 609

>> boxplot([x-y,x,y],1)

 

 

Наверх

signtest - Знаковый тест для проверки гипотезы о равенстве медиан двух выборок

Синтаксис

p = signtest(x)

p = signtest(x,m)

p = signtest(x,y)

[p,h] = signtest(...)

[p,h] = signtest(...,alpha)

[p,h,stats] = signtest(...)

 

Описание

p = signtest(x) функция предназначена для проведения двустороннего знакового теста для проверки нулевой гипотезы состоящей в том, что медиана выборки x равна нулю. Выборка x задается как вектор. Функция возвращает значение уровня значимости p для проверки нулевой гипотезы. Уровень значимости - вероятность ошибки первого рода, т.е. вероятность неверно отвергнуть нулевую гипотезу, в случае ее справедливости. Если значение p≈0, то нулевая гипотеза может быть отвергнута, т.е. медиана выборки х статистически значимо отличаются от нуля. Выбор критического уровня значимости  для условия принятия нулевой гипотезы 

предоставлен исследователю. В большинстве практических случаев  принимают равным 0,05; 0,01. 

Предполагается, что выборка х получена из генеральной совокупности имеющей симметричное относительно медианы непрерывное распределение. 

Примечание автора: вариант синтаксиса функции p=signtest(x) в версиях 6.5, 6.51 не работает. Анализ m-функции показывает, что signtest требует в явном виде задать второй входной аргумент. Для того чтобы выполнить тест, соответствующий этому варианту синтаксиса, необходимо явно задать нулевое значение медианы, например p =signtest(x,0). 

p = signtest(x,m) функция позволяет провести двусторонний знаковый тест на равенство медианы выборки х значению m. Величина m должна быть задана как скаляр. 

p = signtest(x,y) функция позволяет провести парный двусторонний знаковый тест нулевой гипотезы, состоящей в том, что медиана разностного распределения генеральных совокупностей из которых были сделаны выборки x, y равна нулю. Предполагается, что разностное генеральное распределение, из которого получена выборка (x-y), является произвольным и непрерывным законом. Объем выборок x и y должен быть одинаковым, т.е. length(x)= length(y). 

Примечание: гипотеза о равенстве нулю медианы генерального разностного распределения не является эквивалентной гипотезе о равенстве медиан генеральных распределений, из которых были получены x, y. Функция signrank позволяет проверить первую, но не вторую из названных статистических гипотез. 

[p,h] = signtest(...) функция возвращает значение уровня значимости р и результат проверки нулевой гипотезы h для значения  равного 0,05. Нулевая гипотеза принимается если h=0 при . Если h=1, то нулевая гипотеза может быть отвергнута при 

[p,h] = signtest(...,alpha) входной параметр alpha позволяет задать значение критического уровня значимости при проверке нулевой гипотезы. По умолчанию alpha=0,05. 

[p,h,stats] = signtest(...) функция возвращает структуру stats содержащую одно или два поля: 

1.   stats.sign - значение знаковой статистики; 

2.   stats.zval - значение Z статистики. Эта статистика рассчитывается при большом объеме выборки и значение уровня значимости р будет рассчитано исходя из нормальной аппроксимации распределения статистики Z. 

Примеры использования функции знакового теста на равенство нулю медианы выборки

Проверка равенства нулю медиан выборок распределенных по непрерывному закону равной вероятности с величинами математического ожидания равными 0 и 0,1. Объем выборки равен 10 элементам. Функция возвращает значение уровня значимости p. 

>> x = unifrnd(-0.9,1.1,10,1);

>> p = signtest (x,0)

p = 

 1 

>> x = unifrnd(-1,1,10,1);

>> p = signtest (x,0)

p = 

    0.7539 

Проверка равенства заданному значению, 0,22, медиан выборок распределенных по нормальному закону с величинами математического ожидания равными 0 и 0,5. Объем выборки равен 35 элементам. Функция возвращает значение уровня значимости p и результат проверки нулевой гипотезы. 

>> x = normrnd(0,1,35,1);

>> [p h] = signtest (x,0.22)

p = 

    0.1755 

h = 

 0 

>> x = normrnd(0.5,1,35,1);

>> [p h] = signtest (x,0.22)

p = 

    0.3105 

h = 

 0 

Проверка равенства заданному значению, 0,5, медианы выборки распределенной по нормальному закону с величиной математического ожидания равной 0,1. Объем выборки равен 15 элементам. Функция возвращает значение уровня значимости и результат проверки нулевой гипотезы. При проверке нулевой гипотезы критическое значение уровня значимости принимается равным 0,01. Графическое представление теста выполняется при помощи функции boxplot. 

>> x = normrnd(0.1,1,15,1);

>> alpha = 0.01;

>> [p h] = signtest (x,0.5, alpha)

p = 

    9.7656e-004 

h = 

 1 

>> boxplot(x,1)

Проверка равенства заданному значению, 0,7, медиан нескольких выборок распределенных по нормальному закону с величинами математических ожиданий равными 0; 0,5; 1; 1,5. Объем выборок равен 15 элементам. Функция возвращает значение уровня значимости, результат проверки нулевой гипотезы и структуру stats. При проверке нулевой гипотезы критическое значение уровня значимости принимается равным 0,07. Графическое представление теста выполняется при помощи функции boxplot. 

>> x1 = normrnd(0,1,15,1);

>> x2 = normrnd(0.5,1,15,1);

>> x3 = normrnd(1,1,15,1);

>> x4 = normrnd(1.5,1,15,1);

>> alpha = 0.07;

>> [p1 h1 stats1] = signtest (x1,0.7, alpha)

p1 = 

    0.3018 

h1 = 

 0 

stats1 = 

    sign: 5 

>> [p2 h2 stats2] = signtest (x2,0.7, alpha)

p2 = 

 1 

h2 = 

 0 

stats2 = 

    sign: 7 

>> [p3 h3 stats3] = signtest (x3,0.7, alpha)

p3 = 

    0.0074 

h3 = 

 1 

stats3 = 

    sign: 2 

>> [p4 p4 stats4] = signtest (x4,0.7, alpha)

p4 = 

 0 

p4 = 

 0 

stats4 = 

    sign: 4 

>> boxplot([x1 x2 x3 x4],1)

Зависимость величины уровня значимости от разницы между математическими ожиданиями генеральных совокупностей и объемом выборок распределенных по нормальному закону. 

>> delta = 0:0.1:1;

>>n=10;

>> for i=1:length(delta) x = normrnd(delta(i),1,n,1); p1(i) = signtest (x,0); end;

>> n=20;

>> for i=1:length(delta) x = normrnd(delta(i),1,n,1); p2(i) = signtest (x,0); end;

>> n=50;

>> for i=1:length(delta) x = normrnd(delta(i),1,n,1); p3(i) = signtest (x,0); end;

>> plot(delta,p1,'or',delta,p2,'+b',delta,p3,'.g')

>> grid on

Проверка равенства нулю медианы выборки из разностной генеральной совокупности (x-y). При проверке нулевой гипотезы критическое значение уровня значимости принимается равным 0,01. Функция возвращает значение уровня значимости p, результат проверки нулевой гипотезы h и структуру stats. Графическое представление теста выполняется при помощи функции boxplot. 

>> x = normrnd(0,1,50,1);

>> y = normrnd(0.5,2, 50,1);

>> alpha = 0.01;

>> [p h stats] = signtest (x,y, alpha)

p = 

    0.0153 

h = 

 0 

stats = 

    sign: 16 

>> boxplot([x-y,x,y],1)

 

 

Наверх

ttest - t-test для одной выборки. Проверка гипотезы о равенстве (или неравенстве) математического ожидания выборки заданному значению при условии, что величина дисперсии неизвестна. Закон распределения выборки нормальный.

Синтаксис

h = ttest(x)

h = ttest(x,m)

h = ttest(x,y)

h = ttest(x,m,alpha)

h = ttest(x,m,alpha,tail)

[h,p,ci] = ttest(...)

[h,p,ci,stats] = ttest(...)

 

 

Описание

h = ttest(x) функция предназначена для проверки нулевой гипотезы состоящей в том, что выборка х получена из генеральной совокупности с нулевым средним. Проверка нулевой гипотезы выполняется на основе статистики t. Выборка x задается как вектор. Функция возвращает скаляр h, являющийся результатом проверки нулевой гипотезы для критического значения уровня значимости  равного 0,05. Нулевая гипотеза принимается если h=0 при . Если h=1, то нулевая гипотеза может быть отвергнута для . Предполагается, что выборка х получена из генеральной совокупности имеющей нормальное распределение с неизвестной дисперсией.

h = ttest(x,m) функция предназначена для проверки нулевой гипотезы состоящей в том, что выборка х получена из нормальной генеральной совокупности с математическим ожиданием равным m. Проверка нулевой гипотезы выполняется на основе статистики t.

h = ttest(x,y) функция позволяет провести проверку нулевой гипотезы состоящей в том, что выборки x и y получены из генеральных совокупностей имеющих одинаковое среднее значение. Предполагается, что разница выборочных значений (x-y) будет соответствовать генеральной совокупности имеющей нормальное распределение с неизвестной дисперсией. Число элементов в векторах x и y должно быть одинаковым. Проверка нулевой гипотезы выполняется на основе статистики t.

h = ttest(...,alpha) входной параметр alpha позволяет задать значение критического уровня значимости для проверки нулевой гипотезы. По умолчанию alpha=0,05. Условие принятия нулевой гипотезы

где  - критический уровень значимости;  - уровень значимости, соответствующий рассчитанной статистике t. Выбор величины  предоставлен исследователю. В большинстве практических случаев  принимают равным 0,05; 0,01. Статистика t рассчитывается из выражения

где  - выборочное среднее арифметическое,  - точечная несмещенная оценка среднего квадратического отклонения,  - объем выборки, . Уровень значимости  является вероятностью того, что случайная величина t примет значение равное или превышающее выборочное статистику t для используемой критической области. Распределение статистики t подчиняется закону Стьюдента.

h = ttest(...,alpha,tail) входной параметр tail позволяет задать вид альтернативной гипотезы. Возможны три альтернативные гипотезы:

Значение tail

Альтернативная гипотеза

'both'

Среднее по генеральной совокупности не равно нулю или значению m. Проверка гипотезы проводится для двусторонней критической области. Значение по умолчанию.

'right'

Среднее по генеральной совокупности больше нуля, или величины m. Проверка гипотезы проводится для правосторонней критической области.

'left'

Среднее по генеральной совокупности меньше нуля, или величины m. Проверка гипотезы проводится для левосторонней критической области.

[h,p,ci,stats] = ttest(...) функция возвращает: 1. результат проверки нулевой гипотезы h для заданного критического уровня значимости; 2. уровень значимости p, соответствующий рассчитанному значению статистики t; 3. вектор границ доверительного интервала выборочного среднего арифметического ci для доверительной вероятности (1-alpha); 4. структуру stats содержащую следующие поля:

'tstat' - значение статистики t, рассчитанное по выборке;

'df' - число степеней свободы t;

'sd' - несмещенную точечную оценку среднего квадратического отклонения. Если выполняется парный тест для двух выборок, то точечная оценка среднего квадратического отклонения рассчитывается для выборки разностей (x-y).

Примеры использования функции проверки параметрической гипотезы о значении среднего арифметического при неизвестной дисперсии нормальной генеральной совокупности

Проверка равенства нулю среднего арифметического генеральной совокупности, распределенной по нормальному закону с математическим ожиданием и дисперсией равными 0 и 1, по выборке х. Объем выборки равен 10 элементам. Функция возвращает результат проверки нулевой гипотезы h.

>> x = normrnd(0,1,10,1);

>> h = ttest(x)

h =

     0

Проверка равенства единице среднего арифметического генеральной совокупности, распределенной по нормальному закону с математическим ожиданием и дисперсией равными 0,5 и 2, по выборке х. Объем выборки равен 25 элементам. Функция возвращает результат проверки нулевой гипотезы h. Графическое представление распределение значений выборки выполняется при помощи функции histfit.

>> x = normrnd(0.5,2,25,1);

>> h = ttest(x)

h =

     0

>> histfit(x,7)

>> grid on

 

Проверка нулевой гипотезы состоящей в том, что выборки x и y получены из генеральных совокупностей имеющих одинаковое среднее значение, равное нулю. x распределена по нормальному закону, y по равномерному закону. Выборки x, y имеют разное значение дисперсии. Функция возвращает результат проверки нулевой гипотезы h. Графическое представление распределений значений выборок x, y, (x-y) выполняется при помощи функции ksdensity.

>> x=normrnd(0,1,30,1);

>> y=unifrnd(-1,1,30,1);

>> h = ttest(x,y)

h =

     1

>> [fx,xx] = ksdensity(x);

>> [fy,xy] = ksdensity(y);

>> [f_xy,x_xy] = ksdensity(x-y);

>> plot(xx,fx,'r',xy,fy,'g',x_xy,f_xy, 'b')

>> grid on

Проверка равенства нулю среднего арифметического генеральной совокупности, распределенной по нормальному закону с математическим ожиданием и дисперсией равными 0 и 1, по выборке х. Проверка нулевой гипотезы выполняется для критического значения уровня значимости равного 0,01. Объем выборки равен 15 элементам. Функция возвращает результат проверки нулевой гипотезы h. 

>> x = normrnd(0,1,15,1);

>> h = ttest(x,0.01)

h =

     0

 

Проверка равенства нулю среднего арифметического генеральной совокупности, распределенной по нормальному закону с математическим ожиданием и дисперсией равными 0 и 1, по выборке х. Проверка нулевой гипотезы выполняется для критического значения уровня значимости равного 0,01. В качестве альтернативной гипотезы принимается предположение, что среднее по генеральной совокупности больше нуля. Проверка гипотезы проводится для правосторонней критической области. Объем выборки равен 15 элементам. Функция возвращает результат проверки нулевой гипотезы h. 

>> x = normrnd(0,1,15,1);

>> h = ttest(x,0,0.01,'right')

h =

     0

Примечание: при задании трех и более входных параметров, если проверяется гипотеза на равенство нулю среднего генеральной совокупности, необходимо явно указать m=0 для второго параметра.

Проверка равенства нулю среднего арифметического генеральной совокупности, распределенной по нормальному закону с математическим ожиданием и дисперсией равными 0 и 1, по выборке х. Проверка нулевой гипотезы выполняется для критического значения уровня значимости равного 0,01. В качестве альтернативной гипотезы принимается предположение, что среднее по генеральной совокупности больше нуля. Проверка гипотезы проводится для правосторонней критической области. Объем выборки равен 15 элементам. Функция возвращает: результат проверки нулевой гипотезы h для заданного критического уровня; уровень значимости p соответствующий рассчитанному значению статистики t; вектор границ доверительного интервала среднего арифметического ci для доверительной вероятности (1-alpha); структуру stats.

>> [h,p,ci,stats] = ttest(x,0,0.01,'right')

h =

     0

p =

    0.7655

ci =

   -0.8499       Inf

stats = 

    tstat: -0.7443

       df: 14

       sd: 0.9771

 

Зависимость величины уровня значимости от математического ожидания и объема выборок, распределенных по нормальному закону. Проверяется нулевая гипотеза на равенство нулю средних генеральных совокупностей. Дисперсия выборок равна 1.

>> delta = 0:0.1:1;

>>n=10;

>> for i=1:length(delta) x = normrnd(delta(i),1,n,1); [h,p1(i),ci,stats] = ttest(x,0); end;

>> n=20;

>> for i=1:length(delta) x = normrnd(delta(i),1,n,1); [h,p2(i),ci,stats] = ttest(x,0); end;

>> n=50;

>> for i=1:length(delta) x = normrnd(delta(i),1,n,1); [h,p3(i),ci,stats] = ttest(x,0); end;

>> plot(delta,p1,'or',delta,p2,'+b',delta,p3,'.g')

>> grid on

 

 

Наверх

ttest2 - t-test для двух выборок. Проверка гипотезы о равенстве (или неравенстве) математических ожиданий двух выборок при условии, что величины дисперсий выборок неизвестны и равны. Закон распределения выборки нормальный.

Синтаксис

h = ttest2(x,y)

[h,significance,ci]= ttest2(x,y,alpha)

[h,significance,ci,stats]= ttest2(x,y,alpha)

[...] =ttest2(x,y,alpha,tail)

h = ttest2(x,y,alpha,tail,'unequal')

Описание

h = ttest2(x,y) функция предназначена для проверки нулевой гипотезы состоящей в том, что выборки х, получены из генеральных совокупностей имеющих нормальное распределение с одинаковыми средними значениями. Предполагается, что средние квадратические отклонения генеральных совокупностей неизвестны и равны между собой. Векторы x и y могут иметь разное количество элементов. Выходной параметр h является результатом проверки нулевой гипотезы для критического значения уровня значимости  равного 0,05. Нулевая гипотеза принимается если h=0 при . Если h=1,то нулевая гипотеза может быть отвергнута для . Проверка нулевой гипотезы выполняется на основе статистики t. 

Условие принятия нулевой гипотезы

,

где -критический уровень значимости;  - уровень значимости, соответствующийрассчитанной статистике t. Выбор величины  предоставлен исследователю. В большинстве практических случаев  принимают равным 0,05; 0,01. Статистика t рассчитывается из выражения

,

где - средние арифметические рассчитанные по выборкам x, y;  - точечная оценка объединенного среднегоквадратического отклонения; ,  - объем выборок x, y, , . Уровень значимости  является вероятностью того, что случайная величина примет значение равное или превышающее выборочноезначение статистики t для используемой критической области. Статистика t подчиняется распределению Стьюдента.

[h,significance,ci]= ttest2(x,y,alpha) функция возвращает: 1. результат проверки нулевой гипотезы h для заданного критического уровня значимости; 2. уровень значимости significance, соответствующий выборочному значению статистики t; 3. вектор границ доверительного интервала разности выборочных средних арифметических ci для доверительной вероятности (1-alpha). Дополнительный входной параметр alpha позволяет задать величину критического уровня значимости для проверки нулевой гипотезы. Значение по умолчанию alpha=0,05.

[h,significance,ci,stats] = ttest2(x,y,alpha) выходной параметр stats является структурой со следующими полями:

  • tstat - значение статистики t, рассчитанной по выборке;

  • df - число степеней свободы t;

  • 'sd' - точечная оценка объединенного среднего квадратического отклонения, если дисперсии выборок равны, в противном случае 'sd' представляет собой вектор выборочных средних квадратических отклонений.

[...] = ttest2(x,y,alpha,tail) входной параметр tail позволяет задать вид альтернативной гипотезы. Возможны три альтернативные гипотезы:

Значение tail

Альтернативная гипотеза

'both'

Средние генеральных совокупностей не равны . Проверка гипотезы проводится для двусторонней критической области. Значение по умолчанию.

'right'

Среднее генеральной совокупности  больше . Проверка гипотезы проводится для правосторонней критической области.

'left'

Среднее генеральной совокупности  меньше , . Проверка гипотезы проводится для правосторонней критической области.

h =ttest2(x,y,alpha,tail,'unequal') входной параметр 'unequal' предназначен для проверки нулевой гипотезы, если выборки x, получены из генеральных совокупностей, имеющих нормальное распределение с разными дисперсиями. Эта задача известна как проблема Беренса-Фишера. Для ее решения в ttest2 используется аппроксимация Саттервейта при определении эффективного числа степеней свободы.

Примеры использования функции проверки параметрической гипотезы о разности значений средних арифметических двух выборок

Проверка нулевой гипотезы, состоящей в том, что выборки х, y получены из генеральных совокупностей имеющих нормальное распределение с одинаковым средними значениями, для критического уровня значимости 0,05. Дисперсия выборок равна единице. Выборки x, y имеют равный объем. Графическое представление выборок x, y выполняется при помощи функции непараметрического сглаживания ksdensity. ttest2 возвращает результат проверки нулевой гипотезы h.

>> x = normrnd(0,1,15,1);

>> y = normrnd(0,1,15,1);

>> h = ttest2(x,y)

h =

     0

>> [fx,xx] = ksdensity(x);

>> [fy,xy] = ksdensity(y);

>> plot(xx,fx,'r',xy,fy,'g')

>> grid on

Проверка нулевой гипотезы, состоящей в том, что выборки х, y получены из генеральных совокупностей имеющих нормальное распределение с одинаковыми средними значениями, для критического уровня значимости 0,05. Дисперсия выборок равна единице. Выборки x, y имеют равный объем. Функция возвращает результат проверки нулевой гипотезы h; уровень значимости significance, соответствующий рассчитанному значению статистики t; вектор границ(1-alpha) доверительного интервала разности выборочных средних ci.

>> x = normrnd(0,1,15,1);

>> y = normrnd(0,1,15,1);

>> [h,significance,ci]= ttest2(x,y)

h =

    0

significance =

    0.6343

ci =

    -1.2187    0.7552

Проверка нулевой гипотезы, состоящей в том, что выборки х, получены из генеральных совокупностей имеющих нормальное распределение с одинаковым средними значениями, для критического уровня значимости 0,05. Дисперсия выборок равна единице. Выборки x, имеют разный объем. Функция возвращает результат проверки нулевой гипотезы h; уровень значимости significance, соответствующий рассчитанному значению статистики t; вектор границ(1-alpha) доверительного интервала разности выборочных средних арифметических ci.

>> x = normrnd(0,1,15,1);

>> y = normrnd(0,1,20,1);

>> [h,significance,ci]= ttest2(x,y)

h =

     0

significance =

    0.5589

ci =

    -0.5619    1.0214

Проверка нулевой гипотезы, состоящей в том, что выборки х, получены из генеральных совокупностей имеющих нормальное распределение с одинаковым средними значениями, для критического уровня значимости alpha=0,01. Дисперсия выборок равна единице. Выборки x, y имеют разный объем. Функция возвращает результат проверки нулевой гипотезы h; уровень значимости significance, соответствующий рассчитанному значению статистики t; вектор границ(1-alpha) доверительного интервала разности выборочных средних арифметических ci.

>> x = normrnd(0,1,15,1);

>> y = normrnd(0,1,20,1);

>> [h,significance,ci]= ttest2(x,y,0.01)

h =

     0

significance =

    0.3646

ci =

    -1.2813    0.6363

Проверка нулевой гипотезы, состоящей в том, что выборки х, получены из генеральных совокупностей имеющих нормальное распределение с одинаковым средними значениями, для критического уровня значимости alpha=0,01. Альтернативная гипотеза принимается для соотношения среднего погенеральной совокупности x больше среднего по y, . Проверка гипотезы проводится для правосторонней критической области. Дисперсия выборок равна единице. Выборки x, y имеют разный объем. Функция возвращает результат проверки нулевой гипотезы h; уровень значимости significance, соответствующий рассчитанному значению статистики t; вектор границ(1-alpha) доверительного интервала разности выборочных средних арифметических ci; структуру stats.

>> x = normrnd(0,1,15,1);

>> y = normrnd(0,1,20,1);

>> alpha= 0.01;

>>[h,significance,ci,stats] = ttest2(x,y,alpha,'right')

h =

     0

significance =

    0.5599

ci =

    -0.8481  Inf

stats = 

    tstat: -0.1519

  df: 33

  sd: 0.9562

Проверка нулевой гипотезы, состоящей в том, что выборки х, получены из генеральных совокупностей имеющих нормальное и равномерное распределения с одинаковым средними значениями, для критического уровня значимости alpha=0,01. Альтернативная гипотеза принимается для соотношения среднего по генеральной совокупности x больше среднего по y, . Проверка гипотезы проводится для правосторонней критической области. Выборки x, y имеют разный объем. Функция возвращает результат проверки нулевой гипотезы h; уровень значимости significance, соответствующий рассчитанному значению статистики t; вектор границ(1-alpha) доверительного интервала разности выборочных средних арифметических ci; структуру stats.

>> x = normrnd(0,1,15,1);

>> y = unifrnd(-1,1,20,1);

>> alpha= 0.01;

>> tail='right';

>>[h,significance,ci,stats] = ttest2(x,y,alpha,tail,'unequal')

h =

     0

significance =

    0.9467

ci =

    -1.2356  Inf

stats = 

    tstat: -1.6883

  df: 20.3251

  sd: [1.0252 0.5649]

Зависимость величины уровня значимости от разности средних генеральных совокупностей, распределенных по нормальному закону, и объема выборок. Проверяется нулевая гипотеза на равенство средних двух генеральных совокупностей. Дисперсия выборок равна 1.

>> delta= 0:0.2:1;

>> n=10;

>> y =normrnd(0,1,n,1);

>> for i=1:length(delta)x = normrnd(delta(i),1,n,1); [h, p1(i),ci,stats] = ttest2(x,y); end;

>> n=20;

>> y = normrnd(0,1,n,1);

>> fori=1:length(delta) x = normrnd(delta(i),1,n,1); [h, p2(i),ci,stats] = ttest2(x,y);end;

>> n=50;

>> y =normrnd(0,1,n,1);

>> fori=1:length(delta) x = normrnd(delta(i),1,n,1); [h, p3(i),ci,stats] = ttest2(x,y);end;

>> plot(delta,p1,'or',delta,p2,'+b',delta,p3,'.g')

>> grid on

 

 

Наверх

ztest - Z-тест. Проверка гипотезы о равенстве (или неравенстве) математического ожидания выборки заданному значению при условии, что известна величина дисперсии. Закон распределения выборки нормальный.

Синтаксис

h = ztest(x,m,sigma) 

h = ztest(x,m,sigma,alpha)

[h,sig,ci,zval] = ztest(x,m,sigma,alpha,tail)

Описание

h = ztest(x,m,sigma) функция предназначена для проверки нулевой гипотезы состоящей в том, что выборка х получена из генеральной совокупности имеющей нормальное распределение со средним m и средним квадратическим отклонением sigma. Проверка нулевой гипотезы выполняется на основе статистики Z. Выборка x задается как вектор. Функция возвращает скаляр h, являющийся результатом проверки нулевой гипотезы для критического уровня значимости  равного 0,05. Нулевая гипотеза принимается если h=0 при . Если h=1, то нулевая гипотеза может быть отвергнута для 

h = ztest(x,m,sigma,alpha) входной параметр alpha позволяет задать значение критического уровня значимости для проверки нулевой гипотезы. По умолчанию alpha=0,05. Условие принятия нулевой гипотезы 

где  - критический уровень значимости;  - уровень значимости, соответствующий выборочной статистике Z. Выбор величины  предоставлен исследователю. В большинстве практических случаев  принимают равным 0,05; 0,01. Статистика Z рассчитывается из выражения 

где  - выборочное среднее арифметическое,  - точечная несмещенная оценка среднего квадратического отклонения,  - объем выборки, . Уровень значимости  является вероятностью того, что случайная величина примет значение равное или превышающее выборочное значение статистики Z для используемой критической области. 

[h,sig,ci,zval] = ztest(x,m,sigma,alpha,tail) дополнительный входной параметр tail позволяет задать вид альтернативной гипотезы. Возможны три альтернативные гипотезы: 

Значение tail

Альтернативная гипотеза

'both' 

Среднее генеральной совокупности не равно m, . Проверка гипотезы выполняется для двусторонней критической области. Значение по умолчанию. 

'right' 

Среднее генеральной совокупности больше m, . Проверка гипотезы выполняется для правосторонней критической области. 

'left' 

Среднее генеральной совокупности меньше m, . Проверка гипотезы выполняется для левосторонней критической области. 

Выходными параметрами функции являются: 1. результат проверки нулевой гипотезы h для заданного критического уровня значимости; 2. уровень значимости sig, соответствующий выборочному значению статистики Z; 3. вектор границ доверительного интервала выборочного среднего арифметического ci для доверительной вероятности (1-alpha); 4. значение выборочной статистики Z, zval. 

Примеры использования функции проверки параметрической гипотезы о значении среднего арифметического при известной дисперсии нормальной генеральной совокупности

Проверка равенства нулю среднего арифметического генеральной совокупности, распределенной по нормальному закону с математическим ожиданием и дисперсией равными 0 и 1, по выборке х. Объем выборки равен 10 элементам. Функция возвращает результат проверки нулевой гипотезы h. 

>> x = normrnd(0,1,10,1); 

>> h = ztest(x,0,1)

h = 

      1 

Проверка равенства 0,5 среднего арифметического генеральной совокупности, распределенной по нормальному закону с математическим ожиданием и дисперсией равными 0,5 и 2, по выборке х. Объем выборки равен 25 элементам. Функция возвращает результат проверки нулевой гипотезы h. Графическое представление распределения значений выборки выполняется при помощи функции histfit. 

>> x = normrnd(0.5,2,25,1);

>> h = ztest(x,0.5,2)

h = 

      0

>> histfit(x,7)

>> grid on

Проверка равенства нулю среднего арифметического генеральной совокупности, распределенной по нормальному закону с математическим ожиданием и дисперсией равными 0 и 1, по выборке х. Проверка нулевой гипотезы выполняется для критического значения уровня значимости равного 0,01. Объем выборки равен 15 элементам. Функция возвращает результат проверки нулевой гипотезы h. 

>> x = normrnd(0,1,15,1);

>> alpha=0.01;

>> h = ztest(x,0,1,alpha)

h = 

      0 

Проверка равенства нулю среднего арифметического генеральной совокупности, распределенной по нормальному закону с математическим ожиданием и дисперсией равными 0 и 1, по выборке х. Проверка нулевой гипотезы выполняется для критического значения уровня значимости равного 0,01. В качестве альтернативной гипотезы принимается предположение, что среднее по генеральной совокупности больше нуля. Проверка гипотезы проводится для правосторонней критической области. Объем выборки равен 15 элементам. Функция возвращает результат проверки нулевой гипотезы h. 

>> x = normrnd(0,1,15,1);

>> alpha=0.01;

>> h = ztest(x,0,1,alpha,'right')

h =

      0 

Проверка равенства нулю среднего арифметического генеральной совокупности, распределенной по нормальному закону с математическим ожиданием и дисперсией равными 0 и 1, по выборке х. Проверка нулевой гипотезы выполняется для критического значения уровня значимости равного 0,01. В качестве альтернативной гипотезы принимается предположение, что среднее по генеральной совокупности больше нуля. Проверка гипотезы проводится для правосторонней критической области. Объем выборки равен 15 элементам. Выходными параметрами функции являются: результат проверки нулевой гипотезы h для заданного критического уровня значимости; уровень значимости sig, соответствующий рассчитанному значению статистики Z; вектор границ (1-alpha) доверительного интервала среднего арифметического ci; значение выборочной статистики Z, zval. 

>> x = normrnd(0,1,15,1);

>> alpha=0.01;

>> [h,sig,ci,zval] = ztest(x,0,1,alpha,'right')

h =

      0

sig =

      0.4234

ci = 

      -0.5508       Inf

zval =

      0.1933 

Зависимость величины уровня значимости от математического ожидания генеральной совокупности, распределенной по нормальному закону, и объема выборки. Проверяется нулевая гипотеза на равенство нулю средних генеральных совокупностей. Дисперсия выборок равна 1. 

>> delta = 0:0.1:1;

>>n=10;

>> for i=1:length(delta) x = normrnd(delta(i),1,n,1); [h,p1(i),ci,zval] = ztest(x,0,1); end;

>> n=20;

>> for i=1:length(delta) x = normrnd(delta(i),1,n,1); [h,p2(i),ci,zval] = ztest(x,0,1); end;

>> n=50;

>> for i=1:length(delta) x = normrnd(delta(i),1,n,1); [h,p3(i),ci,zval] = ztest(x,0,1); end;

>> plot(delta,p1,'or',delta,p2,'+b',delta,p3,'.g')

>> grid on

Вид распределения статистики Z. Генеральная совокупность распределена по нормальному закону с нулевым математическим ожиданием и единичной дисперсией. Объем выборки равен 5. Количество выборок равно 25. 

>> m=0;

>> sigma=1;

>> n=5;

>> N=25;

>> for i=1:N x = normrnd(m,sigma,n,1); [h,p,ci,zval(i)] = ztest(x,m,sigma); end;

>> histfit(zval)

>> grid on

 

 

Наверх

jbtest - Тест на соответствие выборки нормальному распределению с неопределенными параметрами нормального распределения.

Синтаксис

H = jbtest(X)

H = jbtest(X,alpha)

[H,P,JBSTAT,CV] = jbtest(X,alpha)

Описание

H = jbtest(X) функция предназначена для выполнения теста Ярки-Бера на непротиворечие распределения генеральной совокупности значений слуайной величины нормальному закону по выборкеX.X задается как вектор. Функция возвращает скалярH, являющийся результатом проверки нулевой гипотезы для критического уровня значимости равного 0,05. Нулевая гипотеза состоит в том, что распределение генеральной совокупности значений случайной величины не противоречит нормальному закону. Альтернативная гипотеза теста Ярки-Бера состоит в том, что распределение генеральной совокупности противоречит нормальному закону. Нулевая гипотеза принимается если h=0 при . ЕслиH=1, то нулевая гипотеза может быть отвергнута при .

Тест Ярки-Бера используется в случаях, когда неизвестны среднее арифметическое и дисперсия генеральной совокупности. Проверка нулевой гипотезы основана на расчете оценок коэффициентов асимметрии и эксцесса по выборке Х. В случае справедливости нулевой гипотезы выборочное значение коэффициента асимметрии должно быть приблизительно равно нулю, а выборочное значение эксцесса - трем. Следует отметить, что в отечественной литературе коэффициент эксцесса определяется по формуле , где  - коэффициент эксцесса,  - точечная оценка среднего квадратического отклонения,  - четвертый эмпирический центральный момент,  - выборочное среднее арифметическое,  - вектор выборочных значений. Следовательно, коэффициент эксцесса нормального закона будет равен 0.

При проведении теста Ярки-Бера определяются отклонения выборочных коэффициентов асимметрии и эксцесса, относительно ожидаемых значений при условии справедливости нулевой гипотезы для заданного объема выборки. В качестве меры отклонений выборочных значений коэффициентов асимметрии и эксцесса используется статистика хи-квадрат. Тест Ярки-Бера используется при большом объеме выборки Х. При малом объеме выборки используется тест Лиллиефорса.

H = jbtest(X,alpha) входной параметр alpha позволяет задать значение критического уровня значимости для проверки нулевой гипотезы. По умолчаниюalpha=0,05. Условие принятия нулевой гипотезы

,

(1)

где  - критический уровень значимости;  - уровень значимости, соответствующий выборочной статистике хи-квадрат. Выбор величины  предоставлен исследователю. В большинстве практических случаев  принимают равным 0,05; 0,01.

[H,P,JBSTAT,CV] = jbtest(X,alpha) выходными параметрами функции являются: 1. результат проверки нулевой гипотезы H для заданного критического уровня значимости; 2. уровень значимости P, соответствующий выборочному значению статистики хи-квадрат; 3. значение выборочной статистики хи-квадратJBSTAT; 4. критическое значение статистики хи-квадратCV. ВеличинаCV служит для проверки нулевой гипотезы. Если JBSTAT<CV, то нулевая гипотеза может быть принята, в противном случае принимается альтернативная гипотеза. Таким образом, указанное условие является альтернативным по отношению к (1).

Примеры использования функции теста Ярки-Бера на непротиворечие распределения генеральной совокупности нормальному закону

Тест Ярки-Бера на непротиворечие нормальному закону генеральной совокупности, распределенной по нормальному закону, по выборочным значениям. Объем выборки - 25 элементов. Функция возвращает результат проверки нулевой гипотезы. Графическое представление распределения выборочных значений выполняется с помощью функции histfit.

>> x = normrnd(0,1,25,1);

>> H = jbtest(x)

H =

  0

>> histfit(x,7)

>> grid on

Тест Ярки-Бера на непротиворечие нормальному закону генеральной совокупности, распределенной по нормальному закону, по выборочным значениям. Объем выборки - 30 элементов. Функция возвращает результат проверки нулевой гипотезы для критического значения уровня значимости 0,01. Графическое представление распределения выборочных значений выполняется с помощью функции >qqplot.

>> x = normrnd(0,1,30,1);

>> alpha=0.01;

>> H = jbtest(x,alpha)

H =

  0

>> qqplot(x)

>> grid on

Тест Ярки-Бера на непротиворечие нормальному закону генеральной совокупности, распределенной по нормальному закону, по выборочным значениям. Распределение генеральной совокупности представляет композицию нормального и равномерного законов. Объем выборки - 30 элементов. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,01. Графическое представление распределения выборочных значений выполняется с помощью функции >qqplot.

>> x = normrnd(0,1,30,1)+unifrnd(-2,1,30,1);

>> alpha=0.01;

>> H = jbtest(x,alpha)

H =

  0

>> qqplot(x)

>> grid on

Тест Ярки-Бера на непротиворечие нормальному закону генеральной совокупности, распределенной по нормальному закону, по выборочным значениям. Распределение генеральной совокупности представляет композицию нормального и равномерного законов. Объем выборки - 30 элементов. Графическое представление распределения выборочных значений выполняется с помощью функции >qqplot. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,01; уровень значимостиP соответствующий, выборочному значению статистики хи-квадрат; значение выборочной тестовой статистики хи-квадрат; критическое значение статистики хи-квадрат.

>> x = normrnd(0,1,30,1)+unifrnd(-3,3,30,1);

>> alpha=0.01;

>> [H,P,JBSTAT,CV] = jbtest(x,alpha)

H =

  0

P =

  0.4221

JBSTAT =

  1.7249

CV =

  9.2103

Зависимость величины уровня значимости при проверке нулевой гипотезы от объема выборки и дисперсии равномерного закона, как составляющей композиции законов распределения случайной величиныx. Распределение генеральной совокупности является композицией нормального и равномерного законов. Параметры нормальной составляющей постоянны и равны: математическое ожидание - 0, дисперсия - 1. Математическое ожидание равномерной составляющей постоянно и принято равным нулю.

>> sigma = 0:0.1:3/1.73;

>>n=10;

>> for i=1:length(sigma) x = normrnd(0,1,n,1)+unifrnd(-1.73*sigma(i), 1.73*sigma(i),n,1); [H,p1(i),JBSTAT,CV] = jbtest(x); end; 

>> n=20;

>> for i=1:length(sigma) x = normrnd(0,1,n,1)+unifrnd(-1.73*sigma(i), 1.73*sigma(i),n,1); [H,p2(i),JBSTAT,CV] = jbtest(x); end; 

>> n=50;

>> for i=1:length(sigma) x = normrnd(0,1,n,1)+unifrnd(-1.73*sigma(i), 1.73*sigma(i),n,1); [H,p3(i),JBSTAT,CV] = jbtest(x); end;

>> plot(sigma,p1,'or', sigma,p2,'+b', sigma,p3,'.g')

>> grid on

Вид распределения выборочной статистики хи-квадрат. Распределение генеральной совокупности формируется как композиция нормального и равномерного законов. Объем выборки равен 20 элементам. Количество выборок равно 25. Графическая оценка соответствия нормальному закону выборочной статистики выполняется с помощью функции>qqplot.

>> m_norm=0;

>> sigma_norm =1;

>> m_unif=0;

>> sigma_unif=3/1.73;

>> n=20;

>> N=25;

>> for i=1:N x = normrnd(m_norm, m_norm,n,1)+unifrnd(m_unif-1.73*sigma_unif,m_unif+1.73*sigma_unif,n,1); [H,P,JBSTAT(i),CV] = jbtest(x);end;

>> qqplot(JBSTAT)

>> grid on

 

 

Наверх

kstest - Тест Колмогорова-Смирнова на соответствие выборки заданному распределению

Синтаксис

H = kstest(X)

H = kstest(X,cdf)

H = kstest(X,cdf,alpha,tail)

[H,P,KSSTAT,CV] = kstest(X,cdf,alpha,tail)

Описание

H = kstest(X) функция предназначена для выполнения теста Комогорова-Смирнова на непротиворечие распределения значений генеральной совокупности значений случайной величины стандартному нормальному закону (нормальному закону с нулевым математическим ожиданием и единичной дисперсией) по выборке X. X задается как вектор. Функция возвращает скаляр H, являющийся результатом проверки нулевой гипотезы для критического уровня значимости равного 0,05. Нулевая гипотеза состоит в том, что распределение генеральной совокупности не противоречит стандартному нормальному закону. Альтернативная гипотеза теста Комогорова-Смирнова состоит в том, что распределение генеральной совокупности противоречит стандартному нормальному закону. Нулевая гипотеза принимается если h=0 при . Если H=1, то нулевая гипотеза может быть отвергнута для .

При проведении теста Комогорова-Смирнова для серии заданных значений случайной величины х сравнивается доля выборочных значений Х(:)<x с долей ожидаемых значений, согласно стандартному нормальному закону. Максимальная разность между ожидаемой долей и долей значений Х(:)<x по выборке используется как выборочная статистика Комогорова-Смирнова. Т.е., выборочная статистика рассчитывается из выражения

.

где  - доля выборочных значений меньших заданного значения х, Х(:)<x;  - значение кумулятивной функции стандартного нормального распределения для заданного х.

H = kstest(X,cdf) функция предназначена для выполнения теста Комогорова-Смирнова на непротиворечие распределения генеральной совокупности значений случайной величины произвольному закону распределения вероятностей cdf по выборке Х. Входной параметр cdf задается как матрица с размерностью m×2, где m - число заданных значений случайной величины х. Первый столбец матрицы cdf соответствует заданным значениям случайной величины х. Второй столбец матрицы cdf рассчитывается по кумулятивной теоретической функции распределения в точках х. Задание cdf в указанном виде является рекомендуемым. Если cdf будет определена как вектор, без столбца соответствующего х, значение  будет рассчитано методом интерполяции. Значения х должны находиться в интервале между минимальным и максимальным значениями первого столбца матрицы cdf. Если второй аргумент задан как пустой вектор или матрица, cdf=[ ], в качестве теоретического распределения будет использован стандартный нормальный закон.

Тест Комогорова-Смирнова используется в случаях, когда явно задана теоретическая функция распределения и ее параметры. Если параметры закона распределения рассчитываются по выборочным значениям, использование теста Комогорова-Смирнова приведет к существенной погрешности. Поэтому, если необходимо выполнить проверку на непротиворечие генеральной совокупности нормальному закону с неопределенными параметрами, необходимо использовать тест Лиллиефорса.

H = kstest(X,cdf,alpha,tail) входной параметр alpha позволяет задать значение критического уровня значимости для проверки нулевой гипотезы. По умолчанию alpha=0,05. Условие принятия нулевой гипотезы

,

(1)

где  - критический уровень значимости;  - уровень значимости, соответствующий выборочной статистике Колмогорова-Смирнова. Выбор величины  предоставлен исследователю. В большинстве практических случаев  принимают равным 0,05; 0,01.

Входной параметр tail предназначен для задания вида альтернативной гипотезы. Если tail=0, альтернативной гипотезой является  и проверка гипотезы выполняется для двусторонней критической области. tail=-1 соответствует альтернативной гипотезе . tail=1 соответствует альтернативной гипотезе . Значение по умолчанию tail=0. Выражение для расчета статистики Комогорова-Смирнова будет зависеть от вида альтернативной гипотезы:

Значение параметра tail

Выражение для расчета статистики Комогорова-Смирнова

tail=0

tail=-1

tail=1

[H,P,KSSTAT,CV] = kstest(X,cdf,alpha,tail) выходными параметрами функции являются: 1. результат проверки нулевой гипотезы H для заданного критического уровня значимости; 2. уровень значимости P, соответствующий выборочному значению статистики Комогорова-Смирнова; 3. значение выборочной статистики Комогорова-Смирнова KSSTAT; 4. критическое значение статистики Комогорова-Смирнова CV. Величина CV служит для проверки нулевой гипотезы. Если KSSTAT<CV, то нулевая гипотеза может быть принята, в противном случае принимается альтернативная гипотеза. Таким образом, указанное условие является альтернативным по отношению к (1). Если выходной параметр CV=NaN, то величина P будет рассчитана по асимптотической формуле, и для определения значений H будет использовано выражение (1) вместо условия KSSTAT<CV.

Примеры использования функции теста Комогорова-Смирнова на непротиворечие распределения генеральной совокупности заданному закону распределения

Тест Комогорова-Смирнова на непротиворечие генеральной совокупности стандартному нормальному закону. Объем выборки - 15 элементов. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,05. Графическое представление распределения выборочных значений выполняется с помощью функции histfit.

>> x = normrnd(0,1,15,1);

>> H = kstest (x)

H =

     0

>> histfit(x,5)

>> grid on

Тест Комогорова-Смирнова на непротиворечие генеральной совокупности нормальному закону с математическим ожиданием равным 1 и средним квадратическим отклонением равным 2. Объем выборки - 35 элементов. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,05.

>> x = normrnd(1,2,35,1);

>> X=-6:0.5:8;

>> Y=normcdf(X,1,2);

>> cdf=[X' Y'];

>> H = kstest(x,cdf)

H =

     0

Тест Комогорова-Смирнова на непротиворечие генеральной совокупности закону Вейбулла с параметром масштаба равным 1 и коэффициентом формы 2. Выборка распределена по равномерному закону. Объем выборки - 40 элементов. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,01.

>> x = unifrnd(0,4,40,1);

>> X=0:0.5:4;

>> Y=wblcdf(X,1,2);

>> cdf=[X' Y'];

>> H = kstest(x,cdf,0.01)

H =

     1

Тест Комогорова-Смирнова на непротиворечие генеральной совокупности нормальному закону с математическим ожиданием равным 0 и средним квадратическим отклонением равным 2. Объем выборки - 30 элементов. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,02. Альтернативная гипотеза соответствует .

>> x = normrnd(0,2,30,1);

>> X=-6:0.5:6;

>> Y=normcdf(X,0,2);

>> cdf=[X' Y'];

>> tail=-1;

>> H = kstest(x,cdf,0.02,tail)

H =

     0

Тест Комогорова-Смирнова на непротиворечие генеральной совокупности закону Вейбулла с параметром масштаба равным 1 и коэффициентом формы 2. Выборка распределена по равномерному закону. Объем выборки - 40 элементов. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,01; уровень значимости, соответствующий выборочному значению статистики Комогорова-Смирнова; значение выборочной статистики Комогорова-Смирнова; критическое значение статистики Комогорова-Смирнова.

>> x = unifrnd(0,4,40,1);

>> X=0:0.5:4;

>> Y=wblcdf(X,1,2);

>> cdf=[X' Y'];

>> [H,P,KSSTAT,CV] = kstest(x,cdf,0.01)

H =

     1

P =

     4.6349e-011

KSSTAT =

     0.5415

CV =

     0.2521

Вид распределения выборочной статистики Комогорова-Смирнова. Распределение генеральной совокупности формируется как композиция нормального и равномерного законов. Нулевая гипотеза состоит в непротиворечии генеральной совокупности стандартному нормальному закону. Объем выборки равен 50 элементам. Количество выборок равно 25. Графическая оценка соответствия нормальному закону выборочной статистики Комогорова-Смирнова выполняется при помощи функции qqplot.

>> m_norm=0;

>> sigma_norm =1;

>> m_unif=0;

>> sigma_unif=3/1.73;

>> n=50;

>> N=25;

>> for i=1:N x = normrnd(m_norm, m_norm,n,1)+unifrnd(m_unif-1.73*sigma_unif,m_unif+1.73*sigma_unif,n,1); [H,P,KSSTAT(i),CV] = kstest(x);end;

>> qqplot(KSSTAT)

>> grid on

Зависимость величины уровня значимости при проверке нулевой гипотезы от объема выборки и дисперсии равномерного закона, как составляющей композиции законов распределения случайной величины x. Распределение генеральной совокупности формируется как композиция нормального и равномерного законов. Нулевая гипотеза состоит в непротиворечии генеральной совокупности стандартному нормальному закону. Параметры нормальной составляющей постоянны и равны: математическое ожидание - 0, дисперсия - 1. Математическое ожидание равномерной составляющей постоянно и принято равным нулю.

>> sigma = 0:0.1:3/1.73;

>>n=20;

>> for i=1:length(sigma) x = normrnd(0,1,n,1)+unifrnd(-1.73*sigma(i), 1.73*sigma(i),n,1); [H,p1(i),KSSTAT,CV] = kstest(x); end; 

>> n=30;

>> for i=1:length(sigma) x = normrnd(0,1,n,1)+unifrnd(-1.73*sigma(i), 1.73*sigma(i),n,1); [H,p2(i),KSSTAT,CV] = kstest(x); end; 

>> n=50;

>> for i=1:length(sigma) x = normrnd(0,1,n,1)+unifrnd(-1.73*sigma(i), 1.73*sigma(i),n,1); [H,p3(i),KSSTAT,CV] = kstest(x); end;

>> plot(sigma,p1,'or', sigma,p2,'+b', sigma,p3,'.g')

>> grid on

 

 

Наверх

kstest2 - Тест Колмогорова-Смирнова на соответствие распределений двух выборок

Синтаксис

H = kstest2(X1,X2)

H = kstest2(X1,X2,alpha,tail)

[H,P,KSSTAT] = kstest2(...)

Описание

H = kstest2(X1,X2) функция позволяет выполнить тест Комогорова-Смирнова для сравнения законов распределения двух генеральных совокупностей значений случайных величин по выборкам X1, X2. Выборки X1, X2 задаются как векторы с размерностями n1, n2 соответственно. Функция возвращает скаляр H, являющийся результатом проверки нулевой гипотезы для критического значения уровня значимости  равного 0,05. Нулевая гипотеза состоит в том, что две генеральные совокупности значений случайных величин распределены по одному и тому же непрерывному закону. Альтернативная гипотеза состоит в том, что две генеральные совокупности значений случайных величин распределены по разным непрерывным законам. Нулевая гипотеза принимается если h=0 при . Если H=1, то нулевая гипотеза может быть отвергнута при .

При проведении теста Комогорова-Смирнова для серии заданных значений случайной величины х сравниваются доли выборочных значений, удовлетворяющих условиям Х1(:)≤x и Х2(:)≤x. Максимальная разность между указанными долями выборочных значений, соответствующих условиям Х1(:)≤x и Х2(:)≤x, используется как выборочная статистика Комогорова-Смирнова. Т.е., статистику Комогорова-Смирнова можно представить следующим образом

,

где ,  - доли выборочных значений, удовлетворяющих условиям Х1(:)≤x и Х2(:)≤x соответственно. Элементы векторов X1(i), X2(i) равные NaN считаются как пропущенные значения и игнорируются при расчете.

H = kstest2(X1,X2,alpha,tail) входной параметр alpha позволяет задать значение критического уровня значимости для проверки нулевой гипотезы. По умолчанию alpha=0,05. Условие принятия нулевой гипотезы

,

(1)

где  - критический уровень значимости;  - уровень значимости, соответствующий выборочной статистике Колмогорова-Смирнова. Выбор величины  предоставлен исследователю. В большинстве практических случаев  принимают равным 0,05; 0,01.

Входной параметр tail предназначен для задания вида альтернативной гипотезы. Если tail=0, альтернативной гипотезой является  и проверка выполняется для двусторонней критической области. tail=-1 соответствует альтернативной гипотезе. tail=1 соответствует альтернативной гипотезе. Значение по умолчанию tail=0. Выражение для расчета выборочной статистики Комогорова-Смирнова будет зависеть от вида альтернативной гипотезы:

Значение параметра tail

Выражение для расчета статистики Комогорова-Смирнова

tail=0

tail=-1

tail=1

[H,P,KSSTAT] = kstest2(...) выходными параметрами функции являются: 1. результат проверки нулевой гипотезы H для заданного критического уровня значимости; 2. уровень значимости P, соответствующий выборочному значению статистики Комогорова-Смирнова; 3. значение выборочной статистики Комогорова-Смирнова KSSTAT.

Асимптотическое значение уровня значимости Р имеет минимальную погрешность при больших объемах выборок Х1 и Х2, или если выполняется условие (n1*n2)/(n1+n2)>=4.

Примеры использования функции теста Комогорова-Смирнова для сравнения законов распределения двух генеральных совокупностей значений случайных величин

Тест Комогорова-Смирнова на согласие распределений двух генеральных совокупностей по выборочным значениям. Объем выборок - 15 элементов. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,05. Графическое представление распределений выборочных значений выполняется с помощью функции непараметрического сглаживания ksdensity.

>> x = normrnd(0,1,15,1);

>> y = normrnd(0,1,15,1);

>> H = kstest2(x,y)

H =

 0

>> [fx,xx] = ksdensity(x);

>> [fy,xy] = ksdensity(y);

>> plot(xx,fx,'r',xy,fy,'g')

>> grid on

Тест Комогорова-Смирнова на согласие распределений двух генеральных совокупностей по выборочным значениям. Выборки распределены по нормальному и равномерному законам с одинаковыми математическими ожиданиями и дисперсиями. Объем выборок - 20 элементов. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,05. Графическое представление распределений выборочных значений выполняется с помощью функции непараметрического сглаживания ksdensity.

>> x = normrnd(0,1,20,1);

>> y = unifrnd(-1.73,1.73,20,1);

>> H = kstest2(x,y)

H =

 0

>> [fx,xx] = ksdensity(x);

>> [fy,xy] = ksdensity(y);

>> plot(xx,fx,'r',xy,fy,'g')

>> grid on

Тест Комогорова-Смирнова на согласие распределений двух генеральных совокупностей по выборочным значениям. Выборки распределены по нормальному и равномерному законам с различными математическими ожиданиями и дисперсиями. Объем выборок - 30 и 50 элементов. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,02. Графическое представление распределений выборочных значений выполняется с помощью функции непараметрического сглаживания ksdensity.

>> x = normrnd(0,1,30,1);

>> y = unifrnd(-5,5,50,1);

>> H = kstest2(x,y,0.02)

H =

 1

>> [fx,xx] = ksdensity(x);

>> [fy,xy] = ksdensity(y);

>> plot(xx,fx,'r',xy,fy,'g')

>> grid on

Тест Комогорова-Смирнова на согласие распределений двух генеральных совокупностей по выборочным значениям. Альтернативная гипотеза принимается равной . Выборки распределены по нормальному и равномерному законам с различными математическими ожиданиями и дисперсиями. Объем выборок - 30 и 50 элементов. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,02. 

>> x = normrnd(0,1,30,1);

>> y = unifrnd(-5,5,50,1);

>> tail=-1;

>> H = kstest2(x,y,0.02,tail)

H =

 0

Тест Комогорова-Смирнова на согласие распределений двух генеральных совокупностей по выборочным значениям. Выборки распределены по нормальному и равномерному законам с различными математическими ожиданиями и дисперсиями. Объем выборок - 10 элементов. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,01; уровень значимости, соответствующий выборочной статистике Комогорова-Смирнова; значение выборочной статистики Комогорова-Смирнова.

>> x = normrnd(0,1,10,1);

>> y = unifrnd(-5,5,10,1);

>> [H,P,KSSTAT] = kstest2(x,y,0.01)

H =

 0

P =

    0.1108

KSSTAT =

    0.5000

Вид распределения выборочной статистики Комогорова-Смирнова при проверке нулевой гипотезы для генеральных совокупностей, распределенных по нормальному и равномерному законам. Объем выборок равен 50 элементам. Количество выборок равно 25. Графическая оценка соответствия выборочной статистики Комогорова-Смирнова нормальному закону выполняется с помощью функции qqplot.

>> m_norm=0;

>> sigma_norm =1;

>> m_unif=0;

>> sigma_unif=3/1.73;

>> n=50;

>> N=25;

>> for i=1:N x = normrnd(m_norm, m_norm,n,1); y=unifrnd(m_unif-1.73*sigma_unif,m_unif+1.73*sigma_unif,n,1); [H,P,KSSTAT(i)] = kstest2(x,y);end;

>> qqplot(KSSTAT)

>> grid on

 

 

Наверх

lillietest - Тест на соответствие выборки нормального распределения рассчитываются исходя из значений элементов в выборке.

Синтаксис

H = lillietest(X)

H = lillietest(X,alpha)

[H,P,LSTAT,CV] = lillietest(X,alpha)

Описание

H = lillietest(X) функция предназначена для выполнения теста Лиллиефорса на непротиворечие распределения генеральной совокупности значений случайной величины нормальному закону по выборке Х. X задается как вектор. Функция возвращает скаляр H, являющийся результатом проверки нулевой гипотезы для критического уровня значимости  равного 0,05. Нулевая гипотеза состоит в том, что распределение генеральной совокупности значений случайной величины не противоречит нормальному закону с неизвестными средним арифметическим и дисперсией. Альтернативная гипотеза теста Лиллиефорса состоит в том, что распределение генеральной совокупности значений случайной величины противоречит нормальному закону. Нулевая гипотеза принимается если h=0 при . Если H=1, то нулевая гипотеза может быть отвергнута для .

Тест Лиллиефорса основан на сравнении эмпирического распределения частот выборки Х и нормального закона. Параметры нормального закона рассчитываются по выборке Х. Тест Лиллиефорса аналогичен критерию Колмогорова-Смирнова, но в последнем случае параметры нормального закона предполагаются известными.

H = lillietest(X,alpha) входной параметр alpha позволяет задать значение критического уровня значимости для проверки нулевой гипотезы. По умолчанию alpha=0,05. Условие принятия нулевой гипотезы

,

(1)

где  - критический уровень значимости;  - уровень значимости, соответствующий выборочной тестовой статистике. Выбор величины  предоставлен исследователю и должен изменяться в пределах от 0,01 до 0,2. В большинстве практических случаев  принимают равным 0,05; 0,01.

[H,P,LSTAT,CV] = lillietest(X,alpha) выходными параметрами функции являются: 1. результат проверки нулевой гипотезы H для заданного критического уровня значимости; 2. уровень значимости P соответствующий выборочному значению тестовой статистики; 3. значение выборочной тестовой статистики LSTAT; 4. критическое значение тестовой статистики CV. Величина CV служит для проверки нулевой гипотезы. Если LSTAT <CV, то нулевая гипотеза может быть принята, в противном случае принимается альтернативная гипотеза. Таким образом, указанное условие является альтернативным по отношению к (1). Величина P определяется методом линейной интерполяции по таблице Лиллиефорса на основе тестовой статистики LSTAT. Если LSTAT выходит за пределы табличных значений, функция возвращает P=NaN, но H показывает возможность принятия нулевой гипотезы.

Примеры использования функции теста Лиллиефорса на непротиворечие распределения генеральной совокупности значений случайной величины нормальному закону

Тест Лиллиефорса на непротиворечие нормальному закону распределения генеральной совокупности по выборочным значениям. Объем выборки - 10 элементов. Функция возвращает результат проверки нулевой гипотезы. Графическое представление распределения выборочных значений выполняется с помощью функции histfit.

>> x = normrnd(0,1,10,1);

>> H = lillietest(x)

H =

  0

>> histfit(x,5)

>> grid on

Тест Лиллиефорса на непротиворечие нормальному закону распределения генеральной совокупности по выборочным значениям. Объем выборки - 15 элементов. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,01. Графическое представление распределения выборочных значений выполняется с помощью функции qqplot.

>> x = normrnd(0,1,15,1);

>> alpha=0.01;

>> H = lillietest(x,alpha)

H =

  0

>> qqplot(x)

>> grid on

Тест Лиллиефорса на непротиворечие нормальному закону распределения генеральной совокупности по выборочным значениям. Распределение генеральной совокупности является композицией нормального и равномерного законов. Объем выборки - 10 элементов. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,01. Графическое представление распределения выборочных значений выполняется при помощи функции qqplot.

>> x = normrnd(0,1,10,1)+unifrnd(-2,1,10,1);

>> alpha=0.01;

>> H = lillietest(x,alpha)

H =

  0

>> qqplot(x)

>> grid on

Тест Лиллиефорса на непротиворечие нормальному закону распределения генеральной совокупности по выборочным значениям. Распределение генеральной совокупности является композицией нормального и равномерного законов. Объем выборки - 15 элементов. Графическое представление распределения выборочных значений выполняется с помощью функции qqplot. Функция возвращает результат проверки нулевой гипотезы для критического уровня значимости 0,01; уровень значимости P, соответствующий значению выборочной тестовой статистики; значение выборочной тестовой статистики; критическое значение тестовой статистики.

>> x = normrnd(0,1,15,1)+unifrnd(-3,3,15,1);

>> alpha=0.01;

>> [H,P,LSTAT,CV] = lillietest(x,alpha)

H =

  0

P =

  NaN

LSTAT =

  0.1198

CV =

  0.2570

Зависимость величины уровня значимости при проверке нулевой гипотезы от объема выборки и дисперсии равномерного закона, как составляющей композиции законов распределения случайной величины x. Распределение генеральной совокупности является композицией нормального и равномерного законов. Параметры нормальной составляющей постоянны и равны: математическое ожидание - 0, дисперсия - 1. Математическое ожидание равномерной составляющей постоянно и принято равным нулю.

>> sigma = 0:0.1:3/1.73;

>>n=5;

>> for i=1:length(sigma) x = normrnd(0,1,n,1)+unifrnd(-1.73*sigma(i), 1.73*sigma(i),n,1); [H,p1(i),JBSTAT,CV] = lillietest(x); end; 

>> n=10;

>> for i=1:length(sigma) x = normrnd(0,1,n,1)+unifrnd(-1.73*sigma(i), 1.73*sigma(i),n,1); [H,p2(i),JBSTAT,CV] = lillietest(x); end; 

>> n=20;

>> for i=1:length(sigma) x = normrnd(0,1,n,1)+unifrnd(-1.73*sigma(i), 1.73*sigma(i),n,1); [H,p3(i),JBSTAT,CV] = lillietest(x); end;

>> plot(sigma,p1,'or', sigma,p2,'+b', sigma,p3,'.g')

>> grid on

Вид распределения выборочной тестовой статистики. Распределение генеральной совокупности формируется как композиция нормального и равномерного законов. Объем выборки равен 10 элементам. Количество выборок равно 25. Графическая оценка соответствия нормальному закону выборочной статистики выполняется с помощью функции qqplot.

>> m_norm=0;

>> sigma_norm =1;

>> m_unif=0;

>> sigma_unif=3/1.73;

>> n=10;

>> N=25;

>> for i=1:N x = normrnd(m_norm, m_norm,n,1)+unifrnd(m_unif-1.73*sigma_unif,m_unif+1.73*sigma_unif,n,1); [H,P,JBSTAT(i),CV] = lillietest(x);end;

>> qqplot(JBSTAT)

>> grid on

 

 

Наверх

ksdensity - Подгонка функции плотности вероятности по экспериментальным данным

Синтаксис

[f,xi] = ksdensity(x)

f = ksdensity(x,xi)

[f,xi,u] = ksdensity(...)

[...] = ksdensity(...,'param1',val1,'param2',val2,...)

Описание

[f,xi] = ksdensity(x) функция предназначена для расчета значений функции распределения плотности вероятностей f для значений случайной величины xi методом непараметрического сглаживания по исходной выборке х. Выборка исходных данных х задается как вектор. Выходные параметры f, xi будут представлены как векторы на 100 элементов каждый. Вектор xi рассчитывается с постоянным шагом. В качестве базовой функции сглаживания используется функция плотности нормального закона.

f = ksdensity(x,xi) функция предназначена для расчета значений функции распределения плотности вероятностей f для значений случайной величины xi методом непараметрического сглаживания по исходной выборке х. Значения случайной величины, в которых рассчитывается функция плотности вероятности, задается как входной параметр xi.

[f,xi,u] = ksdensity(...) функция возвращает значение функции плотности вероятности f в точках xi и величину окна сглаживания u.

[...] = ksdensity(...,'param1',val1,'param2',val2,...) дополнительные входные параметры, 'param1', 'param2',:, задаются в виде пары "название параметра, значение" и позволяют:

Название параметра 'param'

Функции и возможные значения val дополнительных входных параметров

'censoring'

Цензурирование входных данных. Значение параметра задается как вектор логических значений. Число элементов вектора значений val и исходной выборки х должно совпадать. Элементы цензурирующего вектора соответствуют элементам исходной выборки х. По умолчанию цензурирование не предусмотрено.

'kernel'

Выбор базовой функции сглаживания. Предусмотрены 4 базовых функции: 'normal', 'box', 'triangle', 'epanechinikov'. По умолчанию в качестве базовой функции сглаживания принимается функция распределения плотности вероятности нормального закона 'normal'. Пользователь может определить базовую функцию сглаживания в виде m-функции. В этом случае в качестве значения параметра используется указатель на функцию или соотвествующее строковое значение, например 'normpdf или 'normpdf'. Входным аргументом базовой m-функции должен быть массив значений случайной величины, в которых будут рассчитываться значения функции плотности вероятности. M-функция должна возвратить массив значений базовой функции сглаживания той же размерности, что и массив входных значений.

'npoints'

Число элементов в выходных векторах f и xi. Значение по умолчанию - 100. Шаг между значениями в векторе xi постоянный.

'support'

Интервал, на котором определена функция распределения плотности вероятностей. Возможны следующие значения параметра:'unbounded' - функция плотности вероятностей определена для всех вещественных чисел (значение по умолчанию);

'positive' - функция плотности вероятностей определена для положительных вещественных чисел;

Значение параметра задается как двух элементный вектор, содержащий нижнюю и верхнюю границы интервала на котором определена функция плотности вероятностей.

'weights'

Вектор весовых значений элементов исходной выборки х. Размерность вектора весовых значений и исходной выборки должна совпадать. По умолчанию веса значений исходной выборки принимаются одинаковыми.

'width'

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

Примеры использования функции расчета значений функции распределения плотности вероятностей методом непараметрического сглаживания

Расчет значений функции распределения плотности вероятностей f для значений случайной величины xi методом непараметрического сглаживания исходной выборки х.

>> x = normrnd(0,1,100,1);

>> [f,xi] = ksdensity(x);

>> plot(xi,f)

>> grid on

>> histfit(x,7)

>> grid on

Расчет значений функции распределения плотности вероятностей f методом непараметрического сглаживания исходной выборки х. Значения случайной величины xi задаются как входной аргумент.

>> x = normrnd(0,1,100,1);

>> xi=-3:0.1:3;

>> f = ksdensity(x, xi);

>> plot(xi,f)

>> grid on

Расчет значений функции распределения плотности вероятностей f для значений случайной величины xi методом непараметрического сглаживания исходной выборки х. Кроме f, xi функция возвращает величину окна сглаживания u.

>> x = weibrnd(2,1,100,1);

>> [f,xi,u] = ksdensity(x)

f =

  Columns 1 through 9 

    0.0030    0.0059    0.0111    0.0199    0.0343    0.0567    0.0897    0.1363    0.1987

::::::::::::::..

Columns 91 through 99 

    0.0154    0.0120    0.0089    0.0063    0.0043    0.0027    0.0017    0.0010    0.0005

  Column 100 

    0.0003

xi =

  Columns 1 through 9 

   -0.4462   -0.4130   -0.3799   -0.3467   -0.3136   -0.2804   -0.2473   -0.2141   -0.1809

:::::::::

  Columns 91 through 99 

    2.5376    2.5707    2.6039    2.6370    2.6702    2.7034    2.7365    2.7697    2.8028

  Column 100 

    2.8360

u =

    0.1519

>> plot(xi,f)

>> grid on

Расчет значений функции распределения плотности вероятностей f для значений случайной величины xi методом непараметрического сглаживания исходной выборки х. Кроме f, xi функция возвращает величину окна сглаживания u. Дополнительный входной параметр определяет цензурирование исходной выборки.

>> x = weibrnd(2,1,100,1);

>> cen=unidrnd(2,100,1)-1;

>> [f,xi,u] = ksdensity(x, 'censoring',cen);

>> plot(xi,f)

>> grid on

Расчет значений функции распределения плотности вероятностей f для значений случайной величины xi методом непараметрического сглаживания исходной выборки х. Кроме f, xi функция возвращает величину окна сглаживания u. Дополнительные входные параметры: 'censoring' - определяет цензурирование исходной выборки и 'kernel' - изменяет базовую функцию сглаживания.

>> x = weibrnd(2,1,100,1);

>> cen=unidrnd(2,100,1)-1;

>> [f,xi,u] = ksdensity(x, 'censoring',cen,'kernel','triangle');

>> plot(xi,f)

>> grid on

Расчет значений функции распределения плотности вероятностей f для значений случайной величины xi методом непараметрического сглаживания исходной выборки х. Дополнительный входной параметр 'npoints' задает число значений f и xi.

>> x = normrnd(0,1,100,1);

>> [f,xi] = ksdensity(x,'npoints',10);

>> plot(xi,f,'+')

>> grid on

Расчет значений функции распределения плотности вероятностей f для значений случайной величины xi методом непараметрического сглаживания исходной выборки х. Дополнительные входные параметры задают пределы непараметрического сглаживания - 'support' и вектор весовых значений 'weights'.

>> x = weibrnd(2,1,100,1);

>> wet =unidrnd(10,100,1);

>> [f,xi] = ksdensity(x, 'support', 'positive', 'weights',wet);

>> plot(xi,f)

>> grid on

Исследование распределения вероятностей автомобилей по расходу топлива. Исходные данные получены из файла carsmall. Дополнительный входной параметр 'width' определяет величину окна сглаживания. Уменьшение значения 'width' позволяет определить на функции распределения плотности вероятностей более мелкие детали. Исходное значение 'width' получается как выходной аргумент функции ksdensity.

>> cars = load('carsmall','MPG','Origin'); 

>> MPG = cars.MPG; 

>> Origin = cars.Origin; 

>> [f,x] = ksdensity(MPG);

>> [f,x,u] = ksdensity(MPG);

>> plot(x,f)

>> title('Density estimate for MPG')

>> hold on

>> [f,x] = ksdensity(MPG,'width',u/3);

>> plot(x,f,'r');

>> [f,x] = ksdensity(MPG,'width',u*3);

>> plot(x,f,'g');

>> legend('default width','1/3 default','3*default')

>> hold off

>> grid on

 

 

Наверх

rsmdemo - Интерактивное моделирование химическое реакции и нелинейный регрессионный анализ

Синтаксис

rsmdemo

Описание

rsmdemo - функция предназначена для демонстрации методов: D-оптимального планирования эксперимента, регрессинного анализа и представления поверхности отклика для множества факторов, оценки параметров нелинейной модели Хогена. Демонстрация работы с указанными методами проводится на примере химической реакции 3 реагентов. Целью планирования эксперимента является поиск максимума коэффициента выхода полезного продукта. Функция rsmdemo основана на графическом интерфейсе с пользователем.

 

Интерфес состоит из 3-х графических окон:

  • окна моделирования параметров химической реакции (рис. 1),

  • окна результатов измерений (рис. 2),

  • окна результатов эксперимента (рис. 3).

Назначение элементов окна моделирования параметров химической реакции:

  • Строки ввода Hydrogen, n-Pentane, Isopentane и соотвествующие им полосы проктуки позволяют установить давление водорода, n-пентана и изопентана в химическом реакторе;

  • Строка ввода Reaction Rate отображает результат моделирования коэффициента выхода полезного продукта;

  • Строка ввода Runs Left показывает количество проведенных опытов. Значения изменяются от 13 до 0;

  • Кнопка Run предназначена для моделирования одного опыта - расчета коэффициента выхода полезного продукта при заданных значениях Hydrogen, n-Pentane, Isopentane с учетом случайных отклонений;

  • Кнопка Export позволяет создать в рабочей среде matlab матричную переменную значений независимых переменных и вектор коэффициента выхода полезного продукта. Названия переменных задаются в диалоговом окне после выбора кнопки, по умолчанию reactants и rate.

  • Кнопки Close и Help предназначены для закрытия окна и вызова помощи.

Рис. 1. Окно моделирования параметров химической реакции

Окно результатов измерений отображает результаты моделирования для опытов, проводимых пользователем по своему усмотрению в виде таблицы. Кнопка Analyze вызывает графическое окно функции rstool для представления результатов регрессионного анализа. Меню Plot позволяет построить графики зависимости коэффициента выхода реакции от величины давления каждого из компонентов.

Рис. 2. Окно результатов измерений

 

Окно результатов эксперимента предназначено для D-оптимального планирования и моделирования результатов 3-х факторного эксперимента в автоматическом режиме. Кнопка Do Experiment запускает процесс планирования и моделирования результатов эксперимента. Кнопка Response Surface вызывает графическое окно функции rstool для отображения результатов регрессионного анализа. Кнопка Nonlinear Model вызывает графическое окно функции nlintool для отображения результатов регрессионного анализа по модели Хогена-Ватсона. Меню Plot позволяет построить графики зависимости коэффициента выхода реакции от величины давления каждого из компонентов.

Рис. 3. Окно результатов эксперимента

Функция rsmdemo позволяет сравнить эффективность применения метода планирования эксперимента по сравнению со случайным выбором параметров и проведением опытов при одинаковом их количестве. Под случайным выбором параметров реакции понимается проведение пассивных наблюдений за характеристиками химической реакции или поиск оптимальных условий реакции по усмотрению пользователя.

 

На первом этапе демонстрации пользователь в окне моделирования параметров химической реакции устанавливает значения давления реагентов в химическом реакторе. При нажатии кнопки Run выполняется расчет коэффициента выхода полезного продукта. Результат расчета отображается в строке ввода Reaction Rate. При расчете коэффициента выхода учитываются как значения давления реагентов, так и воздействие случайных факторов. Принимается, что распределение значений коэффициента выхода подчиняется нормальному закону с параметрами: математическое ожидание 1, среднее квадратическое отклонение 0,05. Расчет коэффициента выхода y выполняется по формуле

y=1.25*(p2 - p3/1.5183)./(1+0.064*p1+0.0378*p2+0.1326*p3)*normrnd(1,0.05), 

(1)

где p1 - давление водорода, p2 - давление n-пентана, p3 - давление изопентана. Таким образом, при одинаковых величинах факторов значения коэффициента выхода полезного продукта будут изменяться от опыта к опыту.

Установленные значения факторов и результаты моделирования коэффициента выхода отображаются в окне результатов измерений. Пользователь должен провести 13 опытов.

 

По окончании моделирования опытов пользователь выполняет регрессионный анализ экспериментальных данных. С этой целью в окне результатов измерений предусмотрены кнопка Analyze и меню Plot. При выборе кнопки Analyze для проведения регрессионного анализа вызывается функция rstool: rstool(x,y,[],[],xname,yname). Технология графического представления данных функции rstool предназначена для построения зависимости одной независимой переменной от множества независимых переменных (3 и более). Регрессионный анализ при помощи функции rstool предусматривает возможности выбора линейной, не полной квадратической, полной квадратической моделей и линейной модели с эффектами взаимодействий факторов. Выбор команды в меню Plot позвляет получить декартовы графики зависимостей коэффициента выхода от давления каждого их компонентов в отдельности.

Второй этап включает 2 фазы: D-оптимальное планирование и моделирование результатов эксперимента по формуле (1). Планирования и моделирование экспермента проводится в автоматическом режиме после нажатия кнопки Do Experiment. Формирование матрицы значений факторов проводится с использованием алгоритма изменения координат для 3 факторов, 13 опытов и полной квадратической модели. С этой целью используется функция: settings=cordexch(3,13,'q'). Согласно полученной матрице уровней фактров по формуле (1) проводится расчет значений коэффициента выхода полезного продукта. Матрица уровней факторов и вектор значений коэффициента выхода выводся в табличном виде в окне результатов эксперимента.

 

По окончании моделирования опытов пользователь выполняет регрессионный анализ экспериментальных данных. С этой целью в окне результатов эксперимента предусмотрены кнопки Response Surface, Nonlinear Model и меню Plot. При выборе кнопки Response Surface вызывается функция rstool и анализ проводится аналогично первому этапу. Кнопка Nonlinear Model позволяет в качестве модели химической рекции использовать функцию Хогена-Ватсона:

y = (b1*x2 - x3/b5)./(1+b2*x1+b3*x2+b4*x3).

 

Расчет коэффициентов модели Хогена-Ватсона выполняется с использованием функции nlintool: nlintool(x,y,'hougen',beta0,[],xname,yname). Способ отображения результатов регрессионного анализа функции nlintool аналогична rstool.

Пример использования функции rsmdemo

 

>> rsmdemo

Моделирование пассивных наблюдений за химической реакцией. Результаты 13 наблюдений приведены на следующем рисунке

Регрессионный анализ полученных данных для линейной модели с эффектами взаимодействий (кнопка Analyze)

Зависимость коэффициента выхода полезного продукта от давления водорода (Меню Plot, Reaction Rate vs. Hydrogen)

Планирование и моделирование результатов эксперимента (Кнопка Do Experiment)

Регрессионный анализ результатов эксперимента для линейной модели с эффектами взаимодействий (кнопка Response Surface)

Зависимость коэффициента выхода полезного продукта от давления водорода (Меню Plot, Reaction Rate vs. Hydrogen)

Регрессионный анализ результатов эксперимента для модели Хогена-Ватсона (кнопка Nonliner Model)

Из анализа приведенных графиков следует, что применение D-оптимального планирования эксперимента обеспечивает получение оценки коэффициентов уравнения регресии с меньшей дисперсией (меньшим доверительным интервалом). Испольование модели Хогена-Ватсона обеспечивает меньшую погрешность при описании процесса протекания химической реакции.

Теги

    17.09.2019

    Комментарии