Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛР1_КОЭД_Шакиров_МО417

.docx
Скачиваний:
20
Добавлен:
28.08.2022
Размер:
503.18 Кб
Скачать

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Уфимский государственный авиационный технический университет»

Кафедра вычислительной математики и кибернетики

Лабораторная работа №1

по дисциплине: «Компьютерная обработка экспериментальных данных»

«Корреляционный анализ»

Выполнили:

студенты группы МО-417

Шакиров А.Р.

Проверила:

Харисова Э. А.

Уфа 2022

Задание

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

Порядок выполнения работы

Пусть дана Z — матрица данных размером N×p.

  1. Составить программу для вычисления

  1. средних по столбцам, дисперсий по столбцам;

  2. стандартизованной матрицы;

  3. ковариационной матрицы;

  4. корреляционной матрицы.

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

между столбцами матрицы данных.

Описание метода

Пусть дана матрица данных Z(N×p).

среднее значение j-го признака

ковариационная матрица, где

– стандартизованная матрица: , где

– корреляционная матрица

Оценка значимости коэффициента корреляции

Пусть имеются статистические гипотезы:

связи между признаками х и у нет.

то есть связь. Здесь коэффициент корреляции между х и у.

α— вероятность ошибки первого рода — вероятность отвергнуть верную гипотезу,

β — вероятность ошибки второго рода — вероятность принять неверную гипотезу.

Надо сформулировать такое правило, чтобы α и β были достаточно малыми. В математической статистике показано, что статистика

при условии, что H0 справедлива, подчиняется закону распределения Стьюдента.

Алгоритм проверки статистической гипотезы о значимости коэффициента корреляции

  1. Пусть имеются экспериментальные данные

Вычисляем - выборочный коэффициент корреляции.

  1. Задаемся приемлемой для нас вероятностью ошибки α, пусть α=0,05.

  2. Вычисляем статистику t.

  3. По выбранному α и числу степеней свободы f=n-2 определяем tтабличное.

  4. Правило вынесения решения: если |tрасч| ≥ tтабл, то справедлива гипотеза H1, в противном случае — H0, а отличие от нуля коэффициента корреляции обусловлено случайными причинами.

Ход работы

Дана матрица данных Z размером N×p согласно варианту 10.

Рисунок 1 – Матрица данных Z

Для выполнения задания разработаем программу в среде разработки RStudio на языке R.

Вычислим средние по столбцам данной матрицы данных Z, для этого определим функцию average:

average <- function (table) {

N = nrow(table)

p = ncol(table)

result = c()

for (j in 1:p) {

avg = 0

for (i in 1:N) {

avg = avg + (table[[i,j]] / N)

}

result = append(result, avg)

}

return(result)

}

average_columns = average(Z)

print(average_columns)

Рисунок 2 – Результат выполнения функции average

Вычислим дисперсии по столбцам данной матрицы данных Z, для этого определим функцию dispersion:

dispersion <- function (table) {

N = nrow(table)

p = ncol(table)

result = c()

for (j in 1:p) {

disp = 0

for (i in 1:N) {

disp = disp + (

((table[[i,j]] - average_columns[j])**2) / N

)

}

result = append(result, disp)

}

return(result)

}

dispersion_columns = dispersion(Z)

print(dispersion_columns)

Рисунок 3 – Результат выполнения функции dispersion

Вычислим стандартизованную матрицу данной матрицы данных Z, для этого определим функцию standatization:

standatization <- function (table, i, j) {

N = nrow(table)

p = ncol(table)

result =

(table[[i,j]] - average_columns[j]) / (dispersion_columns[j]**0.5)

return(result)

}

standatization_matrix = matrix(NA, nrow = N, ncol = p)

for (i in 1:N) {

for (j in 1:p) {

standatization_matrix[[i,j]] = standatization(Z, i, j)

}

}

print(standatization_matrix)

Рисунок 4 – Результат выполнения функции standatization

Вычислим ковариационную матрицу данной матрицы данных Z, для этого определим функцию covariance:

covariance <- function (table, i, j) {

N = nrow(table)

result = 0

for (k in 1:N) {

result = result + (

(table[[k,i]] - average_columns[i]) * (table[[k,j]] - average_columns[j]) / N

)

}

return(result)

}

covariation_matrix = matrix(NA, nrow = p, ncol = p)

for (i in 1:p) {

for (j in 1:p) {

covariation_matrix[[i,j]] = covariance(Z, i, j)

}

}

print(covariation_matrix)

Рисунок 5 – Результат выполнения функции covariance

На рисунке 5 в получившейся матрице отображены коэффициенты ковариации между i и j столбцами матрицы данных Z.

Вычислим корреляционную матрицу данной матрицы данных Z, для этого определим функцию correlation:

correlation <- function (table, i, j) {

N = nrow(table)

result = 0

for (k in 1:N) {

result = result + (

(standatization_matrix[[k, i]] * standatization_matrix[[k, j]]) / N

)

}

return(result)

}

correlation_matrix = matrix(NA, nrow = p, ncol = p)

for (i in 1:p) {

for (j in 1:p) {

correlation_matrix[[i,j]] = correlation(Z, i, j)

}

}

print(correlation_matrix)

Рисунок 6 – Результат выполнения функции correlation

На рисунке 6 в получившейся матрице отображены коэффициенты корреляции между i и j столбцами матрицы данных Z.

Проверим гипотезу о значимости коэффициентов корреляции между столбцами матрицы данных Z, для этого определим функцию significance_correlation:

significance_correlation <- function(table, i, j) {

if (i == j) {

return(NA)

}

alpha = 0.05

N = nrow(table)

# получаем t табличный

t_table = qt(p = 1-alpha, df = N - 2)

r = correlation_matrix[[i,j]]

t = (r * (N - 2)**0.5) / (1 - r**2)**0.5

result = if(abs(t) < t_table) 1 else 0

return(result)

}

significance_matrix = matrix(NA, nrow = p, ncol = p)

for (i in 1:p) {

for (j in 1:p) {

significance_matrix[[i,j]] = significance_correlation(Z, i, j)

}

}

print(significance_matrix)

Рисунок 7 – Результат выполнения функции significance_correlation

На рисунке 7 в получившейся матрице единицы обозначают, что гипотеза о значимости коэффициентов корреляции между i и j столбцами матрицы данных Z принимается.

Вывод

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

Соседние файлы в предмете Компьютерная обработка экспериментальных данных