由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 讨论个问题,classification 的label 非常不平均
相关主题
bagging 用于logistic regression because of unbalance datarare events的modeling 问题
能用模型拟合或预测debt collection吗?请教一下混合样本分布的问题?(追问一个beta分布的问题)
请问这句话什么意思?弱问两个统计题
一道概率问题.想问一个关于评价prediction performance的问题
sample size 的问题请问一个ROC AUC 问题?
请教:合并几组bernoulli trial,不同p不同trial number谁来解释解释c-statistic为什么等于AUC
sample distribution的理解How to express cut-off value
weighted sum of independent bernoullisensitivity and specificity
相关话题的讨论汇总
话题: res2话题: event话题: n0话题: runif话题: yhat
进入Statistics版参与讨论
1 (共1页)
I*****a
发帖数: 5425
1
会导致什么问题,如何克服?
s*********e
发帖数: 1051
2
定义“平均”

【在 I*****a 的大作中提到】
: 会导致什么问题,如何克服?
I*****a
发帖数: 5425
3
1000个data point,950个1,50个0

【在 s*********e 的大作中提到】
: 定义“平均”
l******n
发帖数: 9344
4
都平均了还classify啥?除非你得算法对数量敏感

【在 I*****a 的大作中提到】
: 1000个data point,950个1,50个0
I*****a
发帖数: 5425
5
为啥平均了就不classify了?

【在 l******n 的大作中提到】
: 都平均了还classify啥?除非你得算法对数量敏感
d******e
发帖数: 7844
6
做subsampling,或者做weighted training。
取决于你想如何控制FDR。

【在 I*****a 的大作中提到】
: 会导致什么问题,如何克服?
I*****a
发帖数: 5425
7
如果用logistic regression,会不会有任何问题?我的理解是logistic regression应
该不会被 uneven labels 影响。
如果training set 用 1:1 的label 比例subsample,各有什么利弊?

【在 d******e 的大作中提到】
: 做subsampling,或者做weighted training。
: 取决于你想如何控制FDR。

d******e
发帖数: 7844
8
一样有影响。
多的一类会dominate
利弊难说,我prefer subsampling然后做average。

【在 I*****a 的大作中提到】
: 如果用logistic regression,会不会有任何问题?我的理解是logistic regression应
: 该不会被 uneven labels 影响。
: 如果training set 用 1:1 的label 比例subsample,各有什么利弊?

I*****a
发帖数: 5425
9
这个影响是bias 还是什么?
如果test set 和training set 是同分布,多的一类本来也应该dominate。

【在 d******e 的大作中提到】
: 一样有影响。
: 多的一类会dominate
: 利弊难说,我prefer subsampling然后做average。

d******e
发帖数: 7844
10
如果你就想dominate,干嘛还要balance数据?

【在 I*****a 的大作中提到】
: 这个影响是bias 还是什么?
: 如果test set 和training set 是同分布,多的一类本来也应该dominate。

相关主题
请教:合并几组bernoulli trial,不同p不同trial numberrare events的modeling 问题
sample distribution的理解请教一下混合样本分布的问题?(追问一个beta分布的问题)
weighted sum of independent bernoulli弱问两个统计题
进入Statistics版参与讨论
I*****a
发帖数: 5425
11
我们在说同一个问题吗。。?
就prediction 而言,不管你是否subsample,正确的结果都应该是unbalanced 吧,因
为data 的population 本来就那样。难道你1:1 subsample 了training data,去
predict test data 就能 balanced 了?
一个class label dominates 另外一个,不是我想,而是data 就这样,而结果也应该
是这样。
我的问题是,用各种分类的方法去model 这种data,有没有什么问题?比如bias,
standard error, etc. 比如,本来应该是19:1 的,得到了49:1 甚至 50:0, 或者 4
:1。或者misclassification 很多,等等

【在 d******e 的大作中提到】
: 如果你就想dominate,干嘛还要balance数据?
d******e
发帖数: 7844
12
你要先弄明白什么情况下会得到unbalanced data和这类data的普遍问题。除非已知正
负样本的prior,否则unblanaced data的prediction目标大多是rare event detection。
比如信用卡欺诈检测,流水线异常的检测。本身存在的比例就极小,1%, 0.1%,甚至更
小。
这时笼统的minimize classification error变得没有意义,因为即使永远判定为不存
在欺诈,不存在异常,我仍然可以到到99%,99.9%甚至更高的正确率。
对数据做subsample或者weighted training。而是为了能保证rare event能被检测到。
换个说法就是rare event虽然小概率,但是cost极高,所以要在训练时增加rare event
的“比例”。

