Переход на главную страницу сайта “Термист” Термист
Термомеханическое упрочнение арматурного проката
технология, средства, разработка
Главная О сайте Стандарты Технология Устройства
Лаборатория Библиотека Глоссарий Желтые страницы Обратная связь

<< Лаборатория << Отсев резко выделяющихся значений << Отсев ошибок <<

Автоматизация метода отсева ошибок

Постановка задачи

Есть вектор значений V. Считается, что значения элементов подчинены нормальному закону распределения. Необходимо исключить из вектора данные с резко отличающимися значениями.

Задача решается в системе MatLab.

Решение задачи

Методика отсева ошибок наблюдений рассмотрена в разделе "Отсев ошибок". Методика основана на критерии Н.В.Смирнова при уровне значимости α = 5 %.

Для реализации методики предлагается использовать функцию Otsev_V:

function V=Otsev_V(V)
 
% Есть вектор значений V. Считается, что значения элементов подчинены
% нормальному закону распределения. Необходимо исключить из вектора данные
% с резко отличающимися значениями.
 
% Описание методики см. termist.com => Глоссарий => Отсев ошибок
 
% Проверяем входные данные
if ~any(size(V) == 1)
    error('Входные данные должны быть вектором')
end
 
% Удаляем из исходного ряда нечисловые данные
V(isnan(V))=[];
V(isinf(V))=[];
 
Flag=1; % Цикл будет выполнен хотя бы один раз
while Flag
    Flag=0;
    % Количество испытаний
    n=length(V);
    % Проверяем входные данные на предмет размера
    if n < 3
        error('Мало данных')
    end
    % Определяем оценки среднего значения X_Sr
    % и среднеквадратичного отклонения S
    X_Sr=mean(V);
    S=std(V);
    % В исследуемом ряде выбираем минимальное и максимальное значения
    [min_X, Num_min_X]=min(V);
    [max_X, Num_max_X]=max(V);
    % Для найденных экстремальных значений определяем тау - статистики
    tau_1=(X_Sr-min_X)./S;
    tau_n=(max_X-X_Sr)./S;
    % Определяем критическое значение тау - статистики
    if n < 40
        tau_krit=2.4+n./57-4./n;
    else
        tau_krit=3;
    end
    % Проверяем вектор на наличие резко отличающихся значений
    if (tau_1 > tau_krit) | (tau_n > tau_krit)
        % Есть такие
        Flag=1; % Будем пересчитывать еще, как минимум, один раз
        % Удаляем экстремальный элемент
        if tau_1 >= tau_n
            V(Num_min_X)=[];
        else
            V(Num_max_X)=[];
        end
    end
end
 

 

Функцию можно скопировать отсюда: Otsev_V.

 

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

 



<< Лаборатория << Отсев резко выделяющихся значений << Отсев ошибок <<

К началу страницы


Web-сайт “Термист” (termist.com)
Термомеханическое упрочнение арматурного проката

Отсутствие ссылки на использованный материал является нарушением заповеди "Не укради"

Редактор сайта: Гунькин И.А. (termist.com@gmail.com)