时间序列中多个样本的 R AUC
R AUC of multiple samples in time series
我想计算多个样本的时间序列的曲线下面积。数据类型 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....
非常感谢任何帮助。
我不知道你是想计算当天的平均值,还是总和...但是你可以根据自己的需要更改此代码:
df$day <- as.Date(df$day)
df %>%
group_by(day) %>%
summarise(AUC = mean(value))
你有预测和结果吗?我生成了一个示例,假设您缺少这些列
# 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)
)
我想计算多个样本的时间序列的曲线下面积。数据类型 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....
非常感谢任何帮助。
我不知道你是想计算当天的平均值,还是总和...但是你可以根据自己的需要更改此代码:
df$day <- as.Date(df$day)
df %>%
group_by(day) %>%
summarise(AUC = mean(value))
你有预测和结果吗?我生成了一个示例,假设您缺少这些列
# 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)
)