Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Стандартное отклонение. Дисперсия. Ковариация. Корреляция. Предобработка данных. Автошкалирование




Стандартное отклонение

Формула: . Ещё называется среднеквадратическим отклонением, хотя в теории разница всё же существует.

Вычисление для того же вектора Х и вычисленного среднего значения mean_value:

std_value = 0;

for i = 1: col

std_value = std_value + (X(i) - mean_value)^2;

end

std_value = (std_value / (col-1) )^(0. 5)

Результат:

ans =

3. 0277

Встроенная Matlab-функция std(), которая делает то же самое:

std_value = std(X) % Вычисление стандартного отклонения

Результат:

ans =

5. 5000

 

Дисперсия

Формула:

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

disp_value = 0;

for i = 1: col

disp_value = disp_value + (X(i) - mean_value)^2;

end

disp_value = disp_value / (col-1)

По этому коду есть одно замечание: для того, чтобы получить суммирование в цикле, необходимо на каждой итерации результат суммировать с этой же переменной суммы. Однако, ежели её не объявить заранее, то при первой итерации произойдёт суммирование с необъявленной переменной (вернее не произойдёт, компилятор выдаст ошибку). Поэтому во всех случаях, когда производится суммирование в цикле переменную необходимо объявлять до цикла.

 

Ковариация

Ковариация используется при анализе двух случайных величин (например x(k) и y(k)). Смысл величины в том, что она показывает " взаимную вариацию" двух различных случайных величин, где вариация - характеристика, почти совпадающая со стандартным отклонением, но без возведения в квадрат.

где E - математическое ожидание (в программе вычисляем как среднее значение).

Добавим второй вектор Y, от 2 до 20 в интервалом 2, чтобы длина вектора X и Y была одинаковой:

Y = [2: 2: 20]; % второй вектор

meanX = mean(X); % среднее значение Х

meanY = mean(Y); % среднее значение Y

Теперь ковариация между X и Y вычисляется как:

covar_xy = 0; % объявление заранее, нужно

for k=1: 10   % цикл по числу элементов в векторах

covar_xy=covar_xy+(X(k)-meanX)*(Y(k)-meanY);

end

covar_xy = covar_xy / 10; % делим на число элементов

 

По формуле видно, что ковариация между X и Y равна ковариации между Y и Х. Также ковариация между X и X будет равна дисперсии переменной Х, то же самое справедливо и для Y.

Стандартная Matlab-функция, вычисляющая ковариацию: cov(X, Y).

cov(X, Y);

возвратит матрицу 2 на 2, где первый столбец - элемент (1, 1) соответствует ковариации между Х и Х, элемент (1, 2) - ковариации между Х и У и т. д.

Результат возращаемый функцией cov() и полученный вручную может немного отличаться (Matlab почему-то при расчёте среднего значения делит на n-1, а не на n ).

Корреляция

 

 

Предобработка данных

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

 

Автошкалирование

Центрирование и шкалирование данных называют автошкалированием.

Центрирование - вычитание из всех элементов среднего значения, т. е. приведение к виду, когда среднее значение равно нулю. Для вектора достаточно просто вычесть среднее значение, оно вычтется из каждого элемента:

X_centered = X - mean_value;

Шкалирование - приведение стандартного отклонения к единице. Заключается в делении каждого элемента на среднеквадратичное отклонение вектора:

X_scaled = X_centered / std_value;

 

Для многовекторных данных, таких как данные газоаналитического датчика автошкалирование проводится отдельно для каждого сегмента (вектора).

X = Xc - repmat(mean(Xc), x_c, центрирование для двумерного массива);

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...