4

【在 I*****a 的大作中提到】
: 我们在说同一个问题吗。。?
: 就prediction 而言,不管你是否subsample,正确的结果都应该是unbalanced 吧,因
: 为data 的population 本来就那样。难道你1:1 subsample 了training data,去
: predict test data 就能 balanced 了?
: 一个class label dominates 另外一个,不是我想,而是data 就这样,而结果也应该
: 是这样。
: 我的问题是,用各种分类的方法去model 这种data,有没有什么问题?比如bias,
: standard error, etc. 比如,本来应该是19:1 的,得到了49:1 甚至 50:0, 或者 4
: :1。或者misclassification 很多,等等

s*********e
发帖数: 1051
13
right on.

detection。
event

【在 d******e 的大作中提到】
: 你要先弄明白什么情况下会得到unbalanced data和这类data的普遍问题。除非已知正
: 负样本的prior,否则unblanaced data的prediction目标大多是rare event detection。
: 比如信用卡欺诈检测,流水线异常的检测。本身存在的比例就极小,1%, 0.1%,甚至更
: 小。
: 这时笼统的minimize classification error变得没有意义,因为即使永远判定为不存
: 在欺诈,不存在异常,我仍然可以到到99%,99.9%甚至更高的正确率。
: 对数据做subsample或者weighted training。而是为了能保证rare event能被检测到。
: 换个说法就是rare event虽然小概率,但是cost极高,所以要在训练时增加rare event
: 的“比例”。
:

c***z
发帖数: 6348
14
crystal clear
also I recall Andrew Ng talked about this in his online class

detection。
event

【在 d******e 的大作中提到】
: 你要先弄明白什么情况下会得到unbalanced data和这类data的普遍问题。除非已知正
: 负样本的prior,否则unblanaced data的prediction目标大多是rare event detection。
: 比如信用卡欺诈检测,流水线异常的检测。本身存在的比例就极小,1%, 0.1%,甚至更
: 小。
: 这时笼统的minimize classification error变得没有意义,因为即使永远判定为不存
: 在欺诈,不存在异常,我仍然可以到到99%,99.9%甚至更高的正确率。
: 对数据做subsample或者weighted training。而是为了能保证rare event能被检测到。
: 换个说法就是rare event虽然小概率,但是cost极高,所以要在训练时增加rare event
: 的“比例”。
:

D*********2
发帖数: 535
15
great explanation. thanks for sharing.

detection。
event

【在 d******e 的大作中提到】
: 你要先弄明白什么情况下会得到unbalanced data和这类data的普遍问题。除非已知正
: 负样本的prior,否则unblanaced data的prediction目标大多是rare event detection。
: 比如信用卡欺诈检测,流水线异常的检测。本身存在的比例就极小,1%, 0.1%,甚至更
: 小。
: 这时笼统的minimize classification error变得没有意义,因为即使永远判定为不存
: 在欺诈,不存在异常,我仍然可以到到99%,99.9%甚至更高的正确率。
: 对数据做subsample或者weighted training。而是为了能保证rare event能被检测到。
: 换个说法就是rare event虽然小概率,但是cost极高,所以要在训练时增加rare event
: 的“比例”。
:

I*****a
发帖数: 5425
16
刚刚做了个simulation,仅就logistic regression 来说,subsample 与否给出的rare
event detection 的 error rate 基本上是相同的;而对于占多数的class label (也
就是common event) 的prediction error,不subsample 的略小。

detection。
event

【在 d******e 的大作中提到】
: 你要先弄明白什么情况下会得到unbalanced data和这类data的普遍问题。除非已知正
: 负样本的prior,否则unblanaced data的prediction目标大多是rare event detection。
: 比如信用卡欺诈检测,流水线异常的检测。本身存在的比例就极小,1%, 0.1%,甚至更
: 小。
: 这时笼统的minimize classification error变得没有意义,因为即使永远判定为不存
: 在欺诈,不存在异常,我仍然可以到到99%,99.9%甚至更高的正确率。
: 对数据做subsample或者weighted training。而是为了能保证rare event能被检测到。
: 换个说法就是rare event虽然小概率,但是cost极高,所以要在训练时增加rare event
: 的“比例”。
:

I*****a
发帖数: 5425
17
如果是用knn之类的方法比如tree,我认为subsample 固然能在牺牲specificity 的前
提下增加rare event 的detection rate,但是是不是会使prediction variance 变得
很大?

detection。
event

