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

ЛР / ЛР3 / СОИ ЛР3 ОТЧЕТ

.pdf
Скачиваний:
7
Добавлен:
25.06.2023
Размер:
686 Кб
Скачать

#Усреднение значения ошибки errMO_mean <- rep(0, N)

for (i in 1:rep_count) errMO_mean <- errMO_mean + errMO_list[[i]] errMO_mean <- errMO_mean / rep_count

lines(log2(1:N), log2(errMO_mean), col="red", lwd=2)

##########################################################

# Теор. квадрат ошибки teor_sqr_err <- c()

for (i in 1:N) teor_sqr_err <- append(teor_sqr_err, sko_teor ^ 2 / i)

#График усредненного и теоретического вадрата выборки plot(log2(1:N), log2(errMO_mean), type="l", col="red", lwd=2,

main = "Зависимости квадрата ошибки от объема выборки", xlab = "Объем выборки",ylab = "Квадрат ошиб-ки")

lines(log2(1:N), log2(teor_sqr_err), col="green", lwd=2)

###########################################

#Вычисляем дисперсию (2й центральный момент) D(X) = M(x^2)-M(x)^2. disp_list <- list()

for (i in 1:rep_count) { disp <- c()

for (j in 1:N) {

disp <- append(disp, sum(x_list[[i]][c(1:j)]^2/j)-sum(x_list[[i]][c(1:j)]/j)^2)

}

disp_list[[i]] <- disp

}

#Вычисляем Квадрат ошибки.

err_disp_list <- list() for (i in 1:rep_count) {

err_disp <- c() for (j in 1:N) {

err_disp <- append(err_disp, (disp_list[[i]][j] - disp_teor) ^ 2)

}

err_disp_list[[i]] <- err_disp

}

# Усредняем квадрат ошибки по всем выборкам. err_disp_mean <- rep(0, N)

for (i in 1:rep_count) {

11

err_disp_mean <- err_disp_mean + err_disp_list[[i]]

}

err_disp_mean <- err_disp_mean / rep_count

#Вычисление теоретического квадрата ошибки (1.8*D^2 - D/N) teor_err <- c()

for (i in 1:N) {

teor_err <- append(teor_err, (1.8 * disp_teor^2 - disp_teor) / i)

}

#Вычисление границ (D +- sqrt(1.8*Di**2 - Di) /sqrt(N))) upperBoundDisp <- c() # Верхняя граница lowerBoundDisp <- c() # Нижняя граница

for (i in 1:N) { upperBoundDisp <-

append(upperBoundDisp, disp_teor + (((sqrt(1.8 * disp_teor^2 - disp_teor))) / sqrt(i)))

lowerBoundDisp <-

append(lowerBoundDisp, disp_teor - (((sqrt(1.8 * disp_teor^2 - disp_teor))) / sqrt(i)))

}

#ПОСТРОЕНИЕ_ГРАФИКОB

# График зависимости оценки D от N. plot(

1:N,

1:N,

cex.main = 0.8, col = "white",

main = "Зависимость дисперсии от объема выборки", xlab = "Объем выборки",

ylab = "Дисперсия", ylim = c(0, 2500)

)

 

 

for (i in 1:rep_count) {

 

 

lines(disp_list[[i]], col='blue')

# Линия оценки МО от N

}

 

 

lines(upperBoundDisp, lwd=2, col = "green")

# Линия верхней границы

lines(lowerBoundDisp, lwd=2, col = "green")

# Линия нижней границы

abline(a = disp_teor, b = 0, lwd=2, col = "red")

# Линия теоретического МО

##############################################################

# График зависимости квадрата ошибки от объема выборки plot(

12

0:(50 * N),

0:(50 * N), log = "xy",

cex.main = 0.8, col = "white",

main = "Зависимости квадрата ошибки от объема выборки", xlab = "Объем выборки",

ylab = "Квадрат ошибки", xlim = c(1, 1000),

ylim = c(1, 1000000),

)

for (i in 1:rep_count) {

lines(err_disp_list[[i]], col="blue") #Линия квадрата ошибки выборки

}

##########################################################

# График сравнения Усредненного и Теоретического квадрата ошибки от объема вы-борки

plot(

0:(50 * N),

0:(50 * N), log = "xy",

cex.main = 0.8, col = "white",

main = "Зависимости квадрата ошибки от объема выборки",

xlab = "Объем выборки",

 

ylab = "Квадрат ошибки",

 

xlim = c(1, 1000),

 

ylim = c(1, 1000000),

 

)

 

lines((err_disp_mean), col = "red", lwd = 2)

#Линия усредненного квадрата

ошибки

 

lines((teor_err), col = "green", lwd = 1)

#Линия теоретического квадрата

ошибки

 

legend(

"topright",

legend = c("Усредненный квадрат ошибки", "Теоретический квадрат ошибки"),

lwd = c(1, 1),

col = c("red", "green"), cex = 0.8

)

13

Соседние файлы в папке ЛР3