【问题标题】:R AUC of multiple samples in time series时间序列中多个样本的 R AUC
【发布时间】:2017-03-26 03:39:39
【问题描述】:

我想计算多个样本的时间序列曲线下面积。 POSIXlt数据类型的时间变量

我的数据是这样设置的

day = c(rep(1, 4), rep(2,4))
time = c("2016-11-10 11:40:42", 
     "2016-11-10 11:45:42", 
     "2016-11-10 11:50:42", 
     "2016-11-10 11:55:42", 
     "2016-11-11 11:40:42", 
     "2016-11-11 11:45:42", 
     "2016-11-11 11:50:42", 
     "2016-11-11 11:55:42")
time = as.POSIXlt(time)
value = runif(8, min=4, max=20)
combined = data.frame(day, time, value)

  day                time     value
1   1 2016-11-10 11:40:42 10.726758
2   1 2016-11-10 11:45:42 14.123989
3   1 2016-11-10 11:50:42 12.145620
4   1 2016-11-10 11:55:42  7.254183
5   2 2016-11-11 11:40:42  8.385879
6   2 2016-11-11 11:45:42 16.411480
7   2 2016-11-11 11:50:42  4.640858
8   2 2016-11-11 11:55:42 17.300498

我想计算系列中每一天的 AUC。我有一个包含五月数据的大型数据集。时间已经按顺序排列(这是连续测量五天)

理想情况下,我希望输出为:

day  AUC 
1    x
2    x        
etc....  

非常感谢任何帮助。

【问题讨论】:

  • dput()您的数据。将指针悬停在 r 标签上以了解更多信息。
  • @Hack-R 好的,谢谢。现在应该是一个可重复的例子
  • 我不清楚你是想要时间序列下的面积(如累积和或明确的积分)还是接收器操作曲线下的面积(ROC)。目前,您对这两种截然不同的选择都有答案。

标签: r dataframe auc posixlt


【解决方案1】:

你有预测和结果吗?我生成了一个示例,假设您缺少这些列

# install.packages("ModelMetrics")
library(ModelMetrics)
library(dplyr)

day = c(rep(1, 4), rep(2,4),)
time = c("2016-11-10 11:40:42", 
     "2016-11-10 11:45:42", 
     "2016-11-10 11:50:42", 
     "2016-11-10 11:55:42", 
     "2016-11-11 11:40:42", 
     "2016-11-11 11:45:42", 
     "2016-11-11 11:50:42", 
     "2016-11-11 11:55:42")
time = as.POSIXlt(time)
outcome = as.numeric(runif(8, min=0, max=1) > .5)
predictions = runif(8, min=0, max=1)
combined = data.frame(day, time, outcome, predictions)

combined %>%
  group_by(day) %>%
  summarise(
    Predictions = n()
    ,AUCs = auc(outcome, predictions)
  )

【讨论】:

    【解决方案2】:

    我不知道您是要计算当天的平均值还是总和...但是您可以根据自己的需要更改此代码:

    df$day <- as.Date(df$day)
    
    df %>% 
      group_by(day) %>% 
        summarise(AUC = mean(value))
    

    【讨论】:

    • 感谢您的回复,这是我需要的每一天的曲线下面积。
    猜你喜欢
    • 2021-08-07
    • 2020-06-09
    • 1970-01-01
    • 2014-02-05
    • 2017-11-22
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多