У меня есть фактическое время ожидания и прогнозируемое время ожидания и столбцы ошибок.
dput(head(error_data,5))
structure(list(Department = structure(c(1L, 1L, 1L, 1L, 2L), .Label = c("dept1",
"dept2"), class = "factor"), actual_wait_time = c(49L, 6L, 46L,
36L, 22L), predicted_wait_time = c(43L, 34L, 43L, 54L, 58L),
error = c(6L, -28L, 3L, -18L, -36L), abs_error = c(6L, 28L,
3L, 18L, 36L), error_grp = structure(c(2L, 3L, 2L, 3L, 4L
), .Label = c(">90", "0_15", "15_30", "30_45", "45_60", "60_75",
"75_90"), class = "factor"), CI_interval90 = c(0, 1, 0, 1,
1), CI_interval85 = c(0, 1, 0, 1, 1)), row.names = c(NA,
5L), class = "data.frame")
Я рассчитал интервалы 10-90 и 15-85, как показано ниже:
error_data$CI_interval90 <- ifelse(error_data$abs_error >10 & error_data$abs_error <=90,1,0)
error_data$CI_interval85 <- ifelse(error_data$abs_error >15 & error_data$abs_error <=85,1,0)
Тогда я Расчетная точность по отделам, как показано ниже:
dept_accuracy <- error_data%>%
dplyr::group_by(Department)%>%
dplyr::summarise(accuracy_90_min=sum(CI_interval90)/n(),
accuracy_85_minutes=sum(CI_interval85)/n())
result :
Department accuracy_90_min accuracy_85_minutes
dept1 67% 55%
dept2 66% 54%
Является ли вышеуказанный метод правильным способом определения 90% доверительных интервалов? Или я должен разделить 10% ошибок, 20% ошибок и т.д. c, а затем рассчитать точность? Моя модель не является алгоритмом машинного обучения, это имитационная модель.
Как рассчитать 90% доверительные интервалы для приведенных выше данных и точности? Пожалуйста, предложите мне идеи.