【在 d******e 的大作中提到】
: 你要先弄明白什么情况下会得到unbalanced data和这类data的普遍问题。除非已知正
: 负样本的prior,否则unblanaced data的prediction目标大多是rare event detection。
: 比如信用卡欺诈检测,流水线异常的检测。本身存在的比例就极小,1%, 0.1%,甚至更
: 小。
: 这时笼统的minimize classification error变得没有意义,因为即使永远判定为不存
: 在欺诈,不存在异常,我仍然可以到到99%,99.9%甚至更高的正确率。
: 对数据做subsample或者weighted training。而是为了能保证rare event能被检测到。
: 换个说法就是rare event虽然小概率,但是cost极高,所以要在训练时增加rare event
: 的“比例”。
:

d******e
发帖数: 7844
18
这说明你没有理解问题所在。
> n = 100000
> X = matrix(runif(n*2),n,2)
> y0 = sign((X[,1]<0.1)-0.5)
> y = (y0*sign(runif(n)-0.1)+1)/2
> sum(y==1)
[1] 17998
> sum(y==0)
[1] 82002
> out = glm(y~X,family="binomial")
> yhat=sign(cbind(X,rep(1,n))%*%out$coefficients>0)
> sum((yhat==1)*(y==1))
[1] 2
> sum(yhat==y)
[1] 82003
> idx1 = which(y==1)
> idx0 = which(y==0)[1:length(idx1)]
> out = glm(y[c(idx0,idx1)]~X[c(idx0,idx1),],family="binomial")
> yhat=sign(cbind(X,rep(1,n))%*%out$coefficients>0)
> sum((yhat==1)*(y==1))
[1] 2297
> sum(yhat==y)
[1] 65084

rare

【在 I*****a 的大作中提到】
: 刚刚做了个simulation,仅就logistic regression 来说,subsample 与否给出的rare
: event detection 的 error rate 基本上是相同的;而对于占多数的class label (也
: 就是common event) 的prediction error,不subsample 的略小。
:
: detection。
: event

d******e
发帖数: 7844
19
你还是没有明白问题。ROC里的Specificity和Sensitivity已经无法衡量这种rare
event detection。
你需要的指标是precision和recall。而rare event detection第一步就是要recall足
够高,然后再去谈precision。

【在 I*****a 的大作中提到】
: 如果是用knn之类的方法比如tree,我认为subsample 固然能在牺牲specificity 的前
: 提下增加rare event 的detection rate,但是是不是会使prediction variance 变得
: 很大?
:
: detection。
: event

I*****a
发帖数: 5425
20
谢谢,吃完饭再看code。
recall 不是sensitivity 吗?

【在 d******e 的大作中提到】
: 你还是没有明白问题。ROC里的Specificity和Sensitivity已经无法衡量这种rare
: event detection。
: 你需要的指标是precision和recall。而rare event detection第一步就是要recall足
: 够高,然后再去谈precision。

相关主题
想问一个关于评价prediction performance的问题How to express cut-off value
请问一个ROC AUC 问题?sensitivity and specificity
谁来解释解释c-statistic为什么等于AUCFraud detection model 在testing dataset 中效果很差,求原因
进入Statistics版参与讨论
d******e
发帖数: 7844
21
哦,对,是一个东西。
我实际是想说specificity没用了。

【在 I*****a 的大作中提到】
: 谢谢,吃完饭再看code。
: recall 不是sensitivity 吗?

I*****a
发帖数: 5425
22
多谢,这个code 很有帮助。
我的simulation 条件用的是linear 关系 ,不知道是不是因为这样,所以两种方法最
后并没体现出差别。
你的simulation条件更好,Xbeta 那个 rep(1,n) 应该在最前面,不过结论不变。
不知道是不是直接unbalanced 的data 比较不robust

【在 d******e 的大作中提到】
: 这说明你没有理解问题所在。
: > n = 100000
: > X = matrix(runif(n*2),n,2)
: > y0 = sign((X[,1]<0.1)-0.5)
: > y = (y0*sign(runif(n)-0.1)+1)/2
: > sum(y==1)
: [1] 17998
: > sum(y==0)
: [1] 82002
: > out = glm(y~X,family="binomial")

d******e
发帖数: 7844
23
这个也是linear的。
就一个variable决定label

【在 I*****a 的大作中提到】
: 多谢,这个code 很有帮助。
: 我的simulation 条件用的是linear 关系 ,不知道是不是因为这样,所以两种方法最
: 后并没体现出差别。
: 你的simulation条件更好,Xbeta 那个 rep(1,n) 应该在最前面,不过结论不变。
: 不知道是不是直接unbalanced 的data 比较不robust

