Как разбить ошибки на проценты и как рассчитать 90% доверительные интервалы в R? - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть фактическое время ожидания и прогнозируемое время ожидания и столбцы ошибок.

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% доверительные интервалы для приведенных выше данных и точности? Пожалуйста, предложите мне идеи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...