Стандартное отклонение. Дисперсия. Ковариация. Корреляция. Предобработка данных. Автошкалирование
Стандартное отклонение Формула: . Ещё называется среднеквадратическим отклонением, хотя в теории разница всё же существует. Вычисление для того же вектора Х и вычисленного среднего значения 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|