I*****a
发帖数: 5425
24
你这个不算是吧。
n = 1000 # training size
ntest = 1000 # test size; make this big only for illustration
id.train = 1:n
id.test = (n + 1):(n + ntest)
ratio = 0.99
n0 = round(n * ratio)
n1 = n - n0
nsimu = 100
res = NULL
for (i in 1:nsimu){
p = c(runif(n0, 0, 0.5), runif(n1, 0.5, 1), runif(ntest, 0.6, 1) )
y = sapply(p, function(x){rbinom(n = 1, size = 1, prob = x)})
x = log(p / (1 - p)) # beta is c(0, 1)
dat = data.frame(x = x, y = y)
fit1 = glm(y ~ x, family = binomial, data = dat[id.train,])
pred1 = predict(fit1, data.frame(x = x[id.test]) )
res1 = pred1 > 0
res2 = NULL
for (j in 1:11){ # vote for resampled fit
id.resample = c(sample(1:n0, n/2), sample((n0+1):n, n/2,
replace = T))
fit2 = glm(y ~ x, family = binomial, data = dat[id.train,][
id.resample,])
pred2 = predict(fit2, data.frame(x = x[id.test]) )
res2 = rbind(res2, pred2>0)
}
res2 = apply(res2, 2, sum) > 5
res = rbind(res, c(mean(y[id.test] == res1), mean(y[id.test] == res2
),
mean((y[id.test] == 1) * (res1 == 1)),
mean((y[id.test] == 1) * (res2 == 1)) ))
}
apply(res, 2, mean)

【在 d******e 的大作中提到】
: 这个也是linear的。
: 就一个variable决定label

D******n
发帖数: 2836
25
其实就是要反扑归真,我们选择评判模型要取决于我们最后要怎么去用它,最终要达到
的就是在应用时cost function最小。
譬如检测fraud,取决于检查fraud的cost,一般挺高,所以每次检查多少可以基本定了
,或者就假设fixed,然后
比较不同的models,就看这规定数量的检查里面,你能探测多少frauds。
更进一部,如果你检查fraud的时候,骚扰了没fraud的人,(false positives), 其实
也是有额外的cost的,
cost就是被骚扰的人就不高兴了,对你的公司不喜欢了。
当然一切都要取决实际问题是怎么样的。

【在 d******e 的大作中提到】
: 你还是没有明白问题。ROC里的Specificity和Sensitivity已经无法衡量这种rare
: event detection。
: 你需要的指标是precision和recall。而rare event detection第一步就是要recall足
: 够高,然后再去谈precision。

A*******s
发帖数: 3942
26
这篇文章解释了给定misclassification rate的情况下AUC的分布
http://books.nips.cc/papers/files/nips16/NIPS2003_AA40.pdf
可以看到AUC's std会因为rare event而变大
我不知道有没有类似的讨论Bernoulli likelihood和AUC的paper,不过直觉上
Bernoulli likelihood其实就是error rate的一个continuous and differentiable
approximation, 也许关系会比较类似,这也和我记忆里,做weight adjustment或者调
整cost function一般有助于提高AUC的经验相符。
I*****a
发帖数: 5425
27
非常好,这就是我问的。
非常感谢。

【在 A*******s 的大作中提到】
: 这篇文章解释了给定misclassification rate的情况下AUC的分布
: http://books.nips.cc/papers/files/nips16/NIPS2003_AA40.pdf
: 可以看到AUC's std会因为rare event而变大
: 我不知道有没有类似的讨论Bernoulli likelihood和AUC的paper,不过直觉上
: Bernoulli likelihood其实就是error rate的一个continuous and differentiable
: approximation, 也许关系会比较类似,这也和我记忆里,做weight adjustment或者调
: 整cost function一般有助于提高AUC的经验相符。

1 (共1页)
进入Statistics版参与讨论
相关主题
sensitivity and specificitysample size 的问题
Fraud detection model 在testing dataset 中效果很差,求原因请教:合并几组bernoulli trial,不同p不同trial number
sensitivity and specificitysample distribution的理解
建模型,最后一步发现classification table不均匀,和解 ?weighted sum of independent bernoulli
bagging 用于logistic regression because of unbalance datarare events的modeling 问题
能用模型拟合或预测debt collection吗?请教一下混合样本分布的问题?(追问一个beta分布的问题)
请问这句话什么意思?弱问两个统计题
一道概率问题.想问一个关于评价prediction performance的问题
相关话题的讨论汇总
话题: res2话题: event话题: n0话题: runif话题: